112 lines
4.1 KiB
Org Mode
112 lines
4.1 KiB
Org Mode
#+TITLE: Stewart Platforms
|
|
:DRAWER:
|
|
#+OPTIONS: toc:nil
|
|
#+OPTIONS: html-postamble:nil
|
|
|
|
#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="./css/htmlize.css"/>
|
|
#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="./css/readtheorg.css"/>
|
|
#+HTML_HEAD: <script src="./js/jquery.min.js"></script>
|
|
#+HTML_HEAD: <script src="./js/bootstrap.min.js"></script>
|
|
#+HTML_HEAD: <script src="./js/jquery.stickytableheaders.min.js"></script>
|
|
#+HTML_HEAD: <script src="./js/readtheorg.js"></script>
|
|
|
|
#+PROPERTY: header-args:latex :headers '("\\usepackage{tikz}" "\\usepackage{import}" "\\import{$HOME/Cloud/thesis/latex/}{config.tex}")
|
|
#+PROPERTY: header-args:latex+ :imagemagick t :fit yes
|
|
#+PROPERTY: header-args:latex+ :iminoptions -scale 100% -density 150
|
|
#+PROPERTY: header-args:latex+ :imoutoptions -quality 100
|
|
#+PROPERTY: header-args:latex+ :results raw replace :buffer no
|
|
#+PROPERTY: header-args:latex+ :eval no-export
|
|
#+PROPERTY: header-args:latex+ :exports both
|
|
#+PROPERTY: header-args:latex+ :mkdirp yes
|
|
#+PROPERTY: header-args:latex+ :output-dir figs
|
|
:END:
|
|
|
|
* Introduction :ignore:
|
|
The goal here is to
|
|
|
|
* Simscape Model of the Stewart Platform
|
|
- [[file:simscape-model.org][Model of the Stewart Platform]]
|
|
- [[file:identification.org][Identification of the Simscape Model]]
|
|
|
|
* Architecture Study
|
|
- [[file:kinematic-study.org][Kinematic Study]]
|
|
- [[file:stiffness-study.org][Stiffness Matrix Study]]
|
|
- Jacobian Study
|
|
- [[file:cubic-configuration.org][Cubic Architecture]]
|
|
|
|
* Motion Control
|
|
- Active Damping
|
|
- Inertial Control
|
|
- Decentralized Control
|
|
|
|
* Notes about Stewart platforms :noexport:
|
|
** Jacobian
|
|
*** Relation to platform parameters
|
|
A Jacobian is defined by:
|
|
- the orientations of the struts $\hat{s}_i$ expressed in a frame $\{A\}$ linked to the fixed platform.
|
|
- the vectors from $O_B$ to $b_i$ expressed in the frame $\{A\}$
|
|
|
|
Then, the choice of $O_B$ changes the Jacobian.
|
|
|
|
*** Jacobian for displacement
|
|
\[ \dot{q} = J \dot{X} \]
|
|
With:
|
|
- $q = [q_1\ q_2\ q_3\ q_4\ q_5\ q_6]$ vector of linear displacement of actuated joints
|
|
- $X = [x\ y\ z\ \theta_x\ \theta_y\ \theta_z]$ position and orientation of $O_B$ expressed in the frame $\{A\}$
|
|
|
|
For very small displacements $\delta q$ and $\delta X$, we have $\delta q = J \delta X$.
|
|
|
|
*** Jacobian for forces
|
|
\[ F = J^T \tau \]
|
|
With:
|
|
- $\tau = [\tau_1\ \tau_2\ \tau_3\ \tau_4\ \tau_5\ \tau_6]$ vector of actuator forces
|
|
- $F = [f_x\ f_y\ f_z\ n_x\ n_y\ n_z]$ force and torque acting on point $O_B$
|
|
|
|
** Stiffness matrix $K$
|
|
|
|
\[ K = J^T \text{diag}(k_i) J \]
|
|
|
|
If all the struts have the same stiffness $k$, then $K = k J^T J$
|
|
|
|
$K$ only depends of the geometry of the stewart platform: it depends on the Jacobian, that is on the orientations of the struts, position of the joints and choice of frame $\{B\}$.
|
|
|
|
\[ F = K X \]
|
|
|
|
With $F$ forces and torques applied to the moving platform at the origin of $\{B\}$ and $X$ the translations and rotations of $\{B\}$ with respect to $\{A\}$.
|
|
|
|
\[ C = K^{-1} \]
|
|
|
|
The compliance element $C_{ij}$ is then the stiffness
|
|
\[ X_i = C_{ij} F_j \]
|
|
|
|
** Coupling
|
|
What causes the coupling from $F_i$ to $X_i$ ?
|
|
|
|
#+begin_src latex :file coupling.pdf :post pdf2svg(file=*this*, ext="png") :exports both
|
|
\begin{tikzpicture}
|
|
\node[block] (Jt) at (0, 0) {$J^{-T}$};
|
|
\node[block, right= of Jt] (G) {$G$};
|
|
\node[block, right= of G] (J) {$J^{-1}$};
|
|
|
|
\draw[->] ($(Jt.west)+(-0.8, 0)$) -- (Jt.west) node[above left]{$F_i$};
|
|
\draw[->] (Jt.east) -- (G.west) node[above left]{$\tau_i$};
|
|
\draw[->] (G.east) -- (J.west) node[above left]{$q_i$};
|
|
\draw[->] (J.east) -- ++(0.8, 0) node[above left]{$X_i$};
|
|
\end{tikzpicture}
|
|
#+end_src
|
|
|
|
#+name: fig:block_diag_coupling
|
|
#+caption: Block diagram to control an hexapod
|
|
#+RESULTS:
|
|
[[file:figs/coupling.png]]
|
|
|
|
There is no coupling from $F_i$ to $X_j$ if $J^{-1} G J^{-T}$ is diagonal.
|
|
|
|
If $G$ is diagonal (cubic configuration), then $J^{-1} G J^{-T} = G J^{-1} J^{-T} = G (J^{T} J)^{-1} = G K^{-1}$
|
|
|
|
Thus, the system is uncoupled if $G$ and $K$ are diagonal.
|
|
|
|
* Bibliography :ignore:
|
|
bibliographystyle:unsrt
|
|
bibliography:ref.bib
|