893 lines
32 KiB
HTML
893 lines
32 KiB
HTML
<?xml version="1.0" encoding="utf-8"?>
|
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
|
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
|
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
|
<head>
|
|
<!-- 2025-12-02 Tue 15:33 -->
|
|
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
|
<title>Delta Robot</title>
|
|
<meta name="author" content="Dehaeze Thomas" />
|
|
<meta name="generator" content="Org Mode" />
|
|
<link rel="stylesheet" type="text/css" href="https://research.tdehaeze.xyz/css/style.css"/>
|
|
<script type="text/javascript" src="https://research.tdehaeze.xyz/js/script.js"></script>
|
|
<script>
|
|
MathJax = {
|
|
svg: {
|
|
scale: 1,
|
|
fontCache: "global"
|
|
},
|
|
tex: {
|
|
tags: "ams",
|
|
multlineWidth: "85%",
|
|
tagSide: "right",
|
|
tagIndent: ".8em",
|
|
macros: {bm: ["\\boldsymbol{#1}",1]}
|
|
}
|
|
};
|
|
</script>
|
|
<script id="MathJax-script" async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-svg.js"></script>
|
|
</head>
|
|
<body>
|
|
<div id="org-div-home-and-up">
|
|
<a accesskey="h" href="../index.html"> UP </a>
|
|
|
|
|
<a accesskey="H" href="../index.html"> HOME </a>
|
|
</div><div id="content" class="content">
|
|
<h1 class="title">Delta Robot</h1>
|
|
<div id="table-of-contents" role="doc-toc">
|
|
<h2>Table of Contents</h2>
|
|
<div id="text-table-of-contents" role="doc-toc">
|
|
<ul>
|
|
<li><a href="#org27506b9">1. Geometry</a></li>
|
|
<li><a href="#org1adb3ee">2. Kinematics: Jacobian Matrix and Mobility</a></li>
|
|
<li><a href="#org603ccc6">3. Kinematics: Degrees of Freedom</a></li>
|
|
<li><a href="#org88264b0">4. Kinematics: Number of modes</a></li>
|
|
<li><a href="#org7f469de">5. Flexible Joint Design</a>
|
|
<ul>
|
|
<li><a href="#org56c40c7">5.1. Studied Geometry</a></li>
|
|
<li><a href="#org8cef7a8">5.2. Stiffness seen by the actuator</a></li>
|
|
<li><a href="#orgaf5193b">5.3. Bending Stiffness</a></li>
|
|
<li><a href="#org1d8d21a">5.4. Axial Stiffness</a></li>
|
|
<li><a href="#org439f6c2">5.5. Torsional Stiffness</a></li>
|
|
<li><a href="#org8c09ae7">5.6. Shear Stiffness</a></li>
|
|
<li><a href="#org5f740e7">5.7. Effect of cube’s size</a>
|
|
<ul>
|
|
<li><a href="#orga3a8b34">5.7.1. Effect on the plant dynamics</a></li>
|
|
<li><a href="#org18443f4">5.7.2. Effect on the compliance</a></li>
|
|
</ul>
|
|
</li>
|
|
<li><a href="#org7e1cd7b">5.8. Effect of the strut length ?</a>
|
|
<ul>
|
|
<li><a href="#org945fe3a">5.8.1. Effect on the plant dynamics</a></li>
|
|
<li><a href="#orgb2de208">5.8.2. Effect on the compliance</a></li>
|
|
</ul>
|
|
</li>
|
|
<li><a href="#org4999aef">5.9. Having the Center of Mass at the cube’s center</a></li>
|
|
<li><a href="#orgc5d83a6">5.10. Conclusion</a></li>
|
|
</ul>
|
|
</li>
|
|
<li><a href="#org7840f5a">6. Conclusion</a></li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
<p>
|
|
<a id="sec:delta_robot_introduction"></a>
|
|
</p>
|
|
<div id="outline-container-org27506b9" class="outline-2">
|
|
<h2 id="org27506b9"><span class="section-number-2">1.</span> Geometry</h2>
|
|
<div class="outline-text-2" id="text-1">
|
|
<p>
|
|
The Delta Robot geometry is defined as shown in Figure <a href="#fig:delta_robot_schematic">1</a>.
|
|
</p>
|
|
|
|
<p>
|
|
The geometry is fully defined by three parameters:
|
|
</p>
|
|
<ul class="org-ul">
|
|
<li><code>d</code>: Cube’s size (i.e., the length of the cube edge)</li>
|
|
<li><code>a</code>: Distance from cube’s vertex to top flexible joint</li>
|
|
<li><code>L</code>: Distance between two flexible joints (i.e., the length of the struts)</li>
|
|
</ul>
|
|
|
|
|
|
<div id="fig:delta_robot_schematic" class="figure">
|
|
<p><img src="figs/delta_robot_schematic.png" alt="delta_robot_schematic.png" />
|
|
</p>
|
|
<p><span class="figure-number">Figure 1: </span>Schematic of the Delta Robot</p>
|
|
</div>
|
|
|
|
<p>
|
|
Several frames are defined:
|
|
</p>
|
|
<ul class="org-ul">
|
|
<li>\(\{C\}\): Cube’s center</li>
|
|
<li>\(\{M\}\): Frame attached to the mobile platform, and located at the height of the top flexible joints</li>
|
|
<li>\(\{F\}\): Frame attached to the fixed platform, and located at the height of the bottom flexible joints</li>
|
|
</ul>
|
|
|
|
<p>
|
|
Several points are defined:
|
|
</p>
|
|
<ul class="org-ul">
|
|
<li>\(c_i\): vertices of the cubes which are relevant for the Delta Robot</li>
|
|
<li>\(b_i\): location of the top flexible joints</li>
|
|
<li>\(a_i\): location of the bottom flexible joints</li>
|
|
<li>\(\hat{s}_i\): unit vector aligned with the struts</li>
|
|
</ul>
|
|
|
|
<p>
|
|
Static properties:
|
|
</p>
|
|
<ul class="org-ul">
|
|
<li>All top and bottom flexible joints are identical.
|
|
The following properties can be specified:
|
|
<ul class="org-ul">
|
|
<li>\(k_a\): Axial stiffness</li>
|
|
<li>\(k_r\): Radial stiffness</li>
|
|
<li>\(k_b\): Bending stiffness</li>
|
|
<li>\(k_t\): Torsion stiffness</li>
|
|
</ul></li>
|
|
<li>The guiding mechanism of the actuator is here supposed to be perfect (i.e. 1dof system without any stiffness)</li>
|
|
<li>The Actuator is modelled as a 1DoF or 2DoF (good to model APA):
|
|
<ul class="org-ul">
|
|
<li>The custom developed APA has an axial stiffness of \(1.3\,N/\mu m\)</li>
|
|
</ul></li>
|
|
</ul>
|
|
|
|
<p>
|
|
Dynamical properties:
|
|
</p>
|
|
<ul class="org-ul">
|
|
<li>Top platform inertia:
|
|
It has a mass of ~300g</li>
|
|
<li>Payloads: payloads can weight up to 1kg</li>
|
|
</ul>
|
|
|
|
<p>
|
|
Let’s initialize a Delta Robot architecture, and plot the obtained geometry (Figures <a href="#fig:delta_robot_architecture">2</a> and <a href="#fig:delta_robot_architecture_top">3</a>).
|
|
</p>
|
|
|
|
|
|
<div id="fig:delta_robot_architecture" class="figure">
|
|
<p><img src="figs/delta_robot_architecture.png" alt="delta_robot_architecture.png" />
|
|
</p>
|
|
<p><span class="figure-number">Figure 2: </span>Delta Robot Architecture</p>
|
|
</div>
|
|
|
|
|
|
<div id="fig:delta_robot_architecture_top" class="figure">
|
|
<p><img src="figs/delta_robot_architecture_top.png" alt="delta_robot_architecture_top.png" />
|
|
</p>
|
|
<p><span class="figure-number">Figure 3: </span>Delta Robot Architecture - Top View</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div id="outline-container-org1adb3ee" class="outline-2">
|
|
<h2 id="org1adb3ee"><span class="section-number-2">2.</span> Kinematics: Jacobian Matrix and Mobility</h2>
|
|
<div class="outline-text-2" id="text-2">
|
|
<p>
|
|
There are three actuators in the following directions \(\hat{s}_1\), \(\hat{s}_2\) and \(\hat{s}_3\);
|
|
</p>
|
|
|
|
\begin{equation}\label{eq:delta_robot_unit_vectors}
|
|
\hat{\bm{s}}_1 = \begin{bmatrix} \frac{-1}{\sqrt{6}} \\ \frac{-1}{\sqrt{2}} \\ \frac{1}{\sqrt{3}} \end{bmatrix}\quad
|
|
\hat{\bm{s}}_2 = \begin{bmatrix} \frac{\sqrt{2}}{\sqrt{3}} \\ 0 \\ \frac{1}{\sqrt{3}} \end{bmatrix}\quad
|
|
\hat{\bm{s}}_3 = \begin{bmatrix} \frac{-1}{\sqrt{6}} \\ \frac{ 1}{\sqrt{2}} \\ \frac{1}{\sqrt{3}} \end{bmatrix}
|
|
\end{equation}
|
|
|
|
<p>
|
|
The Jacobian matrix is defined as shown in \ref{eq:delta_robot_jacobian}.
|
|
</p>
|
|
|
|
\begin{equation}\label{eq:delta_robot_jacobian}
|
|
\bm{J} = \begin{bmatrix}
|
|
\hat{\bm{s}}_1^T \\ \hat{\bm{s}}_2^T \\ \hat{\bm{s}}_3^T
|
|
\end{bmatrix}
|
|
\end{equation}
|
|
|
|
<p>
|
|
It links the small actuator displacement to the top platform displacement \ref{eq:delta_robot_inverse_kinematics}.
|
|
</p>
|
|
|
|
\begin{equation}\label{eq:delta_robot_inverse_kinematics}
|
|
d\mathcal{L} = J d\mathcal{L}
|
|
\end{equation}
|
|
|
|
\begin{equation}\label{eq:delta_robot_forward_kinematics}
|
|
d\mathcal{X} = J^{-1} d\mathcal{L}
|
|
\end{equation}
|
|
|
|
<p>
|
|
The achievable workspace is a cube whose edge length is equal to the actuator stroke.
|
|
</p>
|
|
|
|
|
|
<div id="fig:delta_robot_3d_workspace" class="figure">
|
|
<p><img src="figs/delta_robot_3d_workspace.png" alt="delta_robot_3d_workspace.png" />
|
|
</p>
|
|
<p><span class="figure-number">Figure 4: </span>3D workspace</p>
|
|
</div>
|
|
|
|
<p>
|
|
As most likely, the system will be used to perform YZ scans, it is interesting to see the mobility of the system in the ZY plane.
|
|
</p>
|
|
|
|
<p>
|
|
Depending on how the YZ plane is oriented (i.e., depending on the Rz angle of the delta robot with respect to the beam, defining the x direction), we get different mobility.
|
|
</p>
|
|
|
|
|
|
<div id="fig:delta_robot_2d_workspace" class="figure">
|
|
<p><img src="figs/delta_robot_2d_workspace.png" alt="delta_robot_2d_workspace.png" />
|
|
</p>
|
|
<p><span class="figure-number">Figure 5: </span>2D mobility for different orientations</p>
|
|
</div>
|
|
|
|
<pre class="example">
|
|
Maximum YZ mobility for an angle of 270 degrees, square with edge size of 117 um
|
|
</pre>
|
|
|
|
|
|
|
|
<div id="fig:delta_robot_2d_workspace_optimal" class="figure">
|
|
<p><img src="figs/delta_robot_2d_workspace_optimal.png" alt="delta_robot_2d_workspace_optimal.png" />
|
|
</p>
|
|
<p><span class="figure-number">Figure 6: </span>2D mobility for the optimal Rz angle</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div id="outline-container-org603ccc6" class="outline-2">
|
|
<h2 id="org603ccc6"><span class="section-number-2">3.</span> Kinematics: Degrees of Freedom</h2>
|
|
<div class="outline-text-2" id="text-3">
|
|
<p>
|
|
In the perfect case (flexible joints having no stiffness in bending, and infinite stiffness in torsion and in the axial direction), the top platform is allowed to move only in the X, Y and Z directions while the three rotations are fixed.
|
|
</p>
|
|
|
|
<p>
|
|
In order to have some compliance in rotation, the flexible joints need to have some compliance in torsion <b>and</b> in the axial direction.
|
|
If only the torsional compliance is considered, or only the axial compliance, the top platform will still not be able to do any rotation.
|
|
</p>
|
|
|
|
<p>
|
|
This is shown below with the Simscape model:
|
|
</p>
|
|
|
|
<p>
|
|
Perfect Delta Robot:
|
|
</p>
|
|
<ul class="org-ul">
|
|
<li>infinite axial stiffness</li>
|
|
<li>infinite torsional stiffness</li>
|
|
<li>no bending stiffness</li>
|
|
</ul>
|
|
|
|
<p>
|
|
It gives infinite stiffness in rotations, and a stiffness of \(1\,N/\mu m\) in X, Y and Z directions (i.e. equal to the actuator stiffness).
|
|
</p>
|
|
|
|
<pre class="example">
|
|
Stiffness in X,Y and Z directions: 1.0 N/um
|
|
</pre>
|
|
|
|
|
|
<p>
|
|
If we consider the torsion of the flexible joints:
|
|
</p>
|
|
<ul class="org-ul">
|
|
<li>infinite axial stiffness</li>
|
|
<li>finite torsional stiffness</li>
|
|
<li>no bending stiffness</li>
|
|
</ul>
|
|
|
|
<p>
|
|
We get the same result.
|
|
</p>
|
|
|
|
<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
|
|
|
|
|
<colgroup>
|
|
<col class="org-right" />
|
|
|
|
<col class="org-right" />
|
|
|
|
<col class="org-right" />
|
|
|
|
<col class="org-right" />
|
|
|
|
<col class="org-right" />
|
|
|
|
<col class="org-right" />
|
|
</colgroup>
|
|
<tbody>
|
|
<tr>
|
|
<td class="org-right">1.00000000008084e-06</td>
|
|
<td class="org-right">5.61161767954149e-17</td>
|
|
<td class="org-right">1.71532908969278e-16</td>
|
|
<td class="org-right">-5.07840362381474e-20</td>
|
|
<td class="org-right">6.66481298362927e-20</td>
|
|
<td class="org-right">-2.97485996797085e-20</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td class="org-right">9.44550093013109e-17</td>
|
|
<td class="org-right">9.99999999981042e-07</td>
|
|
<td class="org-right">-1.31365181854596e-16</td>
|
|
<td class="org-right">2.20736442292089e-20</td>
|
|
<td class="org-right">-8.27761658859861e-20</td>
|
|
<td class="org-right">-5.51841106039072e-20</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td class="org-right">1.5172479677791e-16</td>
|
|
<td class="org-right">7.57916759433382e-18</td>
|
|
<td class="org-right">9.9999999983089e-07</td>
|
|
<td class="org-right">2.71965732539802e-20</td>
|
|
<td class="org-right">-5.0088900526952e-21</td>
|
|
<td class="org-right">4.20708731166142e-20</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td class="org-right">3.7990974483635e-15</td>
|
|
<td class="org-right">-1.49195278352597e-15</td>
|
|
<td class="org-right">1.09166051384021e-15</td>
|
|
<td class="org-right">-4.60992688885629e-28</td>
|
|
<td class="org-right">4.46894514064728e-28</td>
|
|
<td class="org-right">-6.04202812027976e-29</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td class="org-right">1.92223678174906e-15</td>
|
|
<td class="org-right">3.62267008376981e-15</td>
|
|
<td class="org-right">-5.42452104276465e-15</td>
|
|
<td class="org-right">3.7737029650938e-28</td>
|
|
<td class="org-right">-2.99601307180469e-28</td>
|
|
<td class="org-right">-3.30297132145485e-28</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td class="org-right">3.79407058351761e-16</td>
|
|
<td class="org-right">-3.46944690994006e-17</td>
|
|
<td class="org-right">9.05659407516431e-16</td>
|
|
<td class="org-right">-1.33615244419949e-28</td>
|
|
<td class="org-right">6.31115609464934e-29</td>
|
|
<td class="org-right">-1.07596265815569e-29</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
|
|
|
|
<p>
|
|
If we consider the axial of the flexible joints:
|
|
</p>
|
|
<ul class="org-ul">
|
|
<li>finite axial stiffness</li>
|
|
<li>infinite torsional stiffness</li>
|
|
<li>no bending stiffness</li>
|
|
</ul>
|
|
|
|
<p>
|
|
We get the same result.
|
|
</p>
|
|
|
|
<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
|
|
|
|
|
<colgroup>
|
|
<col class="org-right" />
|
|
|
|
<col class="org-right" />
|
|
|
|
<col class="org-right" />
|
|
|
|
<col class="org-right" />
|
|
|
|
<col class="org-right" />
|
|
|
|
<col class="org-right" />
|
|
</colgroup>
|
|
<tbody>
|
|
<tr>
|
|
<td class="org-right">1.0100082922792e-06</td>
|
|
<td class="org-right">-8.23544084894984e-12</td>
|
|
<td class="org-right">-1.12982601885747e-11</td>
|
|
<td class="org-right">-1.30123733161505e-19</td>
|
|
<td class="org-right">3.61079565098929e-21</td>
|
|
<td class="org-right">-2.56479299609534e-20</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td class="org-right">-8.23691147427908e-12</td>
|
|
<td class="org-right">1.01002426764947e-06</td>
|
|
<td class="org-right">1.16488393394949e-11</td>
|
|
<td class="org-right">-9.17271935353013e-20</td>
|
|
<td class="org-right">-1.39093131659514e-20</td>
|
|
<td class="org-right">-8.92049690205949e-21</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td class="org-right">-1.12984563170605e-11</td>
|
|
<td class="org-right">1.1646579416975e-11</td>
|
|
<td class="org-right">1.01001628184113e-06</td>
|
|
<td class="org-right">-1.2624013403036e-19</td>
|
|
<td class="org-right">-4.41063676650963e-22</td>
|
|
<td class="org-right">2.01282903077792e-20</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td class="org-right">3.25566266033832e-16</td>
|
|
<td class="org-right">7.02470264849632e-18</td>
|
|
<td class="org-right">1.34879235410707e-17</td>
|
|
<td class="org-right">-4.42814771779206e-29</td>
|
|
<td class="org-right">1.06332319737688e-30</td>
|
|
<td class="org-right">-8.04051214064698e-30</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td class="org-right">-2.34669385520782e-15</td>
|
|
<td class="org-right">1.03658500184429e-16</td>
|
|
<td class="org-right">2.10026418149746e-15</td>
|
|
<td class="org-right">3.04125606965025e-29</td>
|
|
<td class="org-right">-1.07347740796227e-29</td>
|
|
<td class="org-right">1.00530401393662e-28</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td class="org-right">-2.76788049700945e-16</td>
|
|
<td class="org-right">-3.49174266014038e-17</td>
|
|
<td class="org-right">1.36253386200494e-15</td>
|
|
<td class="org-right">-1.31490052587614e-28</td>
|
|
<td class="org-right">-1.10493913866777e-30</td>
|
|
<td class="org-right">3.45058758900066e-29</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
|
|
<p>
|
|
No we consider both finite torsional stiffness and finite axial stiffness.
|
|
In that case we get some compliance in rotation.
|
|
So it is a combination of axial and torsion stiffness that gives some rotational stiffness of the top platform.
|
|
</p>
|
|
|
|
<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
|
|
|
|
|
<colgroup>
|
|
<col class="org-right" />
|
|
|
|
<col class="org-right" />
|
|
|
|
<col class="org-right" />
|
|
|
|
<col class="org-right" />
|
|
|
|
<col class="org-right" />
|
|
|
|
<col class="org-right" />
|
|
</colgroup>
|
|
<tbody>
|
|
<tr>
|
|
<td class="org-right">1.01000347398415e-06</td>
|
|
<td class="org-right">1.08760660507374e-12</td>
|
|
<td class="org-right">6.48998902114602e-12</td>
|
|
<td class="org-right">-1.68758827983914e-12</td>
|
|
<td class="org-right">2.72734564017018e-12</td>
|
|
<td class="org-right">-1.13327901508316e-12</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td class="org-right">-1.7269667100718e-13</td>
|
|
<td class="org-right">1.01000152837256e-06</td>
|
|
<td class="org-right">4.09018170284123e-13</td>
|
|
<td class="org-right">-9.80286569772779e-13</td>
|
|
<td class="org-right">-9.94629340226498e-13</td>
|
|
<td class="org-right">8.3468855003368e-13</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td class="org-right">5.40707734744154e-12</td>
|
|
<td class="org-right">-1.46859567258244e-12</td>
|
|
<td class="org-right">1.0099981133678e-06</td>
|
|
<td class="org-right">3.34755457607493e-12</td>
|
|
<td class="org-right">-6.56764113866634e-12</td>
|
|
<td class="org-right">1.26237249518737e-12</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td class="org-right">2.67935189951885e-13</td>
|
|
<td class="org-right">-6.64493555908236e-14</td>
|
|
<td class="org-right">7.44661955503977e-13</td>
|
|
<td class="org-right">1.59744415094004e-05</td>
|
|
<td class="org-right">-6.97585818773949e-13</td>
|
|
<td class="org-right">1.44845764745933e-13</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td class="org-right">1.91880640934689e-14</td>
|
|
<td class="org-right">-1.31284160978049e-13</td>
|
|
<td class="org-right">-5.83827721443037e-13</td>
|
|
<td class="org-right">4.97550111979747e-13</td>
|
|
<td class="org-right">1.5974440506229e-05</td>
|
|
<td class="org-right">8.27388125221276e-14</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td class="org-right">1.63302978397554e-14</td>
|
|
<td class="org-right">-6.29948151015302e-14</td>
|
|
<td class="org-right">1.11798835985125e-13</td>
|
|
<td class="org-right">-4.74438363934587e-14</td>
|
|
<td class="org-right">-1.39110944875938e-13</td>
|
|
<td class="org-right">3.99840072236264e-06</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
|
|
<p>
|
|
Therefore, to model some compliance of the top platform in rotation, both the axial compliance and the torsional compliance of the flexible joints should be considered.
|
|
</p>
|
|
</div>
|
|
</div>
|
|
<div id="outline-container-org88264b0" class="outline-2">
|
|
<h2 id="org88264b0"><span class="section-number-2">4.</span> Kinematics: Number of modes</h2>
|
|
<div class="outline-text-2" id="text-4">
|
|
<p>
|
|
In the perfect condition (i.e. infinite stiffness in torsion and in compression of the flexible joints), the system has 6 states (i.e. 3 modes, one for each DoF: X, Y and Z).
|
|
</p>
|
|
|
|
<p>
|
|
When considering some compliance in torsion of the flexible joints, 12 states are added (one internal mode of the struts).
|
|
To remove these internal states (that might not be interesting but that could slow the simulations), one of the joint can have this torsional compliance while the other can have the torsional DoF constrained.
|
|
</p>
|
|
|
|
<pre class="example">
|
|
State-space model with 3 outputs, 3 inputs, and 6 states.
|
|
</pre>
|
|
</div>
|
|
</div>
|
|
<div id="outline-container-org7f469de" class="outline-2">
|
|
<h2 id="org7f469de"><span class="section-number-2">5.</span> Flexible Joint Design</h2>
|
|
<div class="outline-text-2" id="text-5">
|
|
<p>
|
|
<a id="sec:delta_robot_flexible_joints"></a>
|
|
</p>
|
|
<p>
|
|
The goal is to extract specifications for the flexible joints of the six struts.
|
|
</p>
|
|
|
|
<p>
|
|
The two most critical flexible joints imperfections are:
|
|
</p>
|
|
<ul class="org-ul">
|
|
<li>The axial stiffness, that should be high enough</li>
|
|
<li>The bending stiffness, that should be low enough</li>
|
|
</ul>
|
|
|
|
<p>
|
|
The shear and torsional stiffnesses are not foreseen to be very problematic, but their impact will be evaluated.
|
|
</p>
|
|
|
|
<p>
|
|
First, the dynamics of a “perfect” Delta-Robot is identified (i.e. with perfect 2DoF rotational joints).
|
|
</p>
|
|
|
|
<p>
|
|
Then, the impact of the flexible joint’s imperfections will be studied.
|
|
</p>
|
|
</div>
|
|
<div id="outline-container-org56c40c7" class="outline-3">
|
|
<h3 id="org56c40c7"><span class="section-number-3">5.1.</span> Studied Geometry</h3>
|
|
<div class="outline-text-3" id="text-5-1">
|
|
<p>
|
|
The cube’s edge length is equal to 50mm, the distance between cube’s vertices and top joints is 20mm and the length of the struts (i.e. the distance between the two flexible joints of the same strut) is 50mm.
|
|
The actuator stiffness is \(1\,N/\mu m\).
|
|
</p>
|
|
|
|
<p>
|
|
The obtained geometry is shown in Figure <a href="#fig:delta_robot_studied_geometry">7</a>.
|
|
</p>
|
|
|
|
|
|
<div id="fig:delta_robot_studied_geometry" class="figure">
|
|
<p><img src="figs/delta_robot_studied_geometry.png" alt="delta_robot_studied_geometry.png" />
|
|
</p>
|
|
<p><span class="figure-number">Figure 7: </span>Geometry of the studied Delta Robot</p>
|
|
</div>
|
|
|
|
<p>
|
|
The dynamics is first identified in perfect conditions (infinite axial stiffness of the joints, zero bending stiffness).
|
|
We get <code>State-space model with 3 outputs, 3 inputs, and 6 states.</code>
|
|
We get a perfectly decoupled system, with three identical modes in the X, Y and Z directions.
|
|
The dynamics is shown in Figure <a href="#fig:delta_robot_dynamics_perfect">8</a>.
|
|
</p>
|
|
|
|
|
|
<div id="fig:delta_robot_dynamics_perfect" class="figure">
|
|
<p><img src="figs/delta_robot_dynamics_perfect.png" alt="delta_robot_dynamics_perfect.png" />
|
|
</p>
|
|
<p><span class="figure-number">Figure 8: </span>Dynamics of the delta robot with perfect joints</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div id="outline-container-org8cef7a8" class="outline-3">
|
|
<h3 id="org8cef7a8"><span class="section-number-3">5.2.</span> Stiffness seen by the actuator</h3>
|
|
<div class="outline-text-3" id="text-5-2">
|
|
<p>
|
|
Because the flexible joints will have some bending stiffness, the actuator in one direction will “see” some stiffness due to the struts in the other directions.
|
|
This will limit its effective stroke.
|
|
We want this parallel stiffness to be much smaller than the stiffness of the actuator.
|
|
</p>
|
|
|
|
<p>
|
|
The parallel stiffness seen by the actuator as a function of the bending stiffness of the flexible joints is computed and shown in Figure <a href="#fig:delta_robot_bending_stiffness_parallel_k">9</a>.
|
|
</p>
|
|
|
|
|
|
<div id="fig:delta_robot_bending_stiffness_parallel_k" class="figure">
|
|
<p><img src="figs/delta_robot_bending_stiffness_parallel_k.png" alt="delta_robot_bending_stiffness_parallel_k.png" />
|
|
</p>
|
|
<p><span class="figure-number">Figure 9: </span>Effect of the bending stiffness of the flexible joints on the stiffness seen by the actuators</p>
|
|
</div>
|
|
|
|
<p>
|
|
The parallel stiffness is therefore proportional to the bending stiffness.
|
|
The “linear coefficient” depend on the geometry, and it is here equal to \(3200 \frac{N/m}{Nm/\text{rad}}\).
|
|
</p>
|
|
|
|
<p>
|
|
If we want the parallel stiffness to be much smaller than the stiffness of the actuator (\(k_p \ll k_a = 1.6\,N/\mu m\)), the bending stiffness should be \(\ll 500\,Nm/\text{rad}\).
|
|
Therefore, we should aim at \(k_f < 50\,Nm/\text{rad}\).
|
|
</p>
|
|
|
|
<p>
|
|
This should be validated with the final geometry.
|
|
</p>
|
|
</div>
|
|
</div>
|
|
<div id="outline-container-orgaf5193b" class="outline-3">
|
|
<h3 id="orgaf5193b"><span class="section-number-3">5.3.</span> Bending Stiffness</h3>
|
|
<div class="outline-text-3" id="text-5-3">
|
|
<p>
|
|
Then, the dynamics is identified for a bending Stiffness of \(50\,Nm/\text{rad}\) and compared with a Delta robot with no bending stiffness in Figure <a href="#fig:delta_robot_bending_stiffness_dynamics">10</a>.
|
|
</p>
|
|
|
|
<p>
|
|
It can be seen that the DC gain is a bit lower when the bending stiffness is considered and the resonance frequency is increased.
|
|
This simply means that the system stiffness is increased.
|
|
It is not critical from a dynamical point of view, it just decreases the achievable stroke as explained in the previous section.
|
|
</p>
|
|
|
|
|
|
<div id="fig:delta_robot_bending_stiffness_dynamics" class="figure">
|
|
<p><img src="figs/delta_robot_bending_stiffness_dynamics.png" alt="delta_robot_bending_stiffness_dynamics.png" />
|
|
</p>
|
|
<p><span class="figure-number">Figure 10: </span>Effect of the bending stiffness on the dynamics</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div id="outline-container-org1d8d21a" class="outline-3">
|
|
<h3 id="org1d8d21a"><span class="section-number-3">5.4.</span> Axial Stiffness</h3>
|
|
<div class="outline-text-3" id="text-5-4">
|
|
<p>
|
|
Now, the effect of the axial stiffness on the dynamics is studied (Figure <a href="#fig:delta_robot_axial_stiffness_dynamics">11</a>).
|
|
Additional modes can be observed on the plant dynamics, which could limit the achievable bandwidth.
|
|
Therefore the axial stiffness should be maximized.
|
|
Having the axial stiffness 100 times stiffer than the actuator stiffness seems reasonable.
|
|
Therefore, we should aim at \(k_a > 100\,N/\mu m\).
|
|
</p>
|
|
|
|
|
|
<div id="fig:delta_robot_axial_stiffness_dynamics" class="figure">
|
|
<p><img src="figs/delta_robot_axial_stiffness_dynamics.png" alt="delta_robot_axial_stiffness_dynamics.png" />
|
|
</p>
|
|
<p><span class="figure-number">Figure 11: </span>Effect of the joint’s axial stiffness on the plant dynamics</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div id="outline-container-org439f6c2" class="outline-3">
|
|
<h3 id="org439f6c2"><span class="section-number-3">5.5.</span> Torsional Stiffness</h3>
|
|
<div class="outline-text-3" id="text-5-5">
|
|
<p>
|
|
Now the compliance in torsion of the flexible joints is considered.
|
|
</p>
|
|
|
|
<p>
|
|
If we look at the compliance of the delta robot in rotation as a function of the torsional stiffness of the flexible joints (Figure <a href="#fig:delta_robot_kt_compliance">12</a>), we see almost no effect: the system is not made more stiff by increasing the torsional stiffness of the joints.
|
|
</p>
|
|
|
|
|
|
<div id="fig:delta_robot_kt_compliance" class="figure">
|
|
<p><img src="figs/delta_robot_kt_compliance.png" alt="delta_robot_kt_compliance.png" />
|
|
</p>
|
|
<p><span class="figure-number">Figure 12: </span>Effect of the joint’s torsional stiffness on the Delta Robot compliance</p>
|
|
</div>
|
|
|
|
<p>
|
|
If we have a look at the effect of the torsional stiffness on the plant dynamics (Figure <a href="#fig:delta_robot_kt_dynamics">13</a>), we see almost no effect, except when super high values are reached (\(10^6\,Nm/\text{rad}\)), which are unrealistic.
|
|
</p>
|
|
|
|
|
|
<div id="fig:delta_robot_kt_dynamics" class="figure">
|
|
<p><img src="figs/delta_robot_kt_dynamics.png" alt="delta_robot_kt_dynamics.png" />
|
|
</p>
|
|
<p><span class="figure-number">Figure 13: </span>Effect of the joint’s torsional stiffness on the Delta Robot plant dynamics</p>
|
|
</div>
|
|
|
|
<p>
|
|
Therefore, the torsional stiffness is not a super important metric for the design of the delta robot.
|
|
</p>
|
|
</div>
|
|
</div>
|
|
<div id="outline-container-org8c09ae7" class="outline-3">
|
|
<h3 id="org8c09ae7"><span class="section-number-3">5.6.</span> Shear Stiffness</h3>
|
|
<div class="outline-text-3" id="text-5-6">
|
|
<p>
|
|
As shown in Figure <a href="#fig:delta_robot_shear_stiffness_compliance">14</a>, the shear stiffness of the flexible joints has some effect on the compliance in translation and almost no effect on the compliance in rotation.
|
|
</p>
|
|
|
|
<p>
|
|
This is quite logical, and so the shear stiffness should be maximized.
|
|
A value of \(100\,N/\mu m\) seems reasonable.
|
|
</p>
|
|
|
|
|
|
<div id="fig:delta_robot_shear_stiffness_compliance" class="figure">
|
|
<p><img src="figs/delta_robot_shear_stiffness_compliance.png" alt="delta_robot_shear_stiffness_compliance.png" />
|
|
</p>
|
|
<p><span class="figure-number">Figure 14: </span>Effect of the shear stiffness of the flexible joints on the Delta Robot compliance</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div id="outline-container-org5f740e7" class="outline-3">
|
|
<h3 id="org5f740e7"><span class="section-number-3">5.7.</span> Effect of cube’s size</h3>
|
|
<div class="outline-text-3" id="text-5-7">
|
|
<p>
|
|
Let’s choose reasonable values for the flexible joints:
|
|
</p>
|
|
<ul class="org-ul">
|
|
<li>Bending stiffness of 50Nm/rad</li>
|
|
<li>Torsional stiffness of 500Nm/rad</li>
|
|
<li>Axial stiffness of 100N/um</li>
|
|
<li>Shear stiffness of 100N/um</li>
|
|
</ul>
|
|
|
|
<p>
|
|
And we see the effect of changing the cube’s size.
|
|
</p>
|
|
</div>
|
|
<div id="outline-container-orga3a8b34" class="outline-4">
|
|
<h4 id="orga3a8b34"><span class="section-number-4">5.7.1.</span> Effect on the plant dynamics</h4>
|
|
<div class="outline-text-4" id="text-5-7-1">
|
|
<ul class="org-ul">
|
|
<li class="off"><code>[ ]</code> <b>Understand why such different dynamics between 3dof_a joints and 6dof joints with very high shear stiffnesses</b></li>
|
|
</ul>
|
|
|
|
<p>
|
|
The effect of the cube’s size on the plant dynamics is shown in Figure <a href="#fig:delta_robot_cube_size_plant_dynamics">15</a>:
|
|
</p>
|
|
<ul class="org-ul">
|
|
<li>coupling decreases with the cube’s size</li>
|
|
<li>one resonance frequency increases with the cube’s size (resonances in rotation), which may be beneficial from a control point of view</li>
|
|
<li>coupling at the main resonance varies with the cube’s size, but it may also depend on the relative position between the CoM and the cube’s center</li>
|
|
</ul>
|
|
|
|
|
|
<div id="fig:delta_robot_cube_size_plant_dynamics" class="figure">
|
|
<p><img src="figs/delta_robot_cube_size_plant_dynamics.png" alt="delta_robot_cube_size_plant_dynamics.png" />
|
|
</p>
|
|
<p><span class="figure-number">Figure 15: </span>Effect of the cube’s size on the plant dynamics</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div id="outline-container-org18443f4" class="outline-4">
|
|
<h4 id="org18443f4"><span class="section-number-4">5.7.2.</span> Effect on the compliance</h4>
|
|
<div class="outline-text-4" id="text-5-7-2">
|
|
<p>
|
|
As shown in Figure <a href="#fig:delta_robot_cube_size_compliance_rotation">16</a>, the stiffness of the delta robot in rotation increases with the cube’s size.
|
|
</p>
|
|
|
|
|
|
<div id="fig:delta_robot_cube_size_compliance_rotation" class="figure">
|
|
<p><img src="figs/delta_robot_cube_size_compliance_rotation.png" alt="delta_robot_cube_size_compliance_rotation.png" />
|
|
</p>
|
|
<p><span class="figure-number">Figure 16: </span>Effect of the cube’s size on the rotational compliance of the top platform</p>
|
|
</div>
|
|
|
|
<p>
|
|
With a cube size of 50mm, the resonance frequency is already above 1kHz with seems reasonable.
|
|
</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div id="outline-container-org7e1cd7b" class="outline-3">
|
|
<h3 id="org7e1cd7b"><span class="section-number-3">5.8.</span> Effect of the strut length ?</h3>
|
|
<div class="outline-text-3" id="text-5-8">
|
|
<p>
|
|
Let’s choose reasonable values for the flexible joints:
|
|
</p>
|
|
<ul class="org-ul">
|
|
<li>Bending stiffness of 50Nm/rad</li>
|
|
<li>Torsional stiffness of 500Nm/rad</li>
|
|
<li>Axial stiffness of 100N/um</li>
|
|
</ul>
|
|
|
|
<p>
|
|
And we see the effect of changing the strut length.
|
|
</p>
|
|
</div>
|
|
<div id="outline-container-org945fe3a" class="outline-4">
|
|
<h4 id="org945fe3a"><span class="section-number-4">5.8.1.</span> Effect on the plant dynamics</h4>
|
|
<div class="outline-text-4" id="text-5-8-1">
|
|
<p>
|
|
As shown in Figure <a href="#fig:delta_robot_strut_length_plant_dynamics">17</a>, having longer struts:
|
|
</p>
|
|
<ul class="org-ul">
|
|
<li>decreases the main resonance frequency: this means that the stiffness in the X,Y and Z directions is decreased when the length of the strut is longer.
|
|
This is reasonable as the “lever” arm is getting larger, so the bending stiffness and compression of the flexible joints have a larger effect on the top platform compliance.</li>
|
|
<li>decreases the low frequency coupling: this effect is more difficult to physically understand</li>
|
|
</ul>
|
|
|
|
<p>
|
|
But even with relatively short struts (20mm and above), the low frequency decoupling is already around two orders of magnitude, which is enough from a control point of view.
|
|
So, the struts length can be optimized to not decrease too much the stiffness of the platform while still getting good low frequency decoupling.
|
|
</p>
|
|
|
|
|
|
<div id="fig:delta_robot_strut_length_plant_dynamics" class="figure">
|
|
<p><img src="figs/delta_robot_strut_length_plant_dynamics.png" alt="delta_robot_strut_length_plant_dynamics.png" />
|
|
</p>
|
|
<p><span class="figure-number">Figure 17: </span>Effect of the cube’s size on the plant dynamics</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div id="outline-container-orgb2de208" class="outline-4">
|
|
<h4 id="orgb2de208"><span class="section-number-4">5.8.2.</span> Effect on the compliance</h4>
|
|
<div class="outline-text-4" id="text-5-8-2">
|
|
<p>
|
|
As shown in Figure <a href="#fig:delta_robot_strut_length_compliance_rotation">18</a>, the strut length has an effect on the system stiffness in translation (left plot) but almost not in rotation (right plot).
|
|
</p>
|
|
|
|
|
|
<div id="fig:delta_robot_strut_length_compliance_rotation" class="figure">
|
|
<p><img src="figs/delta_robot_strut_length_compliance_rotation.png" alt="delta_robot_strut_length_compliance_rotation.png" />
|
|
</p>
|
|
<p><span class="figure-number">Figure 18: </span>Effect of the cube’s size on the rotational compliance of the top platform</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div id="outline-container-org4999aef" class="outline-3">
|
|
<h3 id="org4999aef"><span class="section-number-3">5.9.</span> Having the Center of Mass at the cube’s center</h3>
|
|
<div class="outline-text-3" id="text-5-9">
|
|
<p>
|
|
To make things easier, we take a top platform with no mass, mass-less struts, and we put a payload on top of the platform.
|
|
</p>
|
|
|
|
<p>
|
|
As shown in Figure <a href="#fig:delta_robot_CoM_pos_effect_plant">19</a>, having the CoM of the payload at the cube’s center allow to have better decoupling properties above the suspension mode of the system (i.e. above the first mode).
|
|
This could allow to have a bandwidth exceeding the frequency of the first mode.
|
|
But how sensitive this decoupling is to the exact position of the CoM still need to be studied.
|
|
</p>
|
|
|
|
|
|
<div id="fig:delta_robot_CoM_pos_effect_plant" class="figure">
|
|
<p><img src="figs/delta_robot_CoM_pos_effect_plant.png" alt="delta_robot_CoM_pos_effect_plant.png" />
|
|
</p>
|
|
<p><span class="figure-number">Figure 19: </span>Effect of the payload’s Center of Mass position with respect to the cube’s size on the plant dynamics</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div id="outline-container-orgc5d83a6" class="outline-3">
|
|
<h3 id="orgc5d83a6"><span class="section-number-3">5.10.</span> Conclusion</h3>
|
|
</div>
|
|
</div>
|
|
<div id="outline-container-org7840f5a" class="outline-2">
|
|
<h2 id="org7840f5a"><span class="section-number-2">6.</span> Conclusion</h2>
|
|
</div>
|
|
</div>
|
|
<div id="postamble" class="status">
|
|
<p class="author">Author: Dehaeze Thomas</p>
|
|
<p class="date">Created: 2025-12-02 Tue 15:33</p>
|
|
</div>
|
|
</body>
|
|
</html>
|