Sie sind auf Seite 1von 27

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/283513181

Improved General Solution for the Dynamic Modeling of Gough-Stewart


Platform Based on Principle of Virtual Work

Article  in  Nonlinear Dynamics · November 2015


DOI: 10.1007/s11071-015-2489-z

CITATIONS READS

9 121

3 authors, including:

Hadi Kalani Amir Rezaei


Soft Computing and Intelligent Information Processing Ferdowsi University Of Mashhad
29 PUBLICATIONS   65 CITATIONS    18 PUBLICATIONS   141 CITATIONS   

SEE PROFILE SEE PROFILE

Some of the authors of this publication are also working on these related projects:

Mamdani's fuzzy inference eMath Teacher: A Tutorial for active learning View project

Dynamic modeling and CPG-based trajectory generation for a masticatory rehab robot View project

All content following this page was uploaded by Amir Rezaei on 09 November 2018.

The user has requested enhancement of the downloaded file.


Nonlinear Dyn
DOI 10.1007/s11071-015-2489-z

ORIGINAL PAPER

Improved general solution for the dynamic modeling of


Gough–Stewart platform based on principle of virtual work
Hadi Kalani · Amir Rezaei · Alireza Akbarzadeh

Received: 22 August 2014 / Accepted: 3 November 2015


© Springer Science+Business Media Dordrecht 2015

Abstract This paper presents an improved general the DKP. Next, two numerical examples are presented
dynamic formulation, inverse and direct dynamics, of and the results are verified using a commercial dynam-
6-UPS Gough–Stewart parallel robot based on the vir- ics modeling software. Finally, for comparison, Euler–
tual work method. The new formulation offers a reduc- Lagrange formulation is also obtained. Results indi-
tion in the computational time and improves accuracy cates that the proposed dynamics formulation offers a
of the dynamics equations. This method allows elim- significant improvement in both accuracy and execu-
ination of constraint forces/moments at the passive tion time.
joints from equations of motion. Since, the dynamic
formulations are derived in joint space, the concept of Keywords Direct dynamic analysis · Principle of
direct link Jacobian matrices are employed to obtain virtual work · Modified hybrid strategy · Link Jacobian
all rigid bodies’ twists. The direct link Jacobian matri- matrix
ces convert the twist of the rigid bodies to actuated
joints velocities. Moreover, more accurate formula-
tion is obtained by considering the angular velocity
and acceleration vectors of the robot’s legs. In the List of symbols
process of solving the direct dynamics problem, a mod-
ified hybrid strategy is employed to obtain the near- B {x, y, z} Fixed coordinate frame which is atta-
exact solution for the direct kinematics problem (DKP). ched to center of fixed platform
The modified hybrid strategy combines the artificial T {u, v, w} Moving coordinate frame which is atta-
neural network and the third-order Newton–Raphson ched to center of moving platform, P
method. This strategy satisfies both goals to find the {Fi} Local coordinate frames which is atta-
nearest exact solution and reduces execution time for ched to ith cylinder at ith passive U-
joint
H. Kalani · A. Rezaei · A. Akbarzadeh (B) αi A constant value denotes the angle of
Mechanical Engineering Department, Center of Excellence
on Soft Computing and Intelligent Information Processing
vector of B ai , about x-axis of frame {B}
(SCIIP), Ferdowsi University of Mashhad, Mashhad, Iran γi Rotation angle of ith passive U-joint
e-mail: ali_akbarzadeh@um.ac.ir about y-axis of local frame {Bi }
H. Kalani ψi Rotation angle of ith passive U-joint
e-mail: hadi.kalani@yahoo.com about x-axis of local frame {Ti }
BR Rotation matrix to transfer a vector
A. Rezaei T
e-mail: amirrezaei_aico@stu.um.ac.ir defined in {T} to {B}

123
H. Kalani et al.

B
Fi R Rotation matrix to transfer a vector ωMP Angular velocity vector of the moving
defined in {Fi} to {B} for ith U-joint platform, {ωx ω y ωz }T
τϑ Arbitrary ϑ vector that is defined in vSi Velocity vector of the ith spherical
arbitrary coordinate frame {τ } joint, {ẋSi , ẏSi , żSi }T
a1 , . . . , a6 Distance between the center of fixed ωLeg,i Angular velocity of the ith actuated link
platform and passive U-joints vC.G.1 i Cartesian velocity of the mass center of
b1 , . . . , b6 Distance between the center of moving ith actuator’s cylinder
platform and passive S-joints vC.G.2 i Cartesian velocity of the mass center of
q1ac , . . . , q6ac Translational variables for the actuated ith actuator’s piston
prismatic joint q̈ac Vector of the prismatic actuated joint
xP , yP , z P Translational variables of the tool tip, accelerations, {q̈1ac , . . . , q̈6ac }T
point P v̇P Cartesian acceleration vector for the
θ, ϕ, λ The Euler angles about the x-, y- and tip, {v̇Px v̇Py v̇Pz }T = {ẍP , ÿP , z̈P }T
z-axes of moving platform ω̇MP Angular acceleration vector of the mov-
e1 Center of gravity for cylindrical part of ing platform, {ω˙x ω̇ y ω̇z }T
the actuated prismatic joints v̇Si Acceleration vector of the ith spherical
e2 Center of gravity for position of the joint, {ẍSi , ÿSi , z̈Si }T
actuated prismatic joints ω̇Leg,i Angular acceleration of the ith actuated
ai Position vector located on ith passive link
U-joint in frame {B} v̇C.G.1 i Cartesian acceleration of the mass cen-
bi Position vector connecting the end- ter of ith actuator’s cylinder
effector to the ith passive S-joint, Si v̇C.G.2 i Cartesian acceleration of the mass cen-
qiac Position vector which specifies length ter of ith actuator’s piston
of ith actuated prismatic joint ṫMP Twist vector of the moving platform,
p Position vector of the tool tip, point P {vTP ωTMP }T
q̂iac Unit vector along ith actuated link Fi t Twist vector of ith actuator’s cylinder
cyl,i
r1i , r2i Position vectors located on the center Fi t Twist vector of ith actuator’s piston
pis,i
of gravity of ith actuator’s cylinder and ṫMP Vector of the moving platform acceler-
piston ation, {v̇TP ω̇TMP }T
q̇1ac , . . . , q̇6ac Values of prismatic actuated joints rate F i ṫ Acceleration vector of ith actuator’s
cyl,i
 T
ẋP , ẏP , żP Values of Cartesian velocities of the
cylinder, F i v̇TC.G.1i F i ω̇TLeg,i in
tool tip
{Fi}
ω x , ω y , ωz Values of angular velocities of the mov- F i ṫ
psi,i Acceleration vector of ith actuator’s
ing platform
piston, {F i v̇TC.G.2i F i ω̇TLeg,i }T in {Fi}
ẋSi , ẏSi , żSi Values for velocities of the ith passive
JMPi A 3×6 matrix which maps tMP to veloc-
S-joint, Si
ity of the ith spherical joint, vSi
q̈1ac , . . . , q̈6ac Values of prismatic actuated joints acc-
JMP Inverse Jacobian matrix (6 × 6matrix)
eleration
which maps tMP to q̇ac
ẍP , ÿP , z̈P Values of Cartesian accelerations of the
Jωi A 3 × 6 matrix which maps tMP to
tool tip Fi ω
ω̇x , ω̇ y , ω̇z Values of angular accelerations of the Leg,i
Jv1,i A 3 × 6 matrix which maps tMP to
moving platform Fi v
ẍSi , ÿSi , z̈Si Values for accelerations of the ith pas- C.G.1i
Jv2,i A 3 × 6 matrix which maps tMP to
sive S-joint, Si Fi v
C.G.2i
q̇ac Vector of the prismatic actuated joint
Jinv,cyl,i Inverse ith link Jacobian matrix (6 ×
rates, {q̇1ac . . . q̇6ac }T
6matrix) which maps tMP to F i tcyl,i
vP Cartesian velocity vector for the tip,
Jinv,pis,i Inverse ith link Jacobian matrix (6 ×
{vPx vPy vPz }T = {ẋP , ẏP , żP }T
6matrix) which maps tMP to F i tpis,i

123
Improved general solution for the dynamic modeling...

Jdir,cyl,i Direct ith link Jacobian matrix (6 × into two different branches: direct kinematics prob-
6 matrix) which maps tMP to q̇ac lems (DKP) and inverse kinematics problems (IKP).
Jdir,pis,i Direct ith link Jacobian matrix (6 × In inverse kinematics, we determine the leg lengths
6 matrix) which maps tMP to q̇ac given the position and orientation of the mobile plat-
wext Applied external wrench exerted to form. In the direct kinematics, we determine position
end-effector define in {B} and orientation of the mobile platform by giving leg
f ac Actuated joints forces lengths. Unlike serial manipulators, the application of
wMP Resultant wrench due to external inverse dynamic for parallel manipulators in control
wrench and inertia of the moving plat- requires the additional solution of the direct kinemat-
form ics [1]. In the inverse dynamics, the desired trajec-
Fi w Resultant wrench due to inertia of ith tory of the end-effector as well as the mass distribu-
cyl,i
actuator’s cylinder defined in {Fi} tion of each link is given, and the required actuator
Fi w Resultant wrench due to inertia of ith moments and/or forces necessary to generate this tra-
pis,i
actuator’s piston defined in {Fi} jectory are determined. In the direct dynamics, initial
δ qac Virtual translational vector of actuated actuated joint positions, initial actuated joint veloci-
joints ties, applied actuated torques, applied external forces
δ tMP Virtual twist vector of the moving plat- to end-effector, and the mass distribution of all links
form are supplied, and the resulting motion of the end-
δF i tcyl,i Virtual twist vector of ith actuator’s effector is determined [2–4]. Several approaches have
cylinder defined in {Fi} been employed to solve inverse dynamic of Gough–
δF i tpis,i Virtual twist vector of ith actuator’s pis- Stewart robot including the Newton–Euler laws [5–9],
ton defined in {Fi} the Euler–Lagrange formulation [10–14] and the prin-
m MP Mass of the moving platform ciple of the virtual work [15,16]. Although to the best of
m cyl,i Mass of the ith actuator’s cylinder author’s knowledge, only two studies, Kane’s method
m pis,i Mass of the ith actuator’s piston [17] and the Newton–Euler method [18], exists for
g Gravitational acceleration vector defi- obtaining the direct dynamic of Gough–Stewart Plat-
ned in {B} , g = {0 0 9.81}T form. The Newton–Euler formulation is obtained from
BI Inertia matrix of the moving platform the free-body diagrams. The approach is not suitable
MP
with respect to the base frame, {B} for motion simulation, as it finds the internal moments
Fi I Inertia matrix of ith actuator’s cylinder and forces that do not affect the motion of the sys-
cyl,i
defined in {Fi} tem [2–4,17]. The Euler–Lagrange equations results
Fi I Inertia matrix of ith actuator’s piston from the kinetic and potential energies of the sys-
pis,i
defined in {Fi} tem. Euler–Lagrange equations give an independent
set of equations of motion that is good for motion
simulation; however, it requires complex calculations
1 Introduction of partial derivatives. The principle of virtual work
is the most efficient method for the dynamic analy-
The Gough–Stewart platform is a type of parallel sis of parallel manipulators. This method allows elim-
manipulator, which consists of a mobile platform and ination of all reaction forces and moments. Moreover,
a stationary base, connected to each other using six one can derive the equations of motions in terms of
linear actuators. The first structure of this robot with independent generalized coordinates. The virtual work
spherical joints at both end of a leg is called 6-SPS method is an efficient approach to derive dynamic
(Spherical–Prismatic–Spherical) Gough–Stewart plat- equations for the inverse dynamics of the Gough–
form, while the second one, having a universal joint Stewart platform. However, for the direct dynamics,
at the base and a spherical joint at the moving plat- the method of virtual work is not straightforward
form is called 6-UPS (Universal–Prismatic–Spherical) because of the complicated velocity transform between
Gough–Stewart platform. A number of studies exist the joint space and task space [17]. In this study,
on the kinematics, dynamics and control of paral- we present a novel method to overcome this prob-
lel manipulators. Kinematics problems can be divided lem.

