You are on page 1of 12

Mechatronics 76 (2021) 102555

Contents lists available at ScienceDirect

Mechatronics
journal homepage: www.elsevier.com/locate/mechatronics

Motion control algorithms based on the dynamic modelling of kinematically


redundant hybrid parallel robots✩
Tan-Sy Nguyen, David Harton, Alexandre Campeau-Lecours, Clément Gosselin ∗
Department of Mechanical Engineering, Université Laval, Québec, QC, Canada

ARTICLE INFO ABSTRACT

Keywords: This paper discusses the motion control problem of kinematically redundant hybrid parallel robots that were
Redundant parallel robot recently proposed. The kinematic and dynamic models are firstly reviewed. It is pointed out that the robot
Dynamic model can be decomposed into two parts and that each part can be analysed independently. A new hybrid approach
Motion control
is proposed based on this property of the robot. This approach includes an adapted computed-torque control
Computed-torque
scheme for the legs that operates in the joint space as well as a compensation of the errors of the platform
Cartesian compensation
applied in the Cartesian space. The convergence of this proposed approach is also verified using the Lyapunov
stability theory. Two example architectures of kinematically redundant robots are built and experiments are
conducted. Finally, the results are compared and analysed in order to validate the improvements provided by
the proposed control method. It is shown that the proposed control scheme significantly reduces the position
error. Potential extensions of this work are also discussed.

1. Introduction planning of this type of robot can be managed by simply using the
inverse kinematics.
A particular task in a free space is described by a number of Based on the connection between the task space and the joint space
required degrees of freedom (DOF). A robot performing this task is described by the motion planning, motion control is then considered
required to have at least the same number of DOF as the task. More in the next step to compute an applied torque on each actuated joint.
interestingly, the robot can have more DOF than needed, which yields In this regard, joint torque can be calculated separately for the unique
redundancy. The main idea of redundancy in robots is to increase the purpose that the joint output follows its desired value. PD or PID, for
dexterity. As a result, the robots can avoid singularities or perform example in [12], is a popular choice that can provide quick preliminary
auxiliary tasks like obstacle avoidance, task space restrictions or others. results. However, it is undeniable that there are coupling effects among
However, redundancy increases the complexity of the motion planning the joints expressed by the dynamic model. In order to ensure the
and motion control problems. stability as well as the tracking performance, control approaches like
The motion planning of serial redundant robots is mainly solved Feedback Linearization, Passivity-Based Control or Computed-Torque
by using the first-order kinematic differential equations, rather than are considering and summarized in [13]. Such techniques increase the
considering the kinematics (forward and inverse) directly. In such
control performance as long as the dynamic model is derived precisely
cases, a minimum norm solution is combined with a solution in the
enough. All control methods mentioned above are technically realized
null space of the Jacobian matrix [1]. The solution in the nullspace
in the perspective of the joint space. Others approaches in the task
is used to satisfy performance criteria or additional constraints in
space [14,15] have also been studied.
the joint space and the task space (see for instance [2–4]). Although
While the formulation of the trajectory planning of redundant serial
the redundancy in serial robots is purely kinematic, two types of
robots is a mature subject [16], the trajectory planning and control of
redundancies can be implemented in parallel robots, namely kinematic
redundant parallel robots is still an open research issue. This is due
redundancy and actuation redundancy [5]. Examples of kinematically
in part to the diversity of the architectures and the complexity of the
redundant parallel manipulators are shown in [6–9]. The redundant
DOFs of a kinematically redundant parallel robot can be used to operate modelling of parallel robots, especially kinematically redundant paral-
additional mechanisms like a gripper [10,11]. Therefore, the redundant lel robots. Indeed, combining the kinematic and the dynamic analyses
DOFs must be specified at all times during a trajectory and the motion is the most important issue to design a control scheme for a specific

✩ This paper was recommended for publication by Associate Editor Ivan Petrović.
∗ Corresponding author.
E-mail address: Clement.Gosselin@gmc.ulaval.ca (C. Gosselin).

https://doi.org/10.1016/j.mechatronics.2021.102555
Received 29 January 2021; Received in revised form 20 March 2021; Accepted 6 April 2021
Available online 3 May 2021
0957-4158/© 2021 Elsevier Ltd. All rights reserved.
T.-S. Nguyen et al. Mechatronics 76 (2021) 102555

Fig. 1. Architecture of the kinematically redundant hybrid parallel robot [21].

robot. Examples of controllers for parallel robots have been proposed


for the DELTA robot [17,18], the Gough–Stewart platform [19], the Fig. 2. Notation for the three different types of platforms and their redundant links.
Triperon and Quadrupteron robots [20] and several others. The three different types of platform are the ones proposed in [22].
In this work, the dynamic modelling and the trajectory control of the
three-legged (6+3)-dof kinematically redundant hybrid parallel robot Table 1
proposed in [11] and [21] is addressed. The kinematics of the robot are Expression of the position vector 𝐬𝑖 for each of the
briefly recalled and analysed more specifically in Section 2. Both the articulated platforms.
forward and inverse kinematics can be computed in real-time which PA1 𝒔𝑖 = 𝒑 + 𝑸𝒃𝑖 − 𝒂𝑖
PA2 𝒔𝑖 = 𝒑 + 𝑸(𝒃𝑖 + 𝒅 𝑖 ) − 𝒂𝑖
greatly facilitates the motion planning. Then, the dynamic model is
PA3 𝒔𝑖 = 𝒑 + 𝑸𝒅 𝑖
examined in Section 3. Based on the analysis of the two preceding
sections, the motion control problem is then considered in Section 4.
A new hybrid approach is also introduced in this section. Experiments
have been conducted with two implementations of a prototype and the containing all actuated joint coordinates of the robot. Since the robot
results are shown in Section 5. The performance of the control algo- is composed of three separate legs, the three joint angles of a leg are
rithms is validated and compared with that obtained with a simplified represented by a vector 𝜽𝑖 ∈ 𝑹3×1 , in which 𝑖 = 1, 2, 3 is the number of
computed torque scheme. Lastly, Section 6 summarizes the paper and the leg.
discusses potential future work. Additional vectors are needed to describe the kinematics of the
articulated platform, as shown in Fig. 2. The notation is similar to that
2. Kinematic analysis used in [22] and [21], namely: 𝒂𝑖 is a vector defined along the 𝑖th
redundant link, 𝒃𝑖 is vector pointing from the origin of the platform
Referring to Fig. 1, the kinematically redundant hybrid parallel frame to an arbitrary point on the axis of the redundant link joint,
robot studied in this work is composed of three legs and an articulated 𝒏𝑖 is an unit vector normal to this axis of motion for the prismatic
platform. Each of the legs consists of a 3-dof RRR equivalent kinematic joints and along the axis of motion for the revolute joint. Vectors 𝒃𝑖 , 𝒏𝑖
chain fully actuated by three motors. The last two joints form a planar are expressed in the platform frame, while 𝒂𝑖 is expressed in the base
parallelogram mechanism mounted on the output link of the first joint. frame. Three types of articulated platforms, noted PA1, PA2 and PA3,
This design allows to place the three motors of each leg near the base, are represented in Fig. 2. They include a spherical joint 𝑆𝑖 at the tip of
leg 𝑖, whose position in the base frame is given by vector 𝐬𝑖 , a redundant
thereby reducing considerably the moving mass of the whole system.
link, along which vector 𝐚𝑖 is defined, and a revolute or prismatic joint
The 𝑖th leg is used to position the 𝑖th spherical joint 𝑆𝑖 in three-
attached to the platform. In PA1, the redundant joints are revolute
dimensional space. The spherical joint is then connected to the platform
joints and therefore the vector of redundant parameters is composed of
by a redundant link through another joint, which can be revolute or
three rotary angles 𝛽𝑖 , (𝑖 = 1, 2, 3). In PA2 and PA3, the redundant joints
prismatic.
are prismatic joints and therefore the vector of redundant parameters
is composed of the three displacements of the prismatic joints noted
2.1. Notation
𝑑𝑖 , (𝑖 = 1, 2, 3). Also, the vector of this displacement, expressed in the
platform frame, is represented by 𝒅 𝑖 . All the vector 𝒂𝑖 , 𝒃𝑖 , 𝒏𝑖 , 𝐬𝑖 and 𝒅 𝑖
The pose of the platform of the robot moving in a free space can be are defined in 𝑹3×1 .
represented by (𝒑, 𝑸), in which 𝒑 ∈ 𝑹3×1 is the position vector of the
origin of the reference frame attached to the platform in a base frame 2.2. Kinematics of the articulated platforms
𝑂𝑥𝑦𝑧 and 𝑸 ∈ 𝑹3×3 is the rotation matrix representing the orientation
of the platform with respect to the same base frame. Matrix 𝑸 is defined With a given position and orientation of the platform, if the vector
as 𝑸 = [𝒒 𝑥 𝒒 𝑦 𝒒 𝑧 ], in which 𝒒 𝑥 , 𝒒 𝑦 , 𝒒 𝑧 ∈ 𝑹3×1 are the unit vectors of of redundant parameters 𝜷∕𝒅 is prescribed, the position vector 𝒔𝑖 of
the platform frame 𝑂′ 𝑥′ 𝑦′ 𝑧′ represented in the base frame. Redundant the passive joint 𝑆𝑖 can be easily determined as shown in Table 1.
robots are considered here and hence, in addition to the pose of the The solutions are completely analytical and unique. From a practical
platform, a set of redundant angles or displacements must be specified point of view, these equations are very simple to program and to
in order to fully define the configuration of the robot. The redundant execute in real-time in the controller. Once the position vector of point
angles or displacements of the platform are represented by a vector of 𝑆𝑖 is obtained, each of the legs can be considered as a three-degree-
redundant parameters 𝜷∕𝒅 ∈ 𝑹3×1 . The configuration of the robot is of-freedom (3-dof) robot whose inverse kinematics is readily solved.
then given by the pose of the platform plus the vector of redundant Therefore, if the redundant vector is specified, computing the solution
parameters, namely (𝒑, 𝑸, 𝜷∕𝒅), where 𝜷∕𝒅 means that either vector 𝜷 of the inverse kinematics of the complete robot is straightforward.
or vector 𝒅 is used, depending on the type of redundant joints included On the other hand, the forward kinematic problem of the articulated
in the robot. Vector 𝜽 ∈ 𝑹9×1 is defined as the joint coordinate vector, platform is more complicated and [23] has discussed several possible

