Initial commit
This commit is contained in:
commit
cd5f1e5922
260
.gitignore
vendored
Normal file
260
.gitignore
vendored
Normal file
@ -0,0 +1,260 @@
|
||||
mat/
|
||||
figures/
|
||||
ltximg/
|
||||
slprj/
|
||||
matlab/slprj/
|
||||
*.slxc
|
||||
|
||||
|
||||
# ============================================================
|
||||
# ============================================================
|
||||
# LATEX
|
||||
# ============================================================
|
||||
# ============================================================
|
||||
|
||||
## Core latex/pdflatex auxiliary files:
|
||||
*.aux
|
||||
*.lof
|
||||
*.log
|
||||
*.lot
|
||||
*.fls
|
||||
*.out
|
||||
*.toc
|
||||
*.fmt
|
||||
*.fot
|
||||
*.cb
|
||||
*.cb2
|
||||
.*.lb
|
||||
|
||||
## Intermediate documents:
|
||||
*.dvi
|
||||
*.xdv
|
||||
*-converted-to.*
|
||||
# these rules might exclude image files for figures etc.
|
||||
# *.ps
|
||||
# *.eps
|
||||
# *.pdf
|
||||
|
||||
## Generated if empty string is given at "Please type another file name for output:"
|
||||
.pdf
|
||||
|
||||
## Bibliography auxiliary files (bibtex/biblatex/biber):
|
||||
*.bbl
|
||||
*.bcf
|
||||
*.blg
|
||||
*-blx.aux
|
||||
*-blx.bib
|
||||
*.run.xml
|
||||
|
||||
## Build tool auxiliary files:
|
||||
*.fdb_latexmk
|
||||
*.synctex
|
||||
*.synctex(busy)
|
||||
*.synctex.gz
|
||||
*.synctex.gz(busy)
|
||||
*.pdfsync
|
||||
|
||||
## Build tool directories for auxiliary files
|
||||
# latexrun
|
||||
latex.out/
|
||||
|
||||
## Auxiliary and intermediate files from other packages:
|
||||
# algorithms
|
||||
*.alg
|
||||
*.loa
|
||||
|
||||
# achemso
|
||||
acs-*.bib
|
||||
|
||||
# amsthm
|
||||
*.thm
|
||||
|
||||
# beamer
|
||||
*.nav
|
||||
*.pre
|
||||
*.snm
|
||||
*.vrb
|
||||
|
||||
# changes
|
||||
*.soc
|
||||
|
||||
# cprotect
|
||||
*.cpt
|
||||
|
||||
# elsarticle (documentclass of Elsevier journals)
|
||||
*.spl
|
||||
|
||||
# endnotes
|
||||
*.ent
|
||||
|
||||
# fixme
|
||||
*.lox
|
||||
|
||||
# feynmf/feynmp
|
||||
*.mf
|
||||
*.mp
|
||||
*.t[1-9]
|
||||
*.t[1-9][0-9]
|
||||
*.tfm
|
||||
|
||||
#(r)(e)ledmac/(r)(e)ledpar
|
||||
*.end
|
||||
*.?end
|
||||
*.[1-9]
|
||||
*.[1-9][0-9]
|
||||
*.[1-9][0-9][0-9]
|
||||
*.[1-9]R
|
||||
*.[1-9][0-9]R
|
||||
*.[1-9][0-9][0-9]R
|
||||
*.eledsec[1-9]
|
||||
*.eledsec[1-9]R
|
||||
*.eledsec[1-9][0-9]
|
||||
*.eledsec[1-9][0-9]R
|
||||
*.eledsec[1-9][0-9][0-9]
|
||||
*.eledsec[1-9][0-9][0-9]R
|
||||
|
||||
# glossaries
|
||||
*.acn
|
||||
*.acr
|
||||
*.glg
|
||||
*.glo
|
||||
*.gls
|
||||
*.glsdefs
|
||||
|
||||
# gnuplottex
|
||||
*-gnuplottex-*
|
||||
|
||||
# gregoriotex
|
||||
*.gaux
|
||||
*.gtex
|
||||
|
||||
# htlatex
|
||||
*.4ct
|
||||
*.4tc
|
||||
*.idv
|
||||
*.lg
|
||||
*.trc
|
||||
*.xref
|
||||
|
||||
# hyperref
|
||||
*.brf
|
||||
|
||||
# knitr
|
||||
*-concordance.tex
|
||||
# TODO Comment the next line if you want to keep your tikz graphics files
|
||||
*.tikz
|
||||
*-tikzDictionary
|
||||
|
||||
# listings
|
||||
*.lol
|
||||
|
||||
# makeidx
|
||||
*.idx
|
||||
*.ilg
|
||||
*.ind
|
||||
*.ist
|
||||
|
||||
# minitoc
|
||||
*.maf
|
||||
*.mlf
|
||||
*.mlt
|
||||
*.mtc[0-9]*
|
||||
*.slf[0-9]*
|
||||
*.slt[0-9]*
|
||||
*.stc[0-9]*
|
||||
|
||||
# minted
|
||||
_minted*
|
||||
*.pyg
|
||||
|
||||
# morewrites
|
||||
*.mw
|
||||
|
||||
# nomencl
|
||||
*.nlg
|
||||
*.nlo
|
||||
*.nls
|
||||
|
||||
# pax
|
||||
*.pax
|
||||
|
||||
# pdfpcnotes
|
||||
*.pdfpc
|
||||
|
||||
# sagetex
|
||||
*.sagetex.sage
|
||||
*.sagetex.py
|
||||
*.sagetex.scmd
|
||||
|
||||
# scrwfile
|
||||
*.wrt
|
||||
|
||||
# sympy
|
||||
*.sout
|
||||
*.sympy
|
||||
sympy-plots-for-*.tex/
|
||||
|
||||
# pdfcomment
|
||||
*.upa
|
||||
*.upb
|
||||
|
||||
# pythontex
|
||||
*.pytxcode
|
||||
pythontex-files-*/
|
||||
|
||||
# thmtools
|
||||
*.loe
|
||||
|
||||
# TikZ & PGF
|
||||
*.dpth
|
||||
*.md5
|
||||
*.auxlock
|
||||
|
||||
# todonotes
|
||||
*.tdo
|
||||
|
||||
# easy-todo
|
||||
*.lod
|
||||
|
||||
# xmpincl
|
||||
*.xmpi
|
||||
|
||||
# xindy
|
||||
*.xdy
|
||||
|
||||
# xypic precompiled matrices
|
||||
*.xyc
|
||||
|
||||
# endfloat
|
||||
*.ttt
|
||||
*.fff
|
||||
|
||||
# Latexian
|
||||
TSWLatexianTemp*
|
||||
|
||||
## Editors:
|
||||
# WinEdt
|
||||
*.bak
|
||||
*.sav
|
||||
|
||||
# Texpad
|
||||
.texpadtmp
|
||||
|
||||
# LyX
|
||||
*.lyx~
|
||||
|
||||
# Kile
|
||||
*.backup
|
||||
|
||||
# KBibTeX
|
||||
*~[0-9]*
|
||||
|
||||
# auto folder when using emacs and auctex
|
||||
./auto/*
|
||||
*.el
|
||||
|
||||
# expex forward references with \gathertags
|
||||
*-tags.tex
|
||||
|
||||
# standalone packages
|
||||
*.sta
|
111
.latexmkrc
Normal file
111
.latexmkrc
Normal file
@ -0,0 +1,111 @@
|
||||
#!/bin/env perl
|
||||
|
||||
# Shebang is only to get syntax highlighting right across GitLab, GitHub and IDEs.
|
||||
# This file is not meant to be run, but read by `latexmk`.
|
||||
|
||||
# ======================================================================================
|
||||
# Perl `latexmk` configuration file
|
||||
# ======================================================================================
|
||||
|
||||
# ======================================================================================
|
||||
# PDF Generation/Building/Compilation
|
||||
# ======================================================================================
|
||||
|
||||
@default_files=('nass-flexible-joints.tex');
|
||||
|
||||
# PDF-generating modes are:
|
||||
# 1: pdflatex, as specified by $pdflatex variable (still largely in use)
|
||||
# 2: postscript conversion, as specified by the $ps2pdf variable (useless)
|
||||
# 3: dvi conversion, as specified by the $dvipdf variable (useless)
|
||||
# 4: lualatex, as specified by the $lualatex variable (best)
|
||||
# 5: xelatex, as specified by the $xelatex variable (second best)
|
||||
$pdf_mode = 1;
|
||||
|
||||
# Treat undefined references and citations as well as multiply defined references as
|
||||
# ERRORS instead of WARNINGS.
|
||||
# This is only checked in the *last* run, since naturally, there are undefined references
|
||||
# in initial runs.
|
||||
# This setting is potentially annoying when debugging/editing, but highly desirable
|
||||
# in the CI pipeline, where such a warning should result in a failed pipeline, since the
|
||||
# final document is incomplete/corrupted.
|
||||
#
|
||||
# However, I could not eradicate all warnings, so that `latexmk` currently fails with
|
||||
# this option enabled.
|
||||
# Specifically, `microtype` fails together with `fontawesome`/`fontawesome5`, see:
|
||||
# https://tex.stackexchange.com/a/547514/120853
|
||||
# The fix in that answer did not help.
|
||||
# Setting `verbose=silent` to mute `microtype` warnings did not work.
|
||||
# Switching between `fontawesome` and `fontawesome5` did not help.
|
||||
$warnings_as_errors = 0;
|
||||
|
||||
# Show used CPU time. Looks like: https://tex.stackexchange.com/a/312224/120853
|
||||
$show_time = 1;
|
||||
|
||||
# Default is 5; we seem to need more owed to the complexity of the document.
|
||||
# Actual documents probably don't need this many since they won't use all features,
|
||||
# plus won't be compiling from cold each time.
|
||||
$max_repeat=7;
|
||||
|
||||
# --shell-escape option (execution of code outside of latex) is required for the
|
||||
#'svg' package.
|
||||
# It converts raw SVG files to the PDF+PDF_TEX combo using InkScape.
|
||||
#
|
||||
# SyncTeX allows to jump between source (code) and output (PDF) in IDEs with support
|
||||
# (many have it). A value of `1` is enabled (gzipped), `-1` is enabled but uncompressed,
|
||||
# `0` is off.
|
||||
# Testing in VSCode w/ LaTeX Workshop only worked for the compressed version.
|
||||
# Adjust this as needed. Of course, only relevant for local use, no effect on a remote
|
||||
# CI pipeline (except for slower compilation, probably).
|
||||
#
|
||||
# %O and %S will forward Options and the Source file, respectively, given to latexmk.
|
||||
#
|
||||
# `set_tex_cmds` applies to all *latex commands (latex, xelatex, lualatex, ...), so
|
||||
# no need to specify these each. This allows to simply change `$pdf_mode` to get a
|
||||
# different engine. Check if this works with `latexmk --commands`.
|
||||
set_tex_cmds("--shell-escape -interaction=nonstopmode --synctex=1 %O %S");
|
||||
|
||||
# Use default pdf viewer
|
||||
$pdf_previewer = 'zathura';
|
||||
|
||||
# option 2 is same as 1 (run biber when necessary), but also deletes the
|
||||
# regeneratable bbl-file in a clenaup (`latexmk -c`). Do not use if original
|
||||
# bib file is not available!
|
||||
$bibtex_use = 2; # default: 1
|
||||
|
||||
# Change default `biber` call, help catch errors faster/clearer. See
|
||||
# https://web.archive.org/web/20200526101657/https://www.semipol.de/2018/06/12/latex-best-practices.html#database-entries
|
||||
$biber = "biber --validate-datamodel %O %S";
|
||||
|
||||
# Glossaries
|
||||
add_cus_dep('glo', 'gls', 0, 'run_makeglossaries');
|
||||
add_cus_dep('acn', 'acr', 0, 'run_makeglossaries');
|
||||
|
||||
sub run_makeglossaries {
|
||||
if ( $silent ) {
|
||||
system "makeglossaries -q -s '$_[0].ist' '$_[0]'";
|
||||
}
|
||||
else {
|
||||
system "makeglossaries -s '$_[0].ist' '$_[0]'";
|
||||
};
|
||||
}
|
||||
|
||||
# ======================================================================================
|
||||
# Auxiliary Files
|
||||
# ======================================================================================
|
||||
|
||||
# Let latexmk know about generated files, so they can be used to detect if a
|
||||
# rerun is required, or be deleted in a cleanup.
|
||||
# loe: List of Examples (KOMAScript)
|
||||
# lol: List of Listings (`listings` and `minted` packages)
|
||||
# run.xml: biber runs
|
||||
# glg: glossaries log
|
||||
# glstex: generated from glossaries-extra
|
||||
push @generated_exts, 'loe', 'lol', 'run.xml', 'glstex', 'glo', 'gls', 'glg', 'acn', 'acr', 'alg';
|
||||
|
||||
# Also delete the *.glstex files from package glossaries-extra. Problem is,
|
||||
# that that package generates files of the form "basename-digit.glstex" if
|
||||
# multiple glossaries are present. Latexmk looks for "basename.glstex" and so
|
||||
# does not find those. For that purpose, use wildcard.
|
||||
# Also delete files generated by gnuplot/pgfplots contour plots
|
||||
# (.dat, .script, .table).
|
||||
$clean_ext = "%R-*.glstex %R_contourtmp*.*";
|
0
nass-flexible-joints.bib
Normal file
0
nass-flexible-joints.bib
Normal file
1439
nass-flexible-joints.org
Normal file
1439
nass-flexible-joints.org
Normal file
File diff suppressed because it is too large
Load Diff
BIN
nass-flexible-joints.pdf
Normal file
BIN
nass-flexible-joints.pdf
Normal file
Binary file not shown.
245
nass-flexible-joints.tex
Normal file
245
nass-flexible-joints.tex
Normal file
@ -0,0 +1,245 @@
|
||||
% Created 2024-03-19 Tue 11:11
|
||||
% Intended LaTeX compiler: pdflatex
|
||||
\documentclass[a4paper, 10pt, DIV=12, parskip=full, bibliography=totoc]{scrreprt}
|
||||
|
||||
\input{preamble.tex}
|
||||
\bibliography{nass-flexible-joints.bib}
|
||||
\author{Dehaeze Thomas}
|
||||
\date{\today}
|
||||
\title{Nano-Hexapod - Flexible Joints Optimization}
|
||||
\hypersetup{
|
||||
pdfauthor={Dehaeze Thomas},
|
||||
pdftitle={Nano-Hexapod - Flexible Joints Optimization},
|
||||
pdfkeywords={},
|
||||
pdfsubject={},
|
||||
pdfcreator={Emacs 29.2 (Org mode 9.7)},
|
||||
pdflang={English}}
|
||||
\usepackage{biblatex}
|
||||
|
||||
\begin{document}
|
||||
|
||||
\maketitle
|
||||
\tableofcontents
|
||||
|
||||
\clearpage
|
||||
In this document is studied the effect of the mechanical behavior of the flexible joints that are located the extremities of each nano-hexapod's legs.
|
||||
|
||||
Ideally, we want the x and y rotations to be free and all the translations to be blocked.
|
||||
However, this is never the case and be have to consider:
|
||||
\begin{itemize}
|
||||
\item Finite bending stiffnesses (Section \ref{sec:rot_stiffness})
|
||||
\item Axial stiffness in the direction of the legs (Section \ref{sec:trans_stiffness})
|
||||
\end{itemize}
|
||||
|
||||
This may impose some limitations, also, the goal is to specify the required joints stiffnesses (summarized in Section \ref{sec:conclusion}).
|
||||
|
||||
\begin{table}[htbp]
|
||||
\caption{\label{tab:nass_flexible_joints_section_matlab_code}Report sections and corresponding Matlab files}
|
||||
\centering
|
||||
\begin{tabularx}{0.6\linewidth}{lX}
|
||||
\toprule
|
||||
\textbf{Sections} & \textbf{Matlab File}\\
|
||||
\midrule
|
||||
Section \ref{sec:nass_flexible_joints_1_a} & \texttt{nass\_flexible\_joints\_1\_.m}\\
|
||||
\bottomrule
|
||||
\end{tabularx}
|
||||
\end{table}
|
||||
\chapter{Bending and Torsional Stiffness}
|
||||
\label{sec:rot_stiffness}
|
||||
|
||||
In this section, we wish to study the effect of the rotation flexibility of the nano-hexapod joints.
|
||||
\section{Initialization}
|
||||
Let's initialize all the stages with default parameters.
|
||||
Let's consider the heaviest mass which should we the most problematic with it comes to the flexible joints.
|
||||
\section{Realistic Bending Stiffness Values}
|
||||
Let's compare the ideal case (zero stiffness in rotation and infinite stiffness in translation) with a more realistic case:
|
||||
\begin{itemize}
|
||||
\item \(K_{\theta, \phi} = 15\,[Nm/rad]\) stiffness in flexion
|
||||
\item \(K_{\psi} = 20\,[Nm/rad]\) stiffness in torsion
|
||||
\end{itemize}
|
||||
|
||||
The stiffness and damping of the nano-hexapod's legs are:
|
||||
This corresponds to the optimal identified stiffness.
|
||||
\subsection{Direct Velocity Feedback}
|
||||
We identify the dynamics from actuators force \(\tau_i\) to relative motion sensors \(d\mathcal{L}_i\) with and without considering the flexible joint stiffness.
|
||||
|
||||
The obtained dynamics are shown in Figure \ref{fig:flex_joint_rot_dvf}.
|
||||
It is shown that the adding of stiffness for the flexible joints does increase a little bit the frequencies of the mass suspension modes. It stiffen the structure.
|
||||
|
||||
\begin{figure}[htbp]
|
||||
\centering
|
||||
\includegraphics[scale=1]{figs/flex_joint_rot_dvf.png}
|
||||
\caption{\label{fig:flex_joint_rot_dvf}Dynamics from actuators force \(\tau_i\) to relative motion sensors \(d\mathcal{L}_i\) with (blue) and without (red) considering the flexible joint stiffness}
|
||||
\end{figure}
|
||||
\subsection{Primary Plant}
|
||||
Let's now identify the dynamics from \(\bm{\tau}^\prime\) to \(\bm{\epsilon}_{\mathcal{X}_n}\) (for the primary controller designed in the frame of the legs).
|
||||
|
||||
The dynamics is compare with and without the joint flexibility in Figure \ref{fig:flex_joints_rot_primary_plant_L}.
|
||||
The plant dynamics is not found to be changing significantly.
|
||||
|
||||
\begin{figure}[htbp]
|
||||
\centering
|
||||
\includegraphics[scale=1]{figs/flex_joints_rot_primary_plant_L.png}
|
||||
\caption{\label{fig:flex_joints_rot_primary_plant_L}Dynamics from \(\bm{\tau}^\prime_i\) to \(\bm{\epsilon}_{\mathcal{X}_n,i}\) with perfect joints and with flexible joints}
|
||||
\end{figure}
|
||||
\subsection{Conclusion}
|
||||
\begin{important}
|
||||
Considering realistic flexible joint bending stiffness for the nano-hexapod does not seems to impose any limitation on the DVF control nor on the primary control.
|
||||
|
||||
It only increases a little bit the suspension modes of the sample on top of the nano-hexapod.
|
||||
\end{important}
|
||||
\section{Parametric Study}
|
||||
We wish now to see what is the impact of the rotation stiffness of the flexible joints on the dynamics.
|
||||
This will help to determine the requirements on the joint's stiffness.
|
||||
|
||||
Let's consider the following bending stiffness of the flexible joints:
|
||||
We also consider here a nano-hexapod with the identified optimal actuator stiffness.
|
||||
\subsection{Direct Velocity Feedback}
|
||||
The dynamics from the actuators to the relative displacement sensor in each leg is identified and shown in Figure \ref{fig:flex_joints_rot_study_dvf}.
|
||||
|
||||
The corresponding Root Locus plot is shown in Figure \ref{fig:flex_joints_rot_study_dvf_root_locus}.
|
||||
|
||||
It is shown that the bending stiffness of the flexible joints does indeed change a little the dynamics, but critical damping is stiff achievable with Direct Velocity Feedback.
|
||||
|
||||
\begin{figure}[htbp]
|
||||
\centering
|
||||
\includegraphics[scale=1]{figs/flex_joints_rot_study_dvf.png}
|
||||
\caption{\label{fig:flex_joints_rot_study_dvf}Dynamics from \(\tau_i\) to \(d\mathcal{L}_i\) for all the considered Rotation Stiffnesses}
|
||||
\end{figure}
|
||||
|
||||
\begin{figure}[htbp]
|
||||
\centering
|
||||
\includegraphics[scale=1]{figs/flex_joints_rot_study_dvf_root_locus.png}
|
||||
\caption{\label{fig:flex_joints_rot_study_dvf_root_locus}Root Locus for all the considered Rotation Stiffnesses}
|
||||
\end{figure}
|
||||
\subsection{Primary Control}
|
||||
The dynamics from \(\bm{\tau}^\prime\) to \(\bm{\epsilon}_{\mathcal{X}_n}\) (for the primary controller designed in the frame of the legs) is shown in Figure \ref{fig:flex_joints_rot_study_primary_plant}.
|
||||
|
||||
It is shown that the bending stiffness of the flexible joints have very little impact on the dynamics.
|
||||
|
||||
\begin{figure}[htbp]
|
||||
\centering
|
||||
\includegraphics[scale=1]{figs/flex_joints_rot_study_primary_plant.png}
|
||||
\caption{\label{fig:flex_joints_rot_study_primary_plant}Diagonal elements of the transfer function matrix from \(\bm{\tau}^\prime\) to \(\bm{\epsilon}_{\mathcal{X}_n}\) for the considered bending stiffnesses}
|
||||
\end{figure}
|
||||
\subsection{Conclusion}
|
||||
\begin{important}
|
||||
The bending stiffness of the flexible joint does not significantly change the dynamics.
|
||||
\end{important}
|
||||
\chapter{Axial Stiffness}
|
||||
\label{sec:trans_stiffness}
|
||||
|
||||
Let's know consider a flexibility in translation of the flexible joint, in the axis of the legs.
|
||||
\section{Realistic Translation Stiffness Values}
|
||||
We choose realistic values of the axial stiffness of the joints:
|
||||
\[ K_a = 60\,[N/\mu m] \]
|
||||
\subsection{Initialization}
|
||||
Let's initialize all the stages with default parameters.
|
||||
Let's consider the heaviest mass which should we the most problematic with it comes to the flexible joints.
|
||||
\subsection{Direct Velocity Feedback}
|
||||
The dynamics from actuators force \(\tau_i\) to relative motion sensors \(d\mathcal{L}_i\) with and without considering the flexible joint stiffness are identified.
|
||||
|
||||
The obtained dynamics are shown in Figure \ref{fig:flex_joint_trans_dvf}.
|
||||
|
||||
\begin{figure}[htbp]
|
||||
\centering
|
||||
\includegraphics[scale=1]{figs/flex_joint_trans_dvf.png}
|
||||
\caption{\label{fig:flex_joint_trans_dvf}Dynamics from actuators force \(\tau_i\) to relative motion sensors \(d\mathcal{L}_i\) with (blue) and without (red) considering the flexible joint axis stiffness}
|
||||
\end{figure}
|
||||
\subsection{Primary Plant}
|
||||
Let's now identify the dynamics from \(\bm{\tau}^\prime\) to \(\bm{\epsilon}_{\mathcal{X}_n}\) (for the primary controller designed in the frame of the legs).
|
||||
|
||||
The dynamics is compare with and without the joint flexibility in Figure \ref{fig:flex_joints_trans_primary_plant_L}.
|
||||
|
||||
\begin{figure}[htbp]
|
||||
\centering
|
||||
\includegraphics[scale=1]{figs/flex_joints_trans_primary_plant_L.png}
|
||||
\caption{\label{fig:flex_joints_trans_primary_plant_L}Dynamics from \(\bm{\tau}^\prime_i\) to \(\bm{\epsilon}_{\mathcal{X}_n,i}\) with infinite axis stiffnes (solid) and with realistic axial stiffness (dashed)}
|
||||
\end{figure}
|
||||
\subsection{Conclusion}
|
||||
\begin{important}
|
||||
For the realistic value of the flexible joint axial stiffness, the dynamics is not much impact, and this should not be a problem for control.
|
||||
\end{important}
|
||||
\section{Parametric study}
|
||||
We wish now to see what is the impact of the \textbf{axial} stiffness of the flexible joints on the dynamics.
|
||||
|
||||
Let's consider the following values for the axial stiffness:
|
||||
We also consider here a nano-hexapod with the identified optimal actuator stiffness (\(k = 10^5\,[N/m]\)).
|
||||
\subsection{Direct Velocity Feedback}
|
||||
The dynamics from the actuators to the relative displacement sensor in each leg is identified and shown in Figure \ref{fig:flex_joints_trans_study_dvf}.
|
||||
|
||||
It is shown that the axial stiffness of the flexible joints does have a huge impact on the dynamics.
|
||||
|
||||
If the axial stiffness of the flexible joints is \(K_a > 10^7\,[N/m]\) (here \(100\) times higher than the actuator stiffness), then the change of dynamics stays reasonably small.
|
||||
|
||||
This is more clear by looking at the root locus (Figures \ref{fig:flex_joints_trans_study_dvf_root_locus} and \ref{fig:flex_joints_trans_study_root_locus_unzoom}).
|
||||
It can be seen that very little active damping can be achieve for axial stiffnesses below \(10^7\,[N/m]\).
|
||||
|
||||
\begin{figure}[htbp]
|
||||
\centering
|
||||
\includegraphics[scale=1]{figs/flex_joints_trans_study_dvf.png}
|
||||
\caption{\label{fig:flex_joints_trans_study_dvf}Dynamics from \(\tau_i\) to \(d\mathcal{L}_i\) for all the considered axis Stiffnesses}
|
||||
\end{figure}
|
||||
|
||||
\begin{figure}[htbp]
|
||||
\centering
|
||||
\includegraphics[scale=1]{figs/flex_joints_trans_study_dvf_root_locus.png}
|
||||
\caption{\label{fig:flex_joints_trans_study_dvf_root_locus}Root Locus for all the considered axial Stiffnesses}
|
||||
\end{figure}
|
||||
|
||||
\begin{figure}[htbp]
|
||||
\centering
|
||||
\includegraphics[scale=1]{figs/flex_joints_trans_study_root_locus_unzoom.png}
|
||||
\caption{\label{fig:flex_joints_trans_study_root_locus_unzoom}Root Locus (unzoom) for all the considered axial Stiffnesses}
|
||||
\end{figure}
|
||||
\subsection{Primary Control}
|
||||
The dynamics from \(\bm{\tau}^\prime\) to \(\bm{\epsilon}_{\mathcal{X}_n}\) (for the primary controller designed in the frame of the legs) is shown in Figure \ref{fig:flex_joints_trans_study_primary_plant}.
|
||||
|
||||
\begin{figure}[htbp]
|
||||
\centering
|
||||
\includegraphics[scale=1]{figs/flex_joints_trans_study_primary_plant.png}
|
||||
\caption{\label{fig:flex_joints_trans_study_primary_plant}Diagonal elements of the transfer function matrix from \(\bm{\tau}^\prime\) to \(\bm{\epsilon}_{\mathcal{X}_n}\) for the considered axial stiffnesses}
|
||||
\end{figure}
|
||||
\section{Conclusion}
|
||||
\begin{important}
|
||||
The axial stiffness of the flexible joints should be maximized.
|
||||
|
||||
For the considered actuator stiffness \(k = 10^5\,[N/m]\), the axial stiffness of the flexible joints should ideally be above \(10^7\,[N/m]\).
|
||||
|
||||
This is a reasonable stiffness value for such joints.
|
||||
|
||||
We may interpolate the results and say that the axial joint stiffness should be 100 times higher than the actuator stiffness, but this should be confirmed with further analysis.
|
||||
\end{important}
|
||||
\chapter{Designed Flexible Joints}
|
||||
\section{Initialization}
|
||||
Let's initialize all the stages with default parameters.
|
||||
Let's consider the heaviest mass which should we the most problematic with it comes to the flexible joints.
|
||||
\section{Direct Velocity Feedback}
|
||||
\section{Integral Force Feedback}
|
||||
\chapter{Conclusion}
|
||||
\label{sec:conclusion}
|
||||
|
||||
\begin{important}
|
||||
In this study we considered the bending, torsional and axial stiffnesses of the flexible joints used for the nano-hexapod.
|
||||
|
||||
The bending and torsional stiffnesses somehow adds a parasitic stiffness in parallel with the legs.
|
||||
It is not found to be much problematic for the considered control architecture (it is however, if Integral Force Feedback is to be used).
|
||||
As a consequence of the added stiffness, it could increase a little bit the required actuator force.
|
||||
|
||||
|
||||
The axial stiffness of the flexible joints can be very problematic for control.
|
||||
Small values of the axial stiffness are shown to limit the achievable damping with Direct Velocity Feedback.
|
||||
The axial stiffness should therefore be maximized and taken into account in the model of the nano-hexapod.
|
||||
|
||||
|
||||
For the identified optimal actuator stiffness \(k = 10^5\,[N/m]\), the flexible joint should have the following stiffness properties:
|
||||
\begin{itemize}
|
||||
\item Axial Stiffness: \(K_a > 10^7\,[N/m]\)
|
||||
\item Bending Stiffness: \(K_b < 50\,[Nm/rad]\)
|
||||
\item Torsion Stiffness: \(K_t < 50\,[Nm/rad]\)
|
||||
\end{itemize}
|
||||
|
||||
As there is generally a trade-off between bending stiffness and axial stiffness, it should be highlighted that the \textbf{axial} stiffness is the most important property of the flexible joints.
|
||||
\end{important}
|
||||
\printbibliography[heading=bibintoc,title={Bibliography}]
|
||||
\end{document}
|
137
preamble.tex
Normal file
137
preamble.tex
Normal file
@ -0,0 +1,137 @@
|
||||
\usepackage{float}
|
||||
|
||||
\usepackage{caption,tabularx,booktabs}
|
||||
\usepackage{bm}
|
||||
|
||||
\usepackage{xpatch} % Recommanded for biblatex
|
||||
\usepackage[ % use biblatex for bibliography
|
||||
backend=biber, % use biber backend (bibtex replacement) or bibtex
|
||||
style=ieee, % bib style
|
||||
hyperref=true, % activate hyperref support
|
||||
backref=true, % activate backrefs
|
||||
isbn=false, % don't show isbn tags
|
||||
url=false, % don't show url tags
|
||||
doi=false, % don't show doi tags
|
||||
urldate=long, % display type for dates
|
||||
maxnames=3, %
|
||||
minnames=1, %
|
||||
maxbibnames=5, %
|
||||
minbibnames=3, %
|
||||
maxcitenames=2, %
|
||||
mincitenames=1 %
|
||||
]{biblatex}
|
||||
|
||||
\setlength\bibitemsep{1.1\itemsep}
|
||||
|
||||
% \renewcommand*{\bibfont}{\footnotesize}
|
||||
|
||||
\usepackage{fontawesome}
|
||||
|
||||
\usepackage{caption}
|
||||
\usepackage{subcaption}
|
||||
|
||||
\captionsetup[figure]{labelfont=bf}
|
||||
\captionsetup[subfigure]{labelfont=bf}
|
||||
\captionsetup[listing]{labelfont=bf}
|
||||
\captionsetup[table]{labelfont=bf}
|
||||
|
||||
\usepackage{xcolor}
|
||||
|
||||
\definecolor{my-blue}{HTML}{6b7adb}
|
||||
\definecolor{my-pale-blue}{HTML}{e6e9f9}
|
||||
\definecolor{my-red}{HTML}{db6b6b}
|
||||
\definecolor{my-pale-red}{HTML}{f9e6e6}
|
||||
\definecolor{my-green}{HTML}{6bdbb6}
|
||||
\definecolor{my-pale-green}{HTML}{e6f9f3}
|
||||
\definecolor{my-yellow}{HTML}{dbd26b}
|
||||
\definecolor{my-pale-yellow}{HTML}{f9f7e6}
|
||||
\definecolor{my-orange}{HTML}{dba76b}
|
||||
\definecolor{my-pale-orange}{HTML}{f9f0e6}
|
||||
\definecolor{my-grey}{HTML}{a3a3a3}
|
||||
\definecolor{my-pale-grey}{HTML}{f0f0f0}
|
||||
\definecolor{my-turq}{HTML}{6bc7db}
|
||||
\definecolor{my-pale-turq}{HTML}{e6f6f9}
|
||||
|
||||
\usepackage{inconsolata}
|
||||
|
||||
\usepackage[newfloat=true, chapter]{minted}
|
||||
\usemintedstyle{autumn}
|
||||
|
||||
\setminted{frame=lines,breaklines=true,tabsize=4,fontsize=\scriptsize,autogobble=true,labelposition=topline,bgcolor=my-pale-grey}
|
||||
\setminted[matlab]{label=Matlab}
|
||||
\setminted[latex]{label=LaTeX}
|
||||
\setminted[bash]{label=Bash}
|
||||
\setminted[python]{label=Python}
|
||||
\setminted[text]{label=Results}
|
||||
\setminted[md]{label=Org Mode}
|
||||
|
||||
\setmintedinline{fontsize=\normalsize,bgcolor=my-pale-grey}
|
||||
|
||||
\usepackage[most]{tcolorbox}
|
||||
|
||||
\tcbuselibrary{minted}
|
||||
|
||||
\newtcolorbox{seealso}{ enhanced,breakable,colback=my-pale-grey,colframe=my-grey,fonttitle=\bfseries,title=See Also}
|
||||
\newtcolorbox{hint}{ enhanced,breakable,colback=my-pale-grey,colframe=my-grey,fonttitle=\bfseries,title=Hint}
|
||||
\newtcolorbox{definition}{enhanced,breakable,colback=my-pale-red, colframe=my-red, fonttitle=\bfseries,title=Definition}
|
||||
\newtcolorbox{important}{ enhanced,breakable,colback=my-pale-red, colframe=my-red, fonttitle=\bfseries,title=Important}
|
||||
\newtcolorbox{exampl}[1][]{ enhanced,breakable,colback=my-pale-green,colframe=my-green,fonttitle=\bfseries,title=Example,#1}
|
||||
\newtcolorbox{exercice}{ enhanced,breakable,colback=my-pale-yellow,colframe=my-yellow,fonttitle=\bfseries,title=Exercice}
|
||||
\newtcolorbox{question}{ enhanced,breakable,colback=my-pale-yellow,colframe=my-yellow,fonttitle=\bfseries,title=Question}
|
||||
\newtcolorbox{answer}{ enhanced,breakable,colback=my-pale-turq,colframe=my-turq,fonttitle=\bfseries,title=Answer}
|
||||
\newtcolorbox{summary}{ enhanced,breakable,colback=my-pale-blue,colframe=my-blue,fonttitle=\bfseries,title=Summary}
|
||||
\newtcolorbox{note}{ enhanced,breakable,colback=my-pale-blue,colframe=my-blue,fonttitle=\bfseries,title=Note}
|
||||
\newtcolorbox{caution}{ enhanced,breakable,colback=my-pale-orange,colframe=my-orange,fonttitle=\bfseries,title=Caution}
|
||||
\newtcolorbox{warning}{ enhanced,breakable,colback=my-pale-orange,colframe=my-orange,fonttitle=\bfseries,title=Warning}
|
||||
|
||||
\newtcolorbox{my-quote}[1]{%
|
||||
colback=my-pale-grey,
|
||||
grow to right by=-10mm,
|
||||
grow to left by=-10mm,
|
||||
boxrule=0pt,
|
||||
boxsep=0pt,
|
||||
breakable,
|
||||
enhanced jigsaw,
|
||||
borderline west={4pt}{0pt}{my-grey}}
|
||||
|
||||
\renewenvironment{quote}{\begin{my-quote}}{\end{my-quote}}
|
||||
|
||||
\newtcolorbox{my-verse}[1]{%
|
||||
colback=my-pale-grey,
|
||||
grow to right by=-10mm,
|
||||
grow to left by=-10mm,
|
||||
boxrule=0pt,
|
||||
boxsep=0pt,
|
||||
breakable,
|
||||
enhanced jigsaw,
|
||||
borderline west={4pt}{0pt}{my-grey}}
|
||||
|
||||
\renewenvironment{verse}{\begin{my-verse}}{\end{my-verse}}
|
||||
|
||||
\usepackage{environ}% http://ctan.org/pkg/environ
|
||||
\NewEnviron{aside}{%
|
||||
\marginpar{\BODY}
|
||||
}
|
||||
|
||||
\renewenvironment{verbatim}{\VerbatimEnvironment\begin{minted}[]{text}}{\end{minted}}
|
||||
|
||||
\usepackage{soul}
|
||||
\sethlcolor{my-pale-grey}
|
||||
|
||||
\let\OldTexttt\texttt
|
||||
\renewcommand{\texttt}[1]{{\ttfamily\hl{\mbox{\,#1\,}}}}
|
||||
|
||||
\makeatletter
|
||||
\preto\Gin@extensions{png,}
|
||||
\DeclareGraphicsRule{.png}{pdf}{.pdf}{\noexpand\Gin@base.pdf}
|
||||
\preto\Gin@extensions{gif,}
|
||||
\DeclareGraphicsRule{.gif}{png}{.png}{\noexpand\Gin@base.png}
|
||||
\makeatother
|
||||
|
||||
\usepackage{hyperref}
|
||||
\hypersetup{
|
||||
colorlinks = true,
|
||||
allcolors = my-blue
|
||||
}
|
||||
|
||||
\usepackage{hypcap}
|
Loading…
Reference in New Issue
Block a user