123
H. Kalani et al.

The direct dynamic solution requires the solution of the direct dynamics formulation, and a resulting MP
direct kinematics. Similar to the dynamics, there exist trajectory is obtained. This section also covers com-
many studies on the kinematics. In general, there are parison between Lagrange–Euler formulation and the
two approaches, analytical and numerical, for kinemat- proposed dynamics method.
ics solution. Analytical approaches exist for solving the
DKP of Gough–Stewart robots such as ‘the elimination
method’ [19–21] and ‘the Gröebner basis method’ [22–
2 Inverse position analysis
24]. These methods are not useful for real-time control
and simulation due to the need to determine the accept-
Consider Fig. 1a. Frame {T} and frame {B} are
able solution among the many available solutions [25–
attached to the moving platform, MP, and fixed base,
28]. Moreover, in general, DKP does not admit closed-
respectively.
form solutions, and therefore, numerical approaches
The rotation matrix, B T R, consists of three Euler
need to be adopted [28,29]. There exist convenient
angles θ, ϕ and λ rotated about x, y and z-axes, respec-
numerical iterative methods which start the search from
tively and can be defined as
an initial guess and converge to one of the direct kine-
matics solutions. Newton’s method is widely employed B
TR = R(x, θ )R(y, ϕ)R(z, λ)
in the DKP of parallel robots [28–30]. However, the ⎡ ⎤
cλ cϕ − cϕsλ sϕ
initial guess plays an important role on the number of = ⎣ cθ sλ+ cλ sϕ sθ cλ cθ − sλ sϕ sθ −cϕ sθ ⎦
iterations needed for finding a solution and even the sλ sθ − cλ cθ sϕ cλ sθ + cθ sλ sϕ cϕ cθ
convergence of the process. Pratik and Lam [30] pre-
(1)
sented a novel strategy for providing an appropriate
initial guess for a standard Newton–Raphson technique where c and s represent cosine and sine, respectively.
using neural network. Therefore, to express an arbitrary T ϑ, defined in {T}
In this paper, the principle of virtual work is to {B}, we have
employed for the first time, for solving both the
inverse and direct dynamics of a Gough–Stewart paral- ϑ =B
TR ϑ
B T
(2)
lel manipulator. Section 2 covers the Gough–Stewart
platform description and kinematical parameters. In
In this paper, a leading superscript represents the coor-
Sects. 3 and 4, the moving platform velocity is dis-
dinate frame in which the vector is referenced. Addi-
cussed and concept of inverse and direct link Jacobian
tionally, bold lower and upper case lettering desig-
matrices is used to relate the motion between joints
nate vectors and matrices, respectively. For brevity, the
(active and/or passive) and actuators velocity vector.
superscript “B” denoting the frame {B} in which vec-
Next, in Sect. 5, the moving platform accelerations and
tors are defined is eliminated.
in Sect. 6 the link accelerations are analyzed. Section 7
Figure 1b represents vectors and coordinate frames
covers resultant wrench and inertia of the moving plat-
used for the kinematic problem of the 6-UPS manip-
form. In Sect. 8, the dynamics equations of motion are
ulator. For each kinematic chain, a closed vector-loop
formulated by employing the concept of virtual work.
equation can be written as follows
In Sect. 9, improved hybrid strategy is applied for solv-
ing the DKP of Gough–Stewart platform. Two exam-
ples, covering the direct and inverse dynamics, are also ai + qiac = B
T R bi + p
T
for i = 1, . . . , 6 (3)
presented. In the first example, a robot trajectory is
selected, and the inverse dynamics using the virtual where B T R is a rotation matrix to transfer a vector
work is solved to obtain required motor torques. Results defined in {T} to {B}. Vectors ai , T bi and p denote
are next verified with commercial dynamics software. position of point Ui relative to frame {B}, posi-
In the second example, the input of the direct dynamics tion of point Si relative to frame {T} and the trans-
is compared with the output of the inverse dynamics. lation vector of the tip, point P, respectively. The
To do this, another trajectory is first selected and the constraint equations, Eq. (3), is a system of nonlin-
inverse dynamics is used to obtain the required motor ear
 acalgebraic equations as F(q) = 0, where q =
torques. These motor torques are next used as input for q1 , . . . , q6 , xP , yP , z P , θ, ϕ, λ . The actuated joints
ac

123
Improved general solution for the dynamic modeling...

Fig. 1 a The physical


model and b a closed loop
vector for ith leg of the
6-UPS parallel robot

(a) (b)

Fig. 2 a Local coordinates


frames for ith passive
universal joint, b position
vectors and dimensional
parameters of ith actuated
limb

(a) (b)

values, qiac , and unit vectors along the actuated pris- B


= R (z, αi ) R (y, γi ) R (x, ψi )
Fi R
matic joints, q̂iac , can be obtained using Eq. (3) as fol- ⎡ ⎤
cα i cγ i −sα i cψ i + cα i sγ i sψ i sα i sψ i + cα i sγ i cψ i
lows ⎣
= sα i cγ i cα i cψ i + sα i sγ i sψ i −cα i sψ i + sα i sγ i cψ i ⎦


T
−sγ i cγ i sψ i cγ i cψ i
qiac =
BT R b i + p − a i

(6)
1 T
q̂iac = ac B T R bi + p − ai for i = 1, . . . , 6 (4)
qi where αi is a constant value and is illustrated in Fig. 2a.
As shown in Fig. 2b, the actuated prismatic joints Using Eq. (6), we have
include two cylindrical parts. The center of gravity ⎧ ⎫
⎨ sα i sψ i + cα i sγ i cψ i ⎬
positions of these parts can be calculated as follows F i ac
 q̂iac = B
F i R q̂i = ⎩ −cα i sψ i + sα i sγ i cψ i ⎭
r1i = ai + e1 q̂iac and r2i = ai + qiac − e2 q̂iac cγ i cψ i
⎧ ac ⎫
for i = 1, . . . , 6 (5) ⎪
⎨ q̂i x ⎪ ⎬
Furthermore, to calculate the rotation values of U-joint, = q̂iacy for i = 1, . . . , 6 (7)

⎩ ac ⎪ ⎭
the following method is utilized. As shown in Fig. 1a, q̂i z
the rotation matrix, which transfers local moving frame  T
{Fi } to fixed frame {B} for ith passive U-joint, can be where F i q̂iac = 0 0 1 . By comparing Eqs. (4) and
obtained as (7) and solving the inverse kinematics problem as well

123
H. Kalani et al.

as solving Eq. (4), the rotation angles for ith passive where F i żSi is the velocity of ith S-joint along the z-axis
U-joint, i.e., γi and ψi , can be obtained as of local moving frame {Fi} which can be represented
−1
as the ith actuator velocity. Note that, B F iR =
sψi = sαi q̂iacx − cαi q̂iacy (8) B T F i
Fi R = B R. Therefore, multiplying the both sides
of Eq. (13) by F i
B R yield
and
Fi
sγi cψi = cαi q̂iacx + sαi q̂iacy and cγi cψi = q̂iacz vSi = F Fi
B R vSi = B R JMPi tMP =
i Fi
JMPi tMP
for i = 1, . . . , 6 (15)
cαi q̂iacx + sαi q̂iacy
→ tan γi = (9) By comparing Eqs. (14) and (15) as well as selecting
q̂iacz
the z component of velocity vector F i vSi , the inverse
velocity relation for ith leg of the 6-UPS parallel robot
3 Inverse and direct velocity analysis can be obtained as
of the moving platform
q̇iac = F i żSi = F i JMPi(3×1−6) tMP for i = 1, . . . , 6
The velocity vector equations are found by time differ- (16)
entiating both sides of Eq. (3) as
q̇iac q̂iac + qiac ωLeg,i × q̂iac = vP + ωMP × bi where F i JMPi(k×1−6) is the kth row of matrix F i JMPi .
for i = 1, . . . , 6 (10) The overall inverse velocity relation for the robot can
 T  T be obtained in familiar matrix form as
where vP = ẋP ẏP żP and ωMP = ωx ω y ωz
denote Cartesian velocity vector of the tip, point P, and q̇ac = JMP tMP (17)
angular velocity vector of the MP, respectively. The where q̇ac = {q̇ac
1 , . . . , q̇6 }
ac
represents the linear actu-
velocity of ith S-joint, point Si , can be written in terms ated joint velocities. Furthermore, JMP is a 6×6 square
of translational and rotational velocities of the MP as matrix called inverse Jacobian matrix of the robot.
follows Using Eq. (16), Jacobian matrix JMP can be obtained.
This matrix can be found in “Appendix 1.” Note that
vSi = vP + ωMP × bi for i = 1, . . . , 6 (11) the angular velocity of MP, ωMP can be specified as
 T function of three Euler angular velocities, θ̇, ϕ̇, and λ̇
where bi = bi x bi y bi z . For two arbitrary vectors (see “Appendix 4”).
a and c, we can write Clearly, to obtain the overall direct velocity relation
which maps the ith actuated joint velocities, q̇iac , to the
a × c = εi jk a j ck (12) twist vector of the MP, tMP , Eq. (17) can be rewritten
as follows
where j and k are dummy indices and εi jk is the per-
−1 ac
mutation symbol. Therefore, to obtain inverse velocity tMP = JMP q̇ (18)
relation in matrix form, Eq. (11) can be rewritten as −1
where JMP is a 6 × 6 square matrix called direct Jaco-
bian matrix of the 6-UPS parallel robot.
vSi = JMPi tMP for i = 1, . . . , 6 (13)
 T
where tMP = vTP ωTMP represent the twist vector 4 Inverse and direct link Jacobian matrices
 T
of the MP and vSi = ẋSi ẏSi żSi is velocity vector
of the ith S-joint as well as JMPi is the 3 × 6 matrix The velocity vector of ith S-joint in {Fi} can be written
which maps the twist vector of the MP to the ith S-joint in terms of the ith actuator velocity and angular velocity
velocity. The matrix JMPi can be found in “Appendix of the ith limb of the robot using Eq. (10) as follows
1.” Furthermore, we know that Fi
vSi = F ac F i ac
B R vSi = q̇i
i
q̂i + qiac F i ωLeg,i
q̇iac = F i vSi · F i q̂iac = F i żSi for i = 1, . . . , 6 (14) × F i q̂iac for i = 1, . . . , 6 (19)

123
Improved general solution for the dynamic modeling...


F i ac
Furthermore, as illustrated in Fig. 2a, the ith leg of × F i ωLeg,i × F i q̂iac
q̂i
robot can rotate around the y-axis of fixed frame {Bi }
by γi . Then it rotates around the x-axis of moving frame = F i q̂iac × F i vSi /qiac for i = 1, . . . , 6 (24)
{Ti } by ψi . Since these two rotation axes are not always
Consider
perpendicular to the leg, it means that we cannot state
that the ith leg of 6-UPS robot does not have spin about a × (b × c) = (a · c) b − (a · b) c and
z-axis of frame {Fi}. Therefore, we can claim
 that the a × b = −b × a (25)