2
T.-S. Nguyen et al. Mechatronics 76 (2021) 102555

Fig. 3. Vector components at each passive joint.

Table 2 derived in [22], the velocity equations of architecture (PA1) can be


Constraints to be used for the solution of the direct kinematics. arranged in matrix form as
(𝒑 + 𝑸𝒃𝑖 − 𝒔𝑖 )𝑇 (𝒑
+ 𝑸𝒃𝑖 − 𝒔𝑖 ) − 𝑙𝑖2 =0 𝒒 𝑇𝑥 𝒒 𝑥 −1=0
PA1
𝒒 𝑇𝑧 (𝒑𝑖 + 𝑸𝒃𝑖 − 𝒔𝑖 ) = 0 𝒒 𝑇𝑦 𝒒 𝑦 −1=0 ⎡𝒂𝑇1 (𝑸𝒃1 × 𝒂1 )𝑇 ⎤ 𝑇
⎡𝒂1 𝒔̇1 ⎤
⎢𝒒 𝑇 [ ]𝑇
𝒒 𝑇𝑥 𝒒 𝑦 =0
⎢ 𝑧 (𝒔1 − 𝒑) × 𝒒 𝑧 ⎥⎥ ⎢𝒒 𝑇𝑧 𝒔̇1 ⎥
PA2 𝒅 𝑇𝑖 (𝑸𝒏𝑖 ) = 0 𝒒 𝑇𝑥 𝒒 𝑧 =0 [ ] ⎢ 𝑇 ⎥
⎢𝒂𝑇2 (𝑸𝒃2 × 𝒂2 )𝑇 ⎥ 𝒑̇ 𝒂 𝒔̇
PA3 𝒒 𝑇𝑧 𝒅 𝑖 = 0 𝒒 𝑇𝑦 𝒒 𝑧 =0 ⎢ 𝑇 [ ]𝑇 ⎥ = ⎢ 𝑇2 2 ⎥ . (4)
⎢𝒒 𝑧 (𝒔2 − 𝒑) × 𝒒 𝑧 ⎥ 𝝎 ⎢𝒒 𝑧 𝒔̇2 ⎥
⎢𝒂𝑇3 ⎢𝒂𝑇 𝒔̇ ⎥
(𝑸𝒃3 × 𝒂3 )𝑇 ⎥ ⎢ 3 3⎥
⎢ 𝑇 [ ]𝑇 ⎥ ⎣𝒒 𝑇 𝒔̇3 ⎦
⎣𝒒 𝑧 (𝒔 − 𝒑) × 𝒒 ⎦
3 𝑧 𝑧
methods. Nonetheless, numerical methods can be used in practice and
Similarly for architectures (PA2) and (PA3), one has
they converge quickly and stably provided that a proper initial guess
[ ]𝑇
is given. When following a trajectory, the current pose is chosen as the ⎡(𝑸𝒏1 )𝑇 (𝒔1 − 𝒑) × (𝑸𝒏1 ) ⎤ 𝑇
⎡(𝑸𝒏1 ) 𝒔̇1 ⎤
⎢ 𝒒𝑇 [ ] 𝑇 ⎥
initial guess for the next iteration process. In this work, the Newton– (𝒔1 − 𝒑) × 𝒒 𝑧 ⎢ 𝒒 𝑇 𝒔̇ ⎥
⎢ 𝑧 [ ]𝑇 ⎥ [ ] ⎢ 𝑧 1

Gauss algorithm is used. The direct kinematic problem is defined as the ⎢(𝑸𝒏2 )𝑇 (𝒔2 − 𝒑) × (𝑸𝒏2 ) ⎥ 𝒑̇ (𝑸𝒏2 )𝑇 𝒔̇2 ⎥
⎢ [ ]𝑇 ⎥ = ⎢ . (5)
determination of the pose of the platform (𝒑, 𝑸) and the redundancy ⎢ 𝑧 2 ⎥
𝑇 𝝎 𝒒 𝑇 𝒔̇
⎢ 𝒒 (𝒔 2 − 𝒑) × 𝒒 𝑧 ⎥
vector 𝜷 or 𝒅 for a given joint coordinate vector 𝜽. Given that the
𝑧 [ ] ⎢ ⎥
⎢(𝑸𝒏 )𝑇 (𝒔3 − 𝒑) × (𝑸𝒏3 ) ⎥
𝑇 𝑇
⎢(𝑸𝒏𝑇3 ) 𝒔̇3 ⎥
vector of joint coordinates is known, it is assumed that the position ⎢ 3
[ ]𝑇 ⎥ ⎣ 𝒒 𝑧 𝒔̇3 ⎦
⎣ 𝒒𝑇 (𝒔3 − 𝒑) × 𝒒 𝑧 ⎦
of the end point of each of the legs, vector 𝐬𝑖 , is readily computed. 𝑧

Indeed, it is assumed that the architecture of each of the legs is that of a Simplifying Eqs. (4) and (5) by dividing by ‖ ‖ ‖ ‖ ‖ ‖
‖𝒂1 ‖ , ‖𝒂2 ‖ , ‖𝒂3 ‖, both
straightforward 3-dof positioning robot. Once vectors 𝒔𝑖 are computed, equations can be rewritten as follows
the kinematics of the articulated platform is considered. [ ]𝑇
⎡ 𝒖𝑇 (𝒔 − 𝒑) × 𝒖1 ⎤ 𝑇
Firstly, all constraints are listed as in Table 2. They are summarized ⎢ 1𝑇 [ 1 ]𝑇 ⎥ ⎡ (𝒖1 ) 𝐬̇1 ⎤
⎢𝒘1 (𝒔1 − 𝒑) × 𝒘1 ⎥ ⎢(𝒘1 )𝑇 𝒔̇1 ⎥
from the velocity equations in [22] and [23], in which vector 𝒒 𝑧 can ⎢ 𝒖𝑇 [ ]𝑇 [ ] ⎢
⎢ 2 (𝒔2 − 𝒑) × 𝒖2 ⎥⎥ 𝒑̇ (𝒖 )𝑇 𝐬̇

be easily computed as [ ]𝑇 =⎢ 2 𝑇 2⎥ (6)
⎢𝒘𝑇 (𝒔 − 𝒑) × 𝒘2 ⎥ 𝝎 ⎢ (𝒘2 ) 𝒔̇2 ⎥
𝒒 𝑧 = (𝒔1 − 𝒔2 ) × (𝒔1 − 𝒔3 ). (1) ⎢ 𝑇2 [ 2 ]𝑇 ⎥ ⎢ (𝒖 )𝑇 𝐬̇ ⎥
⎢ 𝒖3 (𝒔3 − 𝒑) × 𝒖3 ⎥ ⎢ 3 𝑇 3⎥
⎢𝒘𝑇 [(𝒔 − 𝒑) × 𝒘 ]𝑇 ⎥ ⎣(𝒘3 ) 𝒔̇3 ⎦
Also, additional constraints associated with the orthogonality of a ⎣ 3 3 3 ⎦
rotation matrix, namely 𝑸𝑇 𝑸 = 𝑰, must be included. These constraints in which a frame is attached to each passive joint represented by
can be assembled in a vector function represented in compact form as. (𝒖𝑖 , 𝒗𝑖 , 𝒘𝑖 ) as shown in Fig. 3 where 𝒘𝑖 aligns with 𝒒 𝑧 . Generally, it
can be said that the velocity of 𝑆𝑖 does not fully contribute to the
𝒇 = 𝟎. (2)
velocity of the platform due to the passive redundant joint. Indeed,
Accordingly, a recursive form of the Newton-Gauss algorithm is derived two components of this velocity contribute to this motion. The first
as component is the projection of 𝒔̇ 𝑖 onto the direction of vector 𝒖𝑖 .
[ ]† The other is the projection onto the direction normal to the plane of
𝜕𝒇 the platform. The third component, in the direction of vector 𝒗𝑖 , can
𝒙𝑘+1 = 𝒙𝑘 + |𝒙=𝒙𝑘 𝒇 |𝒙=𝒙𝑘 (3)
𝜕𝒙 only change the redundant parameters (angles 𝜷 or displacements 𝒅)
𝜕𝐟 without having any effect on the pose of the platform. Matrix 𝑲 ∈ 𝑹6×6
where the variable vector is 𝒙 = [𝒑𝑇 𝒒 𝑇𝑥 𝒒 𝑇𝑦 ]𝑇 ∈ 𝑹9×1 and 𝜕𝐱 stands for
is defined as the Jacobian matrix of this mechanism. This matrix, which
the partial derivative of vector 𝐟 with respect to vector 𝐱 and (⋅)† stands
will be used in the next sections, can be written as
for the pseudoinverse of its argument. In Eq. (3), the least-squares
[ ]𝑇
inverse (or Moore–Penrose inverse) is applied since there are more ⎡ 𝒖𝑇 (𝒔 − 𝒑) × 𝒖1 ⎤
⎢ 1𝑇 [ 1 ]𝑇 ⎥
constrains than the number of variables. Lastly, the initial guess for this ⎢𝒘1 (𝒔1 − 𝒑) × 𝒘1 ⎥
⎢ 𝒖𝑇 [ ]
(𝒔 − 𝒑) × 𝒖2 ⎥⎥
iteration is the previous configuration (𝒑𝑘 , 𝑸𝑘 ) as mentioned before. The 𝑇

