Fast Dynamic Model of a Moving-base 6-DOF Parallel Manipulator

Dynamic models play an important role in parallel manipulators simulation and control. Mainly in the later case, the efficiency of the involved computations is of paramount importance, because manipulator real-time control is usually necessary (Zhao & Gao, 2009). The dynamic model of a parallel manipulator operating in free space can be represented in Cartesian coordinates by a system of nonlinear differential equations, which may be written in matrix form as       f x G x x x V x x I          , (1)

Thus, all approaches are equivalent, leading to equivalent dynamic equations. Nevertheless, these equations can present different levels of complexity and associated computational loads (Zhao & Gao, 2009). Minimizing the number of operations involved in the computation of the manipulator dynamic model has been the main goal of recent proposed techniques (Zhao & Gao, 2009;Staicu & Zhang, 2008;Abdellatif & Heimann, 2009;Sokolov & Xirouchakis, 2007;Bhattacharya et al., 1997;Carricato & Gosselin, 2009;Lopes, 2009). This book chapter presents the generalized momentum concept to model the dynamics of a Stewart platform manipulator having a non-stationary base platform. This is important, for example, in macro/micro robotic applications, where a small manipulator is attached in series to a big one. The later performs large amplitude movements, while the former is only responsible for the small motions. The book chapter is organized as follows. Section 2 presents a brief description of the parallel manipulator under study. In section 3 a complete dynamic model is developed. The generalized momentum approach is used and the motion of the manipulator base platform is considered. Conclusions are drawn in section 4.

Manipulator Kinematic Structure
A Stewart platform manipulator is being considered. It comprises a (usually) fixed platform (the base) and a moving platform (the payload platform), linked together by six independent, identical, open kinematic chains (Raghavan, 1993). In this book chapter a particular design will be considered as shown in Figure 1 (Fichter, 1986). In this case, each chain (leg) comprises a cylinder and a piston (or spindle) that are connected together by a prismatic joint, l i . The upper end of each leg is connected to the moving platform by a spherical joint whereas the lower end is connected to the fixed base by a universal joint. Points B i and P i are the connecting points to the base and moving platforms, respectively ( Figure 2). They are located at the vertices of two semi-regular hexagons inscribed in circumferences of radius r B and r P . The separation angles between points B 1 and B 6 , B 2 and B 3 , and B 4 and B 5 are denoted by 2 B . In a similar way, the separation angles between points P 1 and P 2 , P 3 and P 4 , and P 5 and P 6 are denoted by 2 P (Figure 2).
is the position of the origin of frame {P} relative to frame {B}, defines an Euler angles system representing orientation of frame {P} relative to {B}. The used Euler angles system corresponds to the basic rotations (Vukobratovic & Kircanski, 1986):  P about z P ;  P about the rotated axis y P' ; and  P about the rotated axis x P'' . The rotation matrix is given by: S() and C() correspond to the sine and cosine functions, respectively. The manipulator position and velocity kinematic models are well known, being obtainable from the geometrical analysis of the kinematics chains. The velocity kinematics is represented by the Euler angles jacobian matrix, J E , or the kinematic jacobian, J C (Merlet, 2006). These jacobians relate the velocities of the active joints (the actuators) to the generalized velocity of the moving platform: and (Vukobratovic & Kircanski, 1986)

Complete Dynamic Modelling Using the Generalized Momentum Approach
It is well known the generalized momentum of a rigid body, q c , may be computed from the following general expression: Vector u c represents the generalized velocity (linear and angular) of the body and I c is its inertia matrix. Vectors q c and u c and inertia matrix I c must be expressed in the same frame of reference.