statement of F i ωLeg,i = F i q̂iac × F i vSi /qiac com-
monly used in previous literature [15] is not always Therefore, Eq. (24) can be simplified using Eq. (22) as
right. This formulation is only a good approxima- ⎧ Fi ⎫ ⎧ ⎫
⎨ ωLeg,i x ⎬ ⎨ ψ̇i ⎬
tion and does not produce the accurate results. This is Fi ω = γ̇i cos(ψi )
Leg,i y
because, the angular velocity of ith leg in its local frame ⎩ ⎭ ⎩ ⎭
0 0
{Fi }, F i ωLeg,i , cannot always be obtained by using
cross product of both sides of Eq. (19) with the unit = F i q̂iac × F i vSi /qiac for i = 1, . . . , 6 (26)
vector F i q̂iac . In the present paper, the angular velocity
of ith leg is obtained using the angular velocities of the Substituting F i vSi from Eqs. (15) in (26), yields
two consecutive R-joints of the ith U-joint. Therefore, −1
considering Fig. 2a, we obtain the angular velocity of ψ̇i = ac F i JMPi(2×1−6) tMP
qi
ith leg in {Fi } using the ith U-joint angular velocities 1
Fi
as follows γ̇i = ac JMPi (1×1−6) tMP
qi cos (ψi )
Fi ω
Leg,i = γ̇i F i êγ i + ψ̇ F i êψi for i = 1, . . . , 6 for i = 1, . . . , 6 (27)
(20)
Finally, substituting values of γ̇i and ψ̇i from Eq. (27)
where in Eq. (22) yield
⎧ ⎫
⎨0⎬ Fi ω
Leg,i = Jωi tMP for i = 1, . . . , 6 (28)
Fi
êγ i = R (x, ψi ) R (y, γi ) 1 ,
T T
⎩ ⎭ where Jωi is a 3×6 matrix and can be found in “Appen-
0
⎧ ⎫ dix 1.” The mass centers’ velocities of the actuators’
⎨1⎬ cylinder and piston can be derived by time differenti-
Fi
êψi = RT (x, ψi ) 0 for i = 1, . . . , 6 (21)
⎩ ⎭ ating from Eq. (5). This yields
0
Fi
vC.G.1i = F i
B RUi vC.G.1i
where γ̇i and ψ̇i are the angular velocities and F i êγ i
= e1 F i ωLeg,i × F i q̂iac
and F i êψi represent the unit vectors along rotation axes
Fi
of the two R-joints of ith passive U-joint (see Fig. 2a). vC.G.2i = F
B RUi vC.G.2i = q̇
i ac F i ac
q̂i
ac  Fi
Equation (21) can be rewritten in matrix form as follows + qi − e2 ωLeg,i × F i q̂iac
 
Fi ω Fi γ̇i for i = 1, . . . , 6 (29)
Leg,i = kUi
ψ̇i
⎧ ⎫ Using Eq. (28), term F i ωLeg,i × F i q̂iac can be simplified
⎨ ψ̇i ⎬ as follows
= γ̇i cos(ψi ) for i = 1, . . . , 6 (22)
⎩ ⎭ Fi ω
× F i q̂iac
−γ̇i sin(ψi ) Leg,i
 
1 F i JMPi(1−2×1−6)
where F i kUi is Jacobian matrix which maps the joint = ac tMP for i = 1, . . . , 6
qi 01×6 3×6
angular velocities of ith passive U-joint to the angular
velocity of ith leg, and it can be expressed as follows (30)
Fi  
kUi = F i êγ i F i êψi 3×2 for i = 1, . . . , 6 (23) Substituting Eqs. (30) into (29) will yield
Fi
vC.G.1i = Jv1,i tMP
To obtain values of γ̇i and ψ̇i , we can cross product both
Fi
sides of Eq. (19) with unit vector F i q̂iac . This yield vC.G.2i = Jv2,i tMP for i = 1, . . . , 6 (31)

123
H. Kalani et al.

where Jv1,i and Jv2,i are 3×6 matrices and can be found = v̇P + ω̇MP × bi + ωMP × (ωMP × bi )
in “Appendix 1.” Equations (28) and (31) are called for i = 1, . . . , 6 (35)
the inverse link velocity relations. By combining these
equations, the overall inverse link velocity relations are where v̇P = {ẍP ÿP z̈P }T and ω̇MP = {ω̇x ω̇ y ω̇z }T
obtained as follows denote Cartesian acceleration vector of the tip, point
P, and angular acceleration vector of the MP, respec-
Fi
tcyl,i = Jinv,cyl,i tMP for i = 1, . . . , 6 tively. The acceleration of ith S-joint, point Si , can be
Fi
tpis,i = Jinv,pis,i tMP for i = 1, . . . , 6 (32) written in terms of velocities and accelerations of the
 T MP as follows
where F i tcyl,i = F i vTC.G.1i F i ωTLeg,i and F i tpis,i
v̇Si = v̇P + ω̇MP × bi + ωMP × (ωMP × bi )
 T
= F i vT C.G.2i
F i ωT
Leg,i represent the twist vec- for i = 1, . . . , 6 (36)
tors for cylinder and piston of the ith robot’s leg, By considering Eq. (25), the Eq. (36) can be rewritten
 T T T

respectively. Furthermore, Jinv,cyl,i = Jv1,i Jωi as
 T T T

and Jinv,pis,i = Jv2,i Jωi denote the overall inverse v̇Si = v̇P + ω̇MP × bi + (ωMP · bi )ωMP
link Jacobian matrices which map the MP’s twist vec-
− (ωMP · ωMP )bi for i = 1, . . . , 6 (37)
tor to the twist vectors of cylinder and piston of the
ith robot’s leg, respectively. Additionally, Eq. (18) is Therefore, Eq. (37) can be rewritten in matrix form as
used to derive the link velocity relations in terms of the
v̇Si = JMPi ṫMP + Ni ωMP + mi for i = 1, . . . , 6
actuated joint velocities, q̇ac . Substituting Eq. (18) into
Eqs. (28) and (31) yields (38)
Fi ω
Leg,i
−1 ac
= Jωi JMP q̇ where ṫMP = {v̇TP ω̇TMP }T
and v̇Si = {ẍSi ÿSi z̈Si }T are
Fi −1 ac the acceleration vector of the MP and acceleration vec-
vC.G.1i = Jv1,i JMP q̇ tor of ith S-joint, respectively. Matrix Ni and vector
Fi −1 ac
vC.G.2i = Jv2,i JMP q̇ for i = 1, . . . , 6 (33) mi can be found in “Appendix 1.” Additionally, the
acceleration of ith S-joint in {Fi}, F i v̇Si , can be writ-
Additionally, obtaining the twist vectors of each link
ten in terms of the velocities and accelerations of the
of the robot in terms of the actuated joint velocities
actuators as follows
is necessary to derive the direct dynamics relations.
Fi
Therefore, the overall direct link velocity relations are v̇Si = F ac F i ac
B Rv̇Si = q̈i
i
q̂i + 2q̇iac F i ωLeg,i
derived by combining Eq. (33) as follows × F i q̂iac F i ω̇Leg,i × F i q̂iac
Fi
tcyl,i = Jdir,cyl,i q̇ ac
+ qiac F i ωLeg,i × F i ωLeg,i × F i q̂iac
Fi
tpis,i = Jdir,pis,i q̇ac for i = 1, . . . , 6 (34) for i = 1, . . . , 6 (39)
−1
where, Jdir,cyl,i = and Jdir,pis,i = Jinv,pis,i
Jinv,cyl,i JMP By dot multiplying two sides of Eq. (39) with F i q̂ac ,
−1 i
JMP denote the overall direct link Jacobian matrices the inverse acceleration relation is obtained as
which map the actuators’ velocity vector to the twist
vectors of cylinder and piston of the ith robot’s leg, q̈iac = F i vSi · F i q̂iac − qiac i = F i z̈Si − qiac i
respectively. for i = 1, . . . , 6 (40)
where F i v̇Si .F i q̂iac = F i z̈Si and
 
5 The moving platform acceleration analysis Ωi = F i ωLeg,i × F i ωLeg,i × F i q̂iac .F i q̂iac

By taking the time derivative of both sides of Eq. (10), = − F i ωLeg,i2
x +
Fi 2
ωLeg,i y
the acceleration relation of the ith robot’s leg can be for i = 1, . . . , 6 (41)
derived as follows
Therefore, value of Ωi can be obtained using Eqs. (28)
q̈iac q̂iac + 2q̇iac ωLeg,i × q̂iac + qiac ω̇Leg,i × q̂iac or (33) as function of tMP or q̇ac , respectively. Also, to

+ qiac ωLeg,i × ωLeg,i × q̂iac obtain value of F i z̈Si , Eq. (38) is employed as follows

123
Improved general solution for the dynamic modeling...

Fi
v̇Si = F
B Rv̇Si =
i Fi
JMPi ṫMP + F i Ni ωMP Note that the direction of F i êγ i remains unchanged.
+F i mi for i = 1, . . . , 6 (42) Therefore, we can write
   
γ̇i γ̈i
where F i Ni = F i
B RNi and
F i m = F i Rm . Substitut-
i B i
F i ω̇
Leg,i = Fi
k̇Ui + Fi
k Ui
ψ̇i ψ̈i
ing Eqs. (41)–(42) into (40) and rewriting Eq. (40) in a ⎧ ⎫
familiar matrix form, we have ⎨ ψ̈i ⎬
= γ̈i cos(ψi ) − ψ̇i γ̇i sin(ψi )
q̈ac = JMP ṫMP + NωMP + m (43) ⎩ ⎭
−γ̈i sin(ψi ) − ψ̇i γ̇i cos(ψi )
Equation (43) is called the overall inverse accelera- for i = 1, . . . , 6 (47)
tion relation of the 6-UPS parallel robot where q̈ac = where F i k̇Ui = d(F i kUi )/dt. The values of γ̇i and ψ̇i
{q̈1ac , . . . , q̈6ac }T is vector of the linear actuated joint are obtained in Eq. (27). The cross product of both sides
accelerations and N is a 6 × 3 matrix as well as m of Eq. (39) with unit vector F i q̂iac leads to obtain values
is a 6 × 1 vector which are shown in “Appendix 1.” of γ̈i and ψ̈i . “Appendix 3” represents the derivation of
Note that, the angular acceleration of the MP, ω̇MP , can γ̈i and ψ̈i . Therefore, the angular acceleration of ith leg,
be obtained by time differentiating from Eqs. (107) or F i ω̇
Leg,i will be rewritten in terms of the end-effector
(108). For more explanations, see “Appendix 4.” Fur- acceleration vector in compact form as follows
thermore, the overall direct acceleration relation of the
F i ω̇
robot can be obtained using Eq. (43) as follows Leg,i = Jωi ṫMP + ωi tMP + Nωi ωMP
−1 ac −1 + mωi for i = 1, . . . , 6 (48)
ṫMP = JMP q̈ − JMP (NωMP + m) (44)
The 3 × 6 Matrix ωi and 3 × 3 matrix Nωi as well as
To obtain the overall direct acceleration relation as a
vector mωi are found in “Appendix 1.” The mass cen-
function of q̈ac and q̇ac , vectors ωMP and m must be
ters’ accelerations of the actuators’ cylinder and piston
obtained as functions of q̇ac . Therefore, Eq. (44) can
can be derived by time differentiating from Eq. (29).
be rewritten as
These yields
−1 ac
ṫMP = JMP q̈ + JCor,MP q̇ac (45) Fi
v̇C.G.1 i = e1 F i ω̇Leg,i × F i q̂iac + e1 F i ωLeg,i

