Simulation of tomography experiments

This commit is contained in:
Thomas Dehaeze 2025-02-12 17:43:32 +01:00
parent c81cd4fbb6
commit b9a5308fa3
12 changed files with 965 additions and 59 deletions

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Binary file not shown.

View File

@ -15,7 +15,7 @@ function [nano_hexapod] = initializeSimplifiedNanoHexapod(args)
%% Actuators %% Actuators
args.actuator_type char {mustBeMember(args.actuator_type,{'1dof', '2dof', 'flexible'})} = '1dof' args.actuator_type char {mustBeMember(args.actuator_type,{'1dof', '2dof', 'flexible'})} = '1dof'
args.actuator_k (1,1) double {mustBeNumeric, mustBePositive} = 1e6 args.actuator_k (1,1) double {mustBeNumeric, mustBePositive} = 1e6
args.actuator_kp (1,1) double {mustBeNumeric, mustBeNonnegative} = 1e4 args.actuator_kp (1,1) double {mustBeNumeric, mustBeNonnegative} = 5e4
args.actuator_ke (1,1) double {mustBeNumeric, mustBePositive} = 4952605 args.actuator_ke (1,1) double {mustBeNumeric, mustBePositive} = 4952605
args.actuator_ka (1,1) double {mustBeNumeric, mustBePositive} = 2476302 args.actuator_ka (1,1) double {mustBeNumeric, mustBePositive} = 2476302
args.actuator_c (1,1) double {mustBeNumeric, mustBePositive} = 50 args.actuator_c (1,1) double {mustBeNumeric, mustBePositive} = 50

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@ -1,4 +1,4 @@
% Created 2025-02-12 Wed 15:35 % Created 2025-02-12 Wed 17:40
% Intended LaTeX compiler: pdflatex % Intended LaTeX compiler: pdflatex
\documentclass[a4paper, 10pt, DIV=12, parskip=full, bibliography=totoc]{scrreprt} \documentclass[a4paper, 10pt, DIV=12, parskip=full, bibliography=totoc]{scrreprt}
@ -97,13 +97,12 @@ Explain how to compute the errors in the frame of the struts (rotating):
\item Say that there are many control strategies. \item Say that there are many control strategies.
It will be the topic of chapter 2.3. It will be the topic of chapter 2.3.
Here, we start with something simple: control in the frame of the struts Here, we start with something simple: control in the frame of the struts
\item[{$\square$}] block diagram of the complete control architecture
\end{itemize} \end{itemize}
\begin{figure}[htbp] \begin{figure}[htbp]
\centering \centering
\includegraphics[scale=1,width=\linewidth]{figs/nass_control_architecture.png} \includegraphics[scale=1,width=\linewidth]{figs/nass_control_architecture.png}
\caption{\label{fig:nass_control_architecture}Figure caption} \caption{\label{fig:nass_control_architecture}The physical systems are shown in blue, the control kinematics in red, the decentralized Integral Force Feedback in yellow and the centralized High Authority Controller in green.}
\end{figure} \end{figure}
\chapter{Decentralized Active Damping} \chapter{Decentralized Active Damping}
@ -113,6 +112,7 @@ Here, we start with something simple: control in the frame of the struts
\item Robustness to payload mass \item Robustness to payload mass
\item Root Locus \item Root Locus
\item Damping optimization \item Damping optimization
\item \textbf{Parallel stiffness?}
\end{itemize} \end{itemize}
Explain which samples are tested: Explain which samples are tested:
@ -132,17 +132,37 @@ Explain which samples are tested:
\item[{$\square$}] Added parallel stiffness \item[{$\square$}] Added parallel stiffness
\end{itemize} \end{itemize}
Coupling
Effect of rotation
Effect of payload mass
\section{Controller Design} \section{Controller Design}
Low pass filter needs to be added (because now: DC gain)
\begin{equation}\label{eq:nass_kiff}
\bm{K}_{\text{IFF}}(s) = g \cdot \begin{bmatrix}
K_{\text{IFF}}(s) & & 0 \\
& \ddots & \\
0 & & K_{\text{IFF}}(s)
\end{bmatrix}, \quad K_{\text{IFF}}(s) = \frac{1}{s}
\end{equation}
Loop Gain:
Root Locus => Stability
\begin{itemize} \begin{itemize}
\item Use Integral controller (with parallel stiffness) \item Use Integral controller (with parallel stiffness)
\item Show Root Locus (show that without parallel stiffness => unstable?) \item Show Root Locus (show that without parallel stiffness => unstable?)
\item Choose optimal gain. \item Choose optimal gain.
Here in MIMO, cannot have optimal damping for all modes. (there is a paper that tries to optimize that) Here in MIMO, cannot have optimal damping for all modes. (there is a paper that tries to optimize that)
\item Show robustness to change of payload (loci?) / Change of rotating velocity ? \item[{$\square$}] Show robustness to change of payload (loci?) / Change of rotating velocity ?
\item Reference to paper showing stability in MIMO for decentralized IFF \item Reference to paper showing stability in MIMO for decentralized IFF
\end{itemize} \end{itemize}
\section{Sensitivity to disturbances} \section{Sensitivity to disturbances}
Disturbances: Disturbances:
@ -181,6 +201,13 @@ From control kinematics:
\item[{$\square$}] Compare with undamped plants \item[{$\square$}] Compare with undamped plants
\end{itemize} \end{itemize}
Effect of rotation:
Effect of IFF:
Effect of payload mass
Advantage of using IFF:
\section{Controller design} \section{Controller design}
\begin{itemize} \begin{itemize}
@ -188,6 +215,12 @@ From control kinematics:
\item[{$\square$}] Show robustness with Loci for all masses \item[{$\square$}] Show robustness with Loci for all masses
\end{itemize} \end{itemize}
\begin{equation}\label{eq:nass_robust_hac}
K_{\text{HAC}}(s) = g_0 \cdot \underbrace{\frac{\omega_c}{s}}_{\text{int}} \cdot \underbrace{\frac{1}{\sqrt{\alpha}}\frac{1 + \frac{s}{\omega_c/\sqrt{\alpha}}}{1 + \frac{s}{\omega_c\sqrt{\alpha}}}}_{\text{lead}} \cdot \underbrace{\frac{1}{1 + \frac{s}{\omega_0}}}_{\text{LPF}}, \quad \left( \omega_c = 2\pi5\,\text{rad/s},\ \alpha = 2,\ \omega_0 = 2\pi30\,\text{rad/s} \right)
\end{equation}
``Decentralized'' Loop Gain:
Characteristic Loci for three masses:
\section{Sensitivity to disturbances} \section{Sensitivity to disturbances}
\begin{itemize} \begin{itemize}
@ -206,6 +239,28 @@ Compare without the NASS, and with just IFF
\item Validation of concept \item Validation of concept
\end{itemize} \end{itemize}
\begin{figure}[htbp]
\begin{subfigure}{0.33\textwidth}
\begin{center}
\includegraphics[scale=1,scale=1]{figs/nass_tomography_hac_iff_m1.png}
\end{center}
\subcaption{\label{fig:nass_tomography_hac_iff_m1} $m = 1\,kg$}
\end{subfigure}
\begin{subfigure}{0.33\textwidth}
\begin{center}
\includegraphics[scale=1,scale=1]{figs/nass_tomography_hac_iff_m25.png}
\end{center}
\subcaption{\label{fig:nass_tomography_hac_iff_m25} $m = 25\,kg$}
\end{subfigure}
\begin{subfigure}{0.33\textwidth}
\begin{center}
\includegraphics[scale=1,scale=1]{figs/nass_tomography_hac_iff_m50.png}
\end{center}
\subcaption{\label{fig:nass_tomography_hac_iff_m50} $m = 50\,kg$}
\end{subfigure}
\caption{\label{fig:nass_tomography_hac_iff}Simulation of tomography experiments}
\end{figure}
\chapter{Conclusion} \chapter{Conclusion}
\label{sec:nass_conclusion} \label{sec:nass_conclusion}