PhD student, Le Quy Don Technical University, Viet Nam, Ha Noi
DYNAMIC MODELING AND PD CONTROL WITH FEEDFORWARD COMPENSATION OF DUAL-STAGE GOUGH-STEWART PLATFORM
ABSTRACT
This paper studies a dual-stage Gough-Stewart platform, where the lower stage generates the oscillations of vehicles like cars, ships, and airplanes, while the upper stage is connected to devices that require stability or motion stabilization with trajectory tracking. The dynamic model for this robot system is derived in a general form based on the Lagrange equations of motion with Lagrange multipliers. Using these equations in a compact form, a PD controller with feedforward compensation in task space is designed. Oscillation generation and stabilization are analyzed and simulated using the kinematic and dynamic parameters of two Bosch Rexroth robots. The results from these simulations validate both the accuracy of the dynamic model and the effectiveness of the controller.
АННОТАЦИЯ
В данной работе исследуется двухступенчатая платформа Гофа-Стюарта, где нижняя ступень воспроизводит колебания транспортных средств, таких как автомобили, корабли и самолеты, а верхняя ступень соединена с устройствами, требующими стабилизации или управления движением с отслеживанием траектории. Динамическая модель этой роботизированной системы выведена в общем виде на основе уравнений движения Лагранжа с использованием множителей Лагранжа. На основе этих уравнений в компактной форме разработан ПД-контроллер с упреждающей компенсацией в рабочем пространстве. Генерация колебаний и стабилизация анализируются и моделируются с использованием кинематических и динамических параметров двух параллельных роботов Bosch Rexroth. Результаты моделирования подтверждают точность динамической модели и эффективность контроллера.
Keywords: Gough-Stewart platform, parallel robots, dynamics, PD and feedforward compensation control.
Ключевые слова: Платформа Гофа-Стюарта, параллельные роботы, динамика, ПД-контроллер и управление упреждающей компенсацией.
1. Introduction
The robot system includes two Gough-Stewart platforms (GSPs) [1] arranged in lower and upper stages. Each GSP consists of an upper work plate and a lower base plate, connected by six legs with universal joints. The length of these legs is controlled by either electric motors or hydraulic cylinders. As shown in Figure 1, the lower stage of the dual-stage GSP generates oscillations, while the upper stage is dedicated to stability maintenance. Sensors on the work plates of both stages provide direct measurements of the plates' position, orientation, velocity, and angular velocity.
The GSP’s high rigid structure and precise positioning make it valuable across numerous applications, including flight simulation, robotic surgery, precision machining, and mobile stabilization. Balance stabilization is essential for various equipment on transportation vehicles, such as cooking tables, treatment tables, and gangways on ships [2, 3]. By using the GSP to generate the oscillations of moving vehicles, a semi-natural simulation system for motion or balance stabilization control is achieved. This approach mitigates the high costs, time, and complexity involved in performing motion stability control research directly on diverse mobile platforms across different vehicle types and terrains.
Many researchs have addressed the dynamics modeling and control of GSP, utilizing motion equations like Newton-Euler, Lagrange, Kane’s equations, or principles of virtual work [4-6]. Control methods have been applied to GSP, including kinematic control, inverse dynamics in joint and task space, PID, sliding mode, adaptive controls and others [7-9]. While single-stage GSP are frequently studied, research on multi-stage GSPs remains limited due to the challenges of their closed-chain mechanisms and high degrees of freedom [8-13].
Figure 1. The dual-stage Gough-Stewart platforms
This paper develops a dynamic model and PD controller with feedforward compensation for a dual-stage GSP, employing a multibody approach based on Lagrange’s equations with multipliers. The structure of the paper is as follows: Section 1 provides an introduction; Section 2 details the kinematic and dynamic modeling of the dual-stage GSP; Section 3 presents the controller design; Section 4 describes the parameters of the robot system used in simulation; Section 5 presents comptation and simulation; Section 6 discusses the results and concludes the paper.
2. Kinematic and dynamic modeling
2.1. Kinematic modeling of the dual-stage GSP
To derive the kinematic equations for the dual-stage GSP, coordinate frames must be attached to the robot's links (Figure 2a shows the kinematic diagram of the two-stage GSPs, and Figure 2b) shows the kinematic diagram of a single GSP at the k-th stage, with k=1, 2.
The base plate of the k-th robot is denoted as Bk, the work plate (upper plate) of the k-th robot is denoted as Pk. The center of the joints on the base plate Bk is labeled as Bki (i=1..6), and the center of the joints on the upper plate Pk is labeled as Pki (i=1..6).
Figure 2. The dual-stage Gough-Stewart platforms
The base frame O0x0y0z0 is attached at the center of the base plate of the lower platform, with the z0 axis perpendicular to the plate Bk and pointing upwards, and the x0 axis passing through the midpoint of the line connecting joints Bk1 and Bk6. The frames Okxkykzk (k=1,2) are attached to the work plates of the corresponding platform at stage 1 and stage 2, where the zk axis is perpendicular to the plate Pk and points upwards, and the xk passes through the midpoint of the line connecting joints Pk1 and Pk6. The distance from the center of the plates to the joint centers on the corresponding plates are a1i, b1i, a2i, b2j, respectively. The leg lengths of the robots at levels 1 and 2 are denoted as d1i, d2j, where i, j = 1,..,6.
The base frame O0x0y0z0 is attached at the center of the base plate of the lower platform, with the z0 axis perpendicular to the plate Bk and pointing upwards, and the x0 axis passing through the midpoint of the line connecting joints Bk1 and Bk6. The frames Okxkykzk (k=1,2) are attached to the work plates of the corresponding platform at stage 1 and stage 2, where the zk axis is perpendicular to the plate Pk and points upwards, and the xk passes through the midpoint of the line connecting joints Pk1 and Pk6. The distance from the center of the plates to the joint centers on the corresponding plates are a1i, b1i, a2i, b2j, respectively. The leg lengths of the robots at levels 1 and 2 are denoted as d1i, d2j, where i, j = 1,..,6.
The frame Bkixk-1,iyk-1,izk-1,i is attached to the base plate (lower plate), with the origin at the center of the i-th joint; the axis Bkixk-1 coincides with Ok-1Bki; the axis Bkizk-1,i is perpendicular to the plane of the base plate and points upwards. The frame Pkixpiypizpi is attached to the plate Pk, with the origin at the center of the i-th joint; the axis Pkixpi coincides with OkPki; the axis Pkizpi is perpendicular to the plate Pk.
The generalized coordinate vectors, which define the orientation and position in the workspace of the work plates of robots 1 and 2, are denoted as p1, p2, respectively:
(1)
The generalized coordinate vectors in the joint space of the robots 1 and 2 is:
(2)
Where is the generalized coordinate vectors with components being the lengths and angles of the legs of the lower and upper platform, respectively.
(3)
Consider the kinematic loop of the i-th leg at stage k of the robot, as shown in Figure 3. The coordinates of point P in the Ok-1 frame is determined in two ways, corresponding to two paths. The transformation from the frame Ok-1xk-1yk-1zk-1 to the frame Pkixkiykizki through the two paths is as follows:
Figure 3. The dual-stage Gough-Stewart platforms
Path 1: Rotate the frame Ok-1xk-1yk-1zk-1 around the zk-1 axis by an angle jki, then translate along the xk-1,i axis by a distance rkb. Rotate the frame Bkixk-1,iyk-1,izk-1,i around the Bkixk-1,i, Bkiyk-1,i, axes by the angles qki, yki. Translate Bkixkiykizki along the zki axis by a distance dki.
Path 2: Perform three basic rotations by angles ak, bk, gk and three basic translations along the xk-1, yk-1, zk-1 axes to take the frame Ok-1xk-1yk-1zk-1 into alignment with the frame Okxkykzk. Rotate the frame Okxkykzk around the zk axis by an angle jki, then translate along the xk axis by a distance rkb.
Following the two kinematic paths at the i-th leg, by determining the homogeneous transformation matrices at each step and multiplying the transformation matrices together, we obtain the homogeneous matrices that determine the position and orientation of the frame Pkixkiykizki relative to the frame Ok-1xk-1yk-1zk-1 as follows:
(4)
From (4), since the position of point Pki calculated from both paths is the same, we obtain three equations based on the position of point Pki as follows:
(5)
Thus, for each kinematic loop of the i-th leg, we have 3 equations. Since a single platform of the robot has 6 legs, there are a total of 18 equations:
(6)
Equation (6) can be simplified to the following form:
(7)
Considering both levels of the robot, k=1, 2, we obtain the generalized kinematic equations of the two-stage robot system, consisting of 36 equations.
Kinematic problems: The kinematic problems of a multi-stage platform include the forward kinematics problem, the inverse kinematics problem. The forward kinematics problem is to determine the position and orientation of the work plate (workspace variables pk) from the known joint variables (joint space variables qk or dk), at a specific stage of the robot system. The inverse kinematics problem is to compute the variables in the joint space (find dk, qk), given the desired motion of the work plate (given pk).
Velocities computation: The velocities of the rigid bodies (links) in the robot system are generally calculated for the k-th stage of the robot. By differentiating the first equation of equation (6), we obtain:
(8)
From (8), the velocities of the generalized coordinates in the joint space can be calculated:
(9)
Accelerations computation:
Differentiate equations (8) with respect to time:
(10)
Equation (10) is rewritten in the following form:
(11)
Differentiate equation (9) to obtain the acceleration of the generalized coordinates in joint space:
(12)
2.2. Dynamic modeling of the the dual-stage GSPs
For convenience in presenting dynamic modeling method of the two-stage GSPs, the dynamic model of the k-stage GSP is derived first; then, the dynamic model of the two-stage GSPs is combined and solved simultaneously.
This section presents the dynamic modeling for the k-th stage of the robot as shown in Fig.1b. The generalized coordinates and the first and second derivatives of the generalized coordinates for the k-th stage of the robot in the dynamic problem include 18 joint variables, represented in the algebraic vector qk, and 6 generalized coordinate variables of the work plate Pk, represented in the algebraic vector pk.
Applying the Lagrange equations of motion with Lagrange multipliers, the dynamic state of the k-th stage robot system is described by the constraint equations (6) and the differential equations of motion:
(13)
Where: are the generalized coordinate vector, its first and second time derivatives, respectively:
(14)
Mk(Xk) is the generalized mass matrix:
(15)
The matrix Mk(Xk) is calculated as follows:
(16)
With n being the number of moving links at stage k, mi is the mass of the i-th moving link. JTi, JRi are the translational Jacobian matrix and the rotational Jacobian matrix of the i-th moving link. These matrices are calculated based on the position of the center of mass and the angular velocity of the links. Ii is the inertia tensor of the link with respect to the coordinate system located at the center of mass.
The angular velocity of the i link in the system is calculated using the skew symmetric matrix, through the direction cosine matrix Ai of link i:
(17)
is the centrifugal and Coriolis matrix, is function of the generalized coordinates and velocities :
(18)
Where En is the unit matrix of size [24x24].
Pk is the [24x1] vector of generalized forces due to potential forces:
(19)
Where is the potential energy of the system.
Qk is the [24x1] vector of generalized forces due to non-conservative forces:
(20)
Uk* is the [1x24] vector whose elements are the generalized forces of the constraint forces at the joints:
(21)
Uk is the [1x24] vector, with elements representing the driving forces at the legs:
(22)
The solution to the dynamic equation system (13) is performed when the dynamic components in the system are computed.
The forward dynamics problem of the robot: Given the driving forces at the legs and external forces acting on the robot, determine the motion of the work plate.
By differentiating the constraint equations twice with respect to time, from (12) we have:
(23)
The constraint forces can be expressed in the form of Lagrange multipliers as follows:
(24)
(25)
Substituting into equation (22) and writing in matrix form, we have:
(26)
The equations (26) has 42 equations, with 42 unknowns consisting of 24 unknowns for the generalized coordinates, their first and second derivatives, and 18 Lagrange multipliers lk.
The inverse dynamics problem: Calculating the inverse dynamics is an important task in controlling the parallel robot system to meet the specified requirements. Given the motion of the work plate and the external forces Pk, Qk find the motion and driving forces Uk at the legs. The motions of the robot legs are solved using the inverse kinematics, where the unknowns in the inverse dynamics include the 6 driving forces variables in Uk and 18 Lagrange multipliers in lk.
Rewriting the expression and substituting it into the first equation of (12), we have:
(27)
The equations (13) becomes:
(28)
(29)
To compute the inverse dynamic equations (28), the inverse kinematics problem in the second equation is computed first, and then substituted into the first equation to determine the driving forces and Lagrange multipliers, as well as the constraint forces.
Dynamic modeling of the dual-stage GSPs
The dynamic equation (13) combined for the two-stage GSPs is written as follows:
(30)
Where:
(31)
The equations of motion (30) has 84 equations, with 84 unknowns consisting of 48 unknowns for the generalized coordinates, their first and second derivatives, and 36 Lagrange multipliers l.
3. PD control with feedforward compensation in task space
To design the PD controller with feedforward compensation in the task space, the dynamic equations should be simplified into a compact form that represents the relationship between the driving force at the legs and the variables in the task space. This requires eliminating the Lagrange multipliers, following the method presented in [14]. As previously, the equations are first simplified for a single platform, then extended to the entire system for clarity in the derivation.
From (9), we have:
(32)
Where E6x6 is the unit matrix.
From equations (12) and (32), we obtain:
(33)
Equation (33) can be rewritten in the form:
(34)
Multiply both sides of the first equation of (13) by:
(35)
Since [14], equation (35) becomes:
(36)
Substitute (9) and (33) into (36):
(37)
Equation (37) simplifies to:
(38)
Where:
(39)
From (38), choose the PD with feedforward compensation control law [15, 16, 19, 20]:
(40)
are the error vectors for position, orientation, velocity, and acceleration of the work plate of k-th platform, respectively.
(41)
[19, 20] presents methods for proving system stability.
are diagonal and positive definite matrices.
(42)
The above expressions for a single platform are combined to expressions for dual-stage GSPs as follows:
(43)
The above expressions for a single platform are combined to expressions for dual-stage GSPs as follows:
(44)
(45)
The PD with feedforward compensation control law:
(46)
Figure 4. Block scheme of task space PD control with feedforward compensation
Figure 4 presents the block scheme of PD control with feedforward compensation in task space of the dual-stage GSPs. In the control system diagram, the position and velocity of the work plates are measured using MRU-PD Motion Reference Units from Inertial Labs, which are placed on the work plates of the lower and upper platforms.
4. The kinematic and dynamic parameters of the robot
Table 1.
Kinematic parameters of the robot
r1b (m) |
r1p (m) |
s1b (deg) |
s1p (deg) |
r2b (m) |
r2p (m) |
s2b (deg) |
s2p (deg) |
1.28 |
1.10 |
8.60 |
20.86 |
0.35 |
0.32 |
14.61 |
21.56 |
Table 2.
Dynamic parameters of the robot
|
m (kg) |
xC (m) |
yC (m) |
zC (m) |
Ixx (kgm2) |
Iyy (kgm2) |
Izz (kgm2) |
Cross B1i |
2.46 |
0 |
0 |
0 |
0.0046 |
0.0035 |
0.0035 |
Cyl B1i |
150.4 |
0 |
0.059 |
0.544 |
19.384 |
18.392 |
1.539 |
Pis P1i |
31.63 |
0 |
0 |
-0.375 |
2.632 |
2.362 |
0.046 |
Cross B1i |
2.46 |
0 |
0 |
0 |
0.0046 |
0.0035 |
0.0035 |
Plate P1 |
238.2 |
0 |
0 |
0.150 |
63.384 |
63.384 |
135.562 |
Cross B2i |
0.48 |
0 |
0 |
0 |
3.56e-5 |
1.18e-5 |
1.18e-5 |
Cyl B2i |
9.65 |
0 |
0 |
0.168 |
0.110 |
0.110 |
0.006 |
Pis P2i |
3.84 |
0 |
0 |
-0.144 |
0.020 |
0.020 |
0.0008 |
Cross P2i |
0.48 |
0 |
0 |
0 |
3.56e-5 |
1.18e-5 |
1.18e-5 |
Plate P2 |
36.50 |
0 |
0 |
0.120 |
1.305 |
1.305 |
2.566 |
The platforms used for computations and simulations include: the GSP at stage 1 is eMotion-1500/2700-6DOF-650-MK1 (referred to as E1500), and the GSP at stage 2 is the MicroMotion 600 (referred to as M600) from Bosch Rexroth, Figure 1. The kinematic and dynamic parameters of the lower and upper platform are shown in Table 1 and Table 2.
The center of mass coordinates and moments of inertia in Table 2 are calculated relative to the coordinate frame attached to the center of mass of each corresponding rigid body.
Leg lengths of the E1500 platform: stroke length: 950 mm; minimum leg length: 1306.14 mm; maximum leg length: 2256.14 mm. Leg lengths of the M600 platform: stroke length 350 mm; minimum leg length: 463.6 mm; maximum leg length: 813.6 mm.
Figure 5 shows the diagram created in MATLAB/Simulink in combination with MSCAdams software to compute and simulate the motions of the robot system.
Figure 5. Robot system diagram in MATLAB/Simulink and MSCAdams
5. Computation and simulation result
The PD controller with feedforward compensation in the task space is applied to the dual-stage platform in the study that the lower platform simulates the oscillations, while the work plate of upper platform moves along the required trajectory.
The controller of E1500 platform is modified with K1Pi=6000, K1Di=300 (i=1..6) and the controller of M600 platform is modified with K2Pi=6000, K2Di=300 (i=1..6).
The inputs of the work plates:
The motion of the work plate of the E1500:
(47)
The motion of the work plate of the M600:
(48)
Computation and simulation results:
With the oscillations of the work plate on the E1500 are generated in Figure 6, the computation program produces results for position, orientation errors, the motion and driving forces of the legs of the E1500 platform, as shown in Figure 7, 8. The set motion the work plate of the M600 (Figure 9), the errors, motion and driving forces of the legs of the M600 platform, as shown in Figure 10, 11.
Figure 6. Oscillations of the work plate of E1500 platform
Figure 7. Position, orientation errors of the work plate of E1500
Figure 8. Position, velocity, acceleration, and forces of the legs of E1500
Simulation results for the E1500 platform: Absolute average position error: 0.0249 cm. Absolute average orientation error: 0.1010 deg. Maximum absolute position error: 0.0457 cm. Maximum absolute orientation error: 0.2432 deg. Maximum control force response: 2873.6225 N.
Figure 9. The motions of the work plate of the M600
Figure 10. Errors in the position and orientation of the M600’s work plate
Figure 11. Position, velocity, acceleration, and forces of the legs of M600
Simulation results for the M600 platform: Absolute average position error: 0.1578 cm. Absolute average orientation error: 0.0742 deg. Maximum absolute position error: 0.2200 cm. Maximum absolute orientation error: 0.2072 deg. Maximum control force response: 298.714 N.
6. Conclusions
The results from computation and simulation show that the first platform successfully regenerates the necessary oscillations, with calculation of motion and driving forces on its legs. The work plate on the second platform maintains the desired motion with minimal error.
This paper derives kinematic and dynamic models for a complex multi-stage parallel robot system featuring a closed-loop structure and numerous degrees of freedom. The derived equations describe the interactions between driving forces, constraint forces, external forces, and the movements of the legs and work plates at each stage, supporting both forward and inverse dynamics analyses.
The PD controller with feedforward compensation enables oscillation regeneration on the lower platform to simulate vehicle motion, while the work plate of upper platform moves along the required trajectory.
The results confirm the precision of the dynamic model and the controller’s efficiency, emphasizing its practical use in simulating oscillations and maintaining balance or motion stabilization with trajectory tracking across various vehicles and platforms.
Acknowledgements:
The authors would like to thank for the use of the eMotion-1500/2700-6DOF-650-MK1 and Micro Motion-600-6DOF-200-MK6 platforms from the Laboratory of the Department of Mechatronics, Faculty of Aerospace Engineering, Le Quy Don Technical University.
References:
- D. Stewart, “A platform with six degrees of freedom”, Proceedings of the UK Institute of Mechanical Engineering, 180(1), pp. 371–386, 1965.
- Ampelmann projects, https://www.ampelmann.nl/
- Nguyen Thanh Son, Hoang Quang Chinh, Nguyen Dinh Quan, “Investigation on offshore access stabilization Systems-Simulation using the blockset SimMechanics in Matlab/Simulink”, J. of Science and Technique, Le Quy Don Technical University, Vol. 183, pp. 88-100, 2017.
- Marques, Filipe, et al, “Examination and comparison of different methods to model closed loop kinematic chains using Lagrangian formulation with cut joint, clearance joint constraint and elastic joint approaches”, Mechanism and Machine Theory, 160: 104294, 2021.
- Staicu, Stefan, Dynamics of the 6-6 Stewart parallel manipulator”, Robotics and Computer Integrated Manufacturing 27.1: pp. 212-220, 2011.
- Abdellatif, H. & Heimann, B., “Computational efficient inverse dynamics of 6-DOF fully parallel manipulators by using the Lagrangian formalism”, Mechanism and Machine Theory, 44, pp. 192-207, 2009.
- Yang, C., Han, J., Peter, O. O., & Huang, Q., “PID control with gravity compensation for hydraulic 6-DOF parallel manipulator”, PID Control, Implementation and Tuning, 2011, doi:10.5772/16023.
- Cai, Yunfei, et al, “Model analysis and modified control method of ship-mounted Stewart platforms for wave compensation”, IEEE Access 9: 4505-4517, 2020.
- Valente, Vítor Tumelero, and Eduardo André Perondi, “Control of an electrohydraulic Stewart platform manipulator for off-shore motion compensation”, Proceedings of the 3rd International Conference on Mechatronics and Robotics Engineering, 2017.
- Tourajizadeh, Hami, and S. Manteghi, “Design and optimal control of dual-stage Stewart platform using Feedback-Linearized Quadratic Regulator”, Advanced Robotics 30.20: 1305-1321, 2016.
- Phan Bui Khoi, “Algorithm and Program for Dynamics Calculation of Parallel Robots”, Journal of Science and Technology, 48(1), pp. 33-44, 2010.
- Phan Bui Khoi, “Investigation inverse kinematics of parallel mechanisms in series connection”, Proceedings of The 5th Asian symposium on Applied Electromagnatics and Mechanics, Hanoi, Vietnam, pp. 224-231, 2005. (In Vietnamese).
- Phan Bui Khoi, Ha Huy Hung, Hoang Quang Chinh, “Algorithm and program for computing the kinematics of a two-stage parallel robot”, Proceedings of the National Mechanics Conference, Vol. 2, pp. 705-714, 2024,. (In Vietnamese).
- Vlase, S, “A method of eliminating Lagrangian multipliers from the equation of motion of interconnected mechanical systems”, pp. 235-237, 1987.
- Sciavicco, Lorenzo, and Bruno Siciliano, “Modelling and control of robot manipulators”, Springer Science & Business Media, 2012, pp.252-254.
- Khalil, Wisama, and Etienne Dombre, 2004, “Modeling, identification and control of robots”, Butterworth-Heinemann, 2004, pp. 347-367.
- Ha Huy Hung, Hoang Quang Chinh, at al, “Simulation of Vessel Oscillation Using Parallel Robot”, Journal of Military Science and Technology, No. 80, 2022, pp. 156-67, doi:10.54939/1859-1043.j.mst.80.2022.156-167. (In Vietnamese)
- https://github.com/LINK-SIC-2021-Bernat-Granstrom/ship-simulator.
- Santibañez, Victor; Kelly, Rafael, “PD control with feedforward compensation for robot manipulators: analysis and experimentation”, Robotica, 2001, 19.1: 11-19.
- Khosla, Pradeep K.; Kanade, Takeo, “Experimental evaluation of nonlinear feedback and feedforward control schemes for manipulators”, The International Journal of Robotics Research, 1988, 7.1: 18-28.