“Appendix 2” provides the derivation of matrix × F i ωLeg,i × F i q̂iac
JCor,MP .
Fi
v̇C.G.2 i = q̈iac F i q̂iac + 2q̇iac F i ωLeg,i

× F i q̂iac + qiac − e2 F i ω̇Leg,i

6 Link acceleration analysis ×F i q̂iac + qiac − e2 F i ωLeg,i

× F i ωLeg,i × F i q̂iac
As stated earlier, since two rotation axes of the ith
robot’s leg, êγ i and êψi , are not always perpendicu- for i = 1, . . . , 6 (49)
lar to the leg, we cannot state that the ith leg of 6-UPS
Therefore, Eq. (49) can be rewritten in terms of the
robot does not have spin about z-axis of frame {Fi }
end-effector acceleration vector in compact form using
(see Fig. 2a). In other words, ω̇Leg,i · q̂iac is not always
Eqs. (17), (28), (43) and (48) as follows
equal to zero. Therefore, the angular acceleration of ith
leg in its local frame {Fi }, F i ω̇Leg,i cannot be always Fi
v̇C.G.1 i = Jv1,i ṫMP + v1,i tMP
obtained using cross product of both sides of Eq. (39) + Nv1,i ωMP + mv1,i
with unit vector F i q̂iac . Similar to the previous deriva- Fi
v̇C.G.2 i = Jv2,i ṫMP + v2,i tMP
tion to obtain the link velocity relations, the angular
acceleration of ith leg can be obtained using the direct + Nv2,i ωMP + mv2,i
time differentiation of Eqs. (20) or (22). This yield for i = 1, . . . , 6 (50)
F i ω̇
Leg,i = γ̈i F i êγ i + ψ̈i F i êψi The matrices v1,i , v2,i , Nv1,i and Nv2,i as well

as vectors mv1,i and mv2,i are presented in “Appen-
+ψ̇i γ̇i F i êγ i × F i êψi for i = 1, . . . , 6 (46)
dix 1.” Equations (48) and (50) are called the inverse

123
H. Kalani et al.

link acceleration relations. By combining these equa- actuated joint moments/forces, it computes the result-
tions, the overall inverse link acceleration relations are ing motion of the manipulator as a function of time.
obtained as In the present paper, the principle of virtual work is
Fi utilized to compute the actuated forces.
ṫcyl,i = Jinv,cyl,i ṫMP + inv,cyl,i tMP
To obtain the equations of motion, the resultant
+ Ninv,cyl,i ωMP + minv,cyl,i force/torque due to all rigid bodies can be considered.
Fi
ṫpis,i = Jinv,pis,i ṫMP + inv,pis,i tMP In this subsection, we obtain the resultant wrench due to
+ Ninv,pis,i ωMP + minv,pis,i applied external wrench for the MP and limbs as func-
tion of position, qac , velocity, q̇ac , and acceleration, q̈ac ,
for i = 1, . . . , 6 (51)
of the prismatic actuators. In the direct dynamics prob-
where lem, the vector of initial actuated joint positions, vector
    of initial actuated joint velocities and applied actuator
Jv1,i v1,i
Jinv,cyl,i = , inv,cyl,i = , forces are given and the resultant position, velocity and
Jωi ωi
    acceleration of the MP are obtained.
Nv1,i mv1,i
Ninv,cyl,i = , minv,cyl,i =
Nωi mωi
   
Jv2,i v2,i 7.1 Resultant wrench due to applied external wrench
Jinv,pis,i = , inv,pis,i = ,
Jωi ωi and inertia of the MP
   
Nv2,i mv2,i
Ninv,pis,i = , minv,pis,i = The resultant wrench due to applied external wrench
Nωi mωi
and inertia of the MP in the base frame {B}, wMP can
for i = 1, . . . , 6 (52)
be written as
Note that, F i ṫcyl,i = {F i v̇TC.G.1 i F i ω̇TLeg,i }T and      
fMP f mMP g
F i ṫ Fi T F i ω̇T wMP = = ext +
pis,i = { v̇C.G.2 i Leg,i } represent the acceler-
T
nMP next 03×1
ation vectors of cylinder and piston of the ith robot’s leg,  
−mMP v̇ p 
respectively. Furthermore, obtaining the overall accel- +
−B IMP ω̇MP − ωMP × B IMP ωMP
eration vectors of each leg in terms of q̈ac and q̈ac is
necessary to derive the direct dynamics relations. To do (54)
this, first, substitute vectors ωMP and tMP from Eq. (18) where mMP and B IMP are the mass and inertia matrix of
and vector ṫMP from Eqs. (45) into (51). Then vectors the MP, respectively. Vectors fext and next are applied
mωi , mv1,i and mv2,i should be obtained as function external force and moment exerted to end-effector
of q̇ac . This procedure is presented in “Appendix 3.” which are all defined in frame {B} as
Therefore, the overall direct link acceleration relations  T  T
can be derived as follows fext = f x f y f z , next = n x n y n z ,
Fi
ṫcyl,i = Jdir,cyl,i q̈ac + JCol,cyl,i q̇ac
B
IMP = B T T
T R IMP B R (55)
Fi
ṫcyl,i = Jdir,cyl,i q̈ac + JCol,cyl,i q̇ac Also, vector g is the gravitational acceleration vector
for i = 1, . . . , 6 (53) which is defined in frame {B} as

where Jdir,cyl,i and Jdir,pis,i are obtained in Eq. (34).  T


g = gx = 0 g y = 0 gz = 9.81 (56)
Also, “Appendix 3” represents the derivation of JCor,cyl,i
and JCor,pis,i . We can state that

ωMP × B IMP ωMP = (ωMP × I3×3 )B IMP ωMP
7 Rigid body dynamics −1
= (ωMP × I3×3 ) B IMP JMP(4−6)×6 q̇ac (57)
The direct dynamics problem aims to find the response By substituting ωMP , v̇ p and ω̇MP from Eqs. (18) and
of a robot arm corresponding to given applied actua- (45) into Eq. (54), vector wMP can be obtained in terms
tors’ moments or forces. That is, given the vector of of q̇ac and q̈ac as follows

123
Improved general solution for the dynamic modeling...

ac T ac
wMP = MMP (q)q̈ac + CMP (q, q̇)q̇ac + wgMP + wext δq f + (δtMP )T wMP
(58)  6  T
+ δF i tcyl,i F i wcyl,i
where matrices MMP and CMP as well as vectors wgMP i=1

T
and wext are shown in “Appendix 1.” Fi Fi
+ δ tpis,i wpis,i = 0 (62)

7.2 Resultant wrench due to inertia of the cylinder where δqac is the virtual translational vector of the actu-
and piston of actuators ated joints and δtMP is the virtual twist vector of the
MP. Vector f ac is the actuated joints forces. Further-
The resultant wrench due to inertia of the cylinder and more, δF i tcyl,i and δF i tpis,i are the virtual twist vector
piston of ith actuators in its local frame {Fi }, F i wLeg,i , for cylinder and piston of the ith leg, respectively. The
can be written as follows virtual twist vectors in Eq. (62) can be rewritten as func-
   
Fi fcyl,i mcyl,i F i
B Rg
tions of δqac . Consequently, using Eqs. (18) and (34),
wcyl,i = =
ncyl,i 03×1 we have
 
−mcyl,i F i v̇ C.G.1i −1
+  δtMP = JMP δqac ,
−F i I cyl,i
F i ω̇ − F i ω̇Leg,i × F i Icyl,i
Leg,i
F i ω̇
Leg,i

fpis,i
  F i Rg
mpis,i B
 δ F i tcyl,i = Jdir,cyl,i δqac ,
Fi
wpis,i = =
npis,i 03×1 δ F i tpis,i = Jdir,pis,i δqac for i = 1, . . . , 6 (63)
 
−mpis,i F i v̇ C.G.1i
+  Substituting above equations as well as wMP , F i wcyl,i
−F i Ipis,i F i ω̇Leg,i − F i ω̇Leg,i × F i Ipis,i F i ω̇
and F i wpis,i from Eqs. (58) and (61) into Eq. (62) yield
Leg,i
for i = 1, . . . , 6 (59)
  6
ac T ac 
where m cyl,i and m pis,i are the mass of the cylinder and −T
δq f + JMP MMP + T
Jdir,cyl,i Mcyl,i
piston of the ith leg. We can state i=1

Fi ω Fi −T
Leg,i × Icyl,i F i ωLeg,i + Jdir,pis,i
T
Mpis,i q̈ + JMP
ac
CMP

6

= F i ωLeg,i × I3×3 F i Icyl,i Jωi JMP −1 ac

+ T
Jdir,cyl,i Ccyl,i + Jdir,pis,i
T
Cpis,i q̇ac
Fi ω Fi
Leg,i × Ipis,i F i ωLeg,i i=1

6

−T
= F i ωLeg,i × I3×3 F i Ipis,i Jωi JMP −1 ac
q̇ + JMP wgMP + T
Jdir,cyl,i wgcyl,i
i=1
for i = 1, . . . , 6 (60)
−T
Fi ω F i ω̇ F i v̇ + Jdir,pis,i
T
wgpis,i + JMP wext = 0 (64)
By substituting Leg,i , Leg,i ,
and C.G.1,i
F i v̇
C.G.2,i from Eqs. (34) and (51) into Eq. (59), vec- Since Eq. (64) is valid for any δ qac , it follows that
tors F i wcyl,i and F i wpis,i can be obtained in terms of
q̇ac and q̈ac as follows f ac +M (q) q̈3×1
ac
+C(q, q̇)q̇ac +G(q)+w = 06×1 (65)
Fi
wcyl,i = Mcyl,i (q) q̈ac + Ccyl,i (q, q̇)q̇ac + wgcyl,i
Fi where
wpis,i = Mpis,i (q) q̈ac + Cpis,i (q, q̇)q̇ac + wgpis,i
−T
for i = 1, . . . , 6 (61) M (q) = JMP MMP
where matrices Mcyl,i , Mpis,i , Ccyl,i and Cpis,i as well 
6
as vectors wgcyl,i and wgpis,i are shown in “Appendix 1.” + T
Jdir,cyl,i Mcyl,i + Jdir,pis,i
T
Mpis,i
i=1
−T
C (q, q̇) = JMP CMP
7.3 Equations of motion
6
Using principle of virtual work, the equations of motion + T
Jdir,cyl,i Ccyl,i + Jdir,pis,i
T
Cpis,i
i=1
of the robot can be expressed as

123
H. Kalani et al.

Fig. 3 The modified hybrid


solution

−T
G (q) = JMP wgMP

6
+ T
Jdir,cyl,i wgcyl,i + Jdir,pis,i
T
wgpis,i
i=1

−T
w = JMP wext (66)

Most familiar Eq. (65) is the dynamics equation in


terms of the actuators’ velocity and acceleration vec-
tors.

Fig. 4 MLPANN architecture for direct kinematics