Newton–Gauss algorithm converges rapidly to the solution in 3–5 iter- 𝑲 = ⎢ 2𝑇 [ 2 ]𝑇 . (7)


⎢𝒘 (𝒔 − 𝒑) × 𝒘2 ⎥
ations under the condition of a desired absolute error. In this case, the ⎢ 𝑇2 [ 2 ]𝑇 ⎥
⎢ 𝒖3 (𝒔3 − 𝒑) × 𝒖3 ⎥
absolute error is chosen as ‖𝐟‖ ≤ 10−7 . In other words, the magnitude ⎢𝒘𝑇 [(𝒔 − 𝒑) × 𝒘 ]𝑇 ⎥
of vector 𝐟 must be smaller than the selected threshold. It should be ⎣ 3 3 3 ⎦

noted here that robot singularity avoidance prevents equation (3) from 3. Dynamic modelling
being ill-conditioned. As a result, the forward kinematics can also be
solved quickly at every control step. In the robot studied in this work, direct-drive actuators are used
The platform and its redundant links can be considered as a mech- in order to make the robot backdrivable and provide a very natu-
anism, in which three passive spherical joints 𝑆𝑖 are positioned by ral human–robot interaction. As a consequence, the dynamics of the
the legs to reach any point in three dimensional space. If these three moving links of the robot are directly reflected at the actuators. It is
position vectors 𝒔𝑖 , (𝑖 = 1, 2, 3) are the inputs of this mechanism, the therefore important to include the dynamic model of the robot in the
velocity equation of the mechanism can be derived as follows. As controller in order to provide an effective feedforward control loop.

3
T.-S. Nguyen et al. Mechatronics 76 (2021) 102555

Fig. 4. Platform dynamics of PA1.

3.1. Notation

The position vector of the centre of mass of the platform 𝐺 is defined


as 𝒓𝑔 ∈ 𝑹3×1 expressed in the platform frame. At each passive spherical
joint 𝑆𝑖 , there is a force 𝒇 𝑆𝑖 that the leg applies to the platform. 𝒖 𝒇 =
(𝒖𝑇 𝒇 )𝒖 represents the projection of the force 𝒇 on the direction of the
unit vector 𝒖. Fig. 5. RRR leg with 5-bar mechanism.

3.2. Platform and redundant links


where 𝑴 ∈ 𝑹3×3 is the generalized inertia matrix, 𝑴, ̇ 𝑪 ∈ 𝑹3×3 are
In order to simplify the dynamic model, the mass and inertia of centrifugal and Coriolis matrices, respectively. 𝝉 𝑔 ∈ 𝑹3×1 is the gravity
the redundant links is neglected, due to their small size and mass. The component. Mass, centre of mass, inertia tensors of each element are
determined based on CAD model and the development of Eq. (11) has
platform is considered as a rigid body with centre of mass at point 𝐺,
been studied in detail in [24], where the details of matrices 𝑴, 𝑴, ̇ 𝑪
mass 𝑚𝑔 and inertia 𝐈𝑂′ , as shown in Fig. 4. Using the Jacobian matrix
and 𝝉 𝑔 can also be found. In the prototype design, most of the inertia is
defined above, the forces applied by each of the legs to the redundant
near the base and the operational velocity is not large enough to make
links can be transferred to the platform by defining the virtual total
the contribution of centrifugal forces and Coriolis forces significant
force/torque [𝒇 𝑡𝑡 , 𝝉 𝑡𝑡 ]𝑇 ∈ 𝑹6×1 and applying the principle of virtual
compared to the other terms. They are thus neglected in the simplified
work, yielding
dynamic model below. Friction is also neglected because a direct-drive
𝑇 transmission is used. The simplified dynamic model of a leg is then
⎡ (𝒖1 ) 𝒇 𝑆1 ⎤
⎢(𝒘1 )𝑇 𝒇 𝑆1 ⎥ written as
[ ] ⎢ ⎥
𝒇 𝑡𝑡 (𝒖 )𝑇 𝒇
= 𝑲 𝑇 ⎢ 2 𝑇 𝑆2 ⎥ . (8) 𝑴 𝜽̈ + 𝝉 𝑔 = 𝝉. (12)
𝝉 𝑡𝑡 ⎢(𝒘2 ) 𝒇 𝑆2 ⎥
⎢ (𝒖 )𝑇 𝒇 ⎥ Both terms of the model in Eq. (12) have been validated by experiments
⎢ 3 𝑇 𝑆3 ⎥
⎣(𝒘3 ) 𝒇 𝑆3 ⎦ to ensure their accuracy, as presented in Section 5.

This equation clearly shows the physical meaning of the Jacobian 3.4. Kinematic-dynamic decomposition
matrix 𝑲. The resulting virtual force and torque [𝒇 𝑡𝑡 , 𝝉 𝑡𝑡 ]𝑇 are then
considered in the dynamic model as follows The hybrid architecture of the family of robots considered here al-
𝒇 𝑡𝑡 + 𝑚𝑔 𝒈 = 𝑚𝒑̈ lows to decompose the robot into two parts: the legs and the articulated
(9) platform (including the redundant links and joints) as studied above.
𝝉 𝑡𝑡 + 𝑚𝑔 𝒈 × 𝒓𝑔 = 𝑰 𝑂′ 𝝎̇ + 𝝎 × 𝑰 𝑂′ 𝝎. Hence, both kinematics and dynamics can be considered separately,
Geometrically speaking, Eq. (8) involves the two components of each which greatly simplifies the analysis of the robot. Moreover, robot kine-
force 𝒇 𝑆𝑖 in the direction of 𝒖𝑖 and 𝒘𝑖 . Also, since the mass and inertia matics and dynamics are solvable in real-time yielding the possibility
of the redundant links are neglected, the constraint associated with the of using feedforward/feedback signals in the Cartesian space. This idea
redundant joints can be written as has been eluded to in [21] and it is the main motivation to propose the
new compensation method in the next section.
(𝒗𝑖 )𝑇 𝒇 𝑆𝑖 = 0 (𝑖 = 1, 2, 3). (10)
4. Motion control methods
The dynamic model (9) and (10) finally shows the contribution of all
the components of the forces 𝒇 𝑆𝑖 . In the operation of the robots studied here, a trajectory is planned to
accomplish a task in the operational coordinates of the robot (Cartesian
3.3. Leg dynamic model coordinates). The inputs and the feedback signals of the robot are joint
torques and joint positions respectively, which are in the space of joint
In this section, the legs are assumed to be based on the serial RRR coordinates. The mapping between these two sets of coordinates is
mechanisms. The real leg that instantiates this architecture is shown mostly nonlinear and not a bijection. The classical and most popular
in Fig. 5(a) and the dynamic modelling is represented schematically in method is to generate the corresponding reference trajectory 𝜽𝑑 using
Fig. 5(b). Their kinetic energy and potential energy are then computed the inverse kinematics and to verify the feasibility and continuity of
and the dynamic model of the leg is derived as follows using the signals in the joint space. Then a control scheme must be selected in
Lagrange method, yielding order to design a controller so that the error 𝒆𝜃 = 𝜽𝑑 − 𝜽 is as close
to zero as possible. Different control schemes are described below. The
𝑴(𝜽)𝜽̈ + 𝑴(
̇ 𝜽,
̇ 𝜽)𝜽̇ + 𝑪(𝜽,
̇ 𝜽)𝜽̇ + 𝝉 𝑔 (𝜽) = 𝝉 (11) left superscript number used below denotes the different methods.

4
T.-S. Nguyen et al. Mechatronics 76 (2021) 102555

Fig. 6. Simplified Computed Torque Control on the 𝑖th leg.

4.1. PID and simplified Computed-Torque forced to be zero, as can be seen from Eq. (17). Each of the force 𝒇 𝑆𝑖
is then determined by the sum
A PID controller is first examined. This type of controller is simple
𝒇 𝑆𝑖 =𝒖𝑖 𝒇 𝑆𝑖 +𝒗𝑖 𝒇 𝑆𝑖 +𝒘𝑖 𝒇 𝑆𝑖 (18)
and it works independently on each joint based on local measurement
without any coupled action with the others. The control law can be in which 𝒖𝑖 , 𝒗𝑖 , 𝒘𝑖 are represented in the base frame. The weight of the
written as platform is now allocated to each leg more properly using the static
model of the platform, as described above. The actuated joint torque
1
𝜏𝑐𝑛 = 𝑘𝑝𝑛 𝑒𝜃𝑛 + 𝑘𝑖𝑛 𝑒𝜃𝑛 𝑑𝑡 + 𝑘𝑣𝑛 𝑒̇ 𝜃𝑛 (𝑛 = 1, 2, … , 9) (13) vector of each leg is then computed using 𝑱 𝑖 𝑇 𝒇 𝑆𝑖 , in which 𝑱 𝑖 ∈ 𝑹3×3

