Documente Academic
Documente Profesional
Documente Cultură
Abstract: This paper describes a method to solve the direct kinematics of a generic Stewart-Gough manipulators. The
method is formulated in terms of a search in the space of rigid body transformations. The underlying idea is
that the solutions of the direct kinematics can be obtained by moving the end-effector body according rotations
and translations and accounting for the rigidity conditions.
The paper presents simulation results for a 6-3 Stewart-Gough robot.
93
ICINCO 2005 - ROBOTICS AND AUTOMATION
to the ground, as the base of the robot. The body integrated in a control architecture. A hybrid strat-
P moves according to the joint values and the kine- egy using neural networks and Newton-Raphson tech-
matic constraints. The actuator lengths are denoted niques is proposed in (Parikh and Lam, 2005). In this
by li , i = 1, . . . , 6. The i-th actuator connects the strategy the neural network stage is used to obtain the
points bi and pi and has length li . initial estimate for the Newton-Raphson method. Dy-
Unlike serial manipulators, the direct kinematics of namic modeling, a fundamental aspect for high per-
generic parallel manipulators can not be easily writ- formance control, has been addressed in (Khalil and
ten in closed form. Numerical methods are often used S., 2004).
to determine the position and attitude of the P body This paper presents an algorithm that describes the
from the set of joint variables (the lengths of the actu- motion of the P body as a rigid body transforma-
ators). tion, i.e., through rotations and translations. Newton’s
method is used to compute the rigid body transforma-
tion matrix that corresponds to the desired solution
of the direct kinematics of Stewart-Gough platforms.
Simulation results are obtained from one special class
of Stewart-Gough platform 6-3/\3 configuration (the
notation in (Merlet, 2000) is followed hereafter to de-
scribe the organisation of the actuators in the robot).
The direct kinematics problem is formalized as an
optimization problem and simulation results obtained
are presented.
The paper is organized as follows. Section 2 de-
scribes the direct kinematics problem (the inverse
kinematics is trivial) in the space of rigid body trans-
formations. Section 3 describes a set of simulation
experiments. Section 4 presents the conclusions of
the paper and ongoing work.
2 KINEMATICS MODELING
Figure 2: A generic Stewart-Gough platform
Table 1 details the notation used in the paper to for-
mulate the kinematics of the robot.
The direct kinematics of a generic Stewart-Gough
platform has often multiple solutions. For instance,
the general Stewart-Gough platform can have 40 real
solutions, (Dietmaier, 1998). Practical applications of Table 1: Notation used in the paper
direct kinematics, e.g, in robot control architectures, li a scalar standing for the i-th
often require a one to one correspondence between actuator length
subsets in the spaces of joint variables and positions pi = (pxi , pyi , pzi ) point in R3 belonging to P
and attitudes. Therefore, a relevant aspect in the study bi = (bxi , byi , bzi ) point in R3 belonging B
of the kinematics of parallel robots is related with the ri unit vector in R3
ability of the kinematics solution methods to converge p̄i the “usual” inclusion of pi
to a particular solution. in the projective space P3
Various approaches to the computation of the kine- qi representation of point pi
matics of Stewart-Gough robots have been presented described in a local refer-
in the literature. In (Jakobović and Budin, 2002) the ence frame (see Figure 3)
direct kinematics problem is addressed by solving six
optimization problems, one for each actuator. Algo-
rithms like Powell’s method, Hooke-Jeeves’, steep- Figure 3 illustrates relations between the coordi-
est descent with constant update steps and Fletcher- nate reference frames assigned to the rigid bodies that
Powell’s were used to solve those problems. The di- form the robot.
rect kinematics is also addressed as an optimization Assuming the rigidity of the two bodies B and P ,
problem in (Hopkins, 2002), solved using a Newton- the kinematics of the robot is completely described by
Raphson method. The work in (Hopkins, 2002) is the set of equations,
94
KINEMATIC MODELING OF STEWART-GOUGH PLATFORMS
RT R = I3
I I
⇐⇒ [I 0] TT [I 0] T = I3
0 0
⇐⇒ I3×4 TT D T I4×3 = I3
Figure 3: Relations between reference frames All the 15 restrictions have the general form
gi (T) = ai T TT Ci T bi − di = 0 (7)
and hence the solution of the forward kinematics
(pxi − bxi )2 + (pyi − byi )2 + (pzi − bzi )2 = li2 , amounts to find a solution for a non-linear system of
i = 1, . . . , 6 (1) 15 equations and 12 unknowns.
Expression (7) is thus the formulation of the di-
meaning that, for any actuator, any achievable config- rect kinematics problem in the space of homogeneous
uration must lie in a 2D ball embedded in R3 . transformations.
Expanding the square terms in the lefthand side of
(1) the expression can be written as
2.1 Solution by Newton’s method
p̄TiCi (bi , li ) p̄i = 0, i = 1, . . . , 6 (2)
To obtain a solution of (7) the gi (T) is expanded in
where Ci is a matrix relating the i-th actuator and the Taylor series, retaining only the first order terms,
B body defined as
⎡ ⎤
1 0 0 −bxi gi (T + H) = gi (T)+
⎢ 0 1 0 y
−bi ⎥
Ci = ⎣ 0 (∇gi )T T vec (H) + O( vec(H)2 ) (8)
0 1 −bzi ⎦ (3)
−bxi −byi −bzi bi bi − li2
T
where ∇ denotes the gradient, vec denotes the vector
operator that stacks the columns of H to form a vector
The solution of the direct kinematics problem ex-
and
pressed by (2) can be obtained by moving the P body
in the 3D space. This amounts to finding the adequate
rotation and translation such that (2) has a solution. ∇gi |T = vec(Ci T bi ai T + Ci T T ai bi T ) (9)
Alternatively, this can also be seen as finding a new
reference frame where to describe the pi solutions of Note that not all entries of T are variables, so 4 entries
(2), that is, of the gradient vector need be removed.
Discarding the terms of higher order results in a
p̄i = Tq̄i (4) linear system of 15 equations, compactly written as
where q̄i describes p̄i in a local reference frame and
T ∈ SE(3) is the homogeneous transformation ma- g(T + H) ≈ g(T) + Jg|T vec(H) (10)
trix given by T
where Jg|T = [∇g1 |T , . . . , ∇g15 |T ] denotes the
jacobian matrix of g which depends on the current
R t
T= (5) value of the argument being searched, that is the rigid
0 1 body transformation T.
with R standing for a rotation matrix and t standing The solution of the direct kinematics problems in
for the displacement between the origins of the two this space of transformations is obtained when a mo-
reference frames. Equation (2) can then be written as tion in this space, expressed by the Jacobian matrix,
95
ICINCO 2005 - ROBOTICS AND AUTOMATION
verifies the constraints (7), that is, g(T + H) = 0, Figure 4 displays the robot at the final configuration
which yields the system obtained.
3.1 Experiment 1
Table 3: Experiment 1: final results
Table 2 presents the values used as initial conditions
by the algorithm. For this experiment, the actuator Act. li pi bi ri
values were set at l1 = 2, l2 = 2, l3 = 2.5, l4 = 2.5, (0.7500 (0.5000 (0.1250
l5 = 2 and l6 = 2. 1 2.0000 -0.4330 -0.8660 0.2165
1.9365) 0.0000) 0.9682)
Table 2: Experiment 1: Initial values (0.7500 (1.0000 (-0.1250
2 2.0000 -0.4330 0.0000 -0.2165
1.9365) 0.0000) 0.9682)
Act. li pi bi ri
(0.0000 (0.5000 (-0.2000
(0.7500 (0.5000 (0.2236
3 2.5000 0.7614 0.8660 -0.0419
1 1.1180 -0.4330 -0.8660 0.3873
2.4473) 0.0000) 0.9789)
1.0000) 0.0000) 0.8944)
(0.0000 (-0.5000 (0.2000
(0.7500 (1.0000 (-0.2236
4 2.5000 0.7614 0.8660 -0.0419
2 1.1180 -0.4330 0.0000 -0.3873
2.4473) 0.0000) 0.9789)
1.0000) 0.0000) 0.8944)
(-0.7500 (-1.0000 (0.1250
(0.0000 (0.5000 (-0.4472
5 2.0000 -0.4330 0.0000 -0.2165
3 1.1180 0.8660 0.8660 -0.0000
1.9365) 0.0000) 0.9682)
1.0000) 0.0000) 0.8944)
(-0.7500 (-0.5000 (-0.1250
(0.0000 (-0.5000 (0.4472
6 2.0000 -0.4330 -0.8660 0.2165
4 1.1180 0.8660 0.8660 -0.0000
1.9365) 0.0000) 0.9682)
1.0000) 0.0000) 0.8944)
(-0.7500 (-1.0000 (0.2236
5 1.1180 -0.4330 0.0000 -0.3873 The key point in this experiment is the fast conver-
1.0000) 0.0000) 0.8944) gence of the algorithm. Figure 5 illustrates, in loga-
(-0.7500 (-0.5000 (-0.2236 rithmic scale, the evolution of the absolute error.
6 1.1180 -0.4330 -0.8660 0.3873 The solution for the optimal rigid body transforma-
1.0000) 0.0000) 0.8944) tion is given by the matrix
96
KINEMATIC MODELING OF STEWART-GOUGH PLATFORMS
p3=p4
0
10
2
Absolute Error in logarithmic scale [m]
−2
10
1.5 r4l4 p5=p6
−4
10 Z 1
r3l3
−6 r6l6
10 p1=p2
0.5 r2l2
b3
−8 r5l5 r1l1 b2
10 b4
0
1 b
1
−10 0.5 b5 1
10
b6 0.5
0
0
−12 −0.5
10 −0.5
1 1.5 2 2.5 3 3.5 4 4.5 5 Y −1 −1
X
Iteration
3.2 Experiment 2
Table 5: Experiment 2: Final values
Table 4 presents the values used as initial conditions
by the algorithm for this second experiment. The goal
Act. li pi bi ri
values for the actuators were set at l1,...,6 = 2.
(-0.8017 (0.5000 (-0.6509
1 2.0000 0.4629 -0.8660 0.6644
Table 4: Experiment 2: Initial values 0.7346) 0.0000) 0.3673)
(-0.8017 (1.0000 (-0.9009
Act. li pi bi ri 2 2.0000 0.4629 0.0000 0.2314
0.7346) 0.0000) 0.3673)
(0.0000 (0.5000 (-0.2425
1 2.0615 0.8660 -0.8660 0.8402 (0.0000 (0.5000 (-0.2500
1.0000) 0.0000) 0.4851) 3 2.0000 0.8660 0.8660 0.0000
1.9365) 0.0000) 0.9682)
(0.0000 (1.0000 (-0.6030
2 1.6583 0.8660 0.0000 0.5222 (0.0000 (-0.5000 (0.2500
1.0000) 0.0000) 0.6030) 4 2.0000 0.8660 0.8660 0.0000
1.9365) 0.0000) 0.9682)
(0.7500 (0.5000 (0.1508
3 1.6583 -0.4330 0.8660 -0.7833 (-0.7500 (-1.0000 (0.1250
1.0000) 0.0000) 0.6030) 5 2.0000 -0.4330 0.0000 -0.2165
1.9365) 0.0000) 0.9682)
(0.7500 (-0.5000 (0.6063
4 2.0615 -0.4330 0.8660 -0.6301 (-0.7500 (-0.5000 (-0.1250
1.0000) 0.0000) 0.4851) 6 2.0000 -0.4330 -0.8660 0.2165
1.9365) 0.0000) 0.9682)
(-0.7500 (-1.0000 (0.2236
5 1.1180 -0.4330 0.0000 -0.3873
1.0000) 0.0000) 0.8944)
(-0.7500 (-0.5000 (-0.2236 As in the previous experiment, the algorithm con-
6 1.1180 -0.4330 -0.8660 0.3873 verges in an acceptable number of iterations. Figure
1.0000) 0.0000) 0.8944) 7 shows the temporal evolution of the error.
For this experiment, the matrix that corresponds to
The final robot configuration obtained from this the solution of the optimal rigid body transformation
simulation is presented in Figure 6. is
97
ICINCO 2005 - ROBOTICS AND AUTOMATION
0
10
(0.7500 (0.5000 (0.2236
1 1.1180 -0.4330 -0.8660 0.3873
−2
10
1.0000) 0.0000) 0.8944)
(0.7500 (1.0000 (-0.2236
−4
10
2 1.1180 -0.4330 0.0000 -0.3873
1.0000) 0.0000) 0.8944)
−6
10
(0.0000 (0.5000 (-0.4472
3 1.1180 0.8660 0.8660 -0.0000
−8
10 1.0000) 0.0000) 0.8944)
0 5 10 15 20
Iteration (0.0000 (-0.5000 (0.4472
4 1.1180 0.8660 0.8660 -0.0000
Figure 7: Experiment 2: Temporal evolution of the 1.0000) 0.0000) 0.8944)
quadratic error (-0.7500 (-1.0000 (0.2236
5 1.1180 -0.4330 0.0000 -0.3873
1.0000) 0.0000) 0.8944)
(-0.7500 (-0.5000 (-0.2236
6 1.1180 -0.4330 -0.8660 0.3873
⎡ ⎤
0.5000 −0.3285 −0.8013 −0.5172 1.0000) 0.0000) 0.8944)
⎢0.8660 0.1897 0.4626 0.2986 ⎥
Tfinal =⎣
0.0000 −0.9253 0.3793 1.5358 ⎦
0.0000 0.0000 0.0000 1.0000 4 CONCLUSIONS
The paper presents a solution for the direct kinemat-
3.3 Experiment 3 ics of a Stewart-Gough robot supported on a Newton
method for the search of a rigid body transformation
The 6 − 3 /\3 structure considered in the experi- that places the moving body (the P body in the termi-
ments is known to have 16 real solutions. In general, nology used in the paper) in a configuration compati-
these solutions differ significantly from each other. ble with the desired actuator lengths. The experimen-
Therefore, when targeting control applications it is tal results show fast convergence to the solution.
important to determine the sensitivity of a particular
solution to the initial condition. This is illustrated by 4.1 Ongoing work
comparing this experiment with experiment 2.
In this experiment the values for the actuator are Experiments 2 and 3 show the importance of the
set identical to those in experiment 2 but with the ini- initial conditions to the final solution. Future work
tial position of the P body slightly changed. Table 6 includes the analysis of solutions sensitivity to initial
displays the data for this experiment. conditions.
Figure 8 illustrates the final configuration of the ro- High performance applications, namely those re-
bot which is clearly different from that obtained in quiring the manipulation of heavy loads at large band-
experiment 2. widths, require the knowledge of the dynamics model
in order to design the adequate control strategy.
The algorithm was stopped after 4 iterations, with a
For a large class of applications, e.g., shaking tables
final absolute error of 1.052 × 10−7 . Table 7 displays
for seismic simulations, the typical frequency band
final data obtained in this experiment.
goes from 0 up to 20-40 Hz (the typical bandwidth
Figure 9 shows the time evolution, in logarithmic of a real earthquake). Despite the heavy loads consid-
scale, of the error. ered in such applications, the bandwith requirements
For this experiment, optimal rigid body transforma- do not impose detailed knowledge on the dynamics
tion matrix is given by of the robot. Thus, the use of control schemes us-
ing direct and inverse kinematics solutions obtained
⎡ ⎤ by methods such as the one proposed in this paper are
1.0000 0.0000 0.0000 0.0000 acceptable.
⎢0.0000 1.0000 0.0000 0.0000⎥
Tfinal =⎣ For the experiments in Section 3, the algorithm
0.0000 0.0000 1.0000 1.9365⎦ requires less than 20 ms to reach a solution within
0.0000 0.0000 0.0000 1.0000 the aforementioned errors (Matlab implementation).
98
KINEMATIC MODELING OF STEWART-GOUGH PLATFORMS
10
−1
1.9365) 0.0000) 0.9682)
−2
10
−3
10
−4
10
−5
10
−6
10
−7
10
1 1.5 2 2.5 3 3.5 4
Iteration
99