Update Content - 2021-02-01
This commit is contained in:
parent
bdf6920eef
commit
b01a76e8ab
@ -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](#orgf8aae74))
|
: ([Taghirad 2013](#org8f0ac84))
|
||||||
|
|
||||||
Author(s)
|
Author(s)
|
||||||
: Taghirad, H.
|
: Taghirad, H.
|
||||||
@ -22,7 +22,7 @@ PDF version
|
|||||||
|
|
||||||
## Introduction {#introduction}
|
## Introduction {#introduction}
|
||||||
|
|
||||||
<a id="org65cfcae"></a>
|
<a id="org8ef73b4"></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="orgd721dfb"></a>
|
<a id="org17f7d3c"></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="orgfdbabd1"></a>
|
<a id="orge0ac275"></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,12 +87,12 @@ 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](#orga66f90a)).
|
Its orientation has changed from a state represented by frame \\(\\{\bm{A}\\}\\) to its current orientation represented by frame \\(\\{\bm{B}\\}\\) (Figure [2](#org05b070b)).
|
||||||
|
|
||||||
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
|
||||||
|
|
||||||
\begin{equation}
|
\begin{equation}
|
||||||
\tcmbox{{}^A\bm{R}\_B = \left[ {}^A\hat{\bm{x}}\_B | {}^A\hat{\bm{y}}\_B | {}^A\hat{\bm{z}}\_B \right] = \begin{bmatrix}
|
\boxed{{}^A\bm{R}\_B = \left[ {}^A\hat{\bm{x}}\_B | {}^A\hat{\bm{y}}\_B | {}^A\hat{\bm{z}}\_B \right] = \begin{bmatrix}
|
||||||
u\_{x} & v\_{x} & z\_{x} \\\\\\
|
u\_{x} & v\_{x} & z\_{x} \\\\\\
|
||||||
u\_{y} & v\_{y} & z\_{y} \\\\\\
|
u\_{y} & v\_{y} & z\_{y} \\\\\\
|
||||||
u\_{z} & v\_{z} & z\_{z}
|
u\_{z} & v\_{z} & z\_{z}
|
||||||
@ -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="orga66f90a"></a>
|
<a id="org05b070b"></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" >}}
|
||||||
|
|
||||||
@ -119,7 +119,7 @@ The rotation matrix has a number of properties linking each of its nine elements
|
|||||||
- **Transposition**: \\({}^B\bm{R}\_A = {}^A\bm{R}\_B^{T}\\)
|
- **Transposition**: \\({}^B\bm{R}\_A = {}^A\bm{R}\_B^{T}\\)
|
||||||
- **Inverse**: \\({}^B\bm{R}\_A = {}^A\bm{R}\_B^{-1} = {}^A\bm{R}\_B^{T}\\)
|
- **Inverse**: \\({}^B\bm{R}\_A = {}^A\bm{R}\_B^{-1} = {}^A\bm{R}\_B^{T}\\)
|
||||||
- **Pure Rotation Mapping**: Suppose that the point of a rigid body with respect to the moving frame \\(\\{\bm{B}\\}\\) is given and denoted by \\({}^B\bm{P}\\) and we wish to express the position of this point with respect to the fixed frame \\(\\{\bm{A}\\}\\). Consider that the rigid body has been exposed to a pure rotation (\\(\\{\bm{A}\\}\\) and \\(\\{\bm{B}\\}\\) are coincident at their origins). Then
|
- **Pure Rotation Mapping**: Suppose that the point of a rigid body with respect to the moving frame \\(\\{\bm{B}\\}\\) is given and denoted by \\({}^B\bm{P}\\) and we wish to express the position of this point with respect to the fixed frame \\(\\{\bm{A}\\}\\). Consider that the rigid body has been exposed to a pure rotation (\\(\\{\bm{A}\\}\\) and \\(\\{\bm{B}\\}\\) are coincident at their origins). Then
|
||||||
\\[ \tcmbox{{}^A\bm{P} = {}^A\bm{R}\_B {}^B\bm{P}} \\]
|
\\[ \boxed{{}^A\bm{P} = {}^A\bm{R}\_B {}^B\bm{P}} \\]
|
||||||
- **Determinant**: \\(\det({}^A\bm{R}\_B) = 1\\)
|
- **Determinant**: \\(\det({}^A\bm{R}\_B) = 1\\)
|
||||||
- **Eigenvalues**: The eigenvalues of a rotation matrix \\({}^A\bm{R}\_B\\) are equal to \\(1\\), \\(e^{i\theta}\\) and \\(e^{-i\theta}\\) where \\(\theta\\) is calculated from \\(\theta = \cos^{-1}\frac{\text{tr}({}^A\bm{R}\_B) - 1}{2}\\).
|
- **Eigenvalues**: The eigenvalues of a rotation matrix \\({}^A\bm{R}\_B\\) are equal to \\(1\\), \\(e^{i\theta}\\) and \\(e^{-i\theta}\\) where \\(\theta\\) is calculated from \\(\theta = \cos^{-1}\frac{\text{tr}({}^A\bm{R}\_B) - 1}{2}\\).
|
||||||
|
|
||||||
@ -135,14 +135,14 @@ 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="org37e51c1"></a>
|
<a id="org4350510"></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" >}}
|
||||||
|
|
||||||
The Rodrigue's rotation formula for spatial rotation of a rigid body gives us the new position \\(\bm{P}\_2\\) of point \\(\bm{P}\_1\\) after a rotation represented by the screw axis \\(\hat{\bm{s}}\\) and the angle \\(\theta\\):
|
The Rodrigue's rotation formula for spatial rotation of a rigid body gives us the new position \\(\bm{P}\_2\\) of point \\(\bm{P}\_1\\) after a rotation represented by the screw axis \\(\hat{\bm{s}}\\) and the angle \\(\theta\\):
|
||||||
|
|
||||||
\begin{equation}
|
\begin{equation}
|
||||||
\tcmbox{\bm{P}\_2 = \bm{P}\_1 \cos \theta + (\hat{\bm{s}} \times \bm{P}\_1)\sin\theta + (\bm{P}\_1 \cdot \hat{\bm{s}})\hat{\bm{s}}}
|
\boxed{\bm{P}\_2 = \bm{P}\_1 \cos \theta + (\hat{\bm{s}} \times \bm{P}\_1)\sin\theta + (\bm{P}\_1 \cdot \hat{\bm{s}})\hat{\bm{s}}}
|
||||||
\end{equation}
|
\end{equation}
|
||||||
|
|
||||||
|
|
||||||
@ -161,12 +161,12 @@ 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="org358005b"></a>
|
<a id="orge6691ca"></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" >}}
|
||||||
|
|
||||||
Since all three rotations take place about the axes of a **fixed coordinate frame**, the resulting rotation matrix is obtained by multiplying the three basic rotation matrices as follows:
|
Since all three rotations take place about the axes of a **fixed coordinate frame**, the resulting rotation matrix is obtained by multiplying the three basic rotation matrices as follows:
|
||||||
\\[ \tcmbox{\bm{R}\_{PRY}(\alpha, \beta, \gamma) = \bm{R}\_z(\gamma) \bm{R}\_y(\beta) \bm{R}\_x(\alpha)} \\]
|
\\[ \boxed{\bm{R}\_{PRY}(\alpha, \beta, \gamma) = \bm{R}\_z(\gamma) \bm{R}\_y(\beta) \bm{R}\_x(\alpha)} \\]
|
||||||
|
|
||||||
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:
|
||||||
|
|
||||||
@ -266,7 +266,7 @@ If the pose of a rigid body \\(\\{{}^A\bm{R}\_B, {}^A\bm{P}\_{O\_B}\\}\\) is giv
|
|||||||
To describe general transformations, we introduce the \\(4\times1\\) **homogeneous coordinates**, and Eq. \eqref{eq:chasles_therorem} is generalized to
|
To describe general transformations, we introduce the \\(4\times1\\) **homogeneous coordinates**, and Eq. \eqref{eq:chasles_therorem} is generalized to
|
||||||
|
|
||||||
\begin{equation}
|
\begin{equation}
|
||||||
\tcmbox{{}^A\bm{P} = {}^A\bm{T}\_B {}^B\bm{P}}
|
\boxed{{}^A\bm{P} = {}^A\bm{T}\_B {}^B\bm{P}}
|
||||||
\end{equation}
|
\end{equation}
|
||||||
|
|
||||||
in which \\({}^A\bm{T}\_B\\) is a \\(4\times4\\) **homogeneous transformation matrix**.
|
in which \\({}^A\bm{T}\_B\\) is a \\(4\times4\\) **homogeneous transformation matrix**.
|
||||||
@ -284,14 +284,14 @@ For line vectors, both orientation and translation of the moving frame contribut
|
|||||||
Homogeneous coordinate of such vectors is generated by appending \\(1\\) to the three components of that vector:
|
Homogeneous coordinate of such vectors is generated by appending \\(1\\) to the three components of that vector:
|
||||||
|
|
||||||
\begin{equation}
|
\begin{equation}
|
||||||
\tcmbox{\bm{V} = \begin{bmatrix} v\_x \\ v\_y \\ v\_z \\ 1 \end{bmatrix}}
|
\boxed{\bm{V} = \begin{bmatrix} v\_x \\ v\_y \\ v\_z \\ 1 \end{bmatrix}}
|
||||||
\end{equation}
|
\end{equation}
|
||||||
|
|
||||||
For free vectors, only the orientation of the moving frame contributes to their value.
|
For free vectors, only the orientation of the moving frame contributes to their value.
|
||||||
The homogeneous coordinate is then
|
The homogeneous coordinate is then
|
||||||
|
|
||||||
\begin{equation}
|
\begin{equation}
|
||||||
\tcmbox{\bm{\omega} = \begin{bmatrix} \omega\_x \\ \omega\_y \\ \omega\_z \\ 0 \end{bmatrix}}
|
\boxed{\bm{\omega} = \begin{bmatrix} \omega\_x \\ \omega\_y \\ \omega\_z \\ 0 \end{bmatrix}}
|
||||||
\end{equation}
|
\end{equation}
|
||||||
|
|
||||||
|
|
||||||
@ -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="orgd301fdc"></a>
|
<a id="org79cb54b"></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}\\}\\)" >}}
|
||||||
|
|
||||||
@ -383,7 +383,7 @@ And we have:
|
|||||||
From which, the consecutive transformation can be defined as follows:
|
From which, the consecutive transformation can be defined as follows:
|
||||||
|
|
||||||
\begin{equation}
|
\begin{equation}
|
||||||
\tcmbox{{}^A\bm{T}\_C = {}^A\bm{T}\_B {}^B\bm{T}\_C}
|
\boxed{{}^A\bm{T}\_C = {}^A\bm{T}\_B {}^B\bm{T}\_C}
|
||||||
\end{equation}
|
\end{equation}
|
||||||
|
|
||||||
|
|
||||||
@ -429,7 +429,7 @@ Hence, the **inverse of the transformation matrix** can be obtain by
|
|||||||
|
|
||||||
## Kinematics {#kinematics}
|
## Kinematics {#kinematics}
|
||||||
|
|
||||||
<a id="org6add649"></a>
|
<a id="orgfb1e6d5"></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="orgf798a71"></a>
|
<a id="orgd8f574a"></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="org5fd1ad8"></a>
|
<a id="org3ec674f"></a>
|
||||||
|
|
||||||
|
|
||||||
### Introduction {#introduction}
|
### Introduction {#introduction}
|
||||||
@ -631,7 +631,7 @@ The direction of \\(\bm{\Omega}\\) indicates the instantaneous axis of rotation
|
|||||||
The angular velocity vector is related to the screw formalism by equation \eqref{eq:angular_velocity_vector}.
|
The angular velocity vector is related to the screw formalism by equation \eqref{eq:angular_velocity_vector}.
|
||||||
|
|
||||||
\begin{equation}
|
\begin{equation}
|
||||||
\tcmbox{\bm{\Omega} \triangleq \dot{\theta} \hat{\bm{s}}}
|
\boxed{\bm{\Omega} \triangleq \dot{\theta} \hat{\bm{s}}}
|
||||||
\end{equation}
|
\end{equation}
|
||||||
|
|
||||||
The angular velocity can be expressed in any frame. For example \\({}^A\bm{\Omega}\\) denotes the angular velocity of the rigid body expressed in the frame \\(\\{\bm{A}\\}\\) and we have:
|
The angular velocity can be expressed in any frame. For example \\({}^A\bm{\Omega}\\) denotes the angular velocity of the rigid body expressed in the frame \\(\\{\bm{A}\\}\\) and we have:
|
||||||
@ -671,13 +671,13 @@ in which \\(\bm{\Omega}\\) denotes the angular velocity of the moving frame with
|
|||||||
The term \\(\bm{\Omega}\times(\cdot)\\) can be written in matrix form:
|
The term \\(\bm{\Omega}\times(\cdot)\\) can be written in matrix form:
|
||||||
|
|
||||||
\begin{equation}
|
\begin{equation}
|
||||||
\tcmbox{\left( \dv{(\cdot)}{t} \right)\_{\text{fix}} = \left( \pdv{(\cdot)}{t} \right)\_{\text{mov}} + \bm{\Omega}^\times(\cdot)}
|
\boxed{\left( \dv{(\cdot)}{t} \right)\_{\text{fix}} = \left( \pdv{(\cdot)}{t} \right)\_{\text{mov}} + \bm{\Omega}^\times(\cdot)}
|
||||||
\end{equation}
|
\end{equation}
|
||||||
|
|
||||||
The matrix \\(\bm{\Omega}^\times\\) denotes a **skew-symmetric matrix** defined by:
|
The matrix \\(\bm{\Omega}^\times\\) denotes a **skew-symmetric matrix** defined by:
|
||||||
|
|
||||||
\begin{equation}
|
\begin{equation}
|
||||||
\tcmbox{\bm{\Omega}^\times = \begin{bmatrix}
|
\boxed{\bm{\Omega}^\times = \begin{bmatrix}
|
||||||
0 & -\Omega\_z & \Omega\_y \\\\\\
|
0 & -\Omega\_z & \Omega\_y \\\\\\
|
||||||
\Omega\_z & 0 & -\Omega\_x \\\\\\
|
\Omega\_z & 0 & -\Omega\_x \\\\\\
|
||||||
-\Omega\_y & \Omega\_x & 0
|
-\Omega\_y & \Omega\_x & 0
|
||||||
@ -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="orgad9c345"></a>
|
<a id="org998d8f2"></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}\\}\\)" >}}
|
||||||
|
|
||||||
@ -700,7 +700,7 @@ To derive the velocity of point \\(P\\), we differentiate with respect to time:
|
|||||||
The time derivative of the rotation matrix \\({}^A\dot{\bm{R}}\_B\\) is:
|
The time derivative of the rotation matrix \\({}^A\dot{\bm{R}}\_B\\) is:
|
||||||
|
|
||||||
\begin{equation}
|
\begin{equation}
|
||||||
\tcmbox{{}^A\dot{\bm{R}}\_B = {}^A\bm{\Omega}^\times \ {}^A\bm{R}\_B}
|
\boxed{{}^A\dot{\bm{R}}\_B = {}^A\bm{\Omega}^\times \ {}^A\bm{R}\_B}
|
||||||
\end{equation}
|
\end{equation}
|
||||||
|
|
||||||
And we finally obtain equation \eqref{eq:absolute_velocity_formula}.
|
And we finally obtain equation \eqref{eq:absolute_velocity_formula}.
|
||||||
@ -745,7 +745,7 @@ Generally \\(m \geq n\\), in which for a fully parallel manipulator \\(m=n\\) an
|
|||||||
We can differentiate this equation with respect to time and obtain:
|
We can differentiate this equation with respect to time and obtain:
|
||||||
|
|
||||||
\begin{equation}
|
\begin{equation}
|
||||||
\tcmbox{\bm{J}\_x \dot{\bm{\mathcal{X}}} = \bm{J}\_q \dot{\bm{q}}}
|
\boxed{\bm{J}\_x \dot{\bm{\mathcal{X}}} = \bm{J}\_q \dot{\bm{q}}}
|
||||||
\end{equation}
|
\end{equation}
|
||||||
|
|
||||||
where
|
where
|
||||||
@ -791,7 +791,7 @@ with
|
|||||||
By taking the time derivative, we obtain the following **Velocity Loop Closure**:
|
By taking the time derivative, we obtain the following **Velocity Loop Closure**:
|
||||||
|
|
||||||
\begin{equation}
|
\begin{equation}
|
||||||
\tcmbox{\dot{\bm{p}} = \dot{\bm{d}\_i} - \bm{\omega} \times \bm{R} \bm{b}\_i \quad \text{for}\ i = 1, \ldots, m}
|
\boxed{\dot{\bm{p}} = \dot{\bm{d}\_i} - \bm{\omega} \times \bm{R} \bm{b}\_i \quad \text{for}\ i = 1, \ldots, m}
|
||||||
\end{equation}
|
\end{equation}
|
||||||
|
|
||||||
|
|
||||||
@ -859,7 +859,7 @@ By dot multiply both side of the equation by \\(\hat{\bm{s}}\_i\\):
|
|||||||
We then omit the superscript \\(A\\) and we can rearrange the 6 equations into a matrix form
|
We then omit the superscript \\(A\\) and we can rearrange the 6 equations into a matrix form
|
||||||
|
|
||||||
\begin{equation}
|
\begin{equation}
|
||||||
\tcmbox{\dot{\bm{\mathcal{L}}} = \bm{J} \dot{\bm{\mathcal{X}}}}
|
\boxed{\dot{\bm{\mathcal{L}}} = \bm{J} \dot{\bm{\mathcal{X}}}}
|
||||||
\end{equation}
|
\end{equation}
|
||||||
|
|
||||||
<div class="cbox">
|
<div class="cbox">
|
||||||
@ -920,7 +920,7 @@ We assume that the frictional forces acting on the joints are negligible, and al
|
|||||||
The principle of virtual work states that the total virtual work, \\(\delta W\\), done by all actuators and external forces is equal to zero:
|
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{equation}
|
\begin{equation}
|
||||||
\tcmbox{\delta W = \bm{\tau}^T \delta \bm{q} - \bm{\mathcal{F}}^T \delta \bm{\mathcal{X}} = 0}
|
\boxed{\delta W = \bm{\tau}^T \delta \bm{q} - \bm{\mathcal{F}}^T \delta \bm{\mathcal{X}} = 0}
|
||||||
\end{equation}
|
\end{equation}
|
||||||
|
|
||||||
Furthermore, from the definition of the Jacobian, the virtual displacements \\(\delta \bm{q}\\) and \\(\delta \bm{\mathcal{X}}\\) are related by the Jacobian:
|
Furthermore, from the definition of the Jacobian, the virtual displacements \\(\delta \bm{q}\\) and \\(\delta \bm{\mathcal{X}}\\) are related by the Jacobian:
|
||||||
@ -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="org03959f7"></a>
|
<a id="orge814277"></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" >}}
|
||||||
|
|
||||||
@ -986,7 +986,7 @@ Writing the two equations together in a matrix form results in
|
|||||||
There we can recognize the transpose of the Jacobian matrix:
|
There we can recognize the transpose of the Jacobian matrix:
|
||||||
|
|
||||||
\begin{equation}
|
\begin{equation}
|
||||||
\tcmbox{\bm{\mathcal{F}} = \bm{J}^T \bm{\tau}}
|
\boxed{\bm{\mathcal{F}} = \bm{J}^T \bm{\tau}}
|
||||||
\end{equation}
|
\end{equation}
|
||||||
|
|
||||||
in which \\(\bm{\tau} = [f\_1, f\_2, \cdots, f\_6]^T\\) is the vector of actuator forces, and \\(\bm{\mathcal{F}} = [\bm{f}, \bm{n}]^T\\) is the 6D wrench applied by the manipulator to the environment.
|
in which \\(\bm{\tau} = [f\_1, f\_2, \cdots, f\_6]^T\\) is the vector of actuator forces, and \\(\bm{\mathcal{F}} = [\bm{f}, \bm{n}]^T\\) is the 6D wrench applied by the manipulator to the environment.
|
||||||
@ -1004,7 +1004,7 @@ Thus, the stiffness of a manipulator has a direct impact on its overall position
|
|||||||
The relation between the applied actuator force \\(\tau\_i\\) and the corresponding small deflection \\(\Delta q\_i\\) along the applied force axis can be approximated as a **linear function**:
|
The relation between the applied actuator force \\(\tau\_i\\) and the corresponding small deflection \\(\Delta q\_i\\) along the applied force axis can be approximated as a **linear function**:
|
||||||
|
|
||||||
\begin{equation}
|
\begin{equation}
|
||||||
\tcmbox{\tau\_i = k\_i \cdot \Delta q\_i}
|
\boxed{\tau\_i = k\_i \cdot \Delta q\_i}
|
||||||
\end{equation}
|
\end{equation}
|
||||||
|
|
||||||
in which \\(k\_i\\) denotes the **stiffness constant of the actuator**.<br />
|
in which \\(k\_i\\) denotes the **stiffness constant of the actuator**.<br />
|
||||||
@ -1012,7 +1012,7 @@ in which \\(k\_i\\) denotes the **stiffness constant of the actuator**.<br />
|
|||||||
Re-writing the equation \eqref{eq:stiffness_actuator} for all limbs in a matrix form result in
|
Re-writing the equation \eqref{eq:stiffness_actuator} for all limbs in a matrix form result in
|
||||||
|
|
||||||
\begin{equation}
|
\begin{equation}
|
||||||
\tcmbox{\bm{\tau} = \mathcal{K} \cdot \Delta \bm{q}}
|
\boxed{\bm{\tau} = \mathcal{K} \cdot \Delta \bm{q}}
|
||||||
\end{equation}
|
\end{equation}
|
||||||
|
|
||||||
in which \\(\bm{\tau}\\) is the vector of actuator forces, and \\(\Delta \bm{q}\\) corresponds to the actuator deflections.
|
in which \\(\bm{\tau}\\) is the vector of actuator forces, and \\(\Delta \bm{q}\\) corresponds to the actuator deflections.
|
||||||
@ -1035,7 +1035,7 @@ Furthermore, rewriting the Jacobian as the projection of actuator forces to the
|
|||||||
Hence, by substituting \eqref{eq:stiffness_matrix_relation} and \eqref{eq:jacobian_disp_inf} in \eqref{eq:jacobian_force_inf}, we obtain:
|
Hence, by substituting \eqref{eq:stiffness_matrix_relation} and \eqref{eq:jacobian_disp_inf} in \eqref{eq:jacobian_force_inf}, we obtain:
|
||||||
|
|
||||||
\begin{equation}
|
\begin{equation}
|
||||||
\tcmbox{\bm{\mathcal{F}} = \underbrace{\bm{J}^T \mathcal{K} \bm{J}}\_{\bm{K}} \cdot \Delta \bm{\mathcal{X}}}
|
\boxed{\bm{\mathcal{F}} = \underbrace{\bm{J}^T \mathcal{K} \bm{J}}\_{\bm{K}} \cdot \Delta \bm{\mathcal{X}}}
|
||||||
\end{equation}
|
\end{equation}
|
||||||
|
|
||||||
Equation \eqref{eq:stiffness_jacobian} implies that the moving platform output wrench is related to its deflection by the **stiffness matrix** \\(K\\).
|
Equation \eqref{eq:stiffness_jacobian} implies that the moving platform output wrench is related to its deflection by the **stiffness matrix** \\(K\\).
|
||||||
@ -1057,7 +1057,7 @@ The stiffness matrix has desirable characteristics for analysis:
|
|||||||
If the stiffness matrix is inversible (\\(\det( \bm{J}^T \bm{J}) \ne 0\\)), the **compliance matrix** of the manipulator is defined as
|
If the stiffness matrix is inversible (\\(\det( \bm{J}^T \bm{J}) \ne 0\\)), the **compliance matrix** of the manipulator is defined as
|
||||||
|
|
||||||
\begin{equation}
|
\begin{equation}
|
||||||
\tcmbox{\bm{C} = \bm{K}^{-1} = (\bm{J}^T \mathcal{K} \bm{J})^{-1}}
|
\boxed{\bm{C} = \bm{K}^{-1} = (\bm{J}^T \mathcal{K} \bm{J})^{-1}}
|
||||||
\end{equation}
|
\end{equation}
|
||||||
|
|
||||||
The compliance matrix of a manipulator shows the mapping of the moving platform wrench to its deflection by
|
The compliance matrix of a manipulator shows the mapping of the moving platform wrench to its deflection by
|
||||||
@ -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="orga01f67c"></a>
|
<a id="org9d3d43b"></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="org647b848"></a>
|
<a id="org21126fb"></a>
|
||||||
|
|
||||||
|
|
||||||
### Introduction {#introduction}
|
### Introduction {#introduction}
|
||||||
@ -1162,7 +1162,7 @@ The first item is the main advantage of the Newton-Euler formulation, the second
|
|||||||
The dynamic equations in an **explicit form** can be written as:
|
The dynamic equations in an **explicit form** can be written as:
|
||||||
|
|
||||||
\begin{equation}
|
\begin{equation}
|
||||||
\tcmbox{\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}}}
|
\boxed{\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}}}
|
||||||
\end{equation}
|
\end{equation}
|
||||||
|
|
||||||
in which:
|
in which:
|
||||||
@ -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="org4083afe"></a>
|
<a id="org9820ce5"></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" >}}
|
||||||
|
|
||||||
@ -1338,7 +1338,7 @@ Consider frame \\(\\{\bm{C}\\}\\) **parallel** to \\(\\{\bm{A}\\}\\) and attache
|
|||||||
The relation between the inertia matrix about \\(A\\) and that about \\(C\\) is given by the following relation:
|
The relation between the inertia matrix about \\(A\\) and that about \\(C\\) is given by the following relation:
|
||||||
|
|
||||||
\begin{equation}
|
\begin{equation}
|
||||||
\tcmbox{{}^A\bm{I} = {}^C\bm{I} + m(\bm{p}\_c^T \bm{p}\_c \bm{I}\_{3 \times 3} - \bm{p}\_c \bm{p}\_c^T)}
|
\boxed{{}^A\bm{I} = {}^C\bm{I} + m(\bm{p}\_c^T \bm{p}\_c \bm{I}\_{3 \times 3} - \bm{p}\_c \bm{p}\_c^T)}
|
||||||
\end{equation}
|
\end{equation}
|
||||||
|
|
||||||
in which \\(m\\) denotes the mass of the rigid body and \\(\bm{I}\_{3 \times 3}\\) denotes the identity matrix.<br />
|
in which \\(m\\) denotes the mass of the rigid body and \\(\bm{I}\_{3 \times 3}\\) denotes the identity matrix.<br />
|
||||||
@ -1369,7 +1369,7 @@ And because \\(\int\_V r \rho dV = 0\\), we have by substitution
|
|||||||
and thus
|
and thus
|
||||||
|
|
||||||
\begin{equation}
|
\begin{equation}
|
||||||
\tcmbox{{}^A\bm{G} = m \cdot {}^A\bm{v}\_C}
|
\boxed{{}^A\bm{G} = m \cdot {}^A\bm{v}\_C}
|
||||||
\end{equation}
|
\end{equation}
|
||||||
|
|
||||||
in which \\({}^A\bm{v}\_C\\) denotes the velocity of the center of mass with respect to the frame \\(\\{\bm{A}\\}\\).<br />
|
in which \\({}^A\bm{v}\_C\\) denotes the velocity of the center of mass with respect to the frame \\(\\{\bm{A}\\}\\).<br />
|
||||||
@ -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="org6e26879"></a>
|
<a id="org0520561"></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\\)" >}}
|
||||||
|
|
||||||
@ -1395,7 +1395,7 @@ By substituting \\(\bm{p} = \bm{p}\_c + \bm{r}\\) in the previous equations, be
|
|||||||
Therefore, angular momentum of the rigid body about point \\(A\\) is reduced to
|
Therefore, angular momentum of the rigid body about point \\(A\\) is reduced to
|
||||||
|
|
||||||
\begin{equation}
|
\begin{equation}
|
||||||
\tcmbox{{}^A\bm{H} = \bm{p}\_c \times \bm{G}\_c + {}^C\bm{H}}
|
\boxed{{}^A\bm{H} = \bm{p}\_c \times \bm{G}\_c + {}^C\bm{H}}
|
||||||
\end{equation}
|
\end{equation}
|
||||||
|
|
||||||
in which
|
in which
|
||||||
@ -1412,7 +1412,7 @@ If the center of mass is taken as the reference point, the relation describing a
|
|||||||
The Kinetic energy of a rigid body is defined as
|
The Kinetic energy of a rigid body is defined as
|
||||||
|
|
||||||
\begin{equation}
|
\begin{equation}
|
||||||
\tcmbox{\bm{K} = \frac{1}{2} \int\_V \bm{v} \cdot \bm{v} \rho dV}
|
\boxed{\bm{K} = \frac{1}{2} \int\_V \bm{v} \cdot \bm{v} \rho dV}
|
||||||
\end{equation}
|
\end{equation}
|
||||||
|
|
||||||
The velocity of a differential mass \\(\rho dV\\) can be represented by linear velocity of the center of mass and angular velocity of the rigid body as
|
The velocity of a differential mass \\(\rho dV\\) can be represented by linear velocity of the center of mass and angular velocity of the rigid body as
|
||||||
@ -1421,7 +1421,7 @@ The velocity of a differential mass \\(\rho dV\\) can be represented by linear v
|
|||||||
By substitution, the kinetic energy of the rigid body may be obtained by:
|
By substitution, the kinetic energy of the rigid body may be obtained by:
|
||||||
|
|
||||||
\begin{equation}
|
\begin{equation}
|
||||||
\tcmbox{\bm{K} = \frac{1}{2} \bm{v}\_c \times \bm{G}\_c + \frac{1}{2} \bm{\Omega} \cdot {}^C\bm{H}}
|
\boxed{\bm{K} = \frac{1}{2} \bm{v}\_c \times \bm{G}\_c + \frac{1}{2} \bm{\Omega} \cdot {}^C\bm{H}}
|
||||||
\end{equation}
|
\end{equation}
|
||||||
|
|
||||||
in which \\(\bm{G}\_C\\) is the linear momentum of the rigid body and \\({}^C\bm{H}\\) is the angular momentum of the rigid body about the center of mass.<br />
|
in which \\(\bm{G}\_C\\) is the linear momentum of the rigid body and \\({}^C\bm{H}\\) is the angular momentum of the rigid body about the center of mass.<br />
|
||||||
@ -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="orgefff9ac"></a>
|
<a id="orgd4e4f57"></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" >}}
|
||||||
|
|
||||||
@ -1671,7 +1671,7 @@ in which \\(\bm{\mathcal{X}}\\) consists of six coordinates: the first three \\(
|
|||||||
It is preferable to use the **screw coordinates** for representing the angular motion **as its derivative is also a vector representing angular velocity**:
|
It is preferable to use the **screw coordinates** for representing the angular motion **as its derivative is also a vector representing angular velocity**:
|
||||||
|
|
||||||
\begin{equation}
|
\begin{equation}
|
||||||
\tcmbox{\bm{\mathcal{X}} = \begin{bmatrix}\bm{x}\_p \\ \bm{\theta}\end{bmatrix}; \quad
|
\boxed{\bm{\mathcal{X}} = \begin{bmatrix}\bm{x}\_p \\ \bm{\theta}\end{bmatrix}; \quad
|
||||||
\dot{\bm{\mathcal{X}}} = \begin{bmatrix}\bm{v}\_p \\ \bm{\omega}\end{bmatrix}; \quad
|
\dot{\bm{\mathcal{X}}} = \begin{bmatrix}\bm{v}\_p \\ \bm{\omega}\end{bmatrix}; \quad
|
||||||
\ddot{\bm{\mathcal{X}}} = \begin{bmatrix}\bm{a}\_p \\ \dot{\bm{\omega}}\end{bmatrix}}
|
\ddot{\bm{\mathcal{X}}} = \begin{bmatrix}\bm{a}\_p \\ \dot{\bm{\omega}}\end{bmatrix}}
|
||||||
\end{equation}
|
\end{equation}
|
||||||
@ -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="org10dda89"></a>
|
<a id="orgbeb7253"></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="org483a1e4"></a>
|
<a id="orgeaa02c4"></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="orgfe178f0"></a>
|
<a id="org1ca8f23"></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="orgc4c567e"></a>
|
<a id="orgfaf4318"></a>
|
||||||
|
|
||||||
<div class="cbox">
|
<div class="cbox">
|
||||||
<div></div>
|
<div></div>
|
||||||
@ -1829,7 +1829,7 @@ Let us use the motion variables as the generalized coordinate of the moving plat
|
|||||||
Consider the general closed-form dynamics formulation of a parallel robot
|
Consider the general closed-form dynamics formulation of a parallel robot
|
||||||
|
|
||||||
\begin{equation}
|
\begin{equation}
|
||||||
\tcmbox{\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}}}
|
\boxed{\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}}}
|
||||||
\end{equation}
|
\end{equation}
|
||||||
|
|
||||||
where
|
where
|
||||||
@ -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="orge8ba1bf"></a>
|
<a id="org909a7b6"></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="org58f13d1"></a>
|
<a id="orged0d932"></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="org48e4f9a"></a>
|
<a id="org2a995a3"></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="orgaaaa6c0"></a>
|
<a id="orgfb3d861"></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="orgdc25eb0"></a>
|
<a id="org16aa3bf"></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="org606bd43"></a>
|
<a id="org0b974ce"></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="orgc82e82c"></a>
|
<a id="orgecae3b2"></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="org91fbf3f"></a>
|
<a id="orgb029958"></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="orgde515fb"></a>
|
<a id="orgb942112"></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="org12cdae3"></a>
|
<a id="orgbe7cc8a"></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" >}}
|
||||||
|
|
||||||
@ -2162,13 +2162,13 @@ The relation between the task space variables to their counterparts in the joint
|
|||||||
Although both analyses involve solution to a set of non-linear equations, for parallel manipulators, inverse kinematic solution proves to be much easier to obtain than that of forward kinematic solution.<br />
|
Although both analyses involve solution to a set of non-linear equations, for parallel manipulators, inverse kinematic solution proves to be much easier to obtain than that of forward kinematic solution.<br />
|
||||||
|
|
||||||
This relation in **differential kinematics** is much simpler and can be completely determined by the Jacobian matrix:
|
This relation in **differential kinematics** is much simpler and can be completely determined by the Jacobian matrix:
|
||||||
\\[ \tcmbox{\dot{\bm{q}} = \bm{J} \dot{\bm{\mathcal{X}}} \Longrightarrow \dot{\bm{\mathcal{X}}} = \bm{J}^{-1} \dot{\bm{q}}} \\]
|
\\[ \boxed{\dot{\bm{q}} = \bm{J} \dot{\bm{\mathcal{X}}} \Longrightarrow \dot{\bm{\mathcal{X}}} = \bm{J}^{-1} \dot{\bm{q}}} \\]
|
||||||
|
|
||||||
The acceleration variables are then:
|
The acceleration variables are then:
|
||||||
\\[ \ddot{\bm{q}} = \dot{\bm{J}} \dot{\bm{\mathcal{X}}} + \bm{J} \ddot{\mathcal{X}} \Longrightarrow \ddot{X} = \bm{J}^{-1} \ddot{\bm{q}} - \bm{J}^{-1} \dot{\bm{J}} \dot{\bm{\mathcal{X}}} \\]
|
\\[ \ddot{\bm{q}} = \dot{\bm{J}} \dot{\bm{\mathcal{X}}} + \bm{J} \ddot{\mathcal{X}} \Longrightarrow \ddot{X} = \bm{J}^{-1} \ddot{\bm{q}} - \bm{J}^{-1} \dot{\bm{J}} \dot{\bm{\mathcal{X}}} \\]
|
||||||
|
|
||||||
Furthermore, the relation between the actuator force vector \\(\bm{\tau}\\) to the corresponding task space wrench is given by:
|
Furthermore, the relation between the actuator force vector \\(\bm{\tau}\\) to the corresponding task space wrench is given by:
|
||||||
\\[ \tcmbox{\bm{\mathcal{F}} = \bm{J}^T \bm{\tau} \Longrightarrow \bm{\tau} = \bm{J}^{-T} \bm{\mathcal{F}}} \\]
|
\\[ \boxed{\bm{\mathcal{F}} = \bm{J}^T \bm{\tau} \Longrightarrow \bm{\tau} = \bm{J}^{-T} \bm{\mathcal{F}}} \\]
|
||||||
|
|
||||||
Substituting \\(\dot{\bm{\mathcal{X}}}\\) and \\(\ddot{\bm{\mathcal{X}}}\\) from the above equations into the dynamic formulation of the parallel robot gives:
|
Substituting \\(\dot{\bm{\mathcal{X}}}\\) and \\(\ddot{\bm{\mathcal{X}}}\\) from the above equations into the dynamic formulation of the parallel robot gives:
|
||||||
|
|
||||||
@ -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="orgb5d74d6"></a>
|
<a id="org5841aae"></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="orgf7c6a31"></a>
|
<a id="org934eb1c"></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="org94f6836"></a>
|
<a id="org7f6d251"></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="org3d18b1c"></a>
|
<a id="org5f2ddee"></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="orga3a5181"></a>
|
<a id="orgf81b89d"></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="orgf32a158"></a>
|
<a id="orgf39e436"></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="org8584b77"></a>
|
<a id="orgbdf64cb"></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="org9f5853b"></a>
|
<a id="org5701992"></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="orgc28d73d"></a>
|
<a id="orge5122a4"></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="org1b0b0fb"></a>
|
<a id="org47655dc"></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="orgf6e06eb"></a>
|
<a id="org4c94934"></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="orgc96bfaa"></a>
|
<a id="org8390562"></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="org829b469"></a>
|
<a id="org9d33331"></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="org365fe17"></a>
|
<a id="org1fdf95b"></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="orgf8aae74"></a>Taghirad, Hamid. 2013. _Parallel Robots : Mechanics and Control_. Boca Raton, FL: CRC Press.
|
<a id="org8f0ac84"></a>Taghirad, Hamid. 2013. _Parallel Robots : Mechanics and Control_. Boca Raton, FL: CRC Press.
|
||||||
|
Loading…
Reference in New Issue
Block a user