Add a control to fix z rot of nano-hexapod

This commit is contained in:
Thomas Dehaeze 2020-04-15 16:58:36 +02:00
parent 5a4d72d8cc
commit 3f7c7de1ef

View File

@ -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