Professional Documents
Culture Documents
Stewart Platform
Stewart Platform
Abstract
Configuration-dependent nonlinear coefficient matrices in the dynamic equation of a robot
manipulator impose computational burden in real-time implementation of tracking control
based on the inverse dynamics controller (IDC). However, parallel manipulators such as a
Stewart platform have relatively small workspace compared to serial manipulators. Based on
the characteristics of small motion range, nonlinear coefficient matrices can be approximated
to constant ones. The modeling errors caused by such approximation are compensated for by
H1 controller that treats the error as disturbance. The proposed IDC with approximate dy-
namics combined with H1 control shows good tracking performance even for fast tracking
control in which computation of full dynamics is not easy to implement.
Ó 2002 Elsevier Science Ltd. All rights reserved.
Keywords: Stewart platform; Inverse dynamics control; H1 control; Approximate inverse dynamics
1. Introduction
Parallel manipulators such as a Stewart platform [1] has some advantages of high
rigidity, high accuracy, and high load-carrying capacity over serial manipulators.
These manipulators have found a variety of applications in flight and vehicle sim-
ulators, high-precision machining centers, mining machines, and so on. However,
they have some drawbacks of relatively small workspace and difficult forward ki-
nematics problems.
*
Corresponding author. Tel.: +82-2-3290-3363; fax: +82-2-3290-3757.
E-mail address: jbsong@korea.ac.kr (J.-B. Song).
0957-4158/03/$ - see front matter Ó 2002 Elsevier Science Ltd. All rights reserved.
doi:10.1016/S0957-4158(02)00033-8
606 S.-H. Lee et al. / Mechatronics 13 (2003) 605–619
where Fi is the actuator force produced by the electric motor and ball-screw mech-
anism, mu the moving part mass of the leg, si the unit vector along the leg, g the
acceleration of gravity, aui is the moving part acceleration, and f i the actuating force
acting on the platform. And represents the inner product.
Moment balance of the ith leg with the moment center at Bi becomes
ðmd rdi þ mu rui Þ g Li si f i md rdi adi mu rui aui ðIdi þ Iui Þai
xi ðIdi þ Iui Þxi ¼ 0 ð2Þ
where md is the fixed part mass of the leg, Li is the leg length, rdi and rui are the
position vectors from Bi to the mass centers of the fixed and moving parts, Idi and Iui
are the moments of inertia of the fixed and moving parts about their mass centers,
and ai , xi are the angular velocity and angular acceleration of leg i, respectively.
On the other hand, the velocity vP , acceleration aP , angular velocity xP , and
angular acceleration aP at the platform center are related kinematically to the ve-
locity vTj and acceleration aTj at the connection points Tj (j ¼ 1; 2; 3) denoted by the
position vector bi as follows:
vTj ¼ vP þ xP ðRbj Þ ð3aÞ
aTj ¼ aP þ aP ðRbj Þ þ xP fxP ðRbj Þg ð3bÞ
where R is the rotation matrix to describe rotation of the moving frame xyz relative
to the reference frame XYZ. Note that vP , aP , xP and aP are expressed in the ref-
erence frame XYZ and bj is written in the platform frame xyz. Note that Rbi is now
expressed in terms of the reference frame. The variables vTj and aTj can also be
represented in terms of the leg-related variables
vTj ¼ L_ si þ Lxi si ð4aÞ
€i si þ ai ðLi si Þ þ xi fxi ðLi si Þg þ 2xi L_ i si
aTj ¼ L
ðj ¼ 1 for i ¼ 1; 2; j ¼ 2 for i ¼ 3; 4; j ¼ 3 for i ¼ 5; 6Þ ð4bÞ
S.-H. Lee et al. / Mechatronics 13 (2003) 605–619 609
where L_ and L€ are the leg elongation velocity and acceleration, respectively. Equating
Eqs. 3a,3b and 4a,4b, the angular velocity xi and angular acceleration ai of each leg
can be described by the platform-related variables vP , aP , xP , and aP . Based on this,
the actuating force f i can be described via some matrices Q1i , Q2i , and Q3i as follows:
vP a
f i ¼ Q1i þ Q2i P þ Q3i Fi ð5Þ
xP aP
Using the forces f i exerted by the six actuating legs, the following force and moment
balances for a Stewart platform are obtained
X
6
mP aP ¼ mP g þ fi ð6Þ
i¼1
X
6
IP aP þ xP ðIP xP Þ ¼ ½ðRbi Þ f i ð7Þ
i¼1
where mP is the platform mass. Eqs. (6) and (7) may be combined into the following
equation in the matrix-vector form
P
mP I3 0 aP mP g þ Pf i
¼ ð8Þ
0 IP aP xP ðIP xP Þ þ ðRbi Þ f i
where IP is the moment of inertia of the platform and I3 denotes the 3 3 identity
matrix. Replacing f i on the right-hand side by Fi using Eq. (5), and denoting
the position, velocity, and acceleration by the single vectors X, X_ ¼ fvTP xTP gT ,
€ ¼ faT aT gT , the dynamic equation of a Stewart platform in task space is obtained
X P P
by
€ þ hðX; X_ Þ ¼ JT F
MðXÞX ð9Þ
where MðXÞ is the inertia matrix, hðX; X_ Þ is the nonlinear term including Coriolis,
centrifugal, and gravity force, and F ¼ fF1 ; . . . ; F6 gT is the actuator force vector,
respectively. And J is the Jacobian matrix associated with the relation JX_ ¼ L_ ,
T
where L_ ¼ fL_ 1 ; . . . ; L_ 6 g is the leg velocity vector.
T
s1 s2 s6
J¼ ð10Þ
Rb1 s1 Rb2 s2 Rb6 s6
It is noted that JT F represents the actuating force in task space which is converted
from the leg force F.
The dynamic equation (9) of a Stewart platform has the following characteristics.
The inertia matrix MðXÞ is dependent only on the configuration of the platform
and the nonlinear term hðX; X_ Þ depends on both the position and velocity of the
platform. Because the workspace of a Stewart platform is relatively small, the
610 S.-H. Lee et al. / Mechatronics 13 (2003) 605–619
variable X and its function MðXÞ varies in a small range as well. The inertia matrix,
therefore, can be assumed to be constant with introduction of some modeling error.
On the other hand, the nonlinear term h, which includes Coriolis, centrifugal, and
gravity force, requires most computational burden in the inverse dynamics calcu-
lation. It can be described by [8]
8 T 9
> _ _
< X H1 ðXÞX >=
hðX; X_ Þ ¼ .. þ GðXÞ ð11Þ
> . >
: _T _ ;
X H6 ðXÞX
where Hi ðXÞ is the 6 6 square matrix, and GðXÞ is the 6 1 gravity force vector. If
Hi ðXÞ can be assumed to be constant as Hi ðXÞ
Hci , hðX; X_ Þ can be approximated
by
8 9
> _T _
< X Hc1 X >
=
hðX; X_ Þ ¼ ^
hðX_ Þ þ Dh; where ^
hðX_ Þ ¼ .. þ GðXÞ ð12Þ
> . >
: _T _ ;
X Hc6 X
Note that the gravitational term GðXÞ can be accurately computed since the variable
X can be obtained accurately by the high-resolution optical encoder. With this ap-
proximation, the complicated inverse dynamics computation is accomplished by
relatively simple operations.
The modeling error introduced as a result of this approximation depends on the
types of tasks. In general, the larger change in configuration, the greater error will be
generated. Suppose that the platform center is to follow a given circular track (refer
to Section 4.1 for details). The maximum singular values of Hi ðXÞ in Eq. (11) and the
difference DHi between Hi ðXÞ and the constant matrix Hci are illustrated in Fig. 4.
Since the elements of Hi ðXÞ represent the coefficients which map the quadratic ve-
locities into force or torque, the singular values of Hi ðXÞ also have the same di-
Fig. 4. Maximum singular values of Hi ðXÞ in Eq. (11) and DHi ðXÞ ¼ Hci Hi ðXÞ while tracking a circular
trajectory.
S.-H. Lee et al. / Mechatronics 13 (2003) 605–619 611
mension. It is observed that rmax ðDHi Þ is less than 10% of rmax ðHi ðXÞÞ. In Eq. (12),
therefore, the nonlinear term requiring most computation time in the inverse
dynamics calculation can be reduced to multiplication operations of the constant
matrices and the velocities detected by the sensor.
The constant matrix Hci is determined properly depending on the task trajectories.
For example, for tracking of a circular trajectory, these matrices can be computed
off-line for the configuration at the center of the circle and then these matrices are
used in real-time calculation.
The IDC [9], or also called computed-torque controller, which is a popular po-
sition controller for a serial manipulator is considered in this research as a main
position control scheme. The IDC produces good control performance with accurate
modeling of the manipulator. When the modeling is not sufficiently accurate, how-
ever, its performance is not generally acceptable.
Fig. 5 illustrates the IDC based on the dynamic equation (9). As shown in the
figure, the inner loop computing the inverse dynamics makes the manipulator act as
a linear model. The conventional inverse dynamics control law is described by
F ¼ Fc þ Fh ð13Þ
where
Z
T€ ref þ KP ðXref XÞ þ KD ðX_ ref X_ Þ þ KI
Fc ¼ J M X ðXref XÞ dt
ð14Þ
Fh ¼ ½JT hðX; X_ Þ
where Xref is the reference trajectory that the platform center is to follow, and KP ,
KD , and KI are the constant controller gain matrices. Note that the term Fc is the
control force used to track the reference trajectory, while the term Fh is used to
linearize the plant by canceling nonlinearity. Substitution of Eq. (14) into (9) yields
ð15Þ
The nonlinear terms h on both sides in Eq. (15) cancel out and thus the following
error equation is obtained:
Z
€e þ KD e_ þ KP e þ KI e dt ¼ 0 ð16Þ
where e ¼ Xref X represents the error. The matrices KP , KD , and KI are determined
so that the error vector may approach zero asymptotically.
From a practical point of view, the IDC is hard to implement, since it requires
long computation time for the inverse dynamics. If the approximate dynamics are
used in which all the coefficient matrices are assumed to be constant, then the
computation time can be reduced drastically with some modeling error introduced.
In the case of the DSP running at the 50 MHz speed, the proposed approximate
dynamics requires less than 1 ms, while full dynamics computation needs about 25
ms.
3.2. H1 controller
As the approximated model inevitably has some modeling error, stability of the
whole control system cannot be guaranteed. Adaptive control [10] and sliding mode
control [11] schemes can be employed to cope with the modeling errors. However,
the adaptive control scheme also requires computation burden and has to provide
persistently exiting signals to the system to identify system parameters. As for the
sliding mode control scheme, a sharp change in control input may generate chat-
tering and thus induce unnecessary vibration of the system. Although a boundary
layer can be introduced to compensate for the chattering problem, slight reduction in
performance is unavoidable and the design parameters for the boundary layer is hard
to determine.
In this research, the H1 controller is adopted to compensate for the modeling
error which is intentionally introduced in the process of approximating the model for
a reduction in computation time. Since the range of maximum operating speeds of
the parallel manipulator is known, the uncertainty dependent on velocity is also
known. The PID controller is employed for tracking in the feedforward manner and
the H1 controller is added to compensate for the modeling error. This 2DOF con-
troller with the PID and H1 controllers is illustrated in Fig. 6.
The H1 controller has a role of attenuating not only the disturbance caused by
modeling uncertainty, but also the mismatch error caused by the feedforward PID
controller. It is noticed that the feedforward controller part does not affect stability
of the control system, because it has no feedback.
The dynamic equation (9) can be represented in state space as follows. Substi-
tuting of Eq. (13) into (9) and replacing the nonlinear term h of full dynamics by the
approximated term ^ h on the right-hand side yields
S.-H. Lee et al. / Mechatronics 13 (2003) 605–619 613
€ þ hðX; X_ Þ ¼ JT Fc þ ^
MðXÞX h ð17Þ
Therefore, the nonlinear terms on both side of Eq. (17) cannot cancel out exactly,
thus leading to some mismatch error Dh. Substituting Eq. (12) into (17) gives
€ ¼ M1 JT Fc M1 Dh
X ð18Þ
T
By introducing a new state vector Z ¼ f XT X_ T g , the following state equation is
obtained
_Z ¼ 0 I6 Z þ 0 T
J Fc
0
Dh ð19Þ
0 0 M1 M1
where I6 denotes the 6 6 identity matrix.
If the inertia matrix M and Jacobian matrix J are assumed to be constant and Dh
is considered as disturbance, Eq. (18) can be represented by
Z_ ¼ AZ þ Bu ð20Þ
where the matrices A and B correspond to the coefficient matrices of Eq. (18), u is the
actuating force JT Fc in task space.
In Fig. 7 showing the generalized plant, We ðsÞ and Wd ðsÞ represent the weighting
function matrices associated with the tracking error and disturbance, respectively.
Because the tracking error should be zero at steady state, the weighting function for
the tracking error includes a pure integrator. The disturbance is generated through
Fig. 8 shows the experimental results where the platform center is forced to follow
the reference circular trajectory with a radius of 0.02 m in the XY plane at a rela-
tively slow frequency of 0.2 Hz. Two types of controllers are compared; one is the
IDC with full dynamics based on the control law of Eq. (13) and the other is a simple
PID controller. The full inverse dynamics computation requires about 25 ms, so that
the IDC with full dynamics has a long sampling period of 30 ms. Since the reference
trajectory also has relatively low speed, the tracking performance is not adversely
affected because of this long sampling period. On the other hand, the simple PID
controller that ignores the nonlinear term hðX; X_ Þ of the dynamic equations carries
out the following control action only with output errors.
Z
T € _ _
F ¼ J M Xref þ KP ðXref XÞ þ KD ðXref XÞ þ KI ðXref XÞ dt ð23Þ
where the integral action in Eq. (23) compensates for ignorance of the nonlinear term
to some extent. The two controllers show little difference in their responses as shown
in Fig. 10.
Fig. 10. Tracking performance for simple PID controller and IDC with full dynamics during low-speed
tracking.
616 S.-H. Lee et al. / Mechatronics 13 (2003) 605–619
Fig. 11. Tracking performance for simple PID controller and IDC with full dynamics during high-speed
tracking.
Fig. 11 shows the experimental results where the platform center is to track the
circular trajectory with a radius of 0.02 m in the XY plane at a relatively fast fre-
quency of 2.5 Hz (12.5 times faster than in Fig. 10). It is observed that the IDC with
full dynamics shows better performance than the simple PID controller which pro-
duces a large tracking error. However, even the IDC cannot generate the truly cir-
cular trajectory. The reason is that the sampling period of 30 ms is not sufficiently
shorter than the trajectory period of 400 ms, so the control inputs for accurate
tracking cannot be provided.
Fig. 12. Tracking performance for IDC with full dynamics and approximate dynamics during high-speed
tracking.
S.-H. Lee et al. / Mechatronics 13 (2003) 605–619 617
The control scheme proposed in this paper is similar to the IDC with full dy-
namics (see Section 4.1), but it employs the approximate inverse dynamics together
with H1 control to compensate for the modeling error. This proposed control
scheme will be called the IDC with approximate dynamics below.
In the case of slow tracking as in Fig. 10, the proposed control scheme shows little
difference compared to the IDC with full dynamics. In the case of fast tracking as in
Fig. 11, however, the IDC with approximate dynamics shows better performance
than that with full dynamics as illustrated in Fig. 12. It is observed in the magnified
Fig. 13. Control forces of IDC with (a) full dynamics, and (b) approximate dynamics.
Fig. 14. Tracking performance for IDC with full dynamics and approximate dynamics subject to rect-
angular trajectories.
618 S.-H. Lee et al. / Mechatronics 13 (2003) 605–619
picture that the IDC with approximate dynamics has much shorter sampling period
(5 ms) than the IDC with full dynamics and thus generates smoother trajectory.
Furthermore, the control signal shown in Fig. 13 is smoother and has less fluctuation
than the IDC with full dynamics.
Fig. 14 shows the experimental results where the platform center is to track the
rectangular trajectory at a speed of 0.5 Hz. It is noted that the rectangular trajectory
contains high-frequency components around the corners. It is observed in Fig. 14
that the IDC with full dynamics produces generally large tracking error. A partic-
ularly large tracking error is generated around the corners, because it cannot
faithfully track the corner with high-frequency components due to its long sampling
period. On the contrary, the proposed IDC with approximate dynamics shows rel-
atively good tracking performance both along the straight-line portion and at the
corners. In summary, the proposed controller can track the high-frequency reference
command better than the conventional one.
5. Conclusions
A Stewart platform has a drawback of small workspace, but this feature enables
the configuration-dependent coefficient matrices of the dynamic equations to be
approximated to constant ones without introducing large modeling errors. By this
approximation, the computation time for the inverse dynamics can be significantly
reduced.
About 10% modeling error caused by such approximation can be treated as
disturbance, and is compensated for by the H1 controller, thus leading to a stable
control system. The proposed IDC with approximate dynamics combined with the
H1 controller shows better responses than that with full dynamics and the simple
PID controller as the tracking speed increases. Also it provides better tracking
performance for high-frequency reference commands. The proposed controller can
be realized on-line in a single DSP running at the 50 Hz speed. Investigation of the
proposed controller is under way for various trajectories and tasks.
Acknowledgements
This research was supported by the Basic Research Program of the Korea Science
and Engineering Foundation (1999-1-304-003).
References
[1] Stewart D. A platform with six degrees of freedom. Proc of Inst Mech Engr 1965;180(1):371–86.
[2] Liu K, Fitzgerald J, Lewis FL. Kinematic analysis of a Stewart platform manipulator. IEEE Trans
Ind Electron 1993;40(2):282–93.
S.-H. Lee et al. / Mechatronics 13 (2003) 605–619 619
[3] Lebret G, Liu K, Lewis FL. Dynamic analysis and control of a Stewart platform manipulator.
J Robotic Syst 1993;10(5):629–55.
[4] Dasgupta B, Mruthyunjaya TS. Closed-form dynamic equations of the general Stewart platform
through the Newton–Euler approach. Mech Mach Theory 1998;33(7):993–1012.
[5] Zhang C, Song S. An efficient method for inverse dynamics of manipulators based on the virtual work
principle. J Robotic Syst 1993;10(5):605–27.
[6] Fichter EF. A Stewart platform-based manipulator: general theory and practical construction. Int J
Robotics Res 1986;5(2):157–82.
[7] Zhiming J. Study of the effect of leg inertia in Stewart platforms. In: International Conference on
Robotics and Automation. 1993. p. 121–6.
[8] Craig JJ. Adaptive control of mechanical manipulators. Addison-Wesley; 1988.
[9] Asada H, Slotine JJE. Robot analysis and control. John Wiley and Sons; 1985.
[10] Nguyen CC, Antrazi SS, Zhou ZL. Adaptive control of a Stewart platform-based manipulator.
J Robotic Syst 1993;10(5):657–87.
[11] Kim NI, Lee CW. High speed tracking control of Stewart platform manipulator via enhanced sliding
mode control. In: International Conference on Robotics and Automation. 1998. p. 2716–21.