is Jacobian matrix of the 𝑖th leg represented in the base frame. The
where 𝑘𝑝𝑛 , 𝑘𝑖𝑛 and 𝑘𝑣𝑛 ∈ 𝑹1×1 are respectively the proportional, actuated joint torque corresponding to the action of the platform is
integral and differential gains applied to the 𝑛th joint. In reality, the combined with the computed-torque on the leg and the control signal
PID controller works quite well when the robot is moving slowly, but is finally determined as
the performance quickly degrades when the speed and acceleration are [ ]
3
increased. Indeed, this control strategy cannot take into account the 𝝉 𝑐𝑖 = 𝑴 𝑖 (𝜽̈ 𝑑𝑖 + 𝑲 𝑣𝑖 𝒆̇ 𝜃𝑖 + 𝑲 𝑝𝑖 𝒆𝜃𝑖 ) + 𝝉 𝑔𝑖 + 𝑱 𝑖 𝑇 3 𝒇 𝑆𝑖 (𝑖 = 1, 2, 3) (19)
system dynamics which are very crucial with larger accelerations.
where 𝑲 𝑝𝑖 , 𝑲 𝑣𝑖 are chosen similarly to what was done in Eq. (14).
Model-based control like Computed-Torque significantly improves
The platform gravity compensation described above is based on static
the performance because it also takes into account the dynamics. Each
conditions. However, the robot may operate at velocities for which
leg is considered separately and the simplified computed-torque control
dynamic errors are unavoidable. The control rule in the next section
is applied as follows
compensates not only for this static force but also for the dynamic error
2
𝝉 𝑐𝑖 = 𝑴 𝑖 (𝜽̈ 𝑑𝑖 + 𝑲 𝑣𝑖 𝒆̇ 𝜃𝑖 + 𝑲 𝑝𝑖 𝒆𝜃𝑖 ) + 𝝉 𝑔𝑖 + 𝝉 𝑔𝑝 (𝑖 = 1, 2, 3) (14) of the platform.

3×3
where 𝑲 𝑣𝑖 , 𝑲 𝑝𝑖 ∈ 𝑹 are suitable feedback gain matrices applied to 4.3. Hybrid approach: combining compensations in the joint space and the
the 𝑖th leg, 𝝉 𝑔𝑖 is the gravity torque of the leg and 𝝉 𝑔𝑝 is the gravity of Cartesian space
the platform acting on this leg. The implementation of this approach is
represented in the diagram of Fig. 6. In this regard, the control method Before introducing further this proposed method, the orientation
linearizes the system (12). If 𝑲 𝑣𝑖 and 𝑲 𝑝𝑖 are chosen properly, the error in the Cartesian coordinates is firstly analysed. This error, 𝒆𝜙 ∈
system is stable and the response satisfies control qualities as proven 𝑹3×1 , describes the difference between the current orientation of the
in [13]. Even though this controller gives better performance than the robot at a given time 𝑸 = [𝒒 𝑥 𝒒 𝑦 𝒒 𝑧 ] and the desired value 𝑸𝑑 =
PID, it assumes that the mass of the platform is shared equally on the [𝒒 𝑥𝑑 𝒒 𝑦𝑑 𝒒 𝑧𝑑 ]. This function can take several forms based on the def-
𝑚
three legs and an equivalent mass 3𝑔 is applied at each spherical joint inition of Euler angles or the axis/angle representation of a rotation
𝑆𝑖 . This assumption is true when the platform is kept horizontal but it is or others. As analysed in [25], the orientation error function defined
not suitable for any rotational motion. The following sections introduce using Euler angles is nonlinear and prone to singularities. On the other
other approaches to address this problem. hand, the orientation error function defined with respect to axis/angle
representation variables is much simpler. This error can be determined
4.2. Combination of simplified Computed-Torque and static model of the as
platform 1( )
𝒆𝜙 = 𝒒 × 𝒒 𝑥𝑑 + 𝒒 𝑦 × 𝒒 𝑦𝑑 + 𝒒 𝑧 × 𝒒 𝑧𝑑 . (20)
2 𝑥
In order to properly distribute the weight of the platform among the In particular, if the initial orientation is the same as the desired value
legs, the static model of the platform is firstly taken into consideration. and the controller functions well to continuously keep the error very
Therefore, the accelerations in Eq. (9) are set to zero. Besides, the small, this error can be approximated by a linear vector function.
vector of redundant parameters 𝜷∕𝒅 is also assumed to be constant. Evidently, the vector 𝒆𝜙 is proportional to the moments that correct the
The model is then given as current 𝒒 𝑥 to 𝒒 𝑥𝑑 , 𝒒 𝑦 to 𝒒 𝑦𝑑 and 𝒒 𝑧 to 𝒒 𝑧𝑑 . From the viewpoint of the
3
platform frame, these three terms are linearly independent in the very
𝒇 𝑡𝑡 = −𝑚𝑔 𝒈 (15) small error condition above. The derivative of 𝒆𝜙 can be approximated
3 as presented in [26] as
𝝉 𝑡𝑡 = −𝑚𝑔 𝒈 × 𝒓𝑔 (16)
[ ]
(𝒗𝑖 )𝑇 3 𝒇 𝑆𝑖 = 0. (17) 𝒆̇ 𝜙 = 𝝎𝑑 − 𝝎. (21)

Solving the two Eqs. (15) and (16) yields the values of the virtual The control purpose in the Cartesian coordinates is to reduce position
force/torque (𝒇 𝑡𝑡 , 𝝉 𝑡𝑡 ). Eq. (8) is then used to retrieve the six components error 𝒆𝑝 = 𝒑𝑑 − 𝒑 and the orientation error 𝒆𝜙 to zero. Furthermore,
of forces applied to the platform along the directions of 𝒖𝑖 and 𝒘𝑖 , both of them are linear and they can be adjusted by linear control
(i=1,2,3). The force components in the direction of 𝒗𝑖 , (i=1,2,3) are methods. As a result, two PD regulators on the position and orientation

5
T.-S. Nguyen et al. Mechatronics 76 (2021) 102555

are added, while the reference translational acceleration 𝒑̈𝑑 and the ref-
erence angular acceleration 𝝎̇ 𝑑 are used in the feed-forward dynamics.
This proposed approach, referred to as Cartesian compensation for the
platform can be written as
4
𝒇 𝑡𝑡 = −𝑚𝑔 𝒈 + 𝑚𝑔 𝒑̈ 𝑑 + 𝑲 𝐷𝑝 𝒆̇ 𝑝 + 𝑲 𝑃 𝑝 𝒆𝑝
4
(22)
𝝉 𝑡𝑡 = −𝑚𝑔 𝒈 × 𝒓𝑔 + 𝝎 × 𝑰 𝑂′ 𝝎 + 𝑰 𝑂′ 𝝎̇ 𝑑 + 𝑲 𝐷𝑜 𝒆̇ 𝜙 + 𝑲 𝑃 𝑜 𝒆𝜙

where 𝑲 𝑃 𝑝 , 𝑲 𝐷𝑝 ∈ 𝑹3×3 and 𝑲 𝑃 𝑜 , 𝑲 𝐷𝑜 ∈ 𝑹3×3 are suitable feedback


gain matrices on the position error and the orientation error, respec-
tively. In order to prove the convergence of this method on the platform
and the redundant links, a Lyapunov function can be chosen as follows

1 𝑇 1 1 1
𝑉 = 𝒆̇ 𝑚 𝒆̇ + 𝒆̇ 𝑇 𝑰 ′ 𝒆̇ + 𝒆 𝑇 𝑲 𝑃 𝑝 𝒆𝑝 + 𝒆𝜙 𝑇 𝑲 𝑃 𝑜 𝒆𝜙 (23)
2 𝑝 𝑔 𝑝 2 𝜙 𝑂 𝜙 2 𝑝 2
and its derivative with respect to time is then Fig. 7. Diagram of the Cartesian compensation.

𝑉̇ = 𝒆̇ 𝑇𝑝 𝑚𝑔 𝒆̈ 𝑝 + 𝒆̇ 𝑇𝜙 𝑰 𝑂′ 𝒆̈ 𝜙 + 𝒆̇ 𝑇𝑝 𝑲 𝑃 𝑝 𝒆𝑝 + 𝒆̇ 𝑇𝜙 𝑲 𝑃 𝑜 𝒆𝜙 . (24)

Substituting the control rule (22) and the dynamic model (9) into (24),
𝑉̇ is then

𝑉̇ = −𝒆̇ 𝑇𝑝 𝑲 𝐷𝑝 𝒆̇ 𝑝 − 𝒆̇ 𝑇𝜙 𝑲 𝐷𝑜 𝒆̇ 𝜙 .

It can then be observed that 𝑉 ≥ 0, 𝑉̇ ≤ 0 and 𝑉 = 𝑉̇ = 0 if and only


