From e69dbf4ebd3fef9426025517f1295060ad7e5efe Mon Sep 17 00:00:00 2001 From: Thomas Dehaeze Date: Thu, 6 Feb 2025 16:02:34 +0100 Subject: [PATCH] Rework outline and copy some reports --- figs/nhexa_stewart_platform_conf.png | Bin 0 -> 79119 bytes figs/nhexa_stewart_schematic.png | Bin 0 -> 34643 bytes simscape-nano-hexapod.org | 338 +++++++++++++++++++++++---- 3 files changed, 295 insertions(+), 43 deletions(-) create mode 100644 figs/nhexa_stewart_platform_conf.png create mode 100644 figs/nhexa_stewart_schematic.png diff --git a/figs/nhexa_stewart_platform_conf.png b/figs/nhexa_stewart_platform_conf.png new file mode 100644 index 0000000000000000000000000000000000000000..b980af92ef33d461a1672f9be20fec4fe846fd47 GIT binary patch literal 79119 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 CQ^ExR literal 0 HcmV?d00001 diff --git a/figs/nhexa_stewart_schematic.png b/figs/nhexa_stewart_schematic.png new file mode 100644 index 0000000000000000000000000000000000000000..d9f46c497ef7c482957cdad744f8c33bc8c6cca6 GIT binary patch literal 34643 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 |ksrTI8NPNhGqV_g|HMk%&%WXhVfncwFVep> zP6N%rJ^-UJt{!i3-c1lU^SA z4=LQp<7|S&>h6y!!?*FP@J$jPOE~_CRO0WMkSJHeMEqBP)oU4}$`nu2r$yh)W3|Qr z&EsCpMe=B~i$?UwmG1D@4`+I0EL?Y<6+*HB9u$-pp??BN$*KG$cG`tJ6A`8%;d0m1 zMm=sKgTsD=`LxDW>N2e&t~{wUTwggphCUoo!(Wv|Zqn(em5ybS-lL)mA2IH2%iazG z+Pe5@R}gfx^(UzLO6)W15a3e6!G}?;%cP=b{?+^45$RVh9C0$#)S76s0Z^Jc_`wd} zM6Y2;J{TW&xCa!r4`*O_ZUGxe$*{Y>J@d$Mnjd4)s!QhUY9~KQ;}yFgdj9#k{W$#c z;3pehaGop=#uJ`~wl}3}gt9rJTLxQ13*oP>@POMSJyb1R z`*^RqQv@W%Qii{N6thg?<2a6Pdo~c(he3wb#v`FpP8g?L76=i{jk4q^a^$}!KUWiKcib0Fern88F8c>q-rH#jIErE< zUeWJ!znim#8q)cx?yPkFyFVIAupmHrlsGmx{@iu&JbXcc6t+gX)<>>yyc=Wi8ZO*< zfAMM~=Ze-qK{Gn3O>I1L=37eSpTN~VSth>m#B>qOXyTKhf%B)~dSUO7GO^(AVeWZ; zNfXagH zK0_?mN|+kShAp=M|>U>wiE_>Ji z++S1qP)m^I;vHqJ78q`_p0=iAT^q!%mnW6Ue4!%bA9_BisbbZa2b0@BH72!2R$XK3q#TmiYOZuUPOwR6Y3>Tn#rBG zmJ{YFkZ`5-`0Fy4EZj<;p_FmvDP&Ft%yWA*()eC!Y>+h$Jpwd%-OuwaA4=WPEcVHU z-X49g)kRGe#&*57>OWe5~_W3@Re}2SS4zw zhk@w&CrD6p98Ee~6HtRdriK1j^J2KsBgJFHo%zxp)Z~R*ee42`XpWwlIh#y1_^2rq zCoPyF$E9`tb2e}Bp&lK(L6Z`tl#+vC@FU>}zYI4|fz)*W1DeHPb*KAJgIb3ScmuhS zc_O<%RJ)d4hyn#X7kRk{8fQOB#c-H~0uvup2d&fJh0;5F4{UadQXf9q6)H@Ca)re! zXP{b5f+8=vvRAy8r7O~?>6-7{PuEimoT2(c2O9T#$By_ZL~toHKtp+VIHfUH&3t3? zuVBGz?+*vya$LXMAgdV?c>FHf>Hb9ZxKV4O6+3WC?@~vAS&`wA@h2>AF>4O*)x%}8EXt{dcIwQ=MaYvIyD*4aWv1F zYR)QiaDL5q_oADJHDnKNuQScQ9JQ_*ft)r+L}}#*l#K$6dz~G<{?h z%bA%Z{Gab$1}U;W@|y$=)A*Gp-&b{e!IYqU7grDkOYmS}YqiF!*NJbEU&K%dDC4BA zI7q=aE?FJS8t{M7HGw{FVrIf4!isk*ls}MU1 zK|L8UmGl~@nmO2gLSKU)ccq!{GSt6{wnWpPkq&Ko@qg=&ega(Sy>-I}!IL~2T$raV z>^zblc$2I9%aYdrAWILat5_cpdds}bmBHo8%*|;N=R-t~NQGqn`VYJ(Qq^v?8$;w1 z;5lJiH=JNvq4DEkyZju`72t0cLLI@={7z4`-=gY>$MY8tl|Suw1y)Z$xA8pwS^Ik~ zaQCF=Rz_igH&br>X$5&clHv1?H7Cmd9mWy@hYl$TSe*OMA5><$1-QGKg8>LUUHx3v IIVCg!0Eje^V*mgE literal 0 HcmV?d00001 diff --git a/simscape-nano-hexapod.org b/simscape-nano-hexapod.org index c46e37d..88fd7af 100644 --- a/simscape-nano-hexapod.org +++ b/simscape-nano-hexapod.org @@ -113,22 +113,26 @@ Based on: Questions: - [ ] The APA model should maybe not be used here, same for the nice top and bottom plates. Here the detailed design is not yet performed -** TODO [#A] Copy relevant parts of reports +** DONE [#A] Copy relevant parts of reports +CLOSED: [2025-02-06 Thu 15:27] -- [ ] Stewart platform presentation: [[file:~/Cloud/meetings/group-meetings-me/2020-01-27-Stewart-Platform-Simscape/2020-01-27-Stewart-Platform-Simscape.org]] -- [ ] Add some sections from here: [[file:~/Cloud/work-projects/ID31-NASS/matlab/stewart-simscape/org/index.org]] +- [X] Stewart platform presentation: [[file:~/Cloud/meetings/group-meetings-me/2020-01-27-Stewart-Platform-Simscape/2020-01-27-Stewart-Platform-Simscape.org]] +- [X] Add some sections from here: [[file:~/Cloud/work-projects/ID31-NASS/matlab/stewart-simscape/org/index.org]] For instance: - - [ ] [[file:~/Cloud/work-projects/ID31-NASS/matlab/stewart-simscape/org/stewart-architecture.org][stewart architecture]] - - [ ] [[file:~/Cloud/work-projects/ID31-NASS/matlab/nass-simscape/org/stewart_platform.org::+TITLE: Stewart Platform - Simscape Model]] - - [ ] [[file:~/Cloud/work-projects/ID31-NASS/matlab/stewart-simscape/org/kinematic-study.org][kinematic study]] - - [ ] [[file:~/Cloud/work-projects/ID31-NASS/matlab/stewart-simscape/org/identification.org]] - Effect of joints stiffnesses - - [ ] [[file:~/Cloud/work-projects/ID31-NASS/matlab/stewart-simscape/org/cubic-configuration.org][cubic configuration]] -- [ ] Look at the [[file:~/Cloud/work-projects/ID31-NASS/documents/state-of-thesis-2020/index.org][NASS 2020 report]] + - [X] [[file:~/Cloud/work-projects/ID31-NASS/matlab/stewart-simscape/org/stewart-architecture.org][stewart architecture]] + - [X] [[file:~/Cloud/work-projects/ID31-NASS/matlab/nass-simscape/org/stewart_platform.org::+TITLE: Stewart Platform - Simscape Model]] + - [X] [[file:~/Cloud/work-projects/ID31-NASS/matlab/stewart-simscape/org/kinematic-study.org][kinematic study]] + - [X] [[file:~/Cloud/work-projects/ID31-NASS/matlab/stewart-simscape/org/identification.org]] + Effect of joints stiffnesses + - [X] [[file:~/Cloud/work-projects/ID31-NASS/matlab/stewart-simscape/org/cubic-configuration.org][cubic configuration]] + Not relevant here: in chapter 2 +- [X] Look at the [[file:~/Cloud/work-projects/ID31-NASS/documents/state-of-thesis-2020/index.org][NASS 2020 report]] Sections 5.1, 5.4 -- [ ] [[file:~/Cloud/work-projects/ID31-NASS/matlab/nass-simscape/org/amplified_piezoelectric_stack.org][amplified_piezoelectric_stack]] (Just use 2DoF here) -- [ ] [[file:~/Cloud/work-projects/ID31-NASS/matlab/nass-simscape/org/nano_hexapod.org][nano_hexapod]] (it seems this report is already after the detailed design phase: yes but some parts could be interesting) -- [ ] Should the study of effect of flexible joints be included here? +- [X] [[file:~/Cloud/work-projects/ID31-NASS/matlab/nass-simscape/org/amplified_piezoelectric_stack.org][amplified_piezoelectric_stack]] (Just use 2DoF here) +- [X] [[file:~/Cloud/work-projects/ID31-NASS/matlab/nass-simscape/org/nano_hexapod.org][nano_hexapod]] (it seems this report is already after the detailed design phase: yes but some parts could be interesting) + *Will also be used in Chapter 2* +- [X] Should the study of effect of flexible joints be included here? + *No, considered perfect and then optimized in chapter 2* - [X] file:~/Cloud/work-projects/ID31-NASS/matlab/stewart-simscape/org/control-vibration-isolation.org ** DONE [#A] Make a nice outline @@ -207,7 +211,13 @@ CLOSED: [2025-02-05 Wed 16:04] - control is performed - simulations => validation of the concept -** TODO [#C] First time in the report that we speak about MIMO control ? Or maybe next section! +** TODO [#A] Make sure the Simulink file for the Stewart platform is working well +SCHEDULED: <2025-02-06 Thu> + +It should be the exact model reference that will be included in the NASS model. + +** DONE [#C] First time in the report that we speak about MIMO control ? Or maybe next section! +CLOSED: [2025-02-06 Thu 16:01] Maybe should introduce: - "MIMO" Root locus @@ -218,14 +228,16 @@ Or should this be in annexes? Maybe say that in this phd-thesis, the focus is not on the control. I tried multiple architectures (complementary filters, etc.), but the focus is not on that. -** QUES [#C] Cubic architecture should be the topic here or in the detailed design? +** ANSW [#C] Cubic architecture should be the topic here or in the detailed design? +CLOSED: [2025-02-06 Thu 16:01] I suppose that it should be in the detailed design phase. (Review about Stewart platform design should be made in Chapter two.) Here, just use simple control architecture for general validation (and not optimization). -** QUES [#C] Should I make a review of control strategies? +** ANSW [#C] Should I make a review of control strategies? +CLOSED: [2025-02-06 Thu 16:01] Yes it seems to good location for review related to control. @@ -234,53 +246,58 @@ Control is the frame of the struts, in the cartesian frame (CoM, CoK), modal con [[file:~/Cloud/research/matlab/decoupling-strategies/svd-control.org][file:~/Cloud/research/matlab/decoupling-strategies/svd-control.org]] -** TODO [#C] Compare simscape =linearize= and analytical formula +** DONE [#C] Compare simscape =linearize= and analytical formula +CLOSED: [2025-02-06 Thu 16:01] - [X] OK for $\omega=0$ (using just the Stiffness matrix) - [ ] Should add the mass matrix and compare for all frequencies The analytical dynamic model is taken from cite:taghirad13_paral -** TODO [#C] Output the cubic configuration with clear display of the cube and center of the cube +** DONE [#C] Output the cubic configuration with clear display of the cube and center of the cube +CLOSED: [2025-02-06 Thu 16:02] [[file:~/Cloud/work-projects/ID31-NASS/matlab/stewart-simscape/org/cubic-configuration.org][cubic configuration]] -** TODO [#C] Make sure the Simulink file for the Stewart platform is working well +*No, this will be in Chapter 2* -It should be the exact model reference that will be included in the NASS model. - -** TODO [#C] Maybe make an appendix to present the developed toolbox? +** CANC [#C] Maybe make an appendix to present the developed toolbox? +CLOSED: [2025-02-06 Thu 16:02] +- State "CANC" from "TODO" [2025-02-06 Thu 16:02] * Introduction :ignore: -Introduction: -- Choice of architecture to do 5DoF control (Section ref:sec:nhexa_platform_review) -- Stewart platform (Section ref:sec:nhexa_stewart_platform) - Show what is an hexapod, how we can define its geometry, stiffness, etc... - Some kinematics: stiffness matrix, mass matrix, etc... -- Need to model the active vibration platform: multi-body model (Section ref:sec:nhexa_model) - Explain what we want to capture with this model - Key elements (plates, joints, struts): for now simplistic model (rigid body elements, perfect joints, ...), but in next section, FEM will be used -- Control (Section ref:sec:nhexa_control) +Now that the multi-body model of the micro-station has been developed and validated using dynamical measurements, a model of the active vibration platform can be integrated. + +First, the mechanical architecture of the active platform needs to be carefully chosen. +In Section ref:sec:nhexa_platform_review, a quick review of active vibration platforms is performed. + +The chosen architecture is the Stewart platform, which is presented in Section ref:sec:nhexa_stewart_platform. +It is a parallel manipulator that require the use of specific tools to study its kinematics. + +However, to study the dynamics of the Stewart platform, the use of analytical equations is very complex. +Instead, a multi-body model of the Stewart platform is developed (Section ref:sec:nhexa_model), that can then be easily integrated on top of the micro-station's model. + +From a control point of view, the Stewart platform is a MIMO system with complex dynamics. +To control such system, it requires several tools to study interaction (Section ref:sec:nhexa_control). * Active Vibration Platforms <> ** Introduction :ignore: *Goals*: +- Quick review of active vibration platforms (5 or 6DoF) similar to NASS - Explain why Stewart platform architecture is chosen -- Explain what is a Stewart platform (quickly as it will be shown in details in the next section) -- Quick review of active vibration platforms (5 or 6DoF) - -Active vibration platform with 5DoF or 6DoF? -Synchrotron applications? +- Wanted controlled DOF: Y, Z, Ry +- But because of continuous rotation (key specificity): X,Y,Z,Rx,Ry in the frame of the active platform - Literature review? (*maybe more suited for chapter 2*) - file:~/Cloud/work-projects/ID31-NASS/matlab/stewart-simscape/org/bibliography.org - Talk about flexible joint? Maybe not so much as it should be topic of second chapter. Just say that we must of flexible joints that can be defined as 3 to 6DoF joints, and it will be optimize in chapter 2. - [[cite:&taghirad13_paral]] + - For some systems, just XYZ control (stack stages), example: holler - For other systems, Stewart platform (ID16a), piezo based - Examples of Stewart platforms for general vibration control, some with Piezo, other with Voice coil. IFF, ... @@ -292,6 +309,7 @@ Synchrotron applications? [[file:~/Cloud/work-projects/ID31-NASS/phd-thesis-chapters/A0-nass-introduction/nass-introduction.org::*Review of stages with online metrology for Synchrotrons][Review of stages with online metrology for Synchrotrons]] - [ ] Talk about external metrology? + Maybe not the topic here. - [ ] Talk about control architecture? - [ ] Comparison with the micro-station / NASS @@ -305,6 +323,17 @@ Synchrotron applications? - A review of Stewart platform will be given in Chapter related to the detailed design of the Nano-Hexapod + +#+name: tab:nhexa_serial_vs_parallel +#+caption: Advantages and Disadvantages of both serial and parallel robots +#+attr_latex: :environment tabularx :width \linewidth :align lXX +#+attr_latex: :center t :booktabs t :float t +| | *Serial Robots* | *Parallel Robots* | +|--------------------+-----------------+-------------------| +| Advantages | Large Workspace | High Stiffness | +| Disadvantages | Low Stiffness | Small Workspace | +| Kinematic Struture | Open | Closed-loop | + * The Stewart platform :PROPERTIES: :HEADER-ARGS:matlab+: :tangle matlab/nhexa_1_stewart_platform.m @@ -322,6 +351,13 @@ Synchrotron applications? - Presentation of tools used to analyze the properties of the Stewart platform => useful for design and control +The Stewart Platform is very adapted for the NASS application for the following reasons: +- it is a fully parallel manipulator, thus all the motions errors can be compensated +- it is very compact compared to a serial manipulator +- it has high stiffness and good dynamic performances + +The main disadvantage of Stewart platforms is the small workspace when compare the serial manipulators which is not a problem here. + ** Matlab Init :noexport:ignore: #+begin_src matlab :tangle no :exports none :results silent :noweb yes :var current_dir=(file-name-directory buffer-file-name) <> @@ -346,7 +382,7 @@ Synchrotron applications? ** Mechanical Architecture <> -file:~/Cloud/work-projects/ID31-NASS/matlab/stewart-simscape/org/stewart-architecture.org +- [ ] Use this file as a reference: file:~/Cloud/work-projects/ID31-NASS/matlab/stewart-simscape/org/stewart-architecture.org Presentation of the typical architecture - Explain the different frames, etc... @@ -355,24 +391,209 @@ Presentation of the typical architecture - joints - actuators +[[file:figs/nhexa_stewart_platform_conf.png]] + +The Stewart Platform: +- Has 6 degrees-of-freedom +- Is a *Fully* parallel manipulator as the number of actuators is equal to the number of dof +- Is a *Symmetrical* parallel manipulator as all the struts are the same + +#+name: tab:stewart_platforms_configurations +#+attr_latex: :environment tabularx :width \linewidth :align cXXX +#+attr_latex: :center t :booktabs t :float t +| | *Base Joint* | *Actuator Joint* | *Top Joint* | +|---------+--------------+------------------+-------------| +| *6-SPS* | Spherical | Prismatic | Spherical | +| *6-UPS* | Universal | Prismatic | Spherical | + Make well defined notations. - {F}, {M} - si, li, ai, bi, etc. - - [ ] Make figure with defined frames, joints, etc... - Maybe can use this figure as an example: - [[file:/home/thomas/Cloud/work-projects/ID31-NASS/phd-thesis-chapters/A0-nass-introduction/figs/introduction_stewart_du14.svg]] + +These frames are used to describe the relative motion of the two platforms through the position vector ${}^A\bm{P}_B$ of $\{B\}$ expressed in $\{A\}$ and the rotation matrix ${}^A\bm{R}_B$ expressing the orientation of $\{B\}$ with respect to $\{A\}$. +For the nano-hexapod, these frames are chosen to be located at the theoretical focus point of the X-ray light (xxx mm above the top platform). + +#+begin_quote +Stewart platforms are generated in multiple steps. + +We define 4 important *frames*: +- $\{F\}$: Frame fixed to the *Fixed* base and located at the center of its bottom surface. + This is used to fix the Stewart platform to some support. +- $\{M\}$: Frame fixed to the *Moving* platform and located at the center of its top surface. + This is used to place things on top of the Stewart platform. +- $\{A\}$: Frame fixed to the fixed base. + It defined the center of rotation of the moving platform. +- $\{B\}$: Frame fixed to the moving platform. + The motion of the moving platforms and forces applied to it are defined with respect to this frame $\{B\}$. + +Then, we define the *location of the spherical joints*: +- $\bm{a}_{i}$ are the position of the spherical joints fixed to the fixed base +- $\bm{b}_{i}$ are the position of the spherical joints fixed to the moving platform + +We define the *rest position* of the Stewart platform: +- For simplicity, we suppose that the fixed base and the moving platform are parallel and aligned with the vertical axis at their rest position. +- Thus, to define the rest position of the Stewart platform, we just have to defined its total height $H$. + $H$ corresponds to the distance from the bottom of the fixed base to the top of the moving platform. + +From $\bm{a}_{i}$ and $\bm{b}_{i}$, we can determine the *length and orientation of each strut*: +- $l_{i}$ is the length of the strut +- ${}^{A}\hat{\bm{s}}_{i}$ is the unit vector align with the strut +#+end_quote ** Kinematic Analysis <> +**** Introduction :ignore: +Kinematic analysis refers to the study of the geometry of motion of a robot, without considering the forces that cause the motion. + +The relation between the geometry of the manipulator with the final motion of the moving platform is derived and analyzed. + +*Definition of the geometry of the Stewart Platform*: +- $\bm{a}_i$: position of the attachment points on the fixed base +- $\bm{b}_i$: position of moving attachment points +- $l_i$: length of each limb +- $\hat{\bm{s}}_i$: unit vector representing the direction of each limb + +#+name: fig:nhexa_stewart_schematic +#+caption: Geometry of a Stewart Platform +#+attr_latex: :scale 1 +[[file:figs/nhexa_stewart_schematic.png]] + +**** Loop Closure + +At the displacement level, the *closure of each kinematic loop* can be express in the vector form as +\[ \vec{AB} = \vec{AA_i} + \vec{A_iB_i} - \vec{BB_i} \quad \text{for } i = 1,2,\dots,n \] +in which $\vec{AA_i}$ and $\vec{BB_i}$ can be easily obtained from the geometry of the attachment points in the base and in the moving platform. + +The *loop closure* can be written as the unknown pose variables ${}^A\bm{P}$ and ${}^A\bm{R}_B$, the position vectors describing the known geometry of the base and of the moving platform, $\bm{a}_i$ and $\bm{b}_i$, and the limb vector $l_i {}^A\hat{\bm{s}}_i$: +\begin{equation*} + {}^A\bm{P} = {}^A\bm{a}_i + l_i{}^A\hat{\bm{s}}_i - {}^A\bm{R}_B {}^B\bm{b}_i \quad \text{for } i=1,2,\dots,n +\end{equation*} + **** Inverse Kinematics +For /inverse kinematic analysis/, it is assumed that the position ${}^A\bm{P}$ and orientation of the moving platform ${}^A\bm{R}_B$ are given and the problem is to obtain the joint variables $\bm{\mathcal{L}} = \left[ l_1, l_2, l_3, l_4, l_5, l_6 \right]^T$. + +This problem can be easily solved using the loop closures. + +The obtain joint variables are: +\begin{equation*} + \begin{aligned} + l_i = &\Big[ {}^A\bm{P}^T {}^A\bm{P} + {}^B\bm{b}_i^T {}^B\bm{b}_i + {}^A\bm{a}_i^T {}^A\bm{a}_i - 2 {}^A\bm{P}^T {}^A\bm{a}_i + \dots\\ + &2 {}^A\bm{P}^T \left[{}^A\bm{R}_B {}^B\bm{b}_i\right] - 2 \left[{}^A\bm{R}_B {}^B\bm{b}_i\right]^T {}^A\bm{a}_i \Big]^{1/2} + \end{aligned} +\end{equation*} + +If the position and orientation of the platform lie in the feasible workspace, the solution is unique. +Otherwise, the solution gives complex numbers. + **** Forward Kinematics -**** Jacobian Matrix +In /forward kinematic analysis/, it is assumed that the vector of limb lengths $\bm{L}$ is given and the problem is to find the position ${}^A\bm{P}$ and the orientation ${}^A\bm{R}_B$. -- Velocity Loop Closure -- Static Forces +This is a difficult problem that requires to solve nonlinear equations. + +In a next section, an approximate solution of the forward kinematics problem is proposed for small displacements. + +** The Jacobian Matrix +**** Introduction :ignore: + +In vector calculus, the Jacobian matrix of a vector-valued function in several variables is the matrix of all its first-order partial derivatives. + +Suppose $\bm{f}: \mathbb{R}^n \rightarrow \mathbb{R}^m$ is a function such that each of its first-order partial derivatives exist on $\mathbb{R}^n$. +This function takes a point $\bm{x} \in \mathbb{R}^n$ as input and produces the vector $\bm{f}(\bm{x}) \in \mathbb{R}^m$ as output. + +Then the Jacobian matrix $\bm{J}$ of $\bm{f}$ is defined to be an $n \times m$ matrix, whose its (i,j)'th entry is $J_{ij} = \frac{\partial f_i}{\partial x_j}$. + +The Jacobian matrix is the *linear transformation* that best approximates $\bm{f}$ for points close to $\bm{x}$. + +*Summary*: Linear approximation of a function with several inputs and outputs around a working point. + +**** Jacobian Computation - Velocity Loop Closure + +Let's note: +- $\bm{\mathcal{L}} = \left[ l_1, l_2, \ldots, l_6 \right]^T$: vector of actuated joint coordinates +- $\bm{\mathcal{X}} = \left[ {}^A\bm{P}, \bm{}^A\hat{\bm{s}} \right]^T$: vector of platform motion variables + +$\bm{\mathcal{L}}$ and $\bm{\mathcal{X}}$ are related through a system of /nonlinear algebraic equations/ representing the /kinematic constraints imposed by the struts/, which can be generally written as $f(\bm{\mathcal{L}}, \bm{\mathcal{X}}) = 0$. + +We can differentiate this equation with respect to time and obtain: +\begin{equation*} + \bm{J}_x \dot{\bm{\mathcal{X}}} = \bm{J}_l \dot{\bm{\mathcal{L}}} \quad \text{where} \quad + \bm{J}_x = \frac{\partial f}{\partial \bm{\mathcal{X}}} \quad \text{and} \quad \bm{J}_l = -\frac{\partial f}{\partial \bm{\mathcal{L}}} +\end{equation*} + +With: +- $\dot{\bm{\mathcal{L}}} = [ \dot{l}_1, \dot{l}_2, \dot{l}_3, \dot{l}_4, \dot{l}_5, \dot{l}_6 ]^T$ +- $\dot{\bm{X}} = [^A\bm{v}_p, {}^A\bm{\omega}]^T$: + +The *general Jacobian matrix* is defined as: +\begin{equation*} + \dot{\bm{\mathcal{L}}} = \bm{J} \dot{\bm{\mathcal{X}}} \quad \text{with} \quad \bm{J} = {\bm{J}_l}^{-1} \bm{J}_x +\end{equation*} + +The *velocity loop closures* are used for *obtaining the Jacobian matrices* in a straightforward manner: +\begin{align*} + {}^A\bm{P} + {}^A\bm{R}_B {}^B\bm{b}_i = l_i {}^A\hat{\bm{s}}_i + {}^A\bm{a}_i + & \underset{\frac{\partial}{\partial t}}{\rightarrow} + {}^A\bm{v}_p + {}^A \dot{\bm{R}}_B {}^B\bm{b}_i = \dot{l}_i {}^A\hat{\bm{s}}_i + l_i {}^A\dot{\hat{\bm{s}}}_i \\ + & \Leftrightarrow\hat{\bm{s}}_i {}^A\bm{v}_p + ({}^A\bm{b}_i \times \hat{\bm{s}}_i) {}^A\bm{\omega} = \dot{l}_i +\end{align*} + +We can rearrange the equations in a matrix form: +\[ \dot{\bm{\mathcal{L}}} = \bm{J} \dot{\bm{\mathcal{X}}} \quad \text{with} \ \dot{\bm{\mathcal{L}}} = [ \dot{l}_1 \ \dots \ \dot{l}_6 ]^T \ \text{and} \ \dot{\bm{\mathcal{X}}} = [{}^A\bm{v}_p ,\ {}^A\bm{\omega}]^T \] + +\begin{equation} + \bm{J} = \begin{bmatrix} + {\hat{\bm{s}}_1}^T & (\bm{b}_1 \times \hat{\bm{s}}_1)^T \\ + {\hat{\bm{s}}_2}^T & (\bm{b}_2 \times \hat{\bm{s}}_2)^T \\ + {\hat{\bm{s}}_3}^T & (\bm{b}_3 \times \hat{\bm{s}}_3)^T \\ + {\hat{\bm{s}}_4}^T & (\bm{b}_4 \times \hat{\bm{s}}_4)^T \\ + {\hat{\bm{s}}_5}^T & (\bm{b}_5 \times \hat{\bm{s}}_5)^T \\ + {\hat{\bm{s}}_6}^T & (\bm{b}_6 \times \hat{\bm{s}}_6)^T + \end{bmatrix} +\end{equation} + +$\bm{J}$ then depends only on: +- $\hat{\bm{s}}_i$ the orientation of the limbs expressed in $\{A\}$ +- $\bm{b}_i$ the position of the joints with respect to $O_B$ and express in $\{A\}$ + +**** Approximate solution of the Forward and Inverse Kinematic problems + +For small displacements mobile platform displacement $\delta \bm{\mathcal{X}} = [\delta x, \delta y, \delta z, \delta \theta_x, \delta \theta_y, \delta \theta_z ]^T$ around $\bm{\mathcal{X}}_0$, the associated joint displacement can be computed using the Jacobian (approximate solution of the inverse kinematic problem): +\begin{equation*} + \delta\bm{\mathcal{L}} = \bm{J} \delta\bm{\mathcal{X}} +\end{equation*} + +Similarly, for small joint displacements $\delta\bm{\mathcal{L}} = [ \delta l_1,\ \dots,\ \delta l_6 ]^T$ around $\bm{\mathcal{L}}_0$, it is possible to find the induced small displacement of the mobile platform (approximate solution of the forward kinematic problem): +\begin{equation*} + \delta\bm{\mathcal{X}} = \bm{J}^{-1} \delta\bm{\mathcal{L}} +\end{equation*} + +These two relations solve the forward and inverse kinematic problems for small displacement in a /approximate/ way. +As the inverse kinematic can be easily solved exactly this is not much useful, however, as the forward kinematic problem is difficult to solve, this approximation can be very useful for small displacements. + +**** Range validity of the approximate inverse kinematics + +- [ ] [[file:~/Cloud/work-projects/ID31-NASS/matlab/stewart-simscape/org/kinematic-study.org::*Estimation of the range validity of the approximate inverse kinematics][Estimation of the range validity of the approximate inverse kinematics]] + +**** Static Forces +The *principle of virtual work* states that the total virtual work, $\delta W$, done by all actuators and external forces is equal to zero: + +\begin{align*} + \delta W &= \bm{\tau}^T \delta \bm{\mathcal{L}} - \bm{\mathcal{F}}^T \delta \bm{\mathcal{X}}\\ + & = 0 +\end{align*} + + +If we note: +- $\bm{\tau} = [\tau_1, \tau_2, \cdots, \tau_6]^T$: vector of actuator forces applied in each strut +- $\bm{\mathcal{F}} = [\bm{f}, \bm{n}]^T$: external force/torque action on the mobile platform at $\bm{O}_B$ + +From the definition of the Jacobian ($\delta \bm{\mathcal{L}} = \bm{J} \cdot \delta \bm{\mathcal{X}}$), we have $\left( \bm{\tau}^T \bm{J} - \bm{\mathcal{F}}^T \right) \delta \bm{\mathcal{X}} = 0$ that holds for any $\delta \bm{\mathcal{X}}$, hence: + + +\[ \bm{\tau}^T \bm{J} - \bm{\mathcal{F}}^T = 0 \quad \Rightarrow \quad \tcmbox{\bm{\mathcal{F}} = \bm{J}^T \bm{\tau}} \quad \text{and} \quad \tcmbox{\bm{\tau} = \bm{J}^{-T} \bm{\mathcal{F}}} \] **** Singularities @@ -385,6 +606,35 @@ How stiffness varies with orientation of struts. Same with stroke? Or maybe in the detailed chapter? +The stiffness of the actuator $k_i$ links the applied actuator force $\delta \tau_i$ and the corresponding small deflection $\delta l_i$: +\begin{equation*} + \tau_i = k_i \delta l_i, \quad i = 1,\ \dots,\ 6 +\end{equation*} +If we combine these 6 relations: +\begin{equation*} + \bm{\tau} = \mathcal{K} \delta \bm{\mathcal{L}} \quad \mathcal{K} = \text{diag}\left[ k_1,\ \dots,\ k_6 \right] +\end{equation*} + +Substituting $\bm{\tau} = \bm{J}^{-T} \bm{\mathcal{F}}$ and $\delta \bm{\mathcal{L}} = \bm{J} \cdot \delta \bm{\mathcal{X}}$ gives +\begin{equation*} + \bm{\mathcal{F}} = \bm{J}^T \mathcal{K} \bm{J} \cdot \delta \bm{\mathcal{X}} +\end{equation*} +And then we identify the stiffness matrix $\bm{K}$: +\begin{equation*} + \bm{K} = \bm{J}^T \mathcal{K} \bm{J} +\end{equation*} + +If the stiffness matrix $\bm{K}$ is inversible, the *compliance matrix* of the manipulator is defined as +\begin{equation*} + \bm{C} = \bm{K}^{-1} = (\bm{J}^T \mathcal{K} \bm{J})^{-1} +\end{equation*} + +The compliance matrix of a manipulator shows the mapping of the moving platform wrench applied at $\bm{O}_B$ to its small deflection by +\begin{equation*} + \delta \bm{\mathcal{X}} = \bm{C} \cdot \bm{\mathcal{F}} +\end{equation*} + + ** Dynamic Analysis <> @@ -397,6 +647,8 @@ But say that if we want to model more complex cases, it becomes impractical (cit :UNNUMBERED: t :END: +Dynamic analysis of parallel manipulators presents an *inherent complexity due to their closed-loop structure and kinematic constraints*. + All depends on the geometry. Reasonable choice of geometry is made in chapter 1. Optimization of the geometry will be made in chapter 2.