Update Content - 2021-02-01
This commit is contained in:
parent
b01a76e8ab
commit
16b5f6032f
@ -8,7 +8,7 @@ Tags
|
|||||||
: [Stewart Platforms]({{< relref "stewart_platforms" >}}), [Reference Books]({{< relref "reference_books" >}})
|
: [Stewart Platforms]({{< relref "stewart_platforms" >}}), [Reference Books]({{< relref "reference_books" >}})
|
||||||
|
|
||||||
Reference
|
Reference
|
||||||
: ([Taghirad 2013](#org8f0ac84))
|
: ([Taghirad 2013](#org2a7dc83))
|
||||||
|
|
||||||
Author(s)
|
Author(s)
|
||||||
: Taghirad, H.
|
: Taghirad, H.
|
||||||
@ -22,7 +22,7 @@ PDF version
|
|||||||
|
|
||||||
## Introduction {#introduction}
|
## Introduction {#introduction}
|
||||||
|
|
||||||
<a id="org8ef73b4"></a>
|
<a id="orgf6ae1ec"></a>
|
||||||
|
|
||||||
This book is intended to give some analysis and design tools for the increase number of engineers and researchers who are interested in the design and implementation of parallel robots.
|
This book is intended to give some analysis and design tools for the increase number of engineers and researchers who are interested in the design and implementation of parallel robots.
|
||||||
A systematic approach is presented to analyze the kinematics, dynamics and control of parallel robots.
|
A systematic approach is presented to analyze the kinematics, dynamics and control of parallel robots.
|
||||||
@ -47,7 +47,7 @@ The control of parallel robots is elaborated in the last two chapters, in which
|
|||||||
|
|
||||||
## Motion Representation {#motion-representation}
|
## Motion Representation {#motion-representation}
|
||||||
|
|
||||||
<a id="org17f7d3c"></a>
|
<a id="org40585dc"></a>
|
||||||
|
|
||||||
|
|
||||||
### Spatial Motion Representation {#spatial-motion-representation}
|
### Spatial Motion Representation {#spatial-motion-representation}
|
||||||
@ -62,7 +62,7 @@ Let us define:
|
|||||||
|
|
||||||
The absolute position of point \\(P\\) of the rigid body can be constructed from the relative position of that point with respect to the moving frame \\(\\{\bm{B}\\}\\), and the **position and orientation** of the moving frame \\(\\{\bm{B}\\}\\) with respect to the fixed frame \\(\\{\bm{A}\\}\\).
|
The absolute position of point \\(P\\) of the rigid body can be constructed from the relative position of that point with respect to the moving frame \\(\\{\bm{B}\\}\\), and the **position and orientation** of the moving frame \\(\\{\bm{B}\\}\\) with respect to the fixed frame \\(\\{\bm{A}\\}\\).
|
||||||
|
|
||||||
<a id="orge0ac275"></a>
|
<a id="orgeb5cc76"></a>
|
||||||
|
|
||||||
{{< figure src="/ox-hugo/taghirad13_rigid_body_motion.png" caption="Figure 1: Representation of a rigid body spatial motion" >}}
|
{{< figure src="/ox-hugo/taghirad13_rigid_body_motion.png" caption="Figure 1: Representation of a rigid body spatial motion" >}}
|
||||||
|
|
||||||
@ -87,7 +87,7 @@ It can be **represented in several different ways**: the rotation matrix, the sc
|
|||||||
##### Rotation Matrix {#rotation-matrix}
|
##### Rotation Matrix {#rotation-matrix}
|
||||||
|
|
||||||
We consider a rigid body that has been exposed to a pure rotation.
|
We consider a rigid body that has been exposed to a pure rotation.
|
||||||
Its orientation has changed from a state represented by frame \\(\\{\bm{A}\\}\\) to its current orientation represented by frame \\(\\{\bm{B}\\}\\) (Figure [2](#org05b070b)).
|
Its orientation has changed from a state represented by frame \\(\\{\bm{A}\\}\\) to its current orientation represented by frame \\(\\{\bm{B}\\}\\) (Figure [2](#orga968fe2)).
|
||||||
|
|
||||||
A \\(3 \times 3\\) rotation matrix \\({}^A\bm{R}\_B\\) is defined by
|
A \\(3 \times 3\\) rotation matrix \\({}^A\bm{R}\_B\\) is defined by
|
||||||
|
|
||||||
@ -109,7 +109,7 @@ in which \\({}^A\hat{\bm{x}}\_B, {}^A\hat{\bm{y}}\_B\\) and \\({}^A\hat{\bm{z}}\
|
|||||||
|
|
||||||
The nine elements of the rotation matrix can be simply represented as the projections of the Cartesian unit vectors of frame \\(\\{\bm{B}\\}\\) on the unit vectors of frame \\(\\{\bm{A}\\}\\).
|
The nine elements of the rotation matrix can be simply represented as the projections of the Cartesian unit vectors of frame \\(\\{\bm{B}\\}\\) on the unit vectors of frame \\(\\{\bm{A}\\}\\).
|
||||||
|
|
||||||
<a id="org05b070b"></a>
|
<a id="orga968fe2"></a>
|
||||||
|
|
||||||
{{< figure src="/ox-hugo/taghirad13_rotation_matrix.png" caption="Figure 2: Pure rotation of a rigid body" >}}
|
{{< figure src="/ox-hugo/taghirad13_rotation_matrix.png" caption="Figure 2: Pure rotation of a rigid body" >}}
|
||||||
|
|
||||||
@ -135,7 +135,7 @@ The term screw axis for this axis of rotation has the benefit that a general mot
|
|||||||
The screw axis representation has the benefit of **using only four parameters** to describe a pure rotation.
|
The screw axis representation has the benefit of **using only four parameters** to describe a pure rotation.
|
||||||
These parameters are the angle of rotation \\(\theta\\) and the axis of rotation which is a unit vector \\({}^A\hat{\bm{s}} = [s\_x, s\_y, s\_z]^T\\).
|
These parameters are the angle of rotation \\(\theta\\) and the axis of rotation which is a unit vector \\({}^A\hat{\bm{s}} = [s\_x, s\_y, s\_z]^T\\).
|
||||||
|
|
||||||
<a id="org4350510"></a>
|
<a id="org61e0377"></a>
|
||||||
|
|
||||||
{{< figure src="/ox-hugo/taghirad13_screw_axis_representation.png" caption="Figure 3: Pure rotation about a screw axis" >}}
|
{{< figure src="/ox-hugo/taghirad13_screw_axis_representation.png" caption="Figure 3: Pure rotation about a screw axis" >}}
|
||||||
|
|
||||||
@ -161,7 +161,7 @@ Three other types of Euler angles are consider with respect to a moving frame: t
|
|||||||
|
|
||||||
The pitch, roll and yaw angles are defined for a moving object in space as the rotations along the lateral, longitudinal and vertical axes attached to the moving object.
|
The pitch, roll and yaw angles are defined for a moving object in space as the rotations along the lateral, longitudinal and vertical axes attached to the moving object.
|
||||||
|
|
||||||
<a id="orge6691ca"></a>
|
<a id="org645c692"></a>
|
||||||
|
|
||||||
{{< figure src="/ox-hugo/taghirad13_pitch-roll-yaw.png" caption="Figure 4: Definition of pitch, roll and yaw angles on an air plain" >}}
|
{{< figure src="/ox-hugo/taghirad13_pitch-roll-yaw.png" caption="Figure 4: Definition of pitch, roll and yaw angles on an air plain" >}}
|
||||||
|
|
||||||
@ -171,9 +171,9 @@ Since all three rotations take place about the axes of a **fixed coordinate fram
|
|||||||
To go from rotation matrix to Pitch-Roll-Yaw angles, the following set of equations can be used:
|
To go from rotation matrix to Pitch-Roll-Yaw angles, the following set of equations can be used:
|
||||||
|
|
||||||
\begin{align\*}
|
\begin{align\*}
|
||||||
\alpha &= \atan2\left( \frac{r\_{32}}{\cos \beta}, \frac{r\_{33}}{\cos \beta} \right) \\\\\\
|
\alpha &= \text{atan}\left( \frac{r\_{32}}{\cos \beta}, \frac{r\_{33}}{\cos \beta} \right) \\\\\\
|
||||||
\beta &= \atan2\left( -r\_{31}, \pm \sqrt{r\_{11}^2 + r\_{21}^2} \right) \\\\\\
|
\beta &= \text{atan}\left( -r\_{31}, \pm \sqrt{r\_{11}^2 + r\_{21}^2} \right) \\\\\\
|
||||||
\gamma &= \atan2\left( \frac{r\_{21}}{\cos \beta}, \frac{r\_{11}}{\cos \beta} \right)
|
\gamma &= \text{atan}\left( \frac{r\_{21}}{\cos \beta}, \frac{r\_{11}}{\cos \beta} \right)
|
||||||
\end{align\*}
|
\end{align\*}
|
||||||
|
|
||||||
|
|
||||||
@ -186,9 +186,9 @@ Since the rotations do not occur about fixed axes, pre-multiplications of the in
|
|||||||
The inverse solution for the u-v-w Euler angles is the following (for \\(\cos \beta \ne 0\\)):
|
The inverse solution for the u-v-w Euler angles is the following (for \\(\cos \beta \ne 0\\)):
|
||||||
|
|
||||||
\begin{align\*}
|
\begin{align\*}
|
||||||
\alpha &= \atan2\left( -\frac{r\_{23}}{\cos \beta}, \frac{r\_{33}}{\cos \beta} \right) \\\\\\
|
\alpha &= \text{atan}\left( -\frac{r\_{23}}{\cos \beta}, \frac{r\_{33}}{\cos \beta} \right) \\\\\\
|
||||||
\beta &= \atan2\left( r\_{13}, \pm \sqrt{r\_{11}^2 + r\_{12}^2} \right) \\\\\\
|
\beta &= \text{atan}\left( r\_{13}, \pm \sqrt{r\_{11}^2 + r\_{12}^2} \right) \\\\\\
|
||||||
\gamma &= \atan2\left( -\frac{r\_{12}}{\cos \beta}, \frac{r\_{11}}{\cos \beta} \right)
|
\gamma &= \text{atan}\left( -\frac{r\_{12}}{\cos \beta}, \frac{r\_{11}}{\cos \beta} \right)
|
||||||
\end{align\*}
|
\end{align\*}
|
||||||
|
|
||||||
|
|
||||||
@ -200,9 +200,9 @@ Similarly:
|
|||||||
And for \\(\sin\beta\ne0\\):
|
And for \\(\sin\beta\ne0\\):
|
||||||
|
|
||||||
\begin{align\*}
|
\begin{align\*}
|
||||||
\alpha &= \atan2\left( \frac{r\_{23}}{\sin\beta}, \frac{r\_{13}}{\sin\beta} \right) \\\\\\
|
\alpha &= \text{atan}\left( \frac{r\_{23}}{\sin\beta}, \frac{r\_{13}}{\sin\beta} \right) \\\\\\
|
||||||
\beta &= \atan2\left( \pm \sqrt{r\_{31}^2 + r\_{32}^2}, r\_{33} \right) \\\\\\
|
\beta &= \text{atan}\left( \pm \sqrt{r\_{31}^2 + r\_{32}^2}, r\_{33} \right) \\\\\\
|
||||||
\gamma &= \atan2\left( \frac{r\_{32}}{\sin\beta}, -\frac{r\_{31}}{\sin\beta} \right)
|
\gamma &= \text{atan}\left( \frac{r\_{32}}{\sin\beta}, -\frac{r\_{31}}{\sin\beta} \right)
|
||||||
\end{align\*}
|
\end{align\*}
|
||||||
|
|
||||||
|
|
||||||
@ -214,9 +214,9 @@ Here, the second rotation is about the \\(u\\) axis:
|
|||||||
And for \\(\sin\beta\ne0\\):
|
And for \\(\sin\beta\ne0\\):
|
||||||
|
|
||||||
\begin{align\*}
|
\begin{align\*}
|
||||||
\alpha &= \atan2\left( \frac{r\_{13}}{\sin\beta}, -\frac{r\_{23}}{\sin\beta} \right) \\\\\\
|
\alpha &= \text{atan}\left( \frac{r\_{13}}{\sin\beta}, -\frac{r\_{23}}{\sin\beta} \right) \\\\\\
|
||||||
\beta &= \atan2\left( \pm \sqrt{r\_{31}^2 + r\_{32}^2}, r\_{33} \right) \\\\\\
|
\beta &= \text{atan}\left( \pm \sqrt{r\_{31}^2 + r\_{32}^2}, r\_{33} \right) \\\\\\
|
||||||
\gamma &= \atan2\left( \frac{r\_{31}}{\sin\beta}, \frac{r\_{32}}{\sin\beta} \right)
|
\gamma &= \text{atan}\left( \frac{r\_{31}}{\sin\beta}, \frac{r\_{32}}{\sin\beta} \right)
|
||||||
\end{align\*}
|
\end{align\*}
|
||||||
|
|
||||||
|
|
||||||
@ -366,7 +366,7 @@ There exist transformations to from screw displacement notation to the transform
|
|||||||
Let us consider the motion of a rigid body described at three locations (Figure [fig:consecutive_transformations](#fig:consecutive_transformations)).
|
Let us consider the motion of a rigid body described at three locations (Figure [fig:consecutive_transformations](#fig:consecutive_transformations)).
|
||||||
Frame \\(\\{\bm{A}\\}\\) represents the initial location, frame \\(\\{\bm{B}\\}\\) is an intermediate location, and frame \\(\\{\bm{C}\\}\\) represents the rigid body at its final location.
|
Frame \\(\\{\bm{A}\\}\\) represents the initial location, frame \\(\\{\bm{B}\\}\\) is an intermediate location, and frame \\(\\{\bm{C}\\}\\) represents the rigid body at its final location.
|
||||||
|
|
||||||
<a id="org79cb54b"></a>
|
<a id="org584f192"></a>
|
||||||
|
|
||||||
{{< figure src="/ox-hugo/taghirad13_consecutive_transformations.png" caption="Figure 5: Motion of a rigid body represented at three locations by frame \\(\\{\bm{A}\\}\\), \\(\\{\bm{B}\\}\\) and \\(\\{\bm{C}\\}\\)" >}}
|
{{< figure src="/ox-hugo/taghirad13_consecutive_transformations.png" caption="Figure 5: Motion of a rigid body represented at three locations by frame \\(\\{\bm{A}\\}\\), \\(\\{\bm{B}\\}\\) and \\(\\{\bm{C}\\}\\)" >}}
|
||||||
|
|
||||||
@ -429,7 +429,7 @@ Hence, the **inverse of the transformation matrix** can be obtain by
|
|||||||
|
|
||||||
## Kinematics {#kinematics}
|
## Kinematics {#kinematics}
|
||||||
|
|
||||||
<a id="orgfb1e6d5"></a>
|
<a id="org69874d0"></a>
|
||||||
|
|
||||||
|
|
||||||
### Introduction {#introduction}
|
### Introduction {#introduction}
|
||||||
@ -536,7 +536,7 @@ The position of the point \\(O\_B\\) of the moving platform is described by the
|
|||||||
\end{bmatrix}
|
\end{bmatrix}
|
||||||
\end{equation}
|
\end{equation}
|
||||||
|
|
||||||
<a id="orgd8f574a"></a>
|
<a id="org7843ead"></a>
|
||||||
|
|
||||||
{{< figure src="/ox-hugo/taghirad13_stewart_schematic.png" caption="Figure 6: Geometry of a Stewart-Gough platform" >}}
|
{{< figure src="/ox-hugo/taghirad13_stewart_schematic.png" caption="Figure 6: Geometry of a Stewart-Gough platform" >}}
|
||||||
|
|
||||||
@ -589,7 +589,7 @@ The complexity of the problem depends widely on the manipulator architecture and
|
|||||||
|
|
||||||
## Jacobian: Velocities and Static Forces {#jacobian-velocities-and-static-forces}
|
## Jacobian: Velocities and Static Forces {#jacobian-velocities-and-static-forces}
|
||||||
|
|
||||||
<a id="org3ec674f"></a>
|
<a id="orgd90fad7"></a>
|
||||||
|
|
||||||
|
|
||||||
### Introduction {#introduction}
|
### Introduction {#introduction}
|
||||||
@ -686,7 +686,7 @@ The matrix \\(\bm{\Omega}^\times\\) denotes a **skew-symmetric matrix** defined
|
|||||||
|
|
||||||
Now consider the general motion of a rigid body shown in Figure [fig:general_motion](#fig:general_motion), in which a moving frame \\(\\{\bm{B}\\}\\) is attached to the rigid body and **the problem is to find the absolute velocity** of point \\(P\\) with respect to a fixed frame \\(\\{\bm{A}\\}\\).
|
Now consider the general motion of a rigid body shown in Figure [fig:general_motion](#fig:general_motion), in which a moving frame \\(\\{\bm{B}\\}\\) is attached to the rigid body and **the problem is to find the absolute velocity** of point \\(P\\) with respect to a fixed frame \\(\\{\bm{A}\\}\\).
|
||||||
|
|
||||||
<a id="org998d8f2"></a>
|
<a id="org141b14d"></a>
|
||||||
|
|
||||||
{{< figure src="/ox-hugo/taghirad13_general_motion.png" caption="Figure 7: Instantaneous velocity of a point \\(P\\) with respect to a moving frame \\(\\{\bm{B}\\}\\)" >}}
|
{{< figure src="/ox-hugo/taghirad13_general_motion.png" caption="Figure 7: Instantaneous velocity of a point \\(P\\) with respect to a moving frame \\(\\{\bm{B}\\}\\)" >}}
|
||||||
|
|
||||||
@ -945,7 +945,7 @@ We obtain that the **Jacobian matrix** constructs the **transformation needed to
|
|||||||
|
|
||||||
As shown in Figure [fig:stewart_static_forces](#fig:stewart_static_forces), the twist of moving platform is described by a 6D vector \\(\dot{\bm{\mathcal{X}}} = \left[ {}^A\bm{v}\_P \ {}^A\bm{\omega} \right]^T\\), in which \\({}^A\bm{v}\_P\\) is the velocity of point \\(O\_B\\), and \\({}^A\bm{\omega}\\) is the angular velocity of moving platform.<br />
|
As shown in Figure [fig:stewart_static_forces](#fig:stewart_static_forces), the twist of moving platform is described by a 6D vector \\(\dot{\bm{\mathcal{X}}} = \left[ {}^A\bm{v}\_P \ {}^A\bm{\omega} \right]^T\\), in which \\({}^A\bm{v}\_P\\) is the velocity of point \\(O\_B\\), and \\({}^A\bm{\omega}\\) is the angular velocity of moving platform.<br />
|
||||||
|
|
||||||
<a id="orge814277"></a>
|
<a id="org8bee6d1"></a>
|
||||||
|
|
||||||
{{< figure src="/ox-hugo/taghirad13_stewart_static_forces.png" caption="Figure 8: Free-body diagram of forces and moments action on the moving platform and each limb of the Stewart-Gough platform" >}}
|
{{< figure src="/ox-hugo/taghirad13_stewart_static_forces.png" caption="Figure 8: Free-body diagram of forces and moments action on the moving platform and each limb of the Stewart-Gough platform" >}}
|
||||||
|
|
||||||
@ -1102,7 +1102,7 @@ in which \\(\sigma\_{\text{min}}\\) and \\(\sigma\_{\text{max}}\\) are the small
|
|||||||
|
|
||||||
In this section, we restrict our analysis to a 3-6 structure (Figure [fig:stewart36](#fig:stewart36)) in which there exist six distinct attachment points \\(A\_i\\) on the fixed base and three moving attachment point \\(B\_i\\).
|
In this section, we restrict our analysis to a 3-6 structure (Figure [fig:stewart36](#fig:stewart36)) in which there exist six distinct attachment points \\(A\_i\\) on the fixed base and three moving attachment point \\(B\_i\\).
|
||||||
|
|
||||||
<a id="org9d3d43b"></a>
|
<a id="orgefa95d3"></a>
|
||||||
|
|
||||||
{{< figure src="/ox-hugo/taghirad13_stewart36.png" caption="Figure 9: Schematic of a 3-6 Stewart-Gough platform" >}}
|
{{< figure src="/ox-hugo/taghirad13_stewart36.png" caption="Figure 9: Schematic of a 3-6 Stewart-Gough platform" >}}
|
||||||
|
|
||||||
@ -1132,7 +1132,7 @@ The largest axis of the stiffness transformation hyper-ellipsoid is given by thi
|
|||||||
|
|
||||||
## Dynamics {#dynamics}
|
## Dynamics {#dynamics}
|
||||||
|
|
||||||
<a id="org21126fb"></a>
|
<a id="org6987ef1"></a>
|
||||||
|
|
||||||
|
|
||||||
### Introduction {#introduction}
|
### Introduction {#introduction}
|
||||||
@ -1263,7 +1263,7 @@ For the case where \\(P\\) is a point embedded in the rigid body, \\({}^B\bm{v}\
|
|||||||
|
|
||||||
In this section, the properties of mass, namely **center of mass**, **moments of inertia** and its characteristics and the required transformations are described.
|
In this section, the properties of mass, namely **center of mass**, **moments of inertia** and its characteristics and the required transformations are described.
|
||||||
|
|
||||||
<a id="org9820ce5"></a>
|
<a id="org6305ddf"></a>
|
||||||
|
|
||||||
{{< figure src="/ox-hugo/taghirad13_mass_property_rigid_body.png" caption="Figure 10: Mass properties of a rigid body" >}}
|
{{< figure src="/ox-hugo/taghirad13_mass_property_rigid_body.png" caption="Figure 10: Mass properties of a rigid body" >}}
|
||||||
|
|
||||||
@ -1377,7 +1377,7 @@ in which \\({}^A\bm{v}\_C\\) denotes the velocity of the center of mass with res
|
|||||||
This result implies that the **total linear momentum** of differential masses is equal to the linear momentum of a **point mass** \\(m\\) located at the **center of mass**.
|
This result implies that the **total linear momentum** of differential masses is equal to the linear momentum of a **point mass** \\(m\\) located at the **center of mass**.
|
||||||
This highlights the important of the center of mass in dynamic formulation of rigid bodies.
|
This highlights the important of the center of mass in dynamic formulation of rigid bodies.
|
||||||
|
|
||||||
<a id="org0520561"></a>
|
<a id="org1f08786"></a>
|
||||||
|
|
||||||
{{< figure src="/ox-hugo/taghirad13_angular_momentum_rigid_body.png" caption="Figure 11: The components of the angular momentum of a rigid body about \\(A\\)" >}}
|
{{< figure src="/ox-hugo/taghirad13_angular_momentum_rigid_body.png" caption="Figure 11: The components of the angular momentum of a rigid body about \\(A\\)" >}}
|
||||||
|
|
||||||
@ -1522,7 +1522,7 @@ The position vector of these two center of masses can be determined by the follo
|
|||||||
\bm{p}\_{i\_2} &= \bm{a}\_{i} + ( l\_i - c\_{i\_2}) \hat{\bm{s}}\_{i}
|
\bm{p}\_{i\_2} &= \bm{a}\_{i} + ( l\_i - c\_{i\_2}) \hat{\bm{s}}\_{i}
|
||||||
\end{align}
|
\end{align}
|
||||||
|
|
||||||
<a id="orgd4e4f57"></a>
|
<a id="orgfeb2a3f"></a>
|
||||||
|
|
||||||
{{< figure src="/ox-hugo/taghirad13_free_body_diagram_stewart.png" caption="Figure 12: Free-body diagram of the limbs and the moving platform of a general Stewart-Gough manipulator" >}}
|
{{< figure src="/ox-hugo/taghirad13_free_body_diagram_stewart.png" caption="Figure 12: Free-body diagram of the limbs and the moving platform of a general Stewart-Gough manipulator" >}}
|
||||||
|
|
||||||
@ -1736,7 +1736,7 @@ in which
|
|||||||
|
|
||||||
As shown in Figure [fig:stewart_forward_dynamics](#fig:stewart_forward_dynamics), it is **assumed that actuator forces and external disturbance wrench applied to the manipulator are given and the resulting trajectory of the moving platform is to be determined**.
|
As shown in Figure [fig:stewart_forward_dynamics](#fig:stewart_forward_dynamics), it is **assumed that actuator forces and external disturbance wrench applied to the manipulator are given and the resulting trajectory of the moving platform is to be determined**.
|
||||||
|
|
||||||
<a id="orgbeb7253"></a>
|
<a id="org86bb388"></a>
|
||||||
|
|
||||||
{{< figure src="/ox-hugo/taghirad13_stewart_forward_dynamics.png" caption="Figure 13: Flowchart of forward dynamics implementation sequence" >}}
|
{{< figure src="/ox-hugo/taghirad13_stewart_forward_dynamics.png" caption="Figure 13: Flowchart of forward dynamics implementation sequence" >}}
|
||||||
|
|
||||||
@ -1769,7 +1769,7 @@ Therefore, actuator forces \\(\bm{\tau}\\) are computed in the simulation from
|
|||||||
\bm{\tau} = \bm{J}^{-T} \left( \bm{M}(\bm{\mathcal{X}})\ddot{\bm{\mathcal{X}}} + \bm{C}(\bm{\mathcal{X}}, \dot{\bm{\mathcal{X}}})\dot{\bm{\mathcal{X}}} + \bm{G}(\bm{\mathcal{X}}) - \bm{\mathcal{F}}\_d \right)
|
\bm{\tau} = \bm{J}^{-T} \left( \bm{M}(\bm{\mathcal{X}})\ddot{\bm{\mathcal{X}}} + \bm{C}(\bm{\mathcal{X}}, \dot{\bm{\mathcal{X}}})\dot{\bm{\mathcal{X}}} + \bm{G}(\bm{\mathcal{X}}) - \bm{\mathcal{F}}\_d \right)
|
||||||
\end{equation}
|
\end{equation}
|
||||||
|
|
||||||
<a id="orgeaa02c4"></a>
|
<a id="org183e0f5"></a>
|
||||||
|
|
||||||
{{< figure src="/ox-hugo/taghirad13_stewart_inverse_dynamics.png" caption="Figure 14: Flowchart of inverse dynamics implementation sequence" >}}
|
{{< figure src="/ox-hugo/taghirad13_stewart_inverse_dynamics.png" caption="Figure 14: Flowchart of inverse dynamics implementation sequence" >}}
|
||||||
|
|
||||||
@ -1794,7 +1794,7 @@ Therefore, actuator forces \\(\bm{\tau}\\) are computed in the simulation from
|
|||||||
|
|
||||||
## Motion Control {#motion-control}
|
## Motion Control {#motion-control}
|
||||||
|
|
||||||
<a id="org1ca8f23"></a>
|
<a id="org31bd013"></a>
|
||||||
|
|
||||||
|
|
||||||
### Introduction {#introduction}
|
### Introduction {#introduction}
|
||||||
@ -1815,7 +1815,7 @@ However, using advanced techniques in nonlinear and MIMO control permits to over
|
|||||||
|
|
||||||
### Controller Topology {#controller-topology}
|
### Controller Topology {#controller-topology}
|
||||||
|
|
||||||
<a id="orgfaf4318"></a>
|
<a id="org2a56c74"></a>
|
||||||
|
|
||||||
<div class="cbox">
|
<div class="cbox">
|
||||||
<div></div>
|
<div></div>
|
||||||
@ -1864,7 +1864,7 @@ Figure [fig:general_topology_motion_feedback](#fig:general_topology_motion_feedb
|
|||||||
In such a structure, the measured position and orientation of the manipulator is compared to its desired value to generate the **motion error vector** \\(\bm{e}\_\mathcal{X}\\).
|
In such a structure, the measured position and orientation of the manipulator is compared to its desired value to generate the **motion error vector** \\(\bm{e}\_\mathcal{X}\\).
|
||||||
The controller uses this error information to generate suitable commands for the actuators to minimize the tracking error.<br />
|
The controller uses this error information to generate suitable commands for the actuators to minimize the tracking error.<br />
|
||||||
|
|
||||||
<a id="org909a7b6"></a>
|
<a id="org83415de"></a>
|
||||||
|
|
||||||
{{< figure src="/ox-hugo/taghirad13_general_topology_motion_feedback.png" caption="Figure 15: The general topology of motion feedback control: motion variable \\(\bm{\mathcal{X}}\\) is measured" >}}
|
{{< figure src="/ox-hugo/taghirad13_general_topology_motion_feedback.png" caption="Figure 15: The general topology of motion feedback control: motion variable \\(\bm{\mathcal{X}}\\) is measured" >}}
|
||||||
|
|
||||||
@ -1874,7 +1874,7 @@ The relation between the **differential motion variables** \\(\dot{\bm{q}}\\) an
|
|||||||
|
|
||||||
It is then possible to use the forward kinematic analysis to calculate \\(\bm{\mathcal{X}}\\) from the measured joint variables \\(\bm{q}\\), and one may use the control topology depicted in Figure [fig:general_topology_motion_feedback_bis](#fig:general_topology_motion_feedback_bis) to implement such a controller.
|
It is then possible to use the forward kinematic analysis to calculate \\(\bm{\mathcal{X}}\\) from the measured joint variables \\(\bm{q}\\), and one may use the control topology depicted in Figure [fig:general_topology_motion_feedback_bis](#fig:general_topology_motion_feedback_bis) to implement such a controller.
|
||||||
|
|
||||||
<a id="orged0d932"></a>
|
<a id="org0cb7091"></a>
|
||||||
|
|
||||||
{{< figure src="/ox-hugo/taghirad13_general_topology_motion_feedback_bis.png" caption="Figure 16: The general topology of motion feedback control: the active joint variable \\(\bm{q}\\) is measured" >}}
|
{{< figure src="/ox-hugo/taghirad13_general_topology_motion_feedback_bis.png" caption="Figure 16: The general topology of motion feedback control: the active joint variable \\(\bm{q}\\) is measured" >}}
|
||||||
|
|
||||||
@ -1888,7 +1888,7 @@ To overcome the implementation problem of the control topology in Figure [fig:ge
|
|||||||
In this topology, depicted in Figure [fig:general_topology_motion_feedback_ter](#fig:general_topology_motion_feedback_ter), the desired motion trajectory of the robot \\(\bm{\mathcal{X}}\_d\\) is used in an **inverse kinematic analysis** to find the corresponding desired values for joint variable \\(\bm{q}\_d\\).
|
In this topology, depicted in Figure [fig:general_topology_motion_feedback_ter](#fig:general_topology_motion_feedback_ter), the desired motion trajectory of the robot \\(\bm{\mathcal{X}}\_d\\) is used in an **inverse kinematic analysis** to find the corresponding desired values for joint variable \\(\bm{q}\_d\\).
|
||||||
Hence, the controller is designed based on the **joint space error** \\(\bm{e}\_q\\).
|
Hence, the controller is designed based on the **joint space error** \\(\bm{e}\_q\\).
|
||||||
|
|
||||||
<a id="org2a995a3"></a>
|
<a id="org115553e"></a>
|
||||||
|
|
||||||
{{< figure src="/ox-hugo/taghirad13_general_topology_motion_feedback_ter.png" caption="Figure 17: The general topology of motion feedback control: the active joint variable \\(\bm{q}\\) is measured, and the inverse kinematic analysis is used" >}}
|
{{< figure src="/ox-hugo/taghirad13_general_topology_motion_feedback_ter.png" caption="Figure 17: The general topology of motion feedback control: the active joint variable \\(\bm{q}\\) is measured, and the inverse kinematic analysis is used" >}}
|
||||||
|
|
||||||
@ -1902,7 +1902,7 @@ For the topology in Figure [fig:general_topology_motion_feedback_ter](#fig:gener
|
|||||||
To generate a **direct input to output relation in the task space**, consider the topology depicted in Figure [fig:general_topology_motion_feedback_quater](#fig:general_topology_motion_feedback_quater).
|
To generate a **direct input to output relation in the task space**, consider the topology depicted in Figure [fig:general_topology_motion_feedback_quater](#fig:general_topology_motion_feedback_quater).
|
||||||
A force distribution block is added which maps the generated wrench in the task space \\(\bm{\mathcal{F}}\\), to its corresponding actuator forces/torque \\(\bm{\tau}\\).
|
A force distribution block is added which maps the generated wrench in the task space \\(\bm{\mathcal{F}}\\), to its corresponding actuator forces/torque \\(\bm{\tau}\\).
|
||||||
|
|
||||||
<a id="orgfb3d861"></a>
|
<a id="org07099c9"></a>
|
||||||
|
|
||||||
{{< figure src="/ox-hugo/taghirad13_general_topology_motion_feedback_quater.png" caption="Figure 18: The general topology of motion feedback control in task space: the motion variable \\(\bm{\mathcal{X}}\\) is measured, and the controller output generates wrench in task space" >}}
|
{{< figure src="/ox-hugo/taghirad13_general_topology_motion_feedback_quater.png" caption="Figure 18: The general topology of motion feedback control in task space: the motion variable \\(\bm{\mathcal{X}}\\) is measured, and the controller output generates wrench in task space" >}}
|
||||||
|
|
||||||
@ -1912,7 +1912,7 @@ For a fully parallel manipulator such as the Stewart-Gough platform, this mappin
|
|||||||
|
|
||||||
### Motion Control in Task Space {#motion-control-in-task-space}
|
### Motion Control in Task Space {#motion-control-in-task-space}
|
||||||
|
|
||||||
<a id="org16aa3bf"></a>
|
<a id="org7673b83"></a>
|
||||||
|
|
||||||
|
|
||||||
#### Decentralized PD Control {#decentralized-pd-control}
|
#### Decentralized PD Control {#decentralized-pd-control}
|
||||||
@ -1921,7 +1921,7 @@ In the control structure in Figure [fig:decentralized_pd_control_task_space](#fi
|
|||||||
The decentralized controller consists of **six disjoint linear controllers** acting on each error component \\(\bm{e}\_x = [e\_x,\ e\_y,\ e\_z,\ e\_{\theta\_x},\ e\_{\theta\_y},\ e\_{\theta\_z}]\\).
|
The decentralized controller consists of **six disjoint linear controllers** acting on each error component \\(\bm{e}\_x = [e\_x,\ e\_y,\ e\_z,\ e\_{\theta\_x},\ e\_{\theta\_y},\ e\_{\theta\_z}]\\).
|
||||||
The PD controller is denoted by \\(\bm{K}\_d s + \bm{K}\_p\\), in which \\(\bm{K}\_d\\) and \\(\bm{K}\_p\\) are \\(6 \times 6\\) **diagonal matrices** denoting the derivative and proportional controller gains for each error term.
|
The PD controller is denoted by \\(\bm{K}\_d s + \bm{K}\_p\\), in which \\(\bm{K}\_d\\) and \\(\bm{K}\_p\\) are \\(6 \times 6\\) **diagonal matrices** denoting the derivative and proportional controller gains for each error term.
|
||||||
|
|
||||||
<a id="org0b974ce"></a>
|
<a id="org96e0f79"></a>
|
||||||
|
|
||||||
{{< figure src="/ox-hugo/taghirad13_decentralized_pd_control_task_space.png" caption="Figure 19: Decentralized PD controller implemented in task space" >}}
|
{{< figure src="/ox-hugo/taghirad13_decentralized_pd_control_task_space.png" caption="Figure 19: Decentralized PD controller implemented in task space" >}}
|
||||||
|
|
||||||
@ -1944,7 +1944,7 @@ A feedforward wrench denoted by \\(\bm{\mathcal{F}}\_{ff}\\) may be added to the
|
|||||||
This term is generated from the dynamic model of the manipulator in the task space, represented in a closed form by the following equation:
|
This term is generated from the dynamic model of the manipulator in the task space, represented in a closed form by the following equation:
|
||||||
\\[ \bm{\mathcal{F}}\_{ff} = \bm{\hat{M}}(\bm{\mathcal{X}}\_d)\ddot{\bm{\mathcal{X}}}\_d + \bm{\hat{C}}(\bm{\mathcal{X}}\_d, \dot{\bm{\mathcal{X}}}\_d)\dot{\bm{\mathcal{X}}}\_d + \bm{\hat{G}}(\bm{\mathcal{X}}\_d) \\]
|
\\[ \bm{\mathcal{F}}\_{ff} = \bm{\hat{M}}(\bm{\mathcal{X}}\_d)\ddot{\bm{\mathcal{X}}}\_d + \bm{\hat{C}}(\bm{\mathcal{X}}\_d, \dot{\bm{\mathcal{X}}}\_d)\dot{\bm{\mathcal{X}}}\_d + \bm{\hat{G}}(\bm{\mathcal{X}}\_d) \\]
|
||||||
|
|
||||||
<a id="orgecae3b2"></a>
|
<a id="orgfe8c691"></a>
|
||||||
|
|
||||||
{{< figure src="/ox-hugo/taghirad13_feedforward_control_task_space.png" caption="Figure 20: Feed forward wrench added to the decentralized PD controller in task space" >}}
|
{{< figure src="/ox-hugo/taghirad13_feedforward_control_task_space.png" caption="Figure 20: Feed forward wrench added to the decentralized PD controller in task space" >}}
|
||||||
|
|
||||||
@ -2007,7 +2007,7 @@ Furthermore, mass matrix is added in the forward path in addition to the desired
|
|||||||
|
|
||||||
As for the feedforward control, the **dynamics and kinematic parameters of the robot are needed**, and in practice estimates of these matrices are used.<br />
|
As for the feedforward control, the **dynamics and kinematic parameters of the robot are needed**, and in practice estimates of these matrices are used.<br />
|
||||||
|
|
||||||
<a id="orgb029958"></a>
|
<a id="org736b9d3"></a>
|
||||||
|
|
||||||
{{< figure src="/ox-hugo/taghirad13_inverse_dynamics_control_task_space.png" caption="Figure 21: General configuration of inverse dynamics control implemented in task space" >}}
|
{{< figure src="/ox-hugo/taghirad13_inverse_dynamics_control_task_space.png" caption="Figure 21: General configuration of inverse dynamics control implemented in task space" >}}
|
||||||
|
|
||||||
@ -2129,14 +2129,14 @@ in which
|
|||||||
\\[ \bm{\eta} = \bm{M}^{-1} \left( \tilde{\bm{M}} \bm{a}\_r + \tilde{\bm{C}} \dot{\bm{\mathcal{X}}} + \tilde{\bm{G}} \right) \\]
|
\\[ \bm{\eta} = \bm{M}^{-1} \left( \tilde{\bm{M}} \bm{a}\_r + \tilde{\bm{C}} \dot{\bm{\mathcal{X}}} + \tilde{\bm{G}} \right) \\]
|
||||||
is a measure of modeling uncertainty.
|
is a measure of modeling uncertainty.
|
||||||
|
|
||||||
<a id="orgb942112"></a>
|
<a id="org3afe4e8"></a>
|
||||||
|
|
||||||
{{< figure src="/ox-hugo/taghirad13_robust_inverse_dynamics_task_space.png" caption="Figure 22: General configuration of robust inverse dynamics control implemented in the task space" >}}
|
{{< figure src="/ox-hugo/taghirad13_robust_inverse_dynamics_task_space.png" caption="Figure 22: General configuration of robust inverse dynamics control implemented in the task space" >}}
|
||||||
|
|
||||||
|
|
||||||
#### Adaptive Inverse Dynamics Control {#adaptive-inverse-dynamics-control}
|
#### Adaptive Inverse Dynamics Control {#adaptive-inverse-dynamics-control}
|
||||||
|
|
||||||
<a id="orgbe7cc8a"></a>
|
<a id="org8587938"></a>
|
||||||
|
|
||||||
{{< figure src="/ox-hugo/taghirad13_adaptative_inverse_control_task_space.png" caption="Figure 23: General configuration of adaptative inverse dynamics control implemented in task space" >}}
|
{{< figure src="/ox-hugo/taghirad13_adaptative_inverse_control_task_space.png" caption="Figure 23: General configuration of adaptative inverse dynamics control implemented in task space" >}}
|
||||||
|
|
||||||
@ -2221,7 +2221,7 @@ In this control structure, depicted in Figure [fig:decentralized_pd_control_join
|
|||||||
|
|
||||||
The PD controller is denoted by \\(\bm{K}\_d s + \bm{K}\_p\\), where \\(\bm{K}\_d\\) and \\(\bm{K}\_p\\) are \\(n \times n\\) **diagonal** matrices denoting the derivative and proportional controller gains, respectively.<br />
|
The PD controller is denoted by \\(\bm{K}\_d s + \bm{K}\_p\\), where \\(\bm{K}\_d\\) and \\(\bm{K}\_p\\) are \\(n \times n\\) **diagonal** matrices denoting the derivative and proportional controller gains, respectively.<br />
|
||||||
|
|
||||||
<a id="org5841aae"></a>
|
<a id="org7de5d3c"></a>
|
||||||
|
|
||||||
{{< figure src="/ox-hugo/taghirad13_decentralized_pd_control_joint_space.png" caption="Figure 24: Decentralized PD controller implemented in joint space" >}}
|
{{< figure src="/ox-hugo/taghirad13_decentralized_pd_control_joint_space.png" caption="Figure 24: Decentralized PD controller implemented in joint space" >}}
|
||||||
|
|
||||||
@ -2243,7 +2243,7 @@ To remedy these shortcomings, some modifications have been proposed to this stru
|
|||||||
The tracking performance of the simple PD controller implemented in the joint space is usually not sufficient at different configurations.
|
The tracking performance of the simple PD controller implemented in the joint space is usually not sufficient at different configurations.
|
||||||
To improve the tracking performance, a feedforward actuator force denoted by \\(\bm{\tau}\_{ff}\\) may be added to the structure of the controller as depicted in Figure [fig:feedforward_pd_control_joint_space](#fig:feedforward_pd_control_joint_space).
|
To improve the tracking performance, a feedforward actuator force denoted by \\(\bm{\tau}\_{ff}\\) may be added to the structure of the controller as depicted in Figure [fig:feedforward_pd_control_joint_space](#fig:feedforward_pd_control_joint_space).
|
||||||
|
|
||||||
<a id="org934eb1c"></a>
|
<a id="org1bd5af5"></a>
|
||||||
|
|
||||||
{{< figure src="/ox-hugo/taghirad13_feedforward_pd_control_joint_space.png" caption="Figure 25: Feed forward actuator force added to the decentralized PD controller in joint space" >}}
|
{{< figure src="/ox-hugo/taghirad13_feedforward_pd_control_joint_space.png" caption="Figure 25: Feed forward actuator force added to the decentralized PD controller in joint space" >}}
|
||||||
|
|
||||||
@ -2291,7 +2291,7 @@ Furthermore, the mass matrix is acting in the **forward path**, in addition to t
|
|||||||
Note that to generate this term, the **dynamic formulation** of the robot, and its **kinematic and dynamic parameters are needed**.
|
Note that to generate this term, the **dynamic formulation** of the robot, and its **kinematic and dynamic parameters are needed**.
|
||||||
In practice, exact knowledge of dynamic matrices are not available, and there estimates are used.<br />
|
In practice, exact knowledge of dynamic matrices are not available, and there estimates are used.<br />
|
||||||
|
|
||||||
<a id="org7f6d251"></a>
|
<a id="orgc6e8877"></a>
|
||||||
|
|
||||||
{{< figure src="/ox-hugo/taghirad13_inverse_dynamics_control_joint_space.png" caption="Figure 26: General configuration of inverse dynamics control implemented in joint space" >}}
|
{{< figure src="/ox-hugo/taghirad13_inverse_dynamics_control_joint_space.png" caption="Figure 26: General configuration of inverse dynamics control implemented in joint space" >}}
|
||||||
|
|
||||||
@ -2567,7 +2567,7 @@ Hence, it is recommended to design and implement controllers in the task space,
|
|||||||
|
|
||||||
## Force Control {#force-control}
|
## Force Control {#force-control}
|
||||||
|
|
||||||
<a id="org5f2ddee"></a>
|
<a id="org94cf64e"></a>
|
||||||
|
|
||||||
|
|
||||||
### Introduction {#introduction}
|
### Introduction {#introduction}
|
||||||
@ -2623,7 +2623,7 @@ The output control loop is called the **primary loop**, while the inner loop is
|
|||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<a id="orgf81b89d"></a>
|
<a id="org3af3c77"></a>
|
||||||
|
|
||||||
{{< figure src="/ox-hugo/taghirad13_cascade_control.png" caption="Figure 27: Block diagram of a closed-loop system with cascade control" >}}
|
{{< figure src="/ox-hugo/taghirad13_cascade_control.png" caption="Figure 27: Block diagram of a closed-loop system with cascade control" >}}
|
||||||
|
|
||||||
@ -2657,7 +2657,7 @@ As seen in Figure [fig:taghira13_cascade_force_outer_loop](#fig:taghira13_cascad
|
|||||||
|
|
||||||
The output of motion controller is also designed in the task space, and to convert it to implementable actuator force \\(\bm{\tau}\\), the force distribution block is considered in this topology.<br />
|
The output of motion controller is also designed in the task space, and to convert it to implementable actuator force \\(\bm{\tau}\\), the force distribution block is considered in this topology.<br />
|
||||||
|
|
||||||
<a id="orgf39e436"></a>
|
<a id="org6c70f4c"></a>
|
||||||
|
|
||||||
{{< figure src="/ox-hugo/taghira13_cascade_force_outer_loop.png" caption="Figure 28: Cascade topology of force feedback control: position in inner loop and force in outer loop. Moving platform wrench \\(\bm{\mathcal{F}}\\) and motion variable \\(\bm{\mathcal{X}}\\) are measured in the task space" >}}
|
{{< figure src="/ox-hugo/taghira13_cascade_force_outer_loop.png" caption="Figure 28: Cascade topology of force feedback control: position in inner loop and force in outer loop. Moving platform wrench \\(\bm{\mathcal{F}}\\) and motion variable \\(\bm{\mathcal{X}}\\) are measured in the task space" >}}
|
||||||
|
|
||||||
@ -2665,7 +2665,7 @@ Other alternatives for force control topology may be suggested based on the vari
|
|||||||
If the force is measured in the joint space, the topology suggested in Figure [fig:taghira13_cascade_force_outer_loop_tau](#fig:taghira13_cascade_force_outer_loop_tau) can be used.
|
If the force is measured in the joint space, the topology suggested in Figure [fig:taghira13_cascade_force_outer_loop_tau](#fig:taghira13_cascade_force_outer_loop_tau) can be used.
|
||||||
In this topology, the measured actuator force vector \\(\bm{\tau}\\) is mapped into its corresponding wrench in the task space by the Jacobian transpose mapping \\(\bm{\mathcal{F}} = \bm{J}^T \bm{\tau}\\).<br />
|
In this topology, the measured actuator force vector \\(\bm{\tau}\\) is mapped into its corresponding wrench in the task space by the Jacobian transpose mapping \\(\bm{\mathcal{F}} = \bm{J}^T \bm{\tau}\\).<br />
|
||||||
|
|
||||||
<a id="orgbdf64cb"></a>
|
<a id="org175d2e4"></a>
|
||||||
|
|
||||||
{{< figure src="/ox-hugo/taghira13_cascade_force_outer_loop_tau.png" caption="Figure 29: Cascade topology of force feedback control: position in inner loop and force in outer loop. Actuator forces \\(\bm{\tau}\\) and motion variable \\(\bm{\mathcal{X}}\\) are measured" >}}
|
{{< figure src="/ox-hugo/taghira13_cascade_force_outer_loop_tau.png" caption="Figure 29: Cascade topology of force feedback control: position in inner loop and force in outer loop. Actuator forces \\(\bm{\tau}\\) and motion variable \\(\bm{\mathcal{X}}\\) are measured" >}}
|
||||||
|
|
||||||
@ -2676,7 +2676,7 @@ However, as the inner loop is constructed in the joint space, the desired motion
|
|||||||
|
|
||||||
Therefore, the structure and characteristics of the position controller in this topology is totally different from that given in the first two topologies.<br />
|
Therefore, the structure and characteristics of the position controller in this topology is totally different from that given in the first two topologies.<br />
|
||||||
|
|
||||||
<a id="org5701992"></a>
|
<a id="org2a3fede"></a>
|
||||||
|
|
||||||
{{< figure src="/ox-hugo/taghira13_cascade_force_outer_loop_tau_q.png" caption="Figure 30: Cascade topology of force feedback control: position in inner loop and force in outer loop. Actuator forces \\(\bm{\tau}\\) and joint motion variable \\(\bm{q}\\) are measured in the joint space" >}}
|
{{< figure src="/ox-hugo/taghira13_cascade_force_outer_loop_tau_q.png" caption="Figure 30: Cascade topology of force feedback control: position in inner loop and force in outer loop. Actuator forces \\(\bm{\tau}\\) and joint motion variable \\(\bm{q}\\) are measured in the joint space" >}}
|
||||||
|
|
||||||
@ -2694,7 +2694,7 @@ By this means, when the manipulator is not in contact with a stiff environment,
|
|||||||
However, when there is interacting wrench \\(\bm{\mathcal{F}}\_e\\) applied to the moving platform, this structure controls the force-motion relation.
|
However, when there is interacting wrench \\(\bm{\mathcal{F}}\_e\\) applied to the moving platform, this structure controls the force-motion relation.
|
||||||
This configuration may be seen as if the **outer loop generates a desired force trajectory for the inner loop**.<br />
|
This configuration may be seen as if the **outer loop generates a desired force trajectory for the inner loop**.<br />
|
||||||
|
|
||||||
<a id="orge5122a4"></a>
|
<a id="orga7ac154"></a>
|
||||||
|
|
||||||
{{< figure src="/ox-hugo/taghira13_cascade_force_inner_loop_F.png" caption="Figure 31: Cascade topology of force feedback control: force in inner loop and position in outer loop. Moving platform wrench \\(\bm{\mathcal{F}}\\) and motion variable \\(\bm{\mathcal{X}}\\) are measured in the task space" >}}
|
{{< figure src="/ox-hugo/taghira13_cascade_force_inner_loop_F.png" caption="Figure 31: Cascade topology of force feedback control: force in inner loop and position in outer loop. Moving platform wrench \\(\bm{\mathcal{F}}\\) and motion variable \\(\bm{\mathcal{X}}\\) are measured in the task space" >}}
|
||||||
|
|
||||||
@ -2702,7 +2702,7 @@ Other alternatives for control topology may be suggested based on the variations
|
|||||||
If the force is measured in the joint space, control topology shown in Figure [fig:taghira13_cascade_force_inner_loop_tau](#fig:taghira13_cascade_force_inner_loop_tau) can be used.
|
If the force is measured in the joint space, control topology shown in Figure [fig:taghira13_cascade_force_inner_loop_tau](#fig:taghira13_cascade_force_inner_loop_tau) can be used.
|
||||||
In such case, the Jacobian transpose is used to map the actuator force to its corresponding wrench in the task space.<br />
|
In such case, the Jacobian transpose is used to map the actuator force to its corresponding wrench in the task space.<br />
|
||||||
|
|
||||||
<a id="org47655dc"></a>
|
<a id="org6074cca"></a>
|
||||||
|
|
||||||
{{< figure src="/ox-hugo/taghira13_cascade_force_inner_loop_tau.png" caption="Figure 32: Cascade topology of force feedback control: force in inner loop and position in outer loop. Actuator forces \\(\bm{\tau}\\) and motion variable \\(\bm{\mathcal{X}}\\) are measured" >}}
|
{{< figure src="/ox-hugo/taghira13_cascade_force_inner_loop_tau.png" caption="Figure 32: Cascade topology of force feedback control: force in inner loop and position in outer loop. Actuator forces \\(\bm{\tau}\\) and motion variable \\(\bm{\mathcal{X}}\\) are measured" >}}
|
||||||
|
|
||||||
@ -2711,7 +2711,7 @@ The inner loop is based on the measured actuator force vector in the joint space
|
|||||||
In this topology, the desired motion in the task space is mapped into the joint space using **inverse kinematic** solution, and **both the position and force feedback controllers are designed in the joint space**.
|
In this topology, the desired motion in the task space is mapped into the joint space using **inverse kinematic** solution, and **both the position and force feedback controllers are designed in the joint space**.
|
||||||
Thus, independent controllers for each joint may be suitable for this topology.
|
Thus, independent controllers for each joint may be suitable for this topology.
|
||||||
|
|
||||||
<a id="org4c94934"></a>
|
<a id="orge90ce0b"></a>
|
||||||
|
|
||||||
{{< figure src="/ox-hugo/taghira13_cascade_force_inner_loop_tau_q.png" caption="Figure 33: Cascade topology of force feedback control: force in inner loop and position in outer loop. Actuator forces \\(\bm{\tau}\\) and joint motion variable \\(\bm{q}\\) are measured in the joint space" >}}
|
{{< figure src="/ox-hugo/taghira13_cascade_force_inner_loop_tau_q.png" caption="Figure 33: Cascade topology of force feedback control: force in inner loop and position in outer loop. Actuator forces \\(\bm{\tau}\\) and joint motion variable \\(\bm{q}\\) are measured in the joint space" >}}
|
||||||
|
|
||||||
@ -2730,7 +2730,7 @@ Thus, independent controllers for each joint may be suitable for this topology.
|
|||||||
|
|
||||||
### Direct Force Control {#direct-force-control}
|
### Direct Force Control {#direct-force-control}
|
||||||
|
|
||||||
<a id="org8390562"></a>
|
<a id="orgff68f6e"></a>
|
||||||
|
|
||||||
{{< figure src="/ox-hugo/taghira13_direct_force_control.png" caption="Figure 34: Direct force control scheme, force feedback in the outer loop and motion feedback in the inner loop" >}}
|
{{< figure src="/ox-hugo/taghira13_direct_force_control.png" caption="Figure 34: Direct force control scheme, force feedback in the outer loop and motion feedback in the inner loop" >}}
|
||||||
|
|
||||||
@ -2821,7 +2821,7 @@ The impedance of the system may be found from the Laplace transform of the above
|
|||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<a id="org9d33331"></a>
|
<a id="org4aedc7e"></a>
|
||||||
|
|
||||||
{{< figure src="/ox-hugo/taghirad13_impedance_control_rlc.png" caption="Figure 35: Analogy of electrical impedance in (a) an electrical RLC circuit to (b) a mechanical mass-spring-damper system" >}}
|
{{< figure src="/ox-hugo/taghirad13_impedance_control_rlc.png" caption="Figure 35: Analogy of electrical impedance in (a) an electrical RLC circuit to (b) a mechanical mass-spring-damper system" >}}
|
||||||
|
|
||||||
@ -2880,7 +2880,7 @@ Moreover, direct force-tracking objective is not assigned in this control scheme
|
|||||||
However, an auxiliary force trajectory \\(\bm{\mathcal{F}}\_a\\) is generated from the motion control law and is used as the reference for the force tracking.
|
However, an auxiliary force trajectory \\(\bm{\mathcal{F}}\_a\\) is generated from the motion control law and is used as the reference for the force tracking.
|
||||||
By this means, no prescribed force trajectory is tracked, while the **motion control scheme would advise a force trajectory for the robot to ensure the desired impedance regulation**.<br />
|
By this means, no prescribed force trajectory is tracked, while the **motion control scheme would advise a force trajectory for the robot to ensure the desired impedance regulation**.<br />
|
||||||
|
|
||||||
<a id="org1fdf95b"></a>
|
<a id="org03307e7"></a>
|
||||||
|
|
||||||
{{< figure src="/ox-hugo/taghira13_impedance_control.png" caption="Figure 36: Impedance control scheme; motion feedback in the outer loop and force feedback in the inner loop" >}}
|
{{< figure src="/ox-hugo/taghira13_impedance_control.png" caption="Figure 36: Impedance control scheme; motion feedback in the outer loop and force feedback in the inner loop" >}}
|
||||||
|
|
||||||
@ -2918,4 +2918,4 @@ However, note that for a good performance, an accurate model of the system is re
|
|||||||
|
|
||||||
## Bibliography {#bibliography}
|
## Bibliography {#bibliography}
|
||||||
|
|
||||||
<a id="org8f0ac84"></a>Taghirad, Hamid. 2013. _Parallel Robots : Mechanics and Control_. Boca Raton, FL: CRC Press.
|
<a id="org2a7dc83"></a>Taghirad, Hamid. 2013. _Parallel Robots : Mechanics and Control_. Boca Raton, FL: CRC Press.
|
||||||
|
Loading…
Reference in New Issue
Block a user