if 𝒆𝑝 = 𝒆𝜙 = 𝟎. By invoking the Lyapunov stability theory and LaSalle
theorem, it can be concluded that the position and orientation error will
converge asymptotically to zero and the platform will track the desired
position and orientation.
Simultaneously, three other separate PD terms are applied to the
vector of redundant parameters so that the error of each component,
𝑒𝛽𝑖 = 𝛽𝑑𝑖 − 𝛽𝑖 , or 𝑒𝑑𝑖 = 𝑑𝑑𝑖 − 𝑑𝑖 , (𝑖 = 1, 2, 3), can be corrected as well as
regulated using one or another of the following equations
[ ]
(𝒗𝑖 )𝑇 4 𝒇 𝑆𝑖 =4 𝑘𝑑𝑖 𝑒̇ 𝛽𝑖 +4 𝑘𝑝𝑖 𝑒𝛽𝑖 (𝑖 = 1, 2, 3)
[ ] (25) Fig. 8. Platform architecture RRR - PA1.
(𝒗𝑖 )𝑇 4 𝒇 𝑆𝑖 =4 𝑘𝑑𝑖 𝑒̇ 𝑑𝑖 +4 𝑘𝑝𝑖 𝑒𝑑𝑖 (𝑖 = 1, 2, 3)
in which 𝑘𝑝𝑖 , 𝑘𝑑𝑖 are correspondingly PD feedback gains applied on
the 𝑖th component of the redundant parameter vector. The Cartesian Since 𝑱 𝑇 𝑱 is positive definite, the compensation in the Cartesian space
compensation combines equation (22) and (25) to reduce the dynamic
is likely to add one supplementary positive definite term 𝑴 −1 𝑷 𝑱 𝑇 𝑱 to
errors not only on the platform but also on the redundant links. On
the computed-torque in the joint space. One the one hand, it proves
the one hand, it overcomes the assumption of neglecting the mass and
that the two torques in the two working coordinates can be adjusted
inertia of the redundant links in Section 3.2. On the other hand, the
to avoid conflicts, or they can even support each other to enhance the
vector of redundant parameters can now be controlled independently
overall performance. On the other hand, it limits the range of possible
during a trajectory to operate an extended mechanism like a gripper.
values for the gain matrices.
Similarly to what was done in Section 4.2, the force components in the
The implementation of the gravity compensation and the Cartesian
direction of vectors 𝒖𝑖 , 𝒗𝑖 , 𝒘𝑖 are determined and the forces 𝒇 𝑆𝑖 are then
compensation is shown in the diagram of Fig. 7, which clearly shows
computed using Eq. (18). Finally, the torque applied on the actuated
the two parts of the controller. The leg controllers are indeed the
joints of each leg is shown as follows
computed-torque presented in Fig. 6. Along with the inverse kinematic
4
𝝉 𝑐𝑖 = 𝑴 𝑖 (𝜽̈ 𝑑𝑖 + 𝑲 𝑣𝑖 𝒆̇ 𝜃𝑖 + 𝑲 𝑝𝑖 𝒆𝜃𝑖 ) + 𝝉 𝑔𝑖 + 𝑱 𝑖 𝑇 4 𝒇 𝑆𝑖 (𝑖 = 1, 2, 3) (26) function, these blocks are noted by the solid line and said to work
in the joint space. At the same time, the forward kinematics provide
where 𝑲 𝑝𝑖 , 𝑲 𝑣𝑖 are chosen similarly to the controllers 𝑐𝑖 and 𝑐𝑖 . 2𝝉 3𝝉
exactly the current configuration of the robot. Thence, the gravity of
The proposed hybrid strategy, where the computed torque is noted the platform is computed separately in case the static model of the
4 𝝉 , consists in applying the simplified computed-torque approach,
𝑐𝑖 platform is considered. Otherwise, the Cartesian compensation takes
which works in the joint coordinates, and the compensation torque, the gravity and combines with the three PD blocks: position, orientation
which was technically computed in the Cartesian coordinates. Hence, and redundant dof, as well as with the feed-forward dynamics. The
the possible choices for the gain matrices 𝑲 𝑃 𝑝 , 𝑲 𝐷𝑝 , 𝑲 𝑃 𝑜 , 𝑲 𝐷𝑜 , 𝑘𝑝𝑖 , 𝑘𝑑𝑖 ‘‘compensation’’ block simply assembles these terms to compute the
are certainly limited in order to avoid possible conflicts between these forces 𝒇 𝑆𝑖 . All of these blocks are noted by the dashed line and said
two terms. In fact, if these matrices are chosen so that the response to to work in the Cartesian space. Eventually, these compensation forces
the position error 𝒆𝑝 , the orientation error 𝒆𝜙 and the error of the vector are mapped into the joint space by the Jacobian matrices of the legs.
of redundant parameters 𝒆𝛽 ∕𝒆𝑑 is critically damped or overdamped, the The procedure is summarized in Algorithm 1.
compensation force 4 𝒇 𝑆𝑖 generated at the spherical joints is always in
the direction of the position error vector 𝛿𝒔𝑖 = 𝒔𝑑𝑖 − 𝒔𝑖 . Without loss
of generality, 4 𝒇 𝑆𝑖 = 𝑷 𝛿𝒔𝑖 , where 𝑷 ∈ 𝑹3×3 is an arbitrary positive
5. Experimental results and discussion
definite matrix. At each control step when the errors 𝛿𝒔𝑖 , 𝒆𝑖𝜃 are assumed
to be relatively small, one has 4 𝒇 𝑆𝑖 = 𝑷 𝑱 𝑖 𝒆𝑖𝜃 . The applied torque can
On the mechanical side, two platform architectures PA1 and PA3
then be rewritten as
have been designed and built as shown in Figs. 8 and 9. These two
𝝉 4𝑐𝑖 = 𝑴 𝑖 (𝜽̈ 𝑑𝑖 + 𝑲 𝑣𝑖 𝒆̇ 𝜃𝑖 + 𝑲 𝑝𝑖 𝒆𝜃𝑖 ) + 𝝉 𝑔𝑖 + 𝑷 𝑱 𝑇𝑖 𝑱 𝑖 𝒆𝜃𝑖 . (27) platforms are sequentially installed on the three legs and they form

6
T.-S. Nguyen et al. Mechatronics 76 (2021) 102555

Fig. 9. Platform architecture PPP - PA3.

Fig. 10. Prototype of the redundant hybrid parallel robot.

Algorithm 1 Static and Cartesian Compensations of the leg, as well as of each platform architecture, is illustrated side by
Input: current joint coordinates (𝜽𝑖 ) of leg 1, 2, 3 side in Fig. 5, Fig. 8 and Fig. 9, respectively. The redundant parameters
reference position(𝒑𝑑 ), orientation (𝑸𝑑 ), redundant parameters of PA1 are strictly limited as 60◦ < 𝛽𝑖 < 120◦ and similarly to PA3 as
(𝜷 𝑑 ∕𝒅 𝑑 ), −15 mm < 𝑑𝑖 < 15 mm.
Output: Compensation torque (𝝉 𝑖 ) of leg 1,2,3
The robot is actuated by nine Maxon motors EC 90 flat, brushless,
Internal Variables:
260 W. The motors are direct drive and include an encoder that
position(𝒑), orientation (𝑸), redundancy vector (𝜷∕𝒅),
position of the end-point (𝒔𝑖 ) of leg 1,2,3, provides a resolution of 16384 counts per turn in quadrature mode.
Jacobian matrix (𝑱 𝑖 ) of leg 1,2,3. The motor is limited at the maximum torque of 1.5 Nm and driven by
Compensation force (𝒇 𝑆𝑖 ) of leg 1,2,3 Digital Servo Drive from Elmo in the Torque Control Mode. This type of
drive allows to communicate via EtherCAT, which is a very high speed
[𝑠𝑖 , 𝐽𝑖 ] = 𝑓 𝑜𝑟𝑤𝑎𝑟𝑑𝐾𝑖𝑛𝑒𝑚𝑎𝑡𝑖𝑐𝑠𝐿𝑒𝑔(𝜃𝑖 ) and realiable communication protocol used in industry. The controllers
[𝑝_𝑐𝑢𝑟𝑟𝑒𝑛𝑡, 𝑄_𝑐𝑢𝑟𝑟𝑒𝑛𝑡, 𝛽_𝑐𝑢𝑟𝑟𝑒𝑛𝑡] = 𝑓 𝑜𝑟𝑤𝑎𝑟𝑑𝐾𝑖𝑛𝑒𝑚𝑎𝑡𝑖𝑐𝑠𝑃 𝑙𝑎𝑡𝑓 𝑜𝑟𝑚(𝑠𝑖 ) are realized on Simulink Real-Time and executed on a PC Intel Core-i5,
if Gravity Compensation is used then 4 cores 3.1 GHz, 8 GB RAM. Sampling time is set at 0.5 ms, i.e., a
[𝑓 _𝑡𝑡, 𝜏_𝑡𝑡] = 𝐸𝑞. (15)&𝐸𝑞. (16)(𝑝_𝑐𝑢𝑟𝑟𝑒𝑛𝑡, 𝑄_𝑐𝑢𝑟𝑟𝑒𝑛𝑡)
sampling frequency of 2000 Hz.
[𝑢𝑖 𝑓𝑆𝑖 ,𝑤𝑖 𝑓𝑆𝑖 ] = 𝐸𝑞. (8)(𝑓 _𝑡𝑡, 𝜏_𝑡𝑡)
𝑣𝑖 𝑓 = 0 In joint coordinates, the position error is defined as the difference
𝑆𝑖
else Cartesian Compensation is used between the desired position and the real value 𝒆𝜃 = 𝜽𝑑 −𝜽. In Cartesian
[𝑓 _𝑡𝑡, 𝜏_𝑡𝑡]=𝐸𝑞. (22)(𝑝_𝑐𝑢𝑟𝑟𝑒𝑛𝑡, 𝑄_𝑐𝑢𝑟𝑟𝑒𝑛𝑡, 𝑝_𝑟𝑒𝑓 𝑒𝑟𝑒𝑛𝑐𝑒, 𝑄_𝑟𝑒𝑓 𝑒𝑟𝑒𝑛𝑐𝑒) coordinates, the position error is however defined by the Euclidean
[𝑢𝑖 𝑓𝑆𝑖 ,𝑤𝑖 𝑓𝑆𝑖 ] = 𝐸𝑞. (8)(𝑓 _𝑡𝑡, 𝜏_𝑡𝑡) distance (or 2-norm) between the real position and the desired value
𝑣𝑖 𝑓 = 𝐸𝑞. (25)(𝛽∕𝑑, 𝛽 ∕𝑑 )
𝑆𝑖 𝑑 𝑑 𝒆𝑝 = ‖𝒑𝑑 − 𝒑‖2 . The orientation error is computed using two different
end if
methods, namely the angle 𝜙 in the angle-axis representation and
𝑓𝑆𝑖 =𝑢𝑖 𝑓𝑆𝑖 +𝑣𝑖 𝑓𝑆𝑖 +𝑤𝑖 𝑓𝑆𝑖
the three Euler angles (ZYX). The error of the vector of redundant
𝜏𝑖 = 𝐽𝑖𝑇 𝑓𝑆𝑖
parameters 𝒆𝛽 ∕𝒆𝑑 is considered by comparing each of its component
separately to the corresponding desired value. For statistical purposes,
two evaluation√ criteria are used, namely the root mean square error
∑ 2
two different implementations of the redundant hybrid parallel robot 𝑅𝑀𝑆𝐸 =
𝑒 (𝑘)
, where N is the total number of samples, to
𝑁
as shown in Fig. 10. The total mass of one leg is 3.61 kg, while the mass determine the average value of the error and the maximum error
of platform PA1 is 0.1833 kg and that of PA3 is 0.187 kg. A schematic 𝑀𝑎𝑥𝐸 = 𝑚𝑎𝑥(𝑒(𝑘)) to indicate the peak of this error.