8 Results and discussion
sian space parameters are used to input and outputs
In this section, the paper’s contributions are outlined
of MLPANN, respectively. This MLPANN is shown
and a discussion on improvements is presented. In
Fig. 4. Obviously, in this paper, two hidden layer were
direct kinematics, we are interested to determine the
chosen for MLPANN. Also, we have chosen 15 nodes
position and orientation of the mobile platform based
in the first layer and 20 nodes in the second layer.
on giving legs length. It should be mentioned that the
As it mentioned before, we use MLPANN to fine
direct kinematics of parallel robot, like Gough–Stewart
the appropriate initial guess. If the initial guess is cho-
platform, is very complicated than inverse kinematics.
sen near the acceptable solution, the Newton–Raphson
Therefore, we proposed a numerical method, like [30],
method yields very accurate results, given a sufficient
to obtain a near-exact solution. In this paper, com-
number of algorithm iterations [30,31]. For multiple
bination of neural network and third-order Newton–
equations and variables, Newton–Raphson’s method is
Raphson method is utilized to obtain modified hybrid
 
strategies. This strategy is presented in Fig. 3. In ∂F (Xm ) −1
this study, we used neural network, like [30], for ini- Xm+1 = Xm − F (Xm ) (67)
∂Xm
tial guess and proposed using higher-order Newton–
Raphson [31] to decrease the time of simulation. where X is a vector of the variables that we want to esti-
For the modeling of DKP, the leg length of the 6- mate, F is a vector function which approaches zero as
UPS robot as inputs and position and orientation of the the estimation of X and “m” represents iteration num-
MP as outputs of MLPANN are considered. Thus, here ber.
qiac (i = 1, . . . , 6) as inputs and {xP , yP , z P , θ, ϕ, λ} as For the robot considered in this study, we select
output of MLPANN is investigated. XT = {xP , yP , z P , θ, ϕ, λ} (68)
To train the network, we need to suitable data that
describe behavior of our models comprehensively. So, and
in this study the inverse kinematics is utilized to obtain


B

⎤ ⎡ ac ⎤
these data. For this purpose, first the workspace of
TR + p − a1
− l1
Tb
1 q1 − l 1
Gough–Stewart robot movement is specified. Then, by ⎢ .. ⎥ ⎢ .. ⎥
F(X) = ⎣ . ⎦=⎣ . ⎦
using inverse kinematics, the corresponding leg length
B T


R b2 + p − a2
− l6 q6 − l 6
ac
of number of position and orientation in this workspace T
are obtained. Finally, the leg length and robot’s Carte- (69)

123
Improved general solution for the dynamic modeling...

Fig. 5 a Desired trajectory x 10


-9

and b error output of 1.4 1.5


modified hybrid strategy

Magnitude Error (m)


1.3

1
1.2

z(m)
1.1
0.5

1
-0.1
-0.1 0
y(m) 0 0 0 5 10 15 20
0.1 0.1 x(m)
t (sec)
(a) (b)

where qiac and li are the actual and estimated length of the conventional Newton–Raphson, and our modified
the ith leg, respectively. As we know, it is well known method. In this table, for the entire trajectory, the
the convergence of the Newton–Raphson technique Newton–Raphson is repeated three times using differ-
almost entirely depends on the selection of the initial ent initial guesses. As can be seen in this table, results of
guess and the order of it. We can improve this method the Newton–Raphson method are significantly depen-
by increasing the order of Newton–Raphson. Darvishi dent on the initial guess. Additionally, using the modi-
and Barati [31] presented a third-order Newton-type fied method the total execution time and average itera-
method to solve systems of nonlinear equations. In this tion number are significantly improved.
method, it is not required to calculate second deriva- In this table, “N ” and “t” are the average num-
tives. Consider the nonlinear equation ber of iterations and execution time of the corre-
sponding method, respectively. Next, in another case
F (X) = 0n×1 (70) study, to cover the entire workspace, 201 random data
points in the workspace are selected. Figure 6 com-
where Fn×1 is nonlinear function system and X is a vec- pares the performance of the modified hybrid method
tor of the variables we wish to estimate. They proposed (neural networks and third-order Newton–Raphson),
to solve the nonlinear system Eq. (70), the following the hybrid method [30] (neural networks and second-
iteration scheme. Also, they showed that this method order Newton–Raphson) and the Newton–Raphson for
has an order of convergence three four accuracy levels E max = 10−3 , 10−4 , 10−5 and
 10−6 . Six random values for the actuator length, qiac ,
Xm+1 = Xm − F (Xm )−1 F(Xm ) + F(Xm+1 ∗
) (71)
resulting in a position and orientation for the MP are

Xm+1 = Xm − F (Xm )−1 F(Xm ) (72) selected. This process is repeated 201 times and there-
fore covers much of the robot workspace. The dis-
where F is Jacobian matrix and defined by
tributions of the iteration numbers for the mentioned
∂F(Xm ) accuracy levels are calculated. A better performance
F (Xm ) = (73) (in terms of execution time) of the employed method
∂(Xm )
results in a distribution closer to the vertical axis.
It should be mentioned that in this study, the stop cri- As illustrated for all levels of accuracy, the proposed
teria is Xm+1 − Xm ∞ < E max . Figure 5 shows the methodology, modified hybrid method, performs faster
desired trajectory and error between this and modified compared with the other two aforementioned methods.
strategy. Therefore, we can claim to have found a near-exact
To investigate the performance of the modified solution to the DKP in a relative small number of iter-
method, the trajectory shown in Fig. 5 is used and ations. Moreover, Fig. 6 shows that for higher levels of
divided into 201 data points. Table 1 shows the total accuracy, the modified hybrid method has better time
execution time and the average iteration number for performance and fewer iterations compared to the two

123
H. Kalani et al.

Table 1 Performance
Precision Stop criterion The modified Conventional
comparison of the modified
level (E max ) hybrid method Newton–Raphson
Hybrid and conventional
Newton–Raphson Methods 1 10−12 Initial guess: Initial
automatically guess = [0.06,
calculated by the 0.12, 1.12,
MLPANN 0.15, 0.15,
0.11, 0.15]
N = 5.6 (average of 201 iterations)
t = 0.57 s (elapsed time for the
entire trajectory)

N = 3.82 Initial guess = [0,


0, 1, 0, 0.15, 0]
N = 5.74
t = 0.61 s

t = 0.26 (s) Initial guess = [0.09, 0.2, 1.2, 0.24,


0.034, 0.24]
N = 871.7
t = 32.7 s

Fig. 6 Distribution of 100 Newton_Raphson 100 Newton_Raphson


iteration number for four Hybrid Hybrid
80 %Percentage 80
%Percentage

accuracy levels. Modified Hybrid Modified Hybrid


a E max = 10−3 , 60 60
b E max = 10−4 ,
c E max = 10−5 , 40 40
d E max = 10−6 20 20

0 0
1 2 3 4 5 6 7 1 2 3 4 5 6 7
Iteration Iteration
(a) (b)
100 Newton_Raphson 100 Newton_Raphson
Hybrid Hybrid
80 80
%Percentage

%Percentage

Modified Hybrid Modified Hybrid


60 60

40 40

20 20

0 0
1 2 3 4 5 6 7 1 2 3 4 5 6 7
Iteration Iteration
(c) (d)

others methods. For example, in Fig. 6d, for the mod- By applying the proposed method, it was demon-
ified hybrid method, 93 and 7 % of 201 random points strated that replacing the conventional Newton–Raphson
satisfy the fourth accuracy level, E max = 10−6 , in 3rd algorithm by the third-order counterpart leads to a
and 4th iteration numbers, respectively. However, for reduction in the number of iterations required to reach
the Newton–Raphson method, 66, 30, 3 and 1 % of 201 the desired accuracy level and thus a reduction of the
random points satisfy this criterion in fourth, fifth, sixth DKP analysis time. By reducing the processing time
and seventh iteration numbers, respectively. related to solving the DKP, more time can be devoted to

123
Improved general solution for the dynamic modeling...

Fig. 7 Computational algorithm for solving the inverse dynamics of the robot

the control calculations. Therefore, more complicated 8.1 Specification of the Gough–Stewart platform
control algorithms with better performances could be
implemented. It can be concluded that the proposed The kinematic and dynamic parameters of manipulator
method can decrease the iteration number and execu- are summarized in Table 2.
tion time in comparison with the hybrid method [30]
as well as the conventional Newton–Raphson method.
Therefore, both goals of finding the nearest exact solu- 8.2 Case study 1
tion and fast algorithm for the DKP are satisfied.
As stated earlier, the solution outlined in this paper In this section, results are verified using a commer-
applies to a Gough–Stewart manipulator. Based on the cial dynamics modeling package. In this simulation,
previous sections, a computer program is developed the moving does not rotate, while the center of mass
using MATLAB software. Two examples with differ- follows a helix curve. Therefore, the trajectory is spec-
ent initial conditions and applied torques for actuators ified as
⎡ ⎤
are simulated and trajectory of this robot is calculated. 0.1 cos (ωt)
The results are verified in two ways. First, using inverse θ = ϕ = λ = 0 and p = ⎣ 1 + 0.01t ⎦
dynamics problem, a trajectory for the Gough–Stewart 0.1 sin (ωt)
platform is supplied and required motor torques as well
where ω = 2.0 rad/s. As shown in Fig. 9, the results of
as the angular position of actuators as a function of time
the analytical and commercial software are very close.
are calculated. Therefore, the initial conditions of actu-
These results verify the correctness of our mathemati-
ator angular positions and velocities can be calculated.
cal model.
If these initial conditions along with torque trajectory,
the output of the inverse dynamics problem, are sup-
plied to the direct dynamics problem, then the same 8.3 Case study 2
trajectory for Gough–Stewart robot must be obtained.
Secondly, the results are also verified using a commer- For the second simulation, the orientation of the MP is
cial dynamics modeling software. Figures 7 and 8 rep- rotated about x, while the center of mass moves with
resent computational algorithm for solving the inverse a sinusoidal motion. Specifically, the trajectory of the
and direct dynamics of the robot, respectively. MP is given by

123
H. Kalani et al.

Fig. 8 Computational algorithm for solving the direct dynamics of the robot

Table 2 Physical
parameters of the 6-UPS Position vectors of U-joints and S-joints
robot a1 = [0.7071, −7071, 0]Tm Tb = [0.4830, −0.1294, 0]Tm
1
a2 = [0.7071, 0.7071, 0]Tm Tb
2 = [0.4830, 0.1294, 0]Tm
a3 = [0.2588, 0.9659, 0] Tm Tb
3 = [−0.1294, 0.4830, 0]Tm
a4 = [−0.9659, 0.2588, 0]Tm Tb
4 = [−0.3536, 0.3536, 0]Tm
a5 = [−0.9659, −0.2588, 0] Tm Tb
5 = [−0.3536, −0.3536, 0]Tm
a6 = [0.2588, −0.9659, 0] Tm Tb
6 = [−0.1294, −4830, 0]Tm
Gravity centers of cylinder and piston for all legs
e1 = e2 = 0.5 m
Mass of the MP, cylinder and piston of all legs:
m MP = 1.5 kg m cyl = m pis = 0.1 kg
Moments of inertia of cylinder and piston of all legs
as well as the MP (in local frames)
⎡ ⎤
0.08 0 0
TI
MP = ⎣ 0 0.08 0 ⎦ (kg m2 )
0 0 0.08
⎡ ⎤
6.25 0 0
Fi
Icyl,i = ⎣ 0 6.25 0 ⎦ × 10−3 (kg m2 )
0 0 0
⎡ ⎤
6.25 0 0
Fi
Ipis,i = ⎣ 0 6.25 0 ⎦ × 10−3 (kg m2 )
0 0 0

θ = 0.15 sin (ωt) , ϕ = λ = 0 and As it is obvious, by reducing execution time related


