Update Content - 2021-02-01
This commit is contained in:
parent
fe71f270d8
commit
bdf6920eef
@ -8,7 +8,7 @@ Tags
|
||||
: [Stewart Platforms]({{< relref "stewart_platforms" >}}), [Reference Books]({{< relref "reference_books" >}})
|
||||
|
||||
Reference
|
||||
: ([Taghirad 2013](#org2ff306d))
|
||||
: ([Taghirad 2013](#orgf8aae74))
|
||||
|
||||
Author(s)
|
||||
: Taghirad, H.
|
||||
@ -22,7 +22,7 @@ PDF version
|
||||
|
||||
## Introduction {#introduction}
|
||||
|
||||
<a id="org4495a4a"></a>
|
||||
<a id="org65cfcae"></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.
|
||||
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}
|
||||
|
||||
<a id="orgee1cc92"></a>
|
||||
<a id="orgd721dfb"></a>
|
||||
|
||||
|
||||
### 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}\\}\\).
|
||||
|
||||
<a id="orgd39f33b"></a>
|
||||
<a id="orgfdbabd1"></a>
|
||||
|
||||
{{< figure src="/ox-hugo/taghirad13_rigid_body_motion.png" caption="Figure 1: Representation of a rigid body spatial motion" >}}
|
||||
|
||||
@ -73,7 +73,7 @@ The position of a point \\(P\\) with respect to a frame \\(\\{\bm{A}\\}\\) can b
|
||||
The name of the frame is usually added as a leading superscript: \\({}^A\bm{P}\\) which reads as vector \\(\bm{P}\\) in frame \\(\\{\bm{A}\\}\\).
|
||||
|
||||
\begin{equation}
|
||||
\bbox{{}^A\bm{P} = \begin{bmatrix} P\_x\\ P\_y\\ P\_z \end{bmatrix}}
|
||||
\boxed{{}^A\bm{P} = \begin{bmatrix} P\_x\\ P\_y\\ P\_z \end{bmatrix}}
|
||||
\end{equation}
|
||||
|
||||
|
||||
@ -87,7 +87,7 @@ It can be **represented in several different ways**: the rotation matrix, the sc
|
||||
##### Rotation Matrix {#rotation-matrix}
|
||||
|
||||
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](#org85d8aa9)).
|
||||
Its orientation has changed from a state represented by frame \\(\\{\bm{A}\\}\\) to its current orientation represented by frame \\(\\{\bm{B}\\}\\) (Figure [2](#orga66f90a)).
|
||||
|
||||
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}\\}\\).
|
||||
|
||||
<a id="org85d8aa9"></a>
|
||||
<a id="orga66f90a"></a>
|
||||
|
||||
{{< 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.
|
||||
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="org9c023d2"></a>
|
||||
<a id="org37e51c1"></a>
|
||||
|
||||
{{< 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.
|
||||
|
||||
<a id="org285eab7"></a>
|
||||
<a id="org358005b"></a>
|
||||
|
||||
{{< figure src="/ox-hugo/taghirad13_pitch-roll-yaw.png" caption="Figure 4: Definition of pitch, roll and yaw angles on an air plain" >}}
|
||||
|
||||
@ -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)).
|
||||
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="orgf24a8f6"></a>
|
||||
<a id="orgd301fdc"></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}\\}\\)" >}}
|
||||
|
||||
@ -429,7 +429,7 @@ Hence, the **inverse of the transformation matrix** can be obtain by
|
||||
|
||||
## Kinematics {#kinematics}
|
||||
|
||||
<a id="org1e377e0"></a>
|
||||
<a id="org6add649"></a>
|
||||
|
||||
|
||||
### Introduction {#introduction}
|
||||
@ -536,7 +536,7 @@ The position of the point \\(O\_B\\) of the moving platform is described by the
|
||||
\end{bmatrix}
|
||||
\end{equation}
|
||||
|
||||
<a id="org5c8c5e4"></a>
|
||||
<a id="orgf798a71"></a>
|
||||
|
||||
{{< 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}
|
||||
|
||||
<a id="org9ab60b1"></a>
|
||||
<a id="org5fd1ad8"></a>
|
||||
|
||||
|
||||
### 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}\\}\\).
|
||||
|
||||
<a id="org8704477"></a>
|
||||
<a id="orgad9c345"></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}\\}\\)" >}}
|
||||
|
||||
@ -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 />
|
||||
|
||||
<a id="orgfdac282"></a>
|
||||
<a id="org03959f7"></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" >}}
|
||||
|
||||
@ -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\\).
|
||||
|
||||
<a id="org0876695"></a>
|
||||
<a id="orga01f67c"></a>
|
||||
|
||||
{{< 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}
|
||||
|
||||
<a id="org55f30d1"></a>
|
||||
<a id="org647b848"></a>
|
||||
|
||||
|
||||
### 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.
|
||||
|
||||
<a id="org1895ff8"></a>
|
||||
<a id="org4083afe"></a>
|
||||
|
||||
{{< 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 highlights the important of the center of mass in dynamic formulation of rigid bodies.
|
||||
|
||||
<a id="orgcc6923c"></a>
|
||||
<a id="org6e26879"></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}
|
||||
\end{align}
|
||||
|
||||
<a id="org44e228f"></a>
|
||||
<a id="orgefff9ac"></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" >}}
|
||||
|
||||
@ -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**.
|
||||
|
||||
<a id="orgd716d04"></a>
|
||||
<a id="org10dda89"></a>
|
||||
|
||||
{{< 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)
|
||||
\end{equation}
|
||||
|
||||
<a id="orgd2f897c"></a>
|
||||
<a id="org483a1e4"></a>
|
||||
|
||||
{{< 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}
|
||||
|
||||
<a id="org126b94a"></a>
|
||||
<a id="orgfe178f0"></a>
|
||||
|
||||
|
||||
### Introduction {#introduction}
|
||||
@ -1815,7 +1815,7 @@ However, using advanced techniques in nonlinear and MIMO control permits to over
|
||||
|
||||
### Controller Topology {#controller-topology}
|
||||
|
||||
<a id="org05c055d"></a>
|
||||
<a id="orgc4c567e"></a>
|
||||
|
||||
<div class="cbox">
|
||||
<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}\\).
|
||||
The controller uses this error information to generate suitable commands for the actuators to minimize the tracking error.<br />
|
||||
|
||||
<a id="org182849a"></a>
|
||||
<a id="orge8ba1bf"></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" >}}
|
||||
|
||||
@ -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.
|
||||
|
||||
<a id="org0f77c85"></a>
|
||||
<a id="org58f13d1"></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" >}}
|
||||
|
||||
@ -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\\).
|
||||
Hence, the controller is designed based on the **joint space error** \\(\bm{e}\_q\\).
|
||||
|
||||
<a id="org05aa064"></a>
|
||||
<a id="org48e4f9a"></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" >}}
|
||||
|
||||
@ -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).
|
||||
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="org3409c44"></a>
|
||||
<a id="orgaaaa6c0"></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" >}}
|
||||
|
||||
@ -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}
|
||||
|
||||
<a id="org311a3f5"></a>
|
||||
<a id="orgdc25eb0"></a>
|
||||
|
||||
|
||||
#### 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 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="orgbae3115"></a>
|
||||
<a id="org606bd43"></a>
|
||||
|
||||
{{< 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:
|
||||
\\[ \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="org655bb41"></a>
|
||||
<a id="orgc82e82c"></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" >}}
|
||||
|
||||
@ -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 />
|
||||
|
||||
<a id="org3965925"></a>
|
||||
<a id="org91fbf3f"></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" >}}
|
||||
|
||||
@ -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) \\]
|
||||
is a measure of modeling uncertainty.
|
||||
|
||||
<a id="org0cecfee"></a>
|
||||
<a id="orgde515fb"></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" >}}
|
||||
|
||||
|
||||
#### Adaptive Inverse Dynamics Control {#adaptive-inverse-dynamics-control}
|
||||
|
||||
<a id="org27eb8f2"></a>
|
||||
<a id="org12cdae3"></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" >}}
|
||||
|
||||
@ -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 />
|
||||
|
||||
<a id="orgca65d36"></a>
|
||||
<a id="orgb5d74d6"></a>
|
||||
|
||||
{{< 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.
|
||||
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="org7656b07"></a>
|
||||
<a id="orgf7c6a31"></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" >}}
|
||||
|
||||
@ -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**.
|
||||
In practice, exact knowledge of dynamic matrices are not available, and there estimates are used.<br />
|
||||
|
||||
<a id="orgb5f0c2b"></a>
|
||||
<a id="org94f6836"></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" >}}
|
||||
|
||||
@ -2567,7 +2567,7 @@ Hence, it is recommended to design and implement controllers in the task space,
|
||||
|
||||
## Force Control {#force-control}
|
||||
|
||||
<a id="org12ee9f8"></a>
|
||||
<a id="org3d18b1c"></a>
|
||||
|
||||
|
||||
### Introduction {#introduction}
|
||||
@ -2623,7 +2623,7 @@ The output control loop is called the **primary loop**, while the inner loop is
|
||||
|
||||
</div>
|
||||
|
||||
<a id="org2d75c60"></a>
|
||||
<a id="orga3a5181"></a>
|
||||
|
||||
{{< 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 />
|
||||
|
||||
<a id="org3bd731e"></a>
|
||||
<a id="orgf32a158"></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" >}}
|
||||
|
||||
@ -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.
|
||||
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="org53869ab"></a>
|
||||
<a id="org8584b77"></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" >}}
|
||||
|
||||
@ -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 />
|
||||
|
||||
<a id="org9bd421c"></a>
|
||||
<a id="org9f5853b"></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" >}}
|
||||
|
||||
@ -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.
|
||||
This configuration may be seen as if the **outer loop generates a desired force trajectory for the inner loop**.<br />
|
||||
|
||||
<a id="org97c9009"></a>
|
||||
<a id="orgc28d73d"></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" >}}
|
||||
|
||||
@ -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.
|
||||
In such case, the Jacobian transpose is used to map the actuator force to its corresponding wrench in the task space.<br />
|
||||
|
||||
<a id="org043e8b8"></a>
|
||||
<a id="org1b0b0fb"></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" >}}
|
||||
|
||||
@ -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**.
|
||||
Thus, independent controllers for each joint may be suitable for this topology.
|
||||
|
||||
<a id="org432e142"></a>
|
||||
<a id="orgf6e06eb"></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" >}}
|
||||
|
||||
@ -2730,7 +2730,7 @@ Thus, independent controllers for each joint may be suitable for this topology.
|
||||
|
||||
### Direct Force Control {#direct-force-control}
|
||||
|
||||
<a id="orgbb2b156"></a>
|
||||
<a id="orgc96bfaa"></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" >}}
|
||||
|
||||
@ -2821,7 +2821,7 @@ The impedance of the system may be found from the Laplace transform of the above
|
||||
|
||||
</div>
|
||||
|
||||
<a id="org82d1727"></a>
|
||||
<a id="org829b469"></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" >}}
|
||||
|
||||
@ -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.
|
||||
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="org58add63"></a>
|
||||
<a id="org365fe17"></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" >}}
|
||||
|
||||
@ -2918,4 +2918,4 @@ However, note that for a good performance, an accurate model of the system is re
|
||||
|
||||
## Bibliography {#bibliography}
|
||||
|
||||
<a id="org2ff306d"></a>Taghirad, Hamid. 2013. _Parallel Robots : Mechanics and Control_. Boca Raton, FL: CRC Press.
|
||||
<a id="orgf8aae74"></a>Taghirad, Hamid. 2013. _Parallel Robots : Mechanics and Control_. Boca Raton, FL: CRC Press.
|
||||
|
Loading…
Reference in New Issue
Block a user