7
T.-S. Nguyen et al. Mechatronics 76 (2021) 102555

Table 3
Simulation errors.
RMSE error PA1 PA3
𝒆𝑝 (mm) 0.0397 0.0351
𝜙 (deg) 0.1737 0.1030
𝒆𝛽 (deg)/𝒆𝑑𝑥 (mm) 0.0024 0.0697

values are used as feedback signals in the hybrid approach, a simulation


is firstly conducted to run on Simulink Real-Time in order to verify
the robustness and accuracy of these feedback signals. The nine joint
angles are computed based on the analytical inverse kinematics from
the reference trajectory. A random noise, ‖𝛿‖ ≤ 10−3 rad, is added to
each joint signal to simulate possible errors that can occur. The errors
include the limited resolution of the encoders (3.485.10−4 ), mechanical
design errors, etc. The forward kinematics then traces back the position,
the orientation and the redundant parameters. This procedure is exactly
a part of the hybrid controller implemented later. As a result, the
Fig. 11. Validation of the dynamic model of the leg. average (RMSE) error of the robot pose and the redundant parameters
are given in Table 3. Both kinematic algorithms are completed in 37
μs. Evidently, the computation time is very short and the precision of
Newton–Gauss method is high.
5.1. Validation of the dynamic model of the leg
In the last step, PD controllers need to be tuned before performing
The dynamic model of the leg is firstly verified. This step ensures the experiments. PD parameters of the simplified computed-torque are
that the dynamic model is sufficiently accurate to be used in a model- firstly adjusted and the parameters are kept the same in all experiments.
based control method. The response of the three motors of a leg to a The selected gains are as follows
step function applied independently at each of the motors is recorded. ⎡702 0 0 ⎤ ⎡9 0 0⎤
A PD controller implemented on each motor is used to generate a soft 𝑲 𝑝𝑖 = ⎢ 0 815 0 ⎥ , 𝑲 𝑣𝑖 = ⎢0 21.5 0 ⎥.
response while ensuring that the joint angles do not go over their limit. ⎢ ⎥ ⎢ ⎥
⎣ 0 0 1525⎦ ⎣0 0 40⎦
The real torque and the position of each motor are logged. These real
torques are compared to the model values that are computed using For the Cartesian compensation, the PD for position compensation and
orientation compensation are coupled. These compensations therefore
𝝉 𝑚𝑜𝑑𝑒𝑙 = 𝑴(𝜽𝑟 )𝜽̈ 𝑟 + 𝝉 𝑔 (𝜽𝑟 ) (28) need to be tuned sequentially and repeatedly. Also, the constraint
related to critical damping has to be respected. In this case, the com-
in which 𝜽𝑟 , 𝜽̈ 𝑟 are the real value of the joint angles on one leg and
pensation on orientation is maintained, and the parameters of the
filtered value of their second derivative with respect to time. The results
PD position compensation are increased gradually. Then an inverse
are shown in Fig. 11. It can be observed that the difference between the
process is done and this strategy is repeated until the response of both
theoretical value calculated by the dynamic model and the real value
position and orientation is satisfactory. In the experiments with PA1,
applied on the motors is acceptable. Clearly, the simplified model is ac-
the parameters below are used.
curate enough, which confirms the assumption of eliminating the other
terms in the dynamic model in order to minimize the computational ⎡50 0 0 ⎤( ) ⎡2.5 0 0 ⎤( )
N Ns
cost. Hence, this dynamic model can be used in the controller. 𝑲𝑃 𝑝 = ⎢ 0 50 0⎥ ; 𝑲 𝐷𝑝 = ⎢ 0 2.5 0 ⎥ .
⎢ ⎥ m ⎢ ⎥ m
⎣0 0 75⎦ ⎣0 0 3.75⎦
5.2. Experimental procedure
⎡20 0 0⎤ ⎡1 0 0⎤
In all experiments, the robot is programmed to perform the same 𝑲𝑃 𝑜 = ⎢ 0 20 0 ⎥ (N m); 𝑲 𝐷𝑜 = ⎢0 1 0⎥ (N m s).
⎢ ⎥ ⎢ ⎥
trajectory, in which the orientation is maintained constant when the ⎣0 0 40⎦ ⎣0 0 2⎦
robot executes translational motion and vice versa for rotational mo- PD coefficients of redundant parameter compensation however can be
tion. Besides, the redundant parameters are always kept at their neutral tuned separately. With PA1, they are chosen differently because of the
value, i.e., 𝛽𝑖 = 90◦ or 𝑑𝑖 = 0 mm. The desired motion is computed based characteristic of each finger.
on a fifth-order polynomial function, namely,
𝑘𝑝𝑖 = 100(N m); 𝑘𝑑𝑖 = 3(N m s)(𝑖 = 2).
𝑠(𝜏) = 6𝜏 5 − 15𝜏 4 + 10𝜏 3 (29) 𝑘𝑝𝑖 = 150(N m); 𝑘𝑑𝑖 = 5(N m s)(𝑖 = 1, 3).
in which 𝜏 = 𝑇𝑡 , where 𝑡 is the time and 𝑇 is the period of the trajectory, Similarly to the experiments with PA3, the parameters of PD po-
which varies within a certain limit due to the capability of the robot. As sition, orientation and redundant parameters compensations are given
shown in the accompanying video, 𝑇 is chosen so that the robot reaches as
high accelerations (translational acceleration is approximately 10 m∕s2
in the horizontal direction and up to 25 m∕s2 in the vertical direction, ⎡50 0 0 ⎤( ) ⎡2.5 0 0 ⎤( )
N Ns
angular acceleration is approximately 145 rad∕s2 ). Along the trajectory, 𝑲𝑃 𝑝 = ⎢ 0 50 0⎥ ; 𝑲 𝐷𝑝 = ⎢ 0 2.5 0 ⎥ .
⎢ ⎥ m ⎢ ⎥ m
several motors reach the maximum generated torque. In other words, ⎣0 0 75⎦ ⎣0 0 3.75⎦
the robot reaches its current limit. In the last part of the trajectory,
the position and the orientation are kept constant, while the redundant ⎡30 0 0⎤ ⎡1.5 0 0⎤
𝑲𝑃 𝑜 = ⎢ 0 30 0 ⎥ (N m); 𝑲 𝐷𝑜 = ⎢ 0 1.5 0 ⎥ (N m s).
parameters are sequentially adjusted from min to max value in order ⎢ ⎥ ⎢ ⎥
⎣0 0 50⎦ ⎣0 0 3.2⎦
to control the opening and closing of the fingers.
Because the pose and the redundant parameters of the robot are ( ) ( )
N Ns
𝑘𝑝𝑖 = 50 ; 𝑘𝑑𝑖 = 2.5 (𝑖 = 1, 2, 3).
determined in real-time using the forward kinematics and since these m m

8
T.-S. Nguyen et al. Mechatronics 76 (2021) 102555

Table 4 Table 6
Tracking error in the joint space with PA1. Position and redundant parameter error in the Cartesian space with PA1.
Joint (𝑒𝜃 ) RMSE (degree) MaxE (Degree) RMSE MaxE
C1 C2 C3 C1 C2 C3 C1 C2 C3 C1 C2 C3
Motor 1–1 0.6589 0.5985 0.3712 2.4659 2.2195 1.5286 𝒆𝑝 (mm) 4.3730 4.2661 1.0617 10.6919 10.9525 2.9762
Motor 2–1 0.6662 0.4634 0.3756 1.0753 0.5434 0.9065
12.2864 7.8406 2.7855 31.2654 26.3758 10.4314
Motor 3–1 0.8139 1.0072 0.3494 2.5607 2.9114 1.5043
𝒆𝜷 (deg) 9.5360 6.3119 2.1456 26.5046 22.1123 8.7475
Motor 1–2 0.6031 0.5664 0.3932 1.9746 1.7194 1.4924 5.0384 4.2868 1.3553 20.6617 13.3784 5.1569
Motor 2–2 0.6306 0.4379 0.4143 1.5036 0.7121 1.3066
Motor 3–2 0.7398 0.9178 0.3005 2.3420 2.7796 1.4047
Motor 1–3 0.7736 0.6515 0.4125 2.2968 2.0493 1.4119 Table 7
Motor 2–3 0.6366 0.4335 0.3951 1.9004 0.7358 1.1555 Position and redundant parameter error in the Cartesian space with PA3.
Motor 3–3 0.7339 0.9194 0.3492 2.5025 3.0229 1.3917 RMSE MaxE
C1 C2 C3 C1 C2 C3

Table 5 𝒆𝑝 (mm) 3.3098 2.8821 0.8796 10.6084 11.7387 4.0298