⎡ ⎤
0.15 sin (ωt) to solving the dynamics equations, more time could
p = ⎣ 0.15 sin (ωt) ⎦ be devoted to control calculations. Therefore, more
1.0 + 0.15 sin (ωt) complicated control algorithms with better perfor-
where ω = 0.5 rad/s. Figure 10 shows the link length mances could be implemented [32]. In the Newton–
in inverse and direct dynamics. Euler method, all unnecessary constraint forces appear

123
Improved general solution for the dynamic modeling...

Fig. 9 Input forces at the 7 Analycal model 7 Analycal model


six prismatic joints in case ADAMS's model ADAMS's model
6 6
study 1. a Prismatic joint 1,
5 5
b prismatic joint 2, c

Force (N)
Force (N)
prismatic joint 3, d 4 4
prismatic joint 4, e prismatic 3 3
joint 5, f prismatic joint 6 2 2
1 1
0 0
0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7
Time (sec) Time (sec)
(a) (b)

7 Analycal model 7 Analycal model


ADAMS's model ADAMS's model
6 6
5 5
Force (N)

Force (N)
4 4
3 3
2 2
1 1
0 0
0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7
Time (sec) Time (sec)
(c) (d)
7 Analycal model 7 Analycal model
ADAMS's model ADAMS's model
6 6
5 5
Force (N)
Force (N)

4 4
3 3
2 2
1 1
0 0
0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7
Time (sec) Time (sec)
(e) (f)

in the robot’s dynamic formulations. These unneces- be noted that for case 2, calculating partial derivatives
sary computations are not essential for control scheme of kinetics and potential energy of the robot are very
of the robot, and they increase the execution time of complicated. Therefore, these operations were calcu-
the dynamic procedure. Furthermore, the Lagrange lated symbolically. Table 3, compares execution time
method is a strong method and dynamic formulation when a 4-s-long motion trajectory is for the MP as
that is obtained using this method is well structured,
but having a large symbolic computation to derive the θ = λ = 0.25 sin (2t) , ϕ = 0.15 sin (2t) and
⎡ ⎤
partial derivatives of the Lagrangian, increases the total 0.1 sin (2t)
execution time of the dynamic procedure [2,17]. Since p = ⎣ 0.2 sin (2t) ⎦ t = 4 s
one of the main goals of the present paper is to reduce 1.0 + 0.2 sin (2t)
execution time, a comparison between execution time
As indicated in Table 3, the virtual work method
for the virtual work and Euler–Lagrange methods is
is faster than the Lagrange method. Moreover, Fig. 11
presented.
compares the required forces for the six actuators.
To have a reasonable comparison, Euler–Lagrange
In this study, we calculate the dynamic equation of
equations are calculated in two cases. The specifica-
this robot using Euler–Lagrange in two cases to show
tion of each case is summarized in Table 3. It should
the better ability of the virtual work method for both

123
H. Kalani et al.

Fig. 10 Input forces at the 1.37 1.255


six prismatic joints in case Direct Dynamics Direct Dynamics
study 2. a Prismatic joint 1, 1.36 Inverse Dynamics 1.25 Inverse Dynamics
b prismatic joint 2, c

Link Length (m)

Link Length (m)


prismatic joint 3, d
prismatic joint 4, e prismatic 1.35 1.245
joint 5, f prismatic joint 6
1.34 1.24

1.33 1.235

1.32 1.23
0 0.5 1 0 0.5 1
Time (sec) Time (sec)
(a) (b)
1.295 1.46
Direct Dynamics Direct Dynamics
1.29 Inverse Dynamics 1.45 Inverse Dynamics
Link Length (m)

Link Length (m)


1.285 1.44

1.28 1.43

1.275 1.42

1.27 1.41
0 0.5 1 0 0.5 1
Time (sec) Time (sec)
(c) (d)
1.34 1.285
Direct Dynamics Direct Dynamics
1.335
Inverse Dynamics 1.28 Inverse Dynamics
Link Length (m)

Link Length (m)

1.33 1.275

1.325 1.27

1.32 1.265

1.315 1.26
0 0.5 1 0 0.5 1
Time (sec) Time (sec)
(e) (f)

accuracy and execution time (Fig. 11; Table 3). By simplifications, accuracy and execution time are rea-
investigating case 1 and case 2, we can compare the sonable.
effect of the simplifications on accuracy and execution As stated earlier, many methods are employed to
time. As can be seen, simplification has the direct effect obtain the robot’s dynamic equations. The compli-
on decreasing the accuracy of the solutions. However, cated partial derivatives, as present in the Lagrange–
by employing the virtual work methods, without any Euler method, are not utilized in the process of deriv-

123
Improved general solution for the dynamic modeling...

Table 3 Performance
Methods Execution time (s) Description
comparison of
Euler–Lagrange and virtual Euler–Lagrange
work
Case 1 1.15 Distributed mass for MP
Without considering mass for piston and
cylinder of legs
Obtaining partial derivatives manually

Case 2 14.83 Distributed mass for MP


Distributed mass for piston and cylinder
of each link
Obtaining partial derivatives symbolically

Virtual work 0.83 Distributed mass for MP


Distributed mass for piston and cylinder
of each link

Fig. 11 Required input 8 Virtual Works 6 Virtual Works


forces are obtained virtual Lagrange-case 1 Lagrange-case 1
7 Lagrange-case 2
works and Lagrange Lagrange-case 2 5
6
methods. a Prismatic joint 4
Force (N)

Force (N)
5
1, b prismatic joint 2, c
prismatic joint 3, d 4 3
prismatic joint 4, e prismatic 3
2
joint 5, f prismatic joint 6 2
1
1
0 0
0 0.5 1 1.5 2 2.5 3 3.5 0 0.5 1 1.5 2 2.5 3 3.5 4
Time (sec) Time (sec)
(a) (b)
15 Virtual Works 15 Virtual Works
Lagrange-case 1 Lagrange-case 1
Lagrange-case 2 Lagrange-case 2
10 10
Force (N)

Force (N)

5 5

0 0
0 0.5 1 1.5 2 2.5 3 3.5 4 0 0.5 1 1.5 2 2.5 3 3.5 4
-5 -5

-10 Time (sec) -10 Time (sec)


(c) (d)

20 Virtual Works 20 Virtual Works


Lagrange-case 1 Lagrange-case 1
15 Lagrange-case 2 15 Lagrange-case 2
10
10
Force (N)

Force (N)

5
5
0
0 0 0.5 1 1.5 2 2.5 3 3.5
-5
0 0.5 1 1.5 2 2.5 3 3.5
-5 -10
-10 Time (sec) -15 Time (sec)
(e) (f)

123
H. Kalani et al.

ing the dynamic equations. Additionally, the relatively sented. The new algorithm leads to a reduction in
higher volume of the symbolic computation in the the required iteration numbers to reach the desired
Lagrangian formulation increases the total execution accuracy level and subsequently a reduction of the
time for the dynamic procedure. Finally, the use of DKP solution time. The reduced time in solving the
free-body diagrams in Newton–Euler method results kinematic equations means more time can be dedi-
in internal moments and forces in the motion equa- cated to more advanced control algorithms. More-
tion that are not necessary when simulation and con- over, this numerical algorithm can be applied to
trol applications are used [2,3,10,14,17]. More specific any DKP for serial or parallel robots and obtain the
differences between the present work and the existing near-exact solutions.
dynamics method are • The aim of this paper is to obtain the motion
dynamic equations of the Gough–Stewart robot in a
• To obtain the direct dynamics formulation using the systematic form as well as to offer a workbench on
virtual work method requires obtaining the veloc- obtaining dynamic of the parallel robots. Although,
ity and acceleration transformations between the there exist prior studies on the inverse dynamic
joint space and Cartesian space. This process is solution of Gough–Stewart platform, a few of them
rather complex and not straightforward [17]. How- have verified dynamic equations using other meth-
ever, in the present study, a systematic approach is ods. In the present paper, the dynamic equations
utilized in obtaining the direct dynamic equations are verified by both commercial simulation soft-
using the virtual work method. To do this, the con- ware and Lagrange method. The other goal of the
cept of direct link Jacobian matrices is used to map present study is to reduce execution time in order to
the twist vector of all rigid bodies to the velocity implement a model-based controller. To do this, vir-
vector of actuated joints. tual work methodology as well as a modified hybrid
• The present approach includes the use of 3×3 trans- strategy is presented. The paper also compares the
formation matrices rather than the more common execution time of the virtual work and well-known
4 × 4 homogeneous Denavit–Hartenberg transfor- Lagrange algorithms.
mations as well as the screw theory. This will elim-
inate the calculation of passive joint velocities and
accelerations. Consequently, there is no need to cal- 9 Conclusion
culate the Jacobian matrices which invert passive
joint velocities/accelerations to active joint veloci- The need to study various control strategies and per-
ties/accelerations [3,33,34]. Moreover, in the kine- form simulation has motivated us to study inverse and
matic equations, the passive joints variables are not direct dynamics problem of the Gough–Stewart par-
obtained, and the constraint equations are indepen- allel robot. A comprehensive model that takes into
dent of the passive joints variables. This approach account all the system parameters such as the MP,
can theoretically lower the execution time of the cylinder and moving piston of each leg is considered.
dynamic solution. The methodology involves four basic steps. First, we
• In some studies, it is assumed that the leg of the investigated kinematics solutions. To solve the DKP,
6-UPS robot does not have a spin about its lon- an improved hybrid method is used by combining a
gitudinal axis [13,15,35]. This incorrect assump- third-order Newton–Raphson with a Neural Network
tion results in inaccurate form of the angular veloc- method. An MLPANN is used to find the initial guess
ity/acceleration for the robot’s leg. In the present for the Newton–Raphson. The modified hybrid strat-
paper, a more precise dynamics formulation is egy obtains the near-exact solution of the DKP and is
obtained by including the spinning of the legs, con- computationally efficient. The second step included the
sequently the inertia effect, around their axial direc- calculation of the direct velocity/acceleration analy-
tion. sis using the invariant form for both active and pas-
• The solution of the direct dynamics requires the sive joints. We showed that the common assumption
solution of the DKP. In the present paper, in an of F i ωLeg,i · F i q̂iac = 0 is not always correct. This
effort to decrease the execution time for analy- assumption does not have a significant effect on the
sis of the DKP, a modified hybrid strategy is pre- calculated forces by the dynamic solution. Therefore,

123
Improved general solution for the dynamic modeling...

it is possible to use this assumption to obtain more sim- A1.2 Matrices for the velocity relations of the robot’s
plified equations of motion. In the third step, the con- legs
cept of direct link Jacobian matrix is utilized to relate
the actuator velocities with a related twist of the cor- The matrix Jωi in Eq. (28) is given below
responding leg. In the fourth step, dynamics formula- # 1 $
Fi
1 Fi cos(ψi ) JMPi(1×1−6)
tion is presented. The formulation is also implemented Jωi = ac kUi
in MATLAB software. To demonstrate the methodol- qi −F i JMPi(2×1−6)
⎡ Fi ⎤
ogy, two numerical examples are presented. Results − J
1 ⎣ F i MPi(2×1−6) ⎦
are verified using a commercial dynamics modeling = ac JMPi(1×1−6)
package as well as the Lagrange–Euler method for an qi F
− tan (ψi ) JMPi(1×1−6) 3×6
i
inverse dynamics problem. Compared with the tradi-
for i = 1, . . . , 6 (77)
tional Newton–Euler method and the Lagrange for-
mulation, the proposed modeling is more straightfor- and matrices Jv1,i and Jv2,i in Eq. (31) are given below
ward and systematic resulting in more concise dynamic
equations.  Fi 
e1 JMPi(1−2×1−6)
Jv1,i = ac ,
qi 01×6 3×6
 ac  
