Add a control to fix z rot of nano-hexapod
This commit is contained in:
parent
5a4d72d8cc
commit
3f7c7de1ef
100
org/control.org
100
org/control.org
@ -534,6 +534,43 @@ Usually, the Low Authority Controller is first design, and then the High Authori
|
||||
#+RESULTS:
|
||||
[[file:figs/control_architecture_hac_iff_pos_L.png]]
|
||||
|
||||
** HAC-LAC using DVF - the HAC controller is positioning the sample w.r.t. the granite in the task space
|
||||
#+begin_src latex :file control_architecture_hac_dvf_pos_X.pdf
|
||||
\begin{tikzpicture}
|
||||
% Blocs
|
||||
\node[block={3.0cm}{3.0cm}] (P) {Plant};
|
||||
\coordinate[] (inputF) at ($(P.south west)!0.5!(P.north west)$);
|
||||
\coordinate[] (outputF) at ($(P.south east)!0.8!(P.north east)$);
|
||||
\coordinate[] (outputX) at ($(P.south east)!0.5!(P.north east)$);
|
||||
\coordinate[] (outputL) at ($(P.south east)!0.2!(P.north east)$);
|
||||
|
||||
\node[block, below=0.2 of P] (Kdvf) {$\bm{K}_\text{DVF}$};
|
||||
\node[addb={+}{}{}{}{-}, left= of inputF] (addF) {};
|
||||
\node[block, left= of addF] (J) {$\bm{J}^{-T}$};
|
||||
\node[block, left= of J] (K) {$\bm{K}_\mathcal{X}$};
|
||||
\node[block, align=center, left= of K] (Ex) {Compute\\Pos. Error};
|
||||
|
||||
% Connections and labels
|
||||
\draw[->] (outputF) -- ++(1, 0) node[above left]{$\bm{\tau}_m$};
|
||||
|
||||
\draw[->] (outputL) -- ++(1, 0) node[above left]{$d\bm{\mathcal{L}}$};
|
||||
\draw[->] ($(outputL) + (0.6, 0)$)node[branch]{} |- (Kdvf.east);
|
||||
\draw[->] (Kdvf.west) -| (addF.south);
|
||||
\draw[->] (addF.east) -- (inputF) node[above left]{$\bm{\tau}$};
|
||||
|
||||
\draw[->] (outputX) -- ++(1.6, 0) node[above left]{$\bm{\mathcal{X}}$};
|
||||
\draw[->] ($(outputX) + (1.2, 0)$)node[branch]{} -- ++(0, -3) -| (Ex.south);
|
||||
|
||||
\draw[<-] (Ex.west)node[above left]{$\bm{r}_{\mathcal{X}}$} -- ++(-1, 0);
|
||||
\draw[->] (Ex.east) -- (K.west) node[above left]{$\bm{\epsilon}_{\mathcal{X}_n}$};
|
||||
\draw[->] (K.east) -- (J.west) node[above left]{$\bm{\mathcal{F}}$};
|
||||
\draw[->] (J.east) -- (addF.west) node[above left]{$\bm{\tau}^\prime$};
|
||||
\end{tikzpicture}
|
||||
#+end_src
|
||||
|
||||
#+RESULTS:
|
||||
[[file:figs/control_architecture_hac_dvf_pos_X.png]]
|
||||
|
||||
** HAC-LAC using DVF - the HAC controller is positioning the sample w.r.t. the granite in the space of the legs
|
||||
#+begin_src latex :file control_architecture_hac_dvf_pos_L.pdf
|
||||
\begin{tikzpicture}
|
||||
@ -789,6 +826,69 @@ Signals:
|
||||
#+RESULTS:
|
||||
[[file:figs/control_architecture_force.png]]
|
||||
|
||||
* Other Control Architectures
|
||||
** Control to force the nano-hexapod to not do any vertical rotation
|
||||
As the sample rotation around the vertical axis is not measure, the best we can do with the nano-hexapod is to not rotate around this same axis.
|
||||
|
||||
One way to do it is shown in Figure [[fig:control_architecture_fixed_rz]].
|
||||
|
||||
The controller $\bm{K}_{R_z}$ is decomposed as shown in Figure [[fig:control_architecture_fixed_Krz]].
|
||||
|
||||
#+begin_src latex :file control_architecture_fixed_rz.pdf
|
||||
\begin{tikzpicture}
|
||||
% Blocs
|
||||
\node[block={3.0cm}{3.0cm}] (P) {Plant};
|
||||
\coordinate[] (inputF) at ($(P.south west)!0.5!(P.north west)$);
|
||||
\coordinate[] (outputF) at ($(P.south east)!0.8!(P.north east)$);
|
||||
\coordinate[] (outputX) at ($(P.south east)!0.5!(P.north east)$);
|
||||
\coordinate[] (outputL) at ($(P.south east)!0.2!(P.north east)$);
|
||||
|
||||
\node[block, below=0.4 of P] (Kdvf) {$\bm{K}_{R_z}$};
|
||||
\node[addb={+}{}{}{}{-}, left= of inputF] (addF) {};
|
||||
|
||||
% Connections and labels
|
||||
\draw[->] (outputF) -- ++(1, 0) node[above left]{$\bm{\tau}_m$};
|
||||
\draw[->] (outputL) -- ++(1, 0) node[above left]{$d\bm{\mathcal{L}}$};
|
||||
\draw[->] (outputX) -- ++(1, 0) node[above left]{$\bm{\mathcal{X}}$};
|
||||
|
||||
\draw[->] ($(outputL) + (0.6, 0)$)node[branch]{} |- (Kdvf.east);
|
||||
\draw[->] (Kdvf.west) -| (addF.south);
|
||||
\draw[->] (addF.east) -- (inputF) node[above left]{$\bm{\tau}$};
|
||||
\draw[<-] (addF.west) -- ++(-1, 0) node[above right]{$\bm{\tau}^\prime$};
|
||||
\end{tikzpicture}
|
||||
#+end_src
|
||||
|
||||
#+name: fig:control_architecture_fixed_rz
|
||||
#+caption: Figure caption
|
||||
#+RESULTS:
|
||||
[[file:figs/control_architecture_fixed_rz.png]]
|
||||
|
||||
#+begin_src latex :file control_architecture_fixed_Krz.pdf
|
||||
\begin{tikzpicture}
|
||||
\node[block] (J) {$\bm{J}^{-1}$};
|
||||
\node[block, right=of J] (selectRz) {$[0,0,0,0,0,1]$};
|
||||
\node[block, right=of selectRz] (KRz) {$K_{R_z}$};
|
||||
\node[block, right=of KRz] (Jt) {$\bm{J}^{-T}(:,6)$};
|
||||
|
||||
\draw[->] ($(J.west)+(-1, 0)$) -- (J.west) node[above left=0pt and 8pt]{$d\bm{\mathcal{L}}$};
|
||||
\draw[->] (J.east) -- (selectRz.west) node[above left]{$d\bm{\mathcal{X}}$};
|
||||
\draw[->] (selectRz.east) -- (KRz.west) node[above left]{$d\mathcal{X}_{R_z}$};
|
||||
\draw[->] (KRz.east) -- (Jt.west) node[above left]{$\mathcal{M}_{z}$};
|
||||
\draw[->] (Jt.east) -- ++(1, 0) node[above left]{$\bm{\tau}$};
|
||||
|
||||
\begin{scope}[on background layer]
|
||||
\node[fit={(J.south west) (Jt.north east)}, fill=black!20!white, draw, dashed, inner sep=8pt] (Ktot) {};
|
||||
\node[above] at (Ktot.north) {$\bm{K}_{R_z}$};
|
||||
\end{scope}
|
||||
\end{tikzpicture}
|
||||
#+end_src
|
||||
|
||||
#+name: fig:control_architecture_fixed_Krz
|
||||
#+caption: Figure caption
|
||||
#+RESULTS:
|
||||
[[file:figs/control_architecture_fixed_Krz.png]]
|
||||
|
||||
|
||||
* Bibliography :ignore:
|
||||
bibliographystyle:unsrt
|
||||
bibliography:ref.bib
|
||||
|
Loading…
Reference in New Issue
Block a user