Tracking error in the joint space with PA3. 2.2947 1.8532 0.9411 9.9975 10.0973 6.8844
Joint (𝑒𝜃 ) RMSE (degree) MaxE (Degree) 𝒆𝑑 (mm) 2.2226 1.8547 1.0702 9.3880 9.5811 6.7002
2.2840 1.8102 0.8232 8.8694 9.1673 5.8084
C1 C2 C3 C1 C2 C3
Motor 1–1 0.4879 0.4921 0.2575 2.1231 2.1183 0.8145
Motor 2–1 0.3051 0.2802 0.3046 2.2428 2.1737 1.0318 Table 8
Motor 3–1 0.5585 0.4894 0.2617 2.3554 2.8116 1.1736 Orientation error in the Cartesian space with PA1.
Motor 1–2 0.5386 0.5501 0.2431 2.8713 2.8786 0.8858 RMSE (degree) MaxE (degree)
Motor 2–2 0.3313 0.2879 0.3560 2.0212 1.9890 1.1007 C1 C2 C3 C1 C2 C3
Motor 3–2 0.6177 0.4753 0.2401 2.2063 2.6298 1.2055
𝜙 2.0520 1.6504 1.7985 4.7469 4.2786 3.9663
Motor 1–3 0.4826 0.4810 0.2422 2.2216 2.1309 0.8710
Motor 2–3 0.2688 0.2428 0.2804 1.7730 1.7730 0.9236 0.8232 0.7040 0.7627 2.6044 2.0177 2.6748
𝑬𝒖𝒍𝒆𝒓
Motor 3–3 0.5564 0.5137 0.2507 2.7405 3.1271 1.0297 1.3096 1.0484 1.1127 4.7234 3.7067 3.6934
(ZYX) 1.3490 1.0626 1.1902 3.8447 3.1116 3.8385

Table 9
5.3. Comparison of the control methods Orientation error in the Cartesian space with PA3.
RMSE (degree) MaxE (degree)
The three control schemes introduced in Section 4: Simplified
C1 C2 C3 C1 C2 C3
Computed-Torque (14), Simplified Computed-Torque with the Static
𝜙 0.8400 0.8042 0.7897 2.6385 2.7869 2.4539
model (19) and Simplified Computed-Torque with the Cartesian com-
pensation (26) are now applied on each implementation of the robot 0.4281 0.3939 0.3940 1.6813 1.7066 1.8093
𝑬𝒖𝒍𝒆𝒓
0.5928 0.5792 0.5327 2.6311 2.7743 2.4458
(with PA1 and PA3). Hence, six experiments in total are conducted and
(ZYX) 0.4136 0.3954 0.4300 1.2601 1.2022 1.5711
the position and torque data are logged. The position error is mainly
analysed and compared in order to provide a quantitative evaluation
of the performance of these methods.
The position error in the joint space of each motor is first examined. the feedback signal to approximately 0.02 degree (per count) which
The motors are numbered based in their order on the leg and the leg is about 12 times smaller than the average error in the experiments.
number, for example Motor 2–1 is motor 2 in the first leg. The errors are Additionally, the kinematic sensitivity also needs to be paid attention
summarized and compared using RMSE and MaxE as shown in Table 4 to because all motors are placed near the base. Indeed, this arrangement
for the platform PA1 and Table 5 for the platform PA3. C1 corresponds may lead to a large error at the end-point 𝑆𝑖 of the leg from a relatively
to the Simplified Computed-Torque controller, C2 corresponds to the small error on each joint in some specific configurations. Due to such
controller including the Simplified Computed-Torque combined with variations in the workspace, the performance of a PID-based controller
gravity compensation and C3 corresponds to the controller including can vary greatly and become rather poor in sensitive configurations.
the Simplified Computed-Torque combined with the Cartesian compen- Compared to the PID controller, the Simplified Computed-Torque yields
sation. Results from the PID controller are not listed in this analysis
much better performance, which allows the robot to operate at high
since the tracking error is much larger than with the others. In fact, the
speed, as shown in the accompanying video. Nevertheless, the tracking
PID controller cannot really follow the desired trajectory at high speed.
error in both joint space and Cartesian space is still large. Adding the
In order to have a better appreciation of the improvement provided by
platform gravity compensation does not yield a significant improve-
the proposed method, the Cartesian position, orientation and redundant
ment in the joint space. As it can be observed in Table 4 for PA1 and
parameters are computed using the forward kinematics from the joint
Table 5 for PA3, there are always two joints whose position error is
angle data. Thereafter, the real configuration is compared to the desired
reduced but still there is one other whose position error is worsened.
one, yielding the errors on position and redundant parameters in the
Cartesian coordinates respectively in Table 6 for PA1 and Table 7 for In Cartesian space, as shown in Tables 6 and 7, it can be observed
PA3. The orientation error is given in Table 8 for PA1 and Table 9 for that the error is generally reduced in the sense of RMSE although the
PA3. Finally, real-time tracking errors are also provided in Appendix MaxE values are higher. Indeed, the gravity compensation distributes
so that the behaviour of the controllers during the entire trajectory properly the gravitational effect on the legs but it does not take into
is clearly demonstrated. In joint space, the three motors of leg 1 are account the dynamic effects, which become significant at high speed.
chosen for PA1 (Fig. A.12) and PA3 (Fig. A.13) as an example. In Therefore, the tracking error is not statistically better than with the
Cartesian space, the position error is shown in Fig. A.14, the orientation Simplified Computed-Torque controller.
error represented by the angle 𝜙 in Fig. A.15 and the three values of the Most importantly, the errors have been significantly reduced on
redundant parameters are shown in Fig. A.16, Fig. A.17 and Fig. A.18. every single motor when the Cartesian compensation is applied on both
The direct-drive transmission in the robot causes the motor position platform architectures PA1 and PA3. This is even more observable in
error to directly affect the joint angles. It also reduces the resolution of the Cartesian space, where the error reduction is several fold for the

9
T.-S. Nguyen et al. Mechatronics 76 (2021) 102555

Fig. A.12. Position error in the joint coordinates of leg 1 for PA1.
Fig. A.15. Orientation error in the Cartesian coordinates.

Fig. A.13. Position error in the joint coordinates of leg 1 for PA3.

Fig. A.16. Error in the first redundant parameter.

position and redundant parameters. The MaxE result further points


out that the proposed method not only reduces the average error
value but also keeps the error small throughout the entire trajectory.
The orientation error, however, does not vary much among the three
methods. In fact, it could be said that all of the control strategies keep
the orientation error very small in the linear region as it was assumed
at the outset. The two compensations do help to enhance further the
orientation tracking but not appreciably. It should be kept in mind that
there is a compromise that makes the error reduction on all degrees of
freedom very difficult at very small values.
Altogether, all experiments not only provide comparison results of
the three methods, but also give another interesting result that the
tracking error on the platform PA3 is always smaller than that on PA1.
This can be explained basically by the symmetry and the lower centre
of mass of the platform architecture PA3. Indeed, the length of the
fingers and their placement affect the precision of the dynamic model
of the platform. In fact, this result points out one of the limitations
of this modelling method, which represents the whole platform by
Fig. A.14. Position error in the Cartesian coordinates.
only a point mass. Therefore, the platform model may need to be

10
T.-S. Nguyen et al. Mechatronics 76 (2021) 102555

with each of the control schemes were compared both in joint space and
Cartesian space to validate the proposed approach.
The experiments also demonstrated two different designs, PA1 and
PA3, for the platform architecture. Each design has its own grasping
concept, namely a two-finger or a three-finger system.
Although it was not discussed in this paper, the proposed approach
can also be applied to planar robots. It can also be extended and
adapted for force control purposes, which is the subject of current work
by the authors.
Since the design of the robot targets a low moving mass, the possible
use of this robot in physical human–robot interaction applications
was introduced in [21]. Force control on this robot, if completed,
can improve the interaction controller and render a better feeling for
the operator. Moreover, another possibility is that the robot can be
combined with other robots like a gantry robot to form a macro-mini
system for applications in physical human–robot interaction.

Supplementary material

A video accompanies this paper. In the first part, it shows the