Appendix 1 1 qi − e2 F i JMPi(1−2×1−6)
Jv2,i = ac
qi qiac F i JMPi(3×1−6) 3×6
A1.1 Matrices for the moving platform velocity rela- for i = 1, . . . , 6 (78)
tions

The matrix JMPi in Eq. (13) is given below A1.3 Matrices for the moving platform acceleration
  relations
JMPi = I3×3 −bi × I3×3 for i = 1, . . . , 6 (74)
where The matrices in Eqs. (38) and (43) are given as follows
⎡ ⎧ ⎫ ⎧ ⎫ ⎧ ⎫⎤
⎨1⎬ ⎨0⎬ ⎨0⎬ Ni = (ωMP · bi ) I3×3 , mi = − (ωMP · ωMP ) bi
bi × I3×3 = ⎣ bi × 0 bi × 1 bi × 0 ⎦
⎩ ⎭ ⎩ ⎭ ⎩ ⎭ for i = 1, . . . , 6 (79)
0 0 1
⎡ ⎤ and
0 −bi z bi y
= ⎣ bi z 0 −bi x ⎦ for i = 1, . . . , 6 ⎡ F1 ⎤
N1(3×1−3)
−bi y bi x 0 ⎢ .. ⎥
N=⎣ . ⎦ ,
(75) F 6N
6(3×1−3) 6×3
and matrix JMP in Eq. (17) is given as follows ⎧ F1 ⎫
⎨ m 1(3) − q1 Ω1 ⎪
ac
⎡ F1 ⎤ ⎪ ⎬
JMP1(3×1−6) m= .. (80)
⎢ .. ⎥ ⎪ . ⎪
JMP = ⎣ . ⎦ (76) ⎩ F 6m ⎭
6(3) − q6 Ω6 6×1
ac
F 6J
MP6(3×1−6)
where F i m i(k) is the kth element of vector F i mi and
6×6
Fi N the kth row of F i Ni .
i(k×1−3) is

123
H. Kalani et al.

A1.4 Matrices for the acceleration relations of the JvCor,MP = JCor,MP(1−3)×(1−6) ,


robot’s legs JωCor,MP = JCor,MP(4−6)×(1−6) (84)

The matrices in Eqs. (48) and (50) are given as follows and matrices in Eq. (61) are given as follows

 
q̇iac Jωi (1−2 × 1−6)
ωi = −2 ,
qiac − tan (ψi ) Jωi (2 × 1−6) 3×6
⎡ ⎤
−F i Ni (2×1−3)
1 ⎢ Fi N ⎥
Nωi = ac ⎣ i (1 × 1−3) ⎦
qi
− tan (ψi ) F i Ni (1 × 1−3) 3×3
⎧ ⎫

⎨ −F i m i(2) + qiac F i ωLeg,i y F i ωLeg,i z ⎪

1 F F F
mωi = ac i m i(1) − qiac i ωLeg,i x ωLeg,i z
i
qi ⎪⎩  ⎪

− tan (ψi ) F i m i(1) − qiac 1 + 2 tan2 (ψi ) F i ωLeg,i x F i ωLeg,i y
for i = 1, . . . , 6 (81)

and # −1
$
  −mcyl,i Jv1,i JMP
q̇iac F i JMPi(1−2 × 1−6) Mcyl,i = −1
−F i Icyl,i Jωi JMP
,
v1,i = −2e1 2 , 6×6
qiac 01×6  Fi R g

3×6 mcyl,i B
  wgcyl,i =
q̇iac F i JMPi(1−2 × 1−6) #
03×1
$
v2,i = 2e2 2 −mcyl,i JvCor,cyl,i
qiac 01×6 3×6 Ccyl,i =  −1
 Fi  − Icyl,i JωCor,cyl,i − F i ωLeg,i × I3×3 F i Icyl,i Jωi JMP
F i
6×6
e1 Ni(1−2×1−3)
Nv1,i = ac , for i = 1, . . . , 6 (85)
qi 01×3 3×3
 ac  
1 qi − e2 F i Ni(1−2×1−3) and
Nv2,i = ac # $
qi qiac F i Ni(3×1−3) 3×3
−1
−mpis,i Jv2,i JMP
 Fi  Mpis,i = −1
,
−F i Ipis,i Jωi JMP
e1 mi(1−2)  
6×6
mv1,i = ac , Fi R g
qi qiac Ωi wgpis,i =
mpis,i B
 ac   03×1
1 qi − e2 F i mi(1−2) #
−mpis,i JvCor,pis,i
$
mv2,i = ac
qi qiac F i mi(3) − e2 Ωi Cpis,i =
−F i Ipis,i JωCor,pis,i
 −1
− F i ωLeg,i × I3×3 F i Ipis,i Jωi JMP 6×6
for i = 1, . . . , 6 (82) for i = 1, . . . , 6 (86)

where
A1.5 Matrices for equations of motion
JvCor,cyl,i = JCor,cyl,i(1−3)×(1−6) ,
The matrices in Eq. (58) are given as follows JωCor,cyl,i = JCor,cyl,i(4−6)×(1−6)
# $
−mMP Jv−1 JvCor,pis,i = JCor,pis,i(1−3)×(1−6) ,
MMP = MP
,
−B IMP Jω−1MP JωCor,pis,i = JCor,pis,i(4−6)×(1−6)
6×6
 
−m MP JvCor,MP for i = 1, . . . , 6 (87)
CMP =
−B IMP JωCor,MP − (ωMP × I3×3 ) B IMP Jω−1MP 6×6
   
m MP g fext
wgMP = , wext = (83) Appendix 2
03×1 next

where
To obtain the overall direct acceleration relation,
−1 −1
Jv−1
MP
= JMP(1−3)×(1−6) , Jω−1MP = JMP(4−6)×(1−6) Eq. (44), as a function of q̈ac and q̇ac , vectors ωMP

123
Improved general solution for the dynamic modeling...

and m must be obtained as functions of q̇ac . Using Eq. Appendix 3


(18), ωMP can be obtained as function of q̈ac as below
−1 A3.1 Obtaining the values of γ̈i and ψ̈i
ωMP = JMP (4−6)×6
q̇ac (88)

Therefore, using Eq. (88), we can write As stated earlier, the cross product of both sides of Eq.
(39) with unit vector F i q̂iac leads to obtain values of γ̈i
ωMP · ωMP = ωMP 2 = ξ1×6 q̇ac (89) and ψ̈i . This yields
1
F i ac
where q̂i × F i ω̇Leg,i ×F i q̂iac = ac F i q̂iac ×F i v̇ Si
qi

q̇iac F i ac F i
3
−1 T −T
ξ1×6 = JMP(4−6)×6 (row j) q̇ac JMP(4−6)×6 (row j) − 2 ac q̂i × ωLeg,i ×F i q̂iac
j=1 qi

(90) − F i q̂iac × F i ωLeg,i × F i ωLeg,i ×F i q̂iac
By substituting Eqs. (89) into (79), vectors mi and for i = 1, . . . , 6 (97)
Fi m F i 
ican be rewritten in terms of q̇ac as follows where F i q̂ac × ω̇Leg,i ×F i q̂iac =
i
 Fi F
T
mi = − (ωMP · ωMP ) bi = ηi3×6 q̇ac ω̇Leg,i x ω̇Leg,i y
i 0 . Using Eq. (28) yield

Fi
mi = F i ηi3×6 q̇ac for i = 1, . . . , 6 (91) F i ac
q̂i × F i ωLeg,i ×F i q̂iac
 
where ηi3×6 = −bi3×1 ξ1×6 and F i ηi3×6 = F i η
B R i 3×6 . Jωi (1−2 × 1−6)
= tMP for i = 1, . . . , 6
Also, value of Ωi , Eq. (41), can be derived as a function 01×6 3×6
of q̇ac using Eq. (33) as (98)

Ωi = − F i ωLeg,i
2
x +
Fi 2
ωLeg,i y = ζi1×6 q̇ac where Jωi(m−n×1−6) is a matrix composed of mth to
nth rows of matrix Jωi and
for i = 1, . . . , 6 (92)
F i ac
q̂i × F i ωLeg,i × F i ωLeg,i ×F i q̂iac
where ⎧ Fi ⎫
⎨ − ωLeg,i y F i ωLeg,i z ⎬
2 %
 &  % &T  Fi ω Fi ω
−1 T −1 = Leg,i x Leg,i z for i = 1, . . . , 6
ζi1×6 = − Jωi JMP q̇ac Jωi JMP ⎩ ⎭
j=1
(row j) (row j) 0
for i = 1, . . . , 6 (93) (99)
Also, using Eq. (42) yield
Consequently, substituting Eqs. (91) and (92) into Eq. ⎡ Fi ⎤
− JMPi (2 × 1−6)
(80), vector m is rewritten as a function of q̇ac as follows F i ac F i
q̂i × v̇ Si = ⎣ F i JMPi (1 × 1−6) ⎦ ṫMP
m = 6×6 q̇ac (94) 01×6
⎡ Fi ⎤
where vector m is shown in “Appendix 1” and matrix − Ni (2 × 1−3)
6×6 is obtained as below + ⎣ F i Ni (1 × 1−3) ⎦ ωMP
⎡ F1 ⎤ 01×3
η1 3×(1−6) − q1ac ζ1 ⎧ Fi ⎫
⎢ .. ⎥ ⎨ − mi (2) ⎬
6×6 = ⎣ . ⎦ (95) + Fi m
i (1) for i = 1, . . . , 6 (100)
F 6η ⎩ ⎭
6 3×(1−6) − q6 ζ6 6×6
ac 0
Substituting Eqs. (47) and (98)–(100) into (97), as well
Therefore, using Eq. (44), we can write
as substituting values of ψ̇i and γ̇i as functions of com-

JCor, MP qac , q̇ac ponents of vector F i ωLeg,i as shown in Eq. (22), yield

−1 −1
= −JMP N JMP(4−6)×6 + 6×6 (96)   # $
ψ̈i 1 −F i JMPi (2 × 1−6)
= ac 1 Fi J ṫMP
where matrix N is shown in “Appendix 1.” γ̈i qi cos(ψi ) MPi (1 × 1−6)

123
H. Kalani et al.

# $ ' (
−F i Ni (2 × 1−3) −F i mi (2) Therefore, the overall direct link acceleration rela-
+ 1 Fi N ωMP + 1 Fi m
cos(ψi ) i (1 × 1−3) cos(ψi ) i (1) tions can be derived in terms of q̈ac and q̇ac as shown
  Eq. (53) by substituting vectors ωMP and tMP from Eq.