Equation
(10) may also be written as where Q c is the linear momentum vector due to rigid body translation and H c is the angular momentum vector due to body rotation. I c(tra) is the translational inertia matrix and I c(rot) is the rotational inertia matrix. v c and ω c are the body linear and angular velocities. The inertial component of the generalized force (force and moment) acting on the body can be obtained from the time derivative of equation (10): with force and moment expressed in the same frame and    Equivalently, force and moment vectors are: , is given by Considering equation (16), in frame {B}, the following equation can be written: Therefore, the total linear momentum of {P} expressed in frame {B} will be m P being the payload platform mass.
Taking the time derivative of the previous equation results in Knowing that, The inertial part of the total force applied in {P}, due to the payload platform translation, expressed in frame {B} will be That is, represents the inertial part of the force, considering the base platform is not moving, and represents the inertial part of the force which results from the base motion.

www.intechopen.com
On the other hand, the angular momentum of the moving platform, about its centre of mass and expressed in frame {B} will be represents the rotational inertia matrix of the moving platform, expressed in the base frame, {B}. This inertia matrix is given by: Taking the time derivative of equation (28) The inertial part of the total moment applied in {P}, due to the payload platform rotation, expressed in frame {B} will be where, represents the inertial part of the moment, considering the base platform is not moving, and represents the inertial part of the moment which results from the base motion. The total inertial component of the generalized force applied to {P} and expressed in {B} will be The inertial components of the forces in the manipulator actuators (actuating forces) will be On the other hand, regarding the gravitational part of the generalized force, if the base platform orientation changes, then the force applied to {P} and expressed in {B} results in representing the mobile platform potential energy.
The gravitational component of the actuating forces due to the moving platform,   gra P τ , is given by equation (42), which can be added to equations (37) and (38).

Cylinder Modelling
Position of the cylinder i, relative to {W} and expressed in {W}, may be computed using the following equation: The linear velocity of the cylinder, relative to {W} and expressed in {W}, may be obtained taking the time derivative of the previous equation, that is, Considering the centre of mass of each cylinder is located at a constant distance, b C , from the cylinder to base platform connecting point, B i , (Figure 3), then its position relative to frame {B} is where, Fig. 3. Position of the centre of mass of the cylinder i The linear velocity of the cylinder centre of mass, , relative to {B} and expressed in the same frame, may be computed as: where B i l B ω represents the leg angular velocity, which can be found from: As the leg (both the cylinder and piston) cannot rotate along its own axis, the angular velocity along i lˆ is always zero, and vectors l i and B i l B ω are always perpendicular. This enables equation (50) to be rewritten as: or, where jacobian i D J is given by: and, for a given vector On the other hand, equation (49) can be rewritten as: where the jacobian i B J is given by: The total linear momentum of the cylinder i, expressed in frame {B} will be www.intechopen.com m C being the cylinder mass.
Taking the time derivative of the previous equation results in The inertial part of the total force applied in {C i }, due to the cylinder translation, expressed in frame {B} will be That is, represents the inertial part of the force, considering the base platform is not moving, and represents the inertial part of the force which results from the base motion. When equation (61) is pre-multiplied by T i B J , the inertial component of the generalized force applied to {P}, due to each cylinder translation is obtained in frame {B}: The inertial components of the actuating forces will be On the other hand, the total angular momentum of the cylinder about its centre of mass and expressed in frame {B} will be: Taking the time derivative of the previous equation results in is the inertia constant matrix of the rotating cylinder i, expressed in the frame fixed to the cylinder itself, where i C B R is the orientation matrix of each cylinder frame, {C i }, relative to the base frame, {B}. Cylinder frames were chosen in the following way: axis i C x coincides with the leg axis and points towards P i ; axis i C y is perpendicular to i C x and always parallel to the base plane, this condition being possible given the existence of a universal joint at point B i , that negates any rotation along its own axis; axis i C z completes the referential following the right hand rule, and its projection along axis z B is always positive. Thus, matrix i C B R becomes: So, the inertia matrices of the cylinders can be written as: where xx C I , yy C I and zz C I are the cylinder moments of inertia expressed in its own frame.