operation of the robot with PA1 and PA3 on the same trajectory
Fig. A.17. Error in the second redundant parameter. (translation and rotation). At the end of the trajectory, each robot
shows the capacity to perform independent motion of each finger. The
second part shows more clearly the robot with PA3. The robot with PA1
was previously demonstrated (see: https://youtu.be/hW3KpAY30p0).

CRediT authorship contribution statement

Tan-Sy Nguyen: Conceptualization, Methodology, Software devel-


opment, Writing, Validation. David Harton: Investigation. Alexandre
Campeau-Lecours: Conceptualization. Clément Gosselin: Conceptu-
alization, Writing.

Declaration of competing interest

The authors declare that they have no known competing finan-


cial interests or personal relationships that could have appeared to
influence the work reported in this paper.

Acknowledgements

The authors would like to acknowledge the financial support of the


Natural Sciences and Engineering Research Council of Canada (NSERC),
the Fonds de Recherche du Québec, Nature et Technologie (FRQNT)
Fig. A.18. Error in the third redundant parameter.
and the Canada Research Chair program. The authors also would like
to thank Kefei Wen, Simon Foucault and Thierry Laliberté for their help
with this work.

refined for applications like grasping objects in order to ensure soutthe Appendix. Trajectory tracking error graphs
performance.
This section provides the graphs that show more clearly the tracking
6. Conclusion and future works error of the robot in both joint space (Figs. A.12 and A.13) and
Cartesian space (Fig. A.14 to Fig. A.18) during the trajectory performed
In this article, the computed-torque control method has been in the demonstration video.
adapted for kinematically redundant hybrid parallel robots. It was
References
shown that the kinematics and dynamics of this type of robot can
be decomposed at the three spherical joints in order to simplify the [1] Nakamura Y. Advanced robotics: Redundancy and optimization. 1st ed. USA:
modelling. Based on this property, the platform gravity compensation Addison-Wesley Longman Publishing Co., Inc.; 1990.
and the Cartesian compensation were introduced and combined with [2] Kazerounian K, Wang Z. Global versus local optimization in redundancy resolu-
tion of robotic manipulators. Int J Robot Res 1988;7(5):3–12. http://dx.doi.org/
the simplified computed-torque approach. The stability of the platform
10.1177/2F027836498800700501.
in the Cartesian space and of the legs in the joint space was proven to [3] Flacco F, De Luca A, Khatib O. Control of redundant robots under hard joint
ensure that the controller in the joint space and the compensation in the constraints: Saturation in the null space. IEEE Trans Robot 2015;31(3):637–54.
Cartesian space can be combined. Although the platform is modelled http://dx.doi.org/10.1109/TRO.2015.2418582.
[4] Chiacchio P, Chiaverini S, Sciavicco L, Siciliano B. Closed-loop inverse kinematics
rather simply, the method still provides much better results than the
schemes for constrained redundant manipulators with task space augmentation
simplified computed-torque alone and allows the robot to operate at and task priority strategy. Int J Robot Res 1991;10(4):410–25. http://dx.doi.org/
high speed. Experiments have been carried out and the results obtained 10.1177/027836499101000409.

11
T.-S. Nguyen et al. Mechatronics 76 (2021) 102555

[5] Gosselin C, Schreiber L-T. Redundancy in parallel mechanisms: A review. Appl Tan-Sy Nguyen received the B.Eng. and M.Eng. degrees in
Mech Rev 2018;70(1):010802. http://dx.doi.org/10.1115/1.4038931. Automatic Control from Ho Chi Minh University of Technol-
[6] Ebrahimi I, Carretero JA, Boudreau R. A family of kinematically redundant ogy (HCMUT) in 2013 and 2016, respectively. He has joined
planar parallel manipulators. J Mech Des 2008;130(6):062306. http://dx.doi.org/ the department of Control Engineering and Automation of
10.1115/1.2900723. HCMUT since 2015. He is currently working toward the
Ph.D. in the Robotics Lab of Laval University.
[7] Gosselin C, Schreiber L. Kinematically redundant spatial parallel mechanisms
His interests include system modelling and control,
for singularity avoidance and large orientational workspace. IEEE Trans Robot
human–robot interaction and its applications.
2016;32(2):286–300. http://dx.doi.org/10.1109/TRO.2016.2516025.
[8] Baron N, Philippides A, Rojas N. A novel kinematically redundant planar parallel
robot manipulator with full rotatability. J Mech Robot 2018;11(1). http://dx.doi.
org/10.1115/1.4041698.
David Harton received his B.Eng. and Master’s degrees in
[9] Schreiber L, Gosselin C. Schönflies motion parallel robot (SPARA): A kinemati- mechanical engineering from the Université Laval (Canada)
cally redundant parallel robot with unlimited rotation capabilities. IEEE/ASME in 2017 and 2020 respectively. He also received postgradu-
Trans Mechatronics 2019;24(5):2273–81. http://dx.doi.org/10.1109/TMECH. ate scholarships by the Natural Sciences and Engineering
2019.2929646. Research Council of Canada and the Fond québécois de
[10] Isaksson M, Gosselin C, Marlow K. An introduction to utilising the redundancy of la recherche sur la nature et les technologies. During his
a kinematically redundant parallel manipulator to operate a gripper. Mech Mach bachelor’s degree, he completed internships at the Robotics
Theory 2016;101:50–9. http://dx.doi.org/10.1016/j.mechmachtheory.2016.03. Laboratory of Laval University where he developed sequen-
006. tially actuated mechanisms. He also completed his master’s
[11] Wen K, Harton D, Laliberté T, Gosselin C. Kinematically redundant (6+3)-dof degree at Robotics Laboratory of Laval University where
hybrid parallel robot with large orientational workspace and remotely operated he worked on mechanical design of the kinematically re-
gripper. In: 2019 international conference on robotics and automation. IEEE; dundant spatial hybrid parallel robot. His research interests
2019, p. 1672–8. http://dx.doi.org/10.1109/ICRA.2019.8793772. include kinematics and dynamic modelling and design of
mechanisms.
[12] Pierrot F, Marquet F, Company O, Gil T. H4 parallel robot: modeling, design
and preliminary experiments. In: Proceedings 2001 ICRA. IEEE international
conference on robotics and automation, vol. 4. Seoul, South Korea: IEEE; Alexandre Campeau-Lecours is an Assistant Professor in
2001, p. 3256–61. http://dx.doi.org/10.1109/ROBOT.2001.933120, URL http: the Department of Mechanical Engineering at Université
//ieeexplore.ieee.org/document/933120/. Laval and a researcher at the Center for Interdisciplinary
[13] Siciliano B, Khatib O, editors. Springer handbook of robotics. Springer Berlin Research in Rehabilitation and Social Integration (CIRRIS).
Heidelberg; 2008, http://dx.doi.org/10.1007/978-3-540-30301-5. He obtained his Ph.D. from Laval in 2012, on the develop-
[14] Beji L, Abichou A, Pascal M. Tracking control of a parallel robot in the task space. ment of assistive devices to help workers to lift and move
In: Proceedings. 1998 IEEE international conference on robotics and automation, heavy payloads. He worked in industry in rehabilitation
vol. 3. Leuven, Belgium: IEEE; 1998, p. 2309–14. http://dx.doi.org/10.1109/ engineering for three years at Kinova, designing algorithms
ROBOT.1998.680667. for use in assistive robots for people living with disabilities.
His research program is in rehabilitation engineering and
[15] Yime E, Saltaren R, Diaz J. Robust adaptive control of the Stewart-Gough robot
focuses on the development of intelligent assistive tech-
in the task space. In: Proceedings of the 2010 American control conference.
nologies for people living with disabilities and centres on
Baltimore, MD: IEEE; 2010, p. 5248–53. http://dx.doi.org/10.1109/ACC.2010.
innovations related to robotics, advanced control interfaces,
5530463.
and intelligent algorithms.
[16] Khatib O. A unified approach for motion and force control of robot manipulators:
The operational space formulation. IEEE J Robot Autom 1987;3(1):43–53. http:
//dx.doi.org/10.1109/JRA.1987.1087068. Clément Gosselin received the B.Eng. degree in Mechani-
[17] Miller K, Stevens BS. Modeling of dynamics and model-based control of DELTA cal Engineering from the Université de Sherbrooke, Québec,
direct-drive parallel robot. J Robot Mechatron 1995;7:344–52. http://dx.doi.org/ Canada, in 1985, and the Ph.D. degree from McGill Uni-
10.20965/jrm.1995.p0344. versity, Montréal, Québec, Canada in 1988. He was then a
[18] Codourey A. Dynamic modeling of parallel robots for computed-torque control post-doctoral fellow at INRIA in Sophia-Antipolis, France in
implementation. Int J Robot Res 1998;17(12):1325–36. http://dx.doi.org/10. 1988–89. In 1989 he was appointed by the Department of
1177/027836499801701205. Mechanical Engineering at Université Laval, Québec where
he is a Full Professor since 1997. He is currently holding a
[19] Khalil W, Guegan S. Inverse and direct dynamic modeling of Gough-Stewart
Canada Research Chair in Robotics and Mechatronics since
robots. IEEE Trans Robot 2004;20(4):754–62. http://dx.doi.org/10.1109/TRO.
January 2001. He was a visiting researcher at the RWTH
2004.829473.
in Aachen, Germany in 1995, at the University of Victoria,
[20] Gosselin C. Compact dynamic models for the tripteron and quadrupteron parallel Canada in 1996 and at the IRCCyN in Nantes, France in
manipulators. Proc Inst Mech Eng I 2009;223(1):1–12. http://dx.doi.org/10. 1999.
1243/09596518JSCE605. His research interests are kinematics, dynamics and
[21] Wen K, Nguyen TS, Harton D, Laliberté T, Gosselin C. A backdrivable kine- control of robotic mechanical systems with a particular
matically redundant (6+3)-degree-of-freedom hybrid parallel robot for intuitive emphasis on the mechanics of grasping, the kinematics and
sensorless physical human–robot interaction. IEEE Trans Robot 2020;1–17. http: dynamics of parallel manipulators and the development of
//dx.doi.org/10.1109/TRO.2020.3043723. human-friendly robots and haptic devices. His work in the
[22] Wen K, Gosselin C. Kinematically redundant hybrid robots with simple singularity aforementioned areas has been the subject of numerous
conditions and analytical inverse kinematic solutions. IEEE Robot Autom Lett publications in international journals and conferences as
2019;4(4):3828–35. http://dx.doi.org/10.1109/LRA.2019.2928756. well as of several patents and two books. He has been
directing many research initiatives, including collaborations
[23] Wen K, Gosselin CM. Forward kinematic analysis of kinematically redundant
with several Canadian and foreign high-technology compa-
hybrid parallel robots. J Mech Robot 2020;12(6):061008. http://dx.doi.org/10.
nies and he has trained more than 120 graduate students.
1115/1.4047176.
He is currently an Associate Editor of the ASME Journal of
[24] Harton D. Modélisation, conception mécanique, étude cinématique et dynamique Mechanisms and Robotics and a Senior Editor of the IEEE
d’un robot hybride redondant à (6+3) degrés de liberté. 2020, URL https: Robotics and Automation Letters.
//robot.gmc.ulaval.ca/fileadmin/documents/Memoires/david_harton.pdf. Dr. Gosselin received several awards including the
[25] Siciliano B, Sciavicco L, Villani L, Oriolo G. Robotics: Modelling, planning ASME DED Mechanisms and Robotics Committee Award in
and control. In: Advanced textbooks in control and signal processing, Springer 2008, the ASME Machine Design Award in 2013 and the
London; 2009, http://dx.doi.org/10.1007/978-1-84628-642-1. IFToMM Award of Merit in 2019. He was appointed Officer
[26] Luh J, Walker M, Paul R. Resolved-acceleration control of mechanical manip- of the Order of Canada in 2010 for contributions to research
ulators. IEEE Trans Automat Control 1980;25(3):468–74. http://dx.doi.org/10. in parallel mechanisms and underactuated systems. He is a
1109/TAC.1980.1102367. fellow of the ASME, of the IEEE and of the Royal Society
of Canada.

12

You might also like