q̇iac Jωi (1 × 1−6)
−2 1 tMP (18) and vector ṫMP from Eq. (45) as well as vectors
qiac cos(ψi ) Jωi (2 × 1−6) 3×6
' ( mωi , mv1,i and mv2,i from Eq. (104) into Eqs. (48) and
−F i ωLeg,i y F i ωLeg,i z (50). Consequently, matrices JCor,cyl,i and JCor,pis,i can
− 2 Fi ω Fi ω for i = 1, . . . , 6
cos(ψi ) Leg,i x Leg,i z
be obtained as follows
(101)
JCor,cyl,i
Therefore, by substituting Eqs. (101) into (47), vector ⎡ ⎤
−1 −1
F i ω̇ Jv1,i JCor,MP + v1,i JMP + Nv1,i JMP(4−6)×6 + v1,i
Leg,i , will be rewritten in terms of the end-effector =⎣ ⎦
−1 −1
acceleration and velocity vectors in compact form as Jωi JCor,MP + ωi JMP + Nωi JMP(4−6)×6 + ωi
shown in Eq. (48). JCor,pis,i
⎡ ⎤
−1 −1
Jv2,i JCor,MP + v2,i JMP + Nv2,i JMP(4−6)×6 + v2,i
A3.2 Obtaining the matrices JCor,cyl,i and JCor, pis,i =⎣ ⎦
−1 −1
Jωi JCor,MP + ωi JMP + Nωi JMP(4−6)×6 + ωi
To derive the overall acceleration vectors of each leg for i = 1, . . . , 6 (106)
in terms of q̈ac and q̇ac , the vectors of mωi , mv1,i and
mv2,i should be obtained as function of q̇ac . Similar to
Eq. (92), we can write
Fi ω Fi Appendix 4
Leg,i m ωLeg,i n = ζimn 1×6 q̇ac for i = 1, . . . , 6
(102) The angular velocity of the MP can be derived as func-
where tion of three angular velocities contain derivatives of
% &
ζ imn = Jωi JMP−1 three Euler angles θ, ϕ and λ, as follows
(row m)
 % &T  ωMP = θ̇ı̂ + ϕ̇ĵ + λ̇k̂
T −1
q̇ac Jωi JMP for i = 1, . . . , 6 = θ̇ı̂ + ϕ̇R (x, θ ) ĵ + λ̇R (x, θ ) R (y, ϕ) k̂ (107)
(row n)
(103) where ı̂, ĵ and k̂ are unit vectors along x-, y- and z-axes
By utilizing Eqs. (91), (92) and (102), the vectors of the fixed coordinate frame {B} as well as θ̇, ϕ̇ and
mωi , mv1,i and mv2,i from Eqs. (81) and (82) can be λ̇ are the angular velocities about x-, y  - and z  -axes,
obtained as functions of q̇ac as follows respectively. Also, ĵ and k̂ are the unit vectors along
rotated y  - and z  -axes, respectively (for more details
mωi = ωi q̇ac , mv1,i = v1,i q̇ac ,
see Fig. 12).
mv2, i = v2,i q̇ac for i = 1, . . . , 6 (104) Therefore, Eqs. (107), (97) can be rewritten as
where matrix form as follows

⎡ ⎤
−F i ηi2×(1−6) + qiac ζi 1×6
yz
1 ⎢ Fi η ⎥
i 1×(1−6) − qi ζi 1×6
ac x z
ωi = ac ⎣ ⎦
qi F
 xy
− tan (ψi ) ηi 1×(1−6) − qi 1 + 2 tan (ψi ) ζ i 1×6
i ac 2
3×6
# $
Fi η
e1 i (1−2 × 1−6)
v1,i = ac ,
qi qiac ζ i1×6
3×6
# F i $
1 qiac − e2 ηi (1−2 × 1−6)
v2,i = ac 
qi qiac F i ηi (3×1−6) − e2 ζi1×6 3×6
for i = 1, . . . , 6 (105)

123
Improved general solution for the dynamic modeling...

λ 5. Pedrammehr, S., Mahboubkhah, M., Khani, N.: Improved


dynamic equations for the generally configured Stewart plat-
form manipulator. J. Mech. Sci. Technol. 26(3), 711–721
(2012)
6. Do, W.Q.D., Yang, D.C.H.: Inverse dynamic analysis and
simulation of a platform type of robot. J. Robot. Syst. 5(3),
φ 209–227 (1998)
7. Dasgupta, B., Mruthyunjaya, T.S.: A Newton–Euler formu-
lation for the inverse dynamics of Stewart platform manip-
θ ulator. Mech. Mach. Theory 33(8), 1135–1152 (1998)
8. Dasgupta, B., Mruthyunjaya, T.S.: Closed-form dynamic
equations of the general Stewart platform through Newton–
Euler approach. Mech. Mach. Theory 33(7), 993–1012
Fig. 12 Rotation from moving frame {T} to fixed coordinate (1998)
frame {B} using Euler angles θ, ϕ and λ 9. Fu, S., Yao, Y., Wu, Y.: Comments on “A Newton–Euler
formulation for the inverse dynamics of the Stewart platform
manipulator”. Mech. Mach. Theory 42, 1668–1671 (2007)
⎡ ⎤⎧ ⎫ ⎧ ⎫
1 0 sϕ ⎨ θ̇ ⎬ ⎨ θ̇ ⎬ 10. Geng, Z., Haynes, L.S., Lee, J.D., Carroll, R.L.: On the
= ⎣ 0 cθ −sθ c ϕ ⎦ ϕ̇ = U ϕ̇
dynamic model and kinematic analysis of a class of Stewart
ωMP (108)
⎩ ⎭ ⎩ ⎭ platforms. Robot. Auton. Syst. 9(4), 237–254 (1992)
0 sθ cθ c ϕ λ̇ λ̇ 11. Lebret, G., Liu, K., Lewis, F.L.: Dynamic analysis and con-
trol of a Stewart platform manipulator. J. Robot. Syst. 10(5),
Furthermore, by time differentiating of Eqs. (107) 629–655 (1993)
12. Ting, Y., Chen, Y.S., Jar, H.C.: Modeling and control for
or (108), the angular acceleration of the MP can be a Gough–Stewart platform CNC machine. J. Robot. Syst.
obtained as below 21(11), 609–623 (2004)
 13. Wang, W., Yang, H.Y., Zou, J., Ruan, X.D., Fu, X.: Optimal
ω̇MP = θ̈ı̂ + ϕ̈ĵ + ϕ̇ θ̇ı̂ × ĵ design of Stewart platforms based on expanding the control
  
+ λ̈k̂ + λ̇ θ̇ı̂ + ϕ̇ĵ × k̂
bandwidth while considering the hydraulic system design.
J. Zhejiang Univ. Sci. A 10(1), 22–30 (2009)
⎧ ⎫ ⎧ ⎫ 14. Guo, H.B., Li, H.R.: Dynamic analysis and simulation of a
⎨ θ̈ ⎬ ⎨ θ̇ ⎬ six degree of freedom Stewart platform manipulator. Proc.
= U ϕ̈ + U̇ ϕ̇ (109) Inst. Mech. Eng. Part C J. Mech. Eng. Sci. 220, 61–72 (2006)
⎩ ⎭ ⎩ ⎭
λ̈ λ̇ 15. Tsai, L.W.: Solving the inverse dynamics of Stewart–Gough
manipulator by the principle of virtual work. J. Mech. Des.
where 122, 3–9 (2000)
⎡ ⎤ 16. Abedinnasab, M.H., Vossoughi, G.R.: Analysis of a 6-DOF
0 0 ϕ̇cϕ redundantly actuated 4-legged parallel mechanism. Nonlin-
U̇ = ⎣ 0 −θ̇sθ −θ̇cθ cϕ + ϕ̇sθ sϕ ⎦ (110) ear Dyn. 58(1–2), 611–622 (2009)
17. Liu, M.J., Li, C.X., Li, C.N.: Dynamics analysis of the
0 θ̇cθ −θ̇sθ cϕ − ϕ̇cθ sϕ Gough–Stewart platform manipulator. IEEE Trans. Robot.
Autom. 16(1), 94–98 (2000)
18. Khalil, W., Guegan, S.: Inverse and direct dynamic modeling
of Gough–Stewart robots. IEEE Trans. Robot. Autom. 20(4),
754–762 (2004)
References 19. Huang, X., Liao, Q., Wei, Sh: Closed-form forward kinemat-
ics for a symmetrical 6–6 Stewart platform using algebraic
1. Kamali, K., Akbarzadeh, A.: A novel method for direct kine- elimination. Mech. Mach. Theory 45(2), 327–334 (2010)
matics solution of fully parallel manipulators using basic 20. Lee, T.Y., Shim, J.K.: Forward kinematics of the general 6–6
regions theory. J. Syst. Control Eng. 225(5), 683–701 (2011) Stewart platform using algebraic elimination. Mech. Mach.
2. Akbarzadeh, A., Enferadi, J.: A virtual work based algorithm Theory 36(9), 1073–1085 (2001)
for solving direct dynamics problem of a 3-RRP spherical 21. Husty, M.L.: An algorithm for solving the direct kinematics
parallel manipulator. J. Intell. Robot. Syst. 63, 25–49 (2011) of general Stewart–Gough platforms. Mech. Mach. Theory
3. Akbarzadeh, A., Enferadi, J., Sharifnia, M.: Dynamics 31(4), 365–379 (1996)
analysis of a 3-RRP spherical parallel manipulator using 22. Rolland, L.: Synthesis of the forward kinematics problem
the natural orthogonal complement. Multibody Syst. Dyn. algebraic modeling for the general parallel manipulator:
29(4), 361–380 (2013) displacement-based equations. Adv. Robot. 21(9), 1071–
4. Kordjazi, H., Akbarzadeh, A.: Inverse dynamics of a 1092 (2007)
3-prismatic–revolute–revolute planar parallel manipulator 23. Rolland, L.: Certified solving of the forward kinematics
using natural orthogonal complement. Proc. Inst. Mech. problem with an exact algebraic method for the general par-
Eng. Part I J. Syst. Control Eng. 225(3), 258–269 (2011) allel manipulator. Adv. Robot. 19(9), 995–1025 (2005)

123
H. Kalani et al.

24. Nanua, P., Waldron, K.J., Murthy, V.: Direct kinematic solu- 31. Darvishi, M.T., Barati, A.: A third-order Newton-type
tion of a Stewart platform. IEEE Trans. Robot. Autom. 6(4), method to solve systems of nonlinear equations. Appl. Math.
438–443 (1990) Comput. 187(2), 630–635 (2007)
25. Innocenti, C., Parenti-Castelli, V.: Direct position analysis 32. Kardan, I., Akbarzadeh, A.: An improved hybrid method for
of the Stewart platform mechanism. Mech. Mach. Theory forward kinematics analysis of parallel robots. Adv. Robot.
25(6), 611–621 (1990) 29(6), 401–411 (2015)
26. Dasgupta, B., Mruthyunjay, T.S.: The Stewart platform 33. McPhee, J., Shi, P., Piedbuf, J.C.: Dynamics of multibody
manipulator: a review. Mech. Mach. Theory 35, 15–40 systems using virtual work and symbolic programming.
(2000) Math. Comput. Modell. Dyn. Syst. Methods Tools Appl.
27. Innocenti, C.: Forward kinematics in polynomial form of the Eng. Relat. Sci. 8(2), 137–155 (2002)
general Stewart platform. Trans. ASME J. Mech. Des. 123, 34. Gallardo, J., Rico, J.M., Frisoli, A., Checcacci, D., Berga-
254–260 (2001) masco, M.: Dynamics of parallel manipulators by means of
28. Ku, D.M.: Direct displacement analysis of a Stewart plat- screw theory. Mech. Mach. Theory 38, 1113–1131 (2003)
form mechanism. Mech. Mach. Theory 34, 453–465 (1999) 35. Xi, F., Sinatra, R.: Inverse dynamics of hexapods using
29. Liu, K., Fitzgerzld, J.M., Lewis, F.L.: Kinematic analysis of the natural orthogonal complement method. J. Manuf. Syst.
a Stewart platform manipulator. IEEE Trans. Ind. Electron. 21(2), 73–82 (2002)
40(2), 282–293 (1993)
30. Parikh, P., Lam, S.: A hybrid strategy to solve the forward
kinematics problem in parallel manipulators. IEEE Trans.
Robot. 21(1), 18–25 (2005)

123

View publication stats

Das könnte Ihnen auch gefallen