www.intechopen.com
The inertial part of the total moment applied in {C i }, due to the cylinder rotation, expressed in frame {B} will be where, represents the inertial part of the moment, considering the base platform is not moving, and represents the inertial part of the moment which results from the base motion. When equation (78) is pre-multiplied by T i D J , the inertial component of the generalized force applied to {P}, due to each cylinder rotation is obtained in frame {B}: The inertial components of the actuating forces will be The gravitational component of the actuating forces due to each cylinder,

Piston Modelling
Position of the piston i, relative to {W} and expressed in {W}, may be computed using the following equation: The linear velocity of the piston, relative to {W} and expressed in {W}, may be obtained taking the time derivative of the previous equation, that is, Considering that frame {S i } is attached to the piston i and positioned at its centre of mass, then In frame {B} the following equation can be written: If the centre of mass of each piston is located at a constant distance, b S , from the piston to moving platform connecting point, P i , (Figure 4), then its position relative to frame {B} is: The linear velocity of the piston centre of mass, , relative to {B} and expressed in the same frame, may be computed as: where the jacobian i G J is given by: The inertial part of the total force applied in {S i }, due to the piston translation, expressed in frame {B} will be That is, represents the inertial part of the force, considering the base platform is not moving, and represents the inertial part of the force which results from the base motion. When equation (99) is pre-multiplied by T i G J , the inertial component of the generalized force applied to {P}, due to each piston translation is obtained in frame {B}: The inertial components of the actuating forces will be On the other hand, the total angular momentum of the piston about its centre of mass, expressed in frame {B}, will be: Taking the time derivative of the previous equation results in I are the piston moments of inertia expressed in its own frame.
The inertial part of the total moment applied in {S i }, due to the piston rotation, expressed in frame {B} will be that is, where, represents the inertial part of the moment, considering the base platform is not moving, and represents the inertial part of the moment which results from the base motion. When equation (112) is pre-multiplied by T i D J , the inertial component of the generalized force applied to {P}, due to each piston rotation is obtained in frame {B}: The inertial components of the actuating forces will be The gravitational component of the actuating forces due to each piston,   It should be noted that the base platform motion originates new inertial contributions to the parallel manipulator dynamic model, expressed by equations (38), (67), (84), (105) and (118). These contributions should the added to the corresponding ones resulting from the model that considers a fixed-base: equations (37), (66), (83), (104) and (117). Regarding the gravitational part of the dynamic model, the base platform motion modifies the gravitational force components, resulting in the equations (42), (88) and (122), which can also be added to the previous ones. Computational efficiency of the proposed model has been evaluated by counting the number of scalar operations needed in the calculations (sums, multiplications and divisions). For this purpose, the Maple ® software package was used. The results were then compared with the ones obtained by using the Lagrange formulation. The generalized momentum approach resulted in a much more efficient dynamic model. Regarding the total number of sums and multiplications involved in the two models, the ratio is five, approximately. This might be a great advantage if real-time simulation and control is needed.

Conclusion
A parallel manipulator is a complex multi-body dynamic system having several closed loops. Typically, it is composed of a (usually) fixed base platform and a moving payload platform, connected by at least two independent open kinematic chains. Dynamic modelling of parallel manipulators presents an inherent difficulty. Despite the intensive study in this topic of robotics, mostly conducted in the last two decades, additional research still has to be done in this area.
In this book chapter an approach based on the manipulator generalized momentum was explored and applied to the dynamic modelling of a Stewart platform manipulator. The system dynamic equations were obtained for the general case of a non-fixed base platform. It was shown the base platform motion originates new inertial force contributions to the parallel manipulator dynamic model. Compact analytical expressions for these contributions were presented and it was shown they can be easily added to the corresponding ones resulting from the model that considers a fixed base. On the other hand, regarding the gravitational part of the dynamic model, the base platform motion modifies the gravitational force components derived when considering a fixed base platform. Analytical expressions for these components were also presented. Computational efficiency of the dynamic model was evaluated by counting the number of scalar operations that are needed. The results were then compared with the ones obtained by using the Lagrange formulation. The generalized momentum approach results in a much more efficient dynamic model.