Introduction
Seminal research in Parallel Manipulators (PMs) described
architectures of 6 degrees of freedom (DOF) which are mainly used to perform
industrial tasks. Nevertheless, not all applications (e.g., commercial, space
exploration, entertainment or even industrial) require full 6-DOF
capabilities, thus, cost-effective PMs with less than 6 DOF (i.e.,
lower-mobility) have been developed. One such architecture is the
3-PRS manipulator which has a platform and a fixed base connected
through three identical sets of links and joints (i.e., legs). Each leg has a
slider attached to the base by an actuated prismatic joint (P), a
coupler connected to the slider by a passive rotational joint (R) and to the
platform by a passive spherical joint (S). The 3-PRS manipulator
was first described in for a telescope application, and
then it was proposed as a machining centre in and for a
medical application in . The kinematics and workspace
analyses of the manipulator have been extensively studied in
, , ,
, to name a few. On the other hand, despite the fact that
inverse dynamic modelling is essential for optimal design, parameter
identification , model-based control
, and internal redundancy amongst
others, few papers have focused on revisiting and comparing
computationally-inexpensive methods in order to obtain the dynamic models
that are cost-effective for real-time applications.
Lagrangian formulations allowed to develop the inverse dynamics model of the
3-PRS manipulator . The formulation uses the
Lagrange multiplier to include the constraints forces that lead to a
modelling approach not only intricate but also computationally complex.
applied the Principle of Virtual Work (PVW), but they simplify
the dynamics of the coupler link by dividing its mass into two portions
located at its extremes. solved the inverse dynamic model
along with the reaction forces through a special decomposition of the
reaction forces at the joints that connect the leg with the platform. A
similar approach was used in for solving direct dynamics
including friction effect. However, the later approach considers the
calculation of reaction forces which are may be needed for structural design
of a manipulator but its computation increases computational complexity which
is unnecessary for parameter identification or model-based control.
analyses and compares the power consumption of the
3-PRS vs. the 3-PRS configuration using the PVW with
recursive modelling. The method obtains the Jacobian by differentiating the
vector loop equation. solved the inverse dynamics of a
3-DOF parallel manipulator via screw theory and the PVW. On the other hand,
the 3-RPS manipulator presents similar characteristics to the
3-PRS manipulator, in this respect, implement
recursive velocity equations used in serial manipulator analysis to find the
Jacobian of the manipulator for the inverse dynamic modelling, and
exploit architectural characteristics of the
3-RPS to give a closed form solution for the inverse and direct
dynamics modelling.
The inherent complexity of the dynamic models lies on the way the system is
modelled and how the Jacobian matrix is put forward. In this context, this
paper compares the computational number of operation of three formulations
for inverse dynamic modelling of a 3-PRS. The first formulation
applies the general solution of PMs dynamic modelling proposed in
. The second method considers the manipulator as a set of
open kinematic chains and finds the Jacobian in joint space coordinates by
taking into account the vector loop constraints at the split joints
. The third method relies on the modelling approach
originally presented in .
The ultimate goal of contrasting these numerical formulations is focused on
supporting the implementation of emerging model-based designs which not only
depends of the discrete inverse dynamic model but also the numerical finite
realization in a given computational platform . In
fact, software architecture, for model based control
, relies on minimizing computational task timing
commonly constrained by fast sampling periods . Similarly,
in other applications, such parameter identification , and
internal redundancy few papers have focused on revisiting
and comparing computationally-inexpensive methods in order to obtain the
dynamic model of the 3-PRS configuration for cost-effective
real-time applications.
To this end, this paper is organized as follows: Sect. presents
in general terms how the dynamic model for a parallel manipulator is
developed for the three approaches investigated in this paper.
Section presents the implementation of the approaches for
solving the dynamics problem of a 3-PRS spatial parallel
manipulator. Section summarizes and discusses the complexity and
the computational load of these three formulations. Finally, the conclusions
are drawn.
Development of the dynamic models
The dynamic model of a closed chain mechanical system such as a parallel
manipulator can be obtained by virtually cutting or splitting the manipulator
at one or more of its joints until the complete dynamic model of a tree-like
system with several open chains is obtained. Newton–Euler formulations are
then used for solving the dynamics of each serial chain. Finally, constraint
equations obtained by means of the Lagrange Multipliers are incorporated to
include the necessary forces at the splitting points as to ensure the
kinematic chains remain closed. On the other hand, the Lagrangian approach
can be applied by using the Lagrange equation with respect to a minimum set
of generalized coordinates. showed that either application of
Lagrange Equation or tree-like system analysis are equivalent to one another
and lead to the same set of equations when applied to a parallel manipulator.
Moreover, similar results were obtained by using the
D'Alembert's principle and the principle of virtual work.
Regardless, of the dynamics equation (Newton–Euler, Lagrange or Principle of
Virtual Work) used for developing the model, the dynamics of closed chain
system can be written as:
τ=GTh.
This equation establishes that the generalized forces corresponding to an
open chain system (h) are related to the actuated forces of a closed
chain system (τ) by a linear transformation
GT. This linear transformation is based on the
Jacobian matrix. Thus, the dynamics equation of a parallel manipulator
essentially relies on finding the Jacobian matrix that relate the passive
generalized coordinates to the actuated ones.
The following subsections revisit three approaches for solving the dynamics
equations of a 3-PRS parallel manipulator. The differences in the
approaches are based on two facts: (1) how the parallel manipulator is split
into open chains and (2) the type of generalized coordinates used for
modelling the manipulator. Each approach leads to establishing different
formulations of the Jacobian matrix. Since each Jacobian matrix holds
different formulation there are differences in the number of algebraic
operations to compute each. The objective of this work is mostly revisiting
these approaches to find the cost-effectiveness of each when solving the
inverse dynamics through an example. This is of particular interest as
inexpensive computer models are essential when adaptive control algorithms
are used to control manipulator at fast update rates. For instance, in the
fields of parameter identification and actuation redundancy, a fast
estimation of the inverse model implies cost-effectiveness for real-time
applications.
Dynamics considering the legs and platform as subsystems
This approach is based on the general formulation for modelling parallel
manipulators presented by , which is based on the following
aspects: (1) the manipulator is split open at the spherical joints so that
the moving platform is separated from the legs and (2) the local joint
coordinates systems q can be used to develop the dynamic equations of
each leg hi while the Cartesian coordinates x are used to
obtain the dynamic equations of the platform hp. Then, the
dynamic equations are combined and projected onto the active joint space as
follows:
τ=JpThp+∑i=1mδq˙iδq˙aThi,
where Jp is the Jacobian projecting the task space
coordinates (6 in the general case) to the n active joint coordinates,
while m is the number of joints for each leg. Likewise,
hp=mpg-mpap-Ipω˙p-ωp×Ipωp,
where mp is the mass of the platform, Ip
denotes the inertial matrix of the moving platform about its centre of mass,
ap stands for the acceleration of the end effector, and
ωp, ω˙p respectively
denote the angular velocity and angular acceleration of the platform.
Method I
In order to develop the model in actuated joint space one has to project the
passive joint variables to the active ones. That is:
τ=hia+JpThp+GIThip,
where indices a and p stand for the active and passive joints, respectively,
while GI is a l×n matrix projecting the dynamics from
the passive to the active joints. Here, l represents the number of passive
joints while n is the number of active joints on each leg.
Equation () can be written in the form of Eq. (). That
is:
τ=IJpTGIThiahphip=GTh,
where I is the identity matrix with dimension equal to the degree
of freedom of the manipulator.
In Eq. (), matrix GI can be obtained by
considering the fact that the distance among spherical joints at the platform
is constant due to the rigid body assumption. This distance is calculated
based on the norm of the vector obtained by subtracting the position vector
identifying the location of the spherical joints. The partial derivatives of
each equation with respect to the joints coordinates yields matrix
GI. Figure shows how to establish the closed
chain equations.
Closed chain equation for finding GI.
Note that in Eq. (), hp is a 6×1 vector
and, in the particular case of a 3-PRS parallel manipulator,
τ is a 3×1 vector. Therefore, matrix
Jp is not square and cannot be obtained using previous
methods for solving the inverse kinematics of this kind of manipulator. For
instance, when developing the inverse dynamics model using the Principle of
Virtual Work, found a 3×3 square matrix
Jp. They did so by only considering three of the
components of the platform inertial forces; they considered those associated
with the desired degrees of freedom of the end effector. In
Sect. a method obtaining Jp
considering the 6 components of hp for the particular case
of the 3-PRS manipulator is shown.
Method II
Another approach to formulate the dynamic model is to find the Jacobian
matrices according to the approach presented by . The
method is based on projecting the dynamics equation of the passive joint onto
the task space, and then, project them back to the active joint space so
that:
τ=hia+JpThp+GIIThip,
where GII is a l×6 matrix that holds new definition
that can be written as follow:
GIIT=JviTJqi-T,
where Jvi and Jqi-T can be obtained
respectively from the direct Jacobian Jx and the inverse
Jacobian Jq of the manipulator.
Equation () can be written in the form of Eq. (). That
is:
τ=IJpTGIIJpThiahphip=GTh.
Dynamics considering the manipulator as open kinematic chains
A parallel manipulator can be split open into m-1 joints yielding m open
chain systems. In this approach the platform is attached to one of the legs,
see Fig. . Algorithms for obtaining the dynamics model of serial
manipulators may now be applied to obtain the dynamics of each leg.
The cut joints introduce constraint forces, which can be included into the
model by means of the Lagrange multipliers:
τ=hi+Aλi,
where A is the Jacobian that can be found by analysing the
constraint equations. presented a method for the Jacobian
matrix by considering the linear velocity at the split joints. The velocities
can be computed through the Jacobian analysis of each leg. Then, the velocity
obtained at the split joint following each leg are the same. In this
approach, recursive modelling of the velocity analysis from conventional
serial manipulator methods can be applied for each leg.
Once the Jacobian matrix is found, the Lagrange multipliers in
Eq. () are eliminated by multiplying matrix C, so that,
CA=0. One way to find C is by obtaining the
natural orthogonal complement of C. On the other hand, the matrix
can be found by separating matrix A=0 into the passive and the
active joints. That is:
τ=ha+GIIIThp,
where GIII has dimensions l×n and can be computed as follows:
GIII=Ap-1Aa,
where subscripts p and a respectively refer to the passive and active
variable terms in Jacobian A. Equation () can be
written in the form of Eq. (). That is:
τ=IGIIIhiahip=GTh.
Several open chains obtained after cutting open the parallel
manipulator.
As Eqs. (), () and () show, the
three methods establish a linear relation between the cut-open model
(h) to the original system. The different lies in how matrix
GT and vector h are solved in each model. This is
illustrated in the next section for the particular case of a general
3-PRS parallel manipulator.
Inverse dynamics of the 3-PRS PM
A schematic representation of the 3-PRS PM is shown in
Fig. where the 7 moving rigid bodies are shown. There,
links 0, 1, and 2 can be seen as 2-DOF serial manipulator with PR joints,
also it applies to links 0, 4, and 5 as well as links 0, 6, and 7. The
platform is indicated by the number 3. The manipulator is a lower mobility
(i.e., less that 6-DOF) spacial PM with 3-DOF. This manipulator holds the
characteristic of zero torsion at its platform because the three spherical
joints move in vertical planes intersecting at a common line .
In addition, the topology of its legs provides 2-DOF of angular rotation (2R)
in two axes (A/B axis, rolling and pitching) and 1-DOF translation (1T)
motion (heave) at the end effector.
As Fig. shows, reference frame {O} defines the global
coordinate system x,y,z while {p} defines the local
coordinate system attached to the moving platform. In the typical symmetrical
configuration, the centre of the spherical joints at the platform form an
equilateral triangle circumscribed in a circle with centre p and radius
rp. The line of action of the prismatic joints intersects the base Oxy
plane at Ai also forming an equilateral triangle. The distance from O to
Ai is the base platform radius rb.
Sketch of a general 3-PRS manipulator.
In order to take advantage of the dynamic equation algorithms developed for
serial manipulators, when modelling the manipulator with leg and platform as
subsystem, the joint coordinates q can be used to develop the
dynamics equations of each leg . To this end, a local
coordinate system {Oi,0} is defined at the bottom of leg i where the
leg meets the based plane. Table lists the
Denavit–Hartenberg (D–H) parameters, according to Craig's notation
, of each leg i from {Oi,0} up to the location of
the axis {Oi,2} at the revolute joint.
The rotation matrix Oi,0Ro can be found as:
Oi,0RO=-sinξi0cosξicosξi0sinξi010,
where ξ=02/3π4/3πT.
In addition, the roll-pitch-yaw (α, β and ϕ) Euler angles
represent the orientation of the moving frame {p} with respect to the
global coordinate system {O}. The rotation matrix
ORp is defined as:
ORp=cαcβcαsβsϕ-sαcϕcαsβcϕ+sαsϕsαcβsαsβsϕ+cαcϕsαsβcϕ-cαsϕ-sβcβsϕcβcϕ,
where c*=cos* and s*=sin*.
The task space (x) and joint space (qi) coordinates are
given by:
x=xpypzpϕβαT,q=q1Tq2Tq3T,q1=s1θ1,q2=s2θ2,andq3=s3θ3,
where si represents the displacement along the axis of the prismatic joint
i, and θi the angle of the link 2 and the axis of the prismatic
joint i in the plane of movement of the leg i.
D–H parameters for a 3-PRS PM when modelling the manipulator with
leg and platform as subsystem.
i
θi,1
di,1
ai,1
αi,1
θi,2
di,2
ai,2
αi,2
1
π/2
s1
0
γ1
θ1
0
0
-π/2
2
π/2
s2
0
γ2
θ2
0
0
-π/2
3
π/2
s3
0
γ3
θ3
0
0
-π/2
The components of bi with respect to the local coordinate system
{p} are given by:
pb1=rp00,pb2=-12rp32rp0,andpb3=-12rp-32rp0
while the components of ai with respect to the global coordinate
system {O} are given by:
a1=rb00,a2=-12rb32rb0,anda3=-12rb-32rb0.
The position problem for the considered PM is not included in this paper
since it can be found in , ,
, . The following subsections focus on the
computation of the Jacobian matrix for the aforementioned approaches.
Jacobian matrix for Model I
Matrices Jp and G for computing
Eq. () are found following the approach presented in
. The vector loop equation of the ith leg can be written as:
p+bi=ai+siu1i+liu2i,
where u1i and u2i are unit vectors, li is the
distance between the rotational joint and the spherical joint, bi is
the position vector from the origin O to the centre of the spherical joint.
Vector ai is the position vector between O and local frame of each
leg. Differentiating Eq. () with respect to time and after some
algebraic manipulation, the following equation can be obtained:
Jqq˙=Jxx˙
where:
Jq=u21Tu11000u22Tu12000u23Tu13
and
Jx=u21Tb1×u21Tu22Tb2×u22Tu23Tb3×u23T.
Due to the constraints imposed by the fact that each legs moves on a plane,
the following set of equations holds:
xp=-rpsαcβ,yp=-12rpcαcβ-sαsβsϕ-cαcϕ,tanα=sβsϕ/cϕ+cβ.
From these equations, a 6×3 Jacobian matrix mapping the dependent
task space coordinates to the independent ones can be found such that:
x˙py˙pz˙pϕ˙β˙α˙T=Jr*z˙pϕ˙β˙T
It is important to note that x˙=x˙py˙pz˙pωpxωypωzpT. In
order to apply Eq. (), one has to find the angular velocity of the
platform through the rate of change of the generalised coordinates α˙β˙ϕ˙T. That is:
ωpxωypωzp=cαcβ-sα0sαcβcα0-sβ01ϕ˙β˙α˙.
After some algebraic manipulation the following equation can be obtained:
Jp=JrJc-1
where Jc=Jq-1JxJr.
The 3×3 matrix GI is found by considering the
fact that the distance among spherical joints at the platform is constant due
to the rigid body assumption. That is:
lp2-ai+siu1i+liu2i-ai+1-si+1u1i+1-li+1u2i+1=0
with i=1,2,3 and when i=3, i+1=1.
Thus, by obtaining the partial derivatives of the above set of equation
matrix GI can be written as:
δθ˙1δs˙1δθ˙2δs˙1δθ˙3δs˙1δθ˙1δs˙2δθ˙2δs˙2δθ˙2δs˙2δθ˙1δs˙3δθ˙2δs˙3δθ˙3δs˙3=Xp-1Xa=GI.
Jacobian matrix for Model II
Another approach to compute matrices Jp and G
is to consider that the spherical joints in each leg is constrained to move
on a plane normal to the revolute joint. The motion of each leg at point
Bi can be found in terms of the joint coordinates. Moreover, it can also
be expressed with respect to Oi,2. Due to the constraints provided by
the P–R pair, the third row of the Jacobian matrix consist of zero entries.
That is:
i,2vBi=iJqqi,
where
iJq=-sinθi0-cosθili00.
The linear velocity of the end effector can be related to the linear velocity
of points Bi as follows:
i,2vBi=iJvv=i,2RO-i,2ROORppb̃iv,
where v=vpTωpTT=vpxvpyvpzωxωyωzT, b̃ stands for the skew symmetric matrix
substituting the cross product bi×, and
i,2Rp=-cσisγi+θi-cσicγi+θisσi-sσisγ1+θi-sσicγ1+θi-cσicγ+θi-sγi+θi0.
The first two rows of Eqs. () and
() relate the task space to the joint spaces
coordinates. That is:
Jqq˙=Jxv,
where
Jq=1Jq0002Jq0003Jq
and,
Jx=xT1,2ROxT-1,2ROORppb̃1yT1,2ROyT-1,2ROORppb̃1xT2,2ROxT-2,2ROORppb̃1yT2,2ROyT-2,2ROORppb̃1xT3,2ROxT-3,2ROORppb̃1yT3,2ROyT-3,2ROORppb̃1.
In the above equations x=100T, y=010T, and 0 is a 2×2 zero matrix.
From the above equation, matrix GII can be obtained as
follows:
Jq-1Jx=Jq1-1Jv1Jq2-1Jv2Jq3-1Jv2GIIT=Jv1TJq1-T:,2Jv2TJq1-T:,2Jv3TJq3-T:,2
where A:,2 denotes the 2nd column of matrix
A.
The Jacobian matrix, relating the task space coordinates Jr, is
found by considering the third column of velocity equation following each leg
and the platform. The Jacobian matrix is obtained by following method 2 which
is graphically represented in Fig. .
Formulation of the Jacobian matrix using Method II.
Jacobian matrix for Model III
The inverse dynamic is computed as a function of three open chains which are
obtained after disassembling two of the three spherical joints. The platform
is attached to one of the legs, and the spherical joint is modelled as three
intersecting revolute joints with the three axes mutually perpendicular to
one another. Therefore, the chain with the end effector platform is modelled
by using the set of D–H parameters presented in
Table . The remaining legs have only sets of two
variables which are the same as those presented in
Table .
D–H Parameters for the first leg of the 3-PRS PM when
modelling as a three open chains.
j
θ1,j
d1,1
a1,j
α1,j
1
π/2
s1
0
-γ1
2
θ1
0
0
-π/2
3
θ4
l1
0
0
4
θ5
0
0
π/2
5
θ6
0
0
π/2
One of the advantages of considering the manipulator as tree-like serial
chains is that the Jacobian for each leg can be computed by using well-known
recursive modelling from serial manipulator. In this respect, the velocities
at the cut joints can be computed through recursive formulation
. That is:
Aiq˙i=VBi,i+1=Ai+1q˙i+1,
where i=1,2,3 and when i=3, i+1=1, Ai is the Jacobian
matrix for the ith leg, and VBi,i+1 is the velocity at the cut
joint connecting leg i and i+1.
From Eq. () the following equation can be obtained:
Aiq˙i-Ai+1q˙i+1=0.
This equation provides a set of three linear systems relating the joint
coordinates following each loop. If the set of linear equations is appended
together the following equation holds:
X=A1-A203×303×3A2-A3A103×3-A3q˙=0.
The relationship between the active and passive coordinates can be obtained
from Eq. () as follows:
GIII=Xp-1Xa.
Results and discussion
In order to solve the inverse dynamics of the 3-PRS parallel
manipulator, each term of Eqs. (), (), and ()
are found in closed form by using a Computer Algebra Symbolic (CAS) program,
such as Maple. One of the advantages of developing the model in a CAS program
relies on the fact that the mathematical operations can be performed
symbolically and simplified. In the present case, built-in functions such as
simplify and combine (with option=trig) of Maple
programming environment were used to reduce the number of operations for
solving each model.
Computational effort for solving the inverse dynamic
problem.
Model Eq. ()
Model Eq. ()
Model Eq. ()
Term
×/÷
+/-
Term
×/÷
+/-
Term
×/÷
+/-
ha
21
15
ha
21
15
ha
97
67
hp
27
18
hp
27
18
hp
600
380
hp
404
253
hp
404
253
Xp
–
–
Xp
6
12
Xp
150
56
Xa
–
–
Xa
31
27
Xa
0
0
GII
76
17
GI
109
72
GIII
478
308
Jq-1Jx
90
50
Jq-1Jx
70
28
Jr
52
26
Jr
52
26
Jc
196
121
Jc
196
113
Jp
265
226
Jp
245
204
GTh
832
568
GTh
833
574
GTh
1193
773
A second advantage of obtaining the model in closed form is that the code can
be written automatically for Matlab by using the code generation
capabilities of the software. The Matlab procedure with
optimize=tryhard option of the package CodeGeneration were
used in this case to develop Matlab code. The number of algebraic operations
(i.e., additions/subtractions and divisions/multiplications) necessary for
solving the dynamic problem was obtained through the cost function
of the codegen package. Without any loss of generality, the number
of operations for matrix inversion (i.e., when obtaining
Jp) were computed by considering the number of
operations conventional LU decomposition takes to solve a linear system:
about +,-n3/3-n2/2+5n/6 and × n3/3+n2-n/3
. The objective of this paper is to evaluate the
complexity and the computational load of these three formulations which is
presented in Table .
As Table shows, the models in Eqs. ()
and (), which are based on splitting the platform from the legs,
hold fewer number of operation than those of the model considering the
platform attached to one of the legs. This fact is due to the inversion of a
6×6 matrix when finding the matrix GIII. On the
other hand, by having the platform attached to one leg, the projection of the
platform generalised forces onto the actuated joints is cumbersome. The
result shows that either using Eqs. () or () a reduction
of about 30 % in the number of multiplication and about 25 % in
additions is obtained when comparing to the model given in Eq. ).
These results indicate that considering the platform and legs as subsystem
can improve speed in the calculation of dynamics for applications such as
model-based control, see for example .