Dynamic modelling of a 3-CPU parallel robot via screw theory

The article describes the dynamic modelling of I.Ca.Ro., a novel Cartesian parallel robot recently designed and prototyped by the robotics research group of the Polytechnic University of Marche. By means of screw theory and virtual work principle, a computationally e fficient model has been built, with the final aim of realising advanced model based controllers. Then a dynamic analysis has been performed in order to point out possible model simplifications that could lead to a more e ffici nt run time implementation.


Introduction
Many approaches are available for the dynamic modelling of multi-body mechanical systems (Kovecses et al., 2003;Moon, 2008;Papastavridis, 2012) and in the last years, many most of them have been investigated by robotics researchers to achieve efficient models of robots dynamics.Indeed, the efficiency in computation of inverse dynamics of robotic manipulators has a fundamental importance if such tools are involved in the implementation of model based control algorithms whose effectiveness is strongly affected by the computational efficiency of the mathematical model (Lin and Song, 1990;Wang et al., 2007).Thus, it is interesting to investigate the possibility to build simplified dynamics models, especially for parallel kinematic machines that are characterized by an inherent toughness due to the closed kinematic structure.Such peculiarity often complicates the computation of the dynamic model and sometimes prevents the use of model based controls.This inherent complexity is the main reason why only few dynamic models of parallel robots are presently available in scientific literature in symbolic form (Dasgupta and Mruthyunjaya, 1998;Tsai, 2000;Caccavale et al., 2003).
The traditional Newton-Euler formulation, which has been widely used in the past (Do and Yang, 1988;Dasgupta and Mruthyunjaya, 1998) and is still used for specific tasks by some researchers (Kunquan and Rui, 2011;Khalil and Ibrahim, 2007), hardly adapts to the particular case of parallel kinematics machines.
As a matter of fact, all mechanical principles have been used to carry on dynamic analysis of robotic systems, such as the generalized momentum approach (Lopes, 2009), the Hamilton's principle (Miller, 2004), the Lagrange formulation (Wronka and Dunnigan, 2011;Di Gregorio and Parenti-Castelli, 2004) and the virtual work principle (Zhang and Song, 1993).
This last method was proposed in 1993 by Zhang and Song, who used it for the inverse dynamic modelling of open-loop manipulators; later Wang and Gosselin in 1998 expanded the approach to the study of closed kinematics mechanical chains and it is still much used for the modelling of PKMs (Daun et al., 2010).Due to its computational efficiency, such approach is often used when the dynamic modelling aims at the realization of model-based control algorithms.In fact, even if all methods lead to equivalent dynamic equations, these equations present different levels of complexity and associated computational loads; minimizing the number of operations involved in the computation of the manipulator dynamics model has been the main goal of recently proposed techniques (Abdellatif and Heimann, 2009;Yang et al., 2012): since by the use of the virtual work principle constraint forces and moments do not need to be computed, this approach leads to faster computational algorithms, which is a very important advantage for the purpose of robot control.Furthermore, the vector approach specific of the virtual work principle is particularly feasible for computer implementation.
L. Carbonari et al.: Dynamic modelling of a 3-CPU PKM In order to formulate the dynamic model of a mechanical system, the knowledge of its position kinematics is strictly necessary.As a matter of fact, the solution of the forward kinematics problem (FKP) of a parallel platform represents a challenging issue that not necessarily yields to a closed form solution, especially when the robot end-effector is allowed to perform motions of rotation.
As argued by authors in past works (Carbonari, 2012;Carbonari and Callegari, 2012) the 3-CPU parallel architecture can provide the end-effector with different kinds of mobility, depending on the mutual configuration of the joints that compose the leg's kinematic chain.Carbonari et al. (2013) also demonstrated that a reconfiguration of the universal joint allows to modify the kinematic behaviour of a 3-CPU parallel robot, switching from a pure rotational to a pure translational kinematic behaviour.
This paper focuses on the dynamic modelling of a pure translational 3-CPU architecture, called I.Ca.Ro.by Callegari and Palpacelli (2008), aimed at the realization of a nonlinear model based control scheme.The main object of the present work is to produce a numerically efficient dynamic model of the machine, suitable to be used for the realization of a control algorithm.To this aim, the differential kinematics of the manipulator has been tackled taking advantage of a screw based approach (Gallardo et al., 2003).For the seek of completeness, the position kinematics is also presented here in order to improve the reader's understanding of the problem.

Robot kinematics
The I.Ca.Ro.parallel robot is a pure translational Cartesian tripod whose limbs are built of a C-P-U (cylindricalprismatic-universal) joints chain.The first body of each leg is connected to the robot chassis by means of a cylindrical joint, realized through a prismatic actuated pair and a revolute passive joint coaxial to the first one (refer to Fig. 1).The second body is linked to the first one through a prismatic joint, perpendicular to the axis of the cylindrical joint.At last, the second body is connected to the moving platform through a universal joint composed of two revolutes: the first revolute joint is parallel to the second link and the second is perpendicular to the first one.The last revolute of each leg connects the manipulator with the respective limb; the axes of such joints are coplanar.
Due to the robot kinematic architecture, the I.Ca.Ro.parallel manipulator is only able to provide the end-effector with pure translations.In fact, by means of screw theory it can be observed that each leg exerts a constraint wrench made of a pure torque along the direction of its passive prismatic pair.The connection of the three legs to the mobile platform produces a wrench system of three orthogonal torques, whose dual space is spanned by a basis of three linearly independent pure translations.Thus, the orientation of a reference frame that solidly moves with it remains constant notwithstanding the displacement that the actuated joints perform.
With respect to the notation introduced in Fig. 1, the homogeneous transformation matrix that describes the configuration of reference frame {1} with respect to reference frame {0} can be expressed as: where p x , p y and p z denote the position of the centre of the moving frame {1} and the 3 by 3 identity rotation matrix suggests that the orientation of the manipulator remains constant.
The forward and inverse kinematics problems of the robot can be easily solved taking advantage of three loop closure equations.The positions of the three attachment points D i between the end-effector and the three limbs can be simply reached through the transformation matrix 0 T 1 , being their position fixed with respect to reference frame {1}: As it is shown in the following, the coordinates of such points can be also reached through the use of legs' joints displacements.The comparison between the different expressions of these three points provides the solution of the problem.The reference frames shown in Fig. 2 are used to define legs kinematics.
Starting with frame {0}, which is the frame attached to manipulator chassis, a displacement along its x-axis and a rotation about the same axis are needed to describe the position of the second frame {A}.Transformation matrix will look like: where q 2,1 denotes the rotation of the cylindrical pair of the leg 1 and shorthand notation is used for trigonometric functions.To reach the configuration of the third reference frame {B}, thus the position of attachment point D 1 , a translational transformation matrix is sufficient: with q 3,1 denoting the displacement performed by prismatic pair of the first leg.Coordinates of point D 1 can now be achieved as: Since the kinematic chain is identical for each leg, it is not necessary to explicit their homogeneous transformations as specific cases.Indeed, Eq. ( 4) can be exploited if pre multiplied by a transformation that rotates the starting reference frame.In particular, it is possible to define the matrices: such that the coordinates of the remaining attachment points can be expressed as: Even if it is not specified, it should be evident that transformations leg2 T A , leg3 T A and A T B of the 2nd and 3rd equations in (6) are expressed in terms of the respective joints variables q 1,i , q 2,i and q 3,i .
In order to give a general expression of legs kinematics, it is also introduced the matrix 0 T leg1 , an identity 4 by 4 matrix that allows to write the Eq.(4) as: where leg1 T A = 0 T A .Expansion of ( 6) and ( 7) yields to the expression of such points coordinates in terms of joints variables, that are: Equations ( 8) can be inverted to achieve the expression of legs joints variables as functions of coordinates of the three attachment points D i : It is worth to remark that such coordinates are uniquely determined if the pose of the manipulator is known.

Velocity kinematics
In order to build the Jacobian matrices of a PKM, both position and orientation of the joints axes are needed.Firstly it is necessary to define an appropriate number of reference frames preferably attached in convenient points of the kinematic chain.It is worth to remember that the screws must be expressed with respect to a reference frame attached to robot manipulator and whose orientation is constant and coincident to that of robot absolute reference frame {0}.Furthermore, in order to define the dynamical model of the machine, the moving frame should be centred at the c.o.m. of the body object of the velocity analysis.
In the case of the pure translational robot I.Ca.Ro. the moving platform reference frame {1} represents a feasible choice for expressing the screw coordinates.In fact, it is solid with the end-effector and it does not rotate; moreover, due to the pure translational mobility of the end-effector, the origin of frame {1} moves with the same velocity and acceleration of the end-effector c.o.m. even if it is not centred on it.
The screw coordinates of every kinematic pair involved in leg kinematic chain must be expressed: to this aim, convenient local frames must be arranged along the legs as shown in Fig. 3.
Two new frames {C} and {D} must be attached to the revolute joints that compose the universal joints.The homogeneous transformations denoting configuration of such frames L. Carbonari et al.: Dynamic modelling of a 3-CPU PKM are defined as: The pose of frames {A}, {B}, {C} and {D} is described by the following homogeneous transformations: The unit vectors of joints' axes can be easily expressed in the global frame by means of the proper mapping between the local frames and the global one: -Joint 1, prismatic: -Joint 2, revolute: -Joint 3, prismatic: -Joint 4, first revolute of the universal joint: -Joint 5, second revolute of the universal joint: In order to simplify expressions of manipulator Jacobian matrices it is possible to use three screws which have the main characteristic of being reciprocal to all unit screws of the leg, with the exception of the actuated joints screws.Such screws are here called S r,i .
To this aim, it is possible to make use of the unit screw S 4,i shown in Fig. 4, which turns reciprocal to each non-actuated screw present in the leg kinematic chain due to the fact that it is coplanar to both S 2,i and S 5,i , it intersects the axis of the prismatic joint described by S 3,i and, by definition, it is reciprocal to itself.Furthermore, it is not reciprocal to S 1,i being parallel but not aligned to the axis of the actuated prismatic joint.
At this point vector expressions have been given for joints screws and for legs reciprocal screws.The Jacobian matrices can be formulated in order to achieve an expression for the velocity problem which has the well known form J X ẋ = J Q q, where ẋ is the velocity vector of the platform that, in a general way, can be expressed as ẋ = ω x ω y ω z qx qy qz T .Firstly it is introduced the Jacobian matrix J X , whose expression can be formulated as a function of reciprocal screws: The moving platform of I.Ca.Ro.PKM is only allowed to perform pure translations; this implies that the first three components of the vector ẋ, i.e. ω x , ω y and ω z , are identically null.As a consequence, such components and the first three columns of matrix J X can be eliminated due to the fact that the do not give any contribution to equation J X ẋ = J Q q.Thus, the Jacobian J X is a three by three identity matrix which multiplies the end-effector velocity vector ẋ = qx qy qz Finally matrix J Q is introduced: Due to pure translational robot kinematic behaviour, the endeffector velocity problem can be simply expressed as: Thanks to the screw based approach, the velocities of passive joints have been eliminated from the formulation of endeffector velocity kinematics.Nevertheless this information is needed to perform other types of analysis such as the study of robot dynamics.Thus, the knowledge of the velocity vectors of each member composing the legs is necessary and it can be achieved through the computation of passive joints velocity as functions of active joints rates.To this aim, robot architecture constraint equations are exploited to build a matrix A relating prismatic actuated joints velocities to all other rates: where qp is a vector collecting velocities of passive joints and qa is the vector of actuated joints rates.
The main aim of this computation is to provide the needed tools for the dynamic modelling of the robotic system.Therefore, a simplification based on influence of each body is introduced yielding a relevant computational simplification.The mass of the elements that compose the revolute joints is negligible if compared with masses of legs linkages and translating parts of prismatic actuators.Hence, it is supposed here that they only marginally affect the whole dynamic behaviour of the robot: thus, their contribution is not considered.This simplification is reasonably acceptable and enormously simplifies robot model because of the complexity introduced by the velocity expressions of these elements.
Such simplification allows us to reduce the dimension of matrix A. If the actual number of active and passive joints is considered, Eq. ( 20) can be expanded to: where q1,i is the translation rate of cylindrical pair of i-th leg, q2,i is the rotation rate of the same pair and q3,i is the translation rate of the passive prismatic joint.
The constraint matrix A can be built considering the mobility of each attachment point between legs and manipulator; indeed, the velocity of such points is known and equal to the velocity of the moving platform due to the fact that they solidly move with the end-effector which only performs pure translational motions.The velocities of passive joints can be related to the components of the velocity vectors as visible in Fig. 5 for a general mobility.
The component of v D,i along the direction perpendicular to leg plane is expressed by: The velocity along this direction is fully due to the rotation of the cylindrical joint, so that: The component of velocity that lies on the leg plane is due to both the actuated and non actuated prismatic joints: The first equation in (24) simply relates the velocity along the axis of the cylindrical joint to the actuation rate; thus, it is not useful for the construction of the constraint matrix.On the other hand, the second equation can be used for the scope.Equation ( 23) and the second equation in ( 24) can be expanded and written in the matrix form (20).In the case of a pure translational robot the velocities of legs attachment points correspond to the velocity of the origin of end effector reference frame.Exploiting Eqs. ( 22) and the second of (24), expressions of non actuated joints rates are achievable.In this case, the simplification introduced by end-effector mobility allows to show which is the actual shape of such expressions.
For the revolute joints it is: www.mech-sci.net/4/185/2013/Mech.Sci., 4, 185-197, 2013 while prismatic joints rates are: Hence, the matrix formulation of the 6 passive velocities is: In the remainder of this work, the constraint matrix is used to express the velocity of the reference frames attached to the robot bodies.To do that, further Jacobian matrices are introduced.In particular, the velocity of the c.o.m. of each body is written according to the general formulation: where qa is the vector of actuated joints rates.
It is important to remark that the target of this section is the definition of legs bodies velocities, whose serial kinematics chain does not allow the simplification of passive joints rates.Thus, the Jacobian formulation ẋ = J qT a qT p T involves also the velocity of non actuated joints.Nevertheless, the influence of such joints can be explicited by means of the constraint matrix (27).Equation (28) becomes: where I is a 3 × 3 identity matrix; the matrices J can be very quickly expressed taking advance of joints screws; thus the formulation of legs velocities turns out to be an immediate iterative process based on collection of already introduced vectors.
Firstly, the velocities of the three sliders are achieved: for the sake of conciseness, these bodies are denoted as sl 1 , sl 2 and sl 3 with reference to the leg which they are part of.The serial chain that allows reaching their screw is composed only by the actuated prismatic pair.In this case the body is not allowed to rotate, so that the position of the screw axis does not influence the screw expression: Equations ( 30) can be written according to the generic formulation (29): ẋsl,1 = S 1,1 0 0 0 0 0 0 0 0 I A qa = J sl1 qa ẋsl,2 = 0 S 1,2 0 0 0 0 0 0 0 I A qa = J sl2 qa ẋsl,3 = 0 0 S 1,3 0 0 0 0 0 0 In a very similar way, velocities of the first links (called here l1 i ) can be achieved.The serial kinematic chain characteristic of such bodies is composed by the actuated prismatic pair and the non actuated revolute joint: The position of the screw axis is relevant for the computation of the revolute joint unit screw.Even though its expression does not coincide with the previously found value, axis position is quickly computable using homogeneous transformation matrix and the position vector p l1,i of the center of mass of body l1, i with respect to reference frame {A}.The position of the screw axis is computable as the difference between absolute position O A,i of frame {A} and absolute position of center of mass: Expansion of ( 32) for all robot legs yields: Finally, the velocity of the last link that composes the leg (here called body l2 i ) is a linear combination of the elementary screws of the actuated prismatic joint, the first passive revolute joint and the non actuated prismatic joint of each leg: The position r 2,i of the screw axis is once again different from the previously exposed case.Nevertheless, its expression is achievable by the definition of a position vector p l2,i of the center of mass of bodies l2 i with respect to their attached frame {B}.The distance from this point to the axis of the revolute joint is given by: As done in previous case, the Jacobian formulation can be plainly reached also for velocities of bodies l2 i :

Acceleration kinematics
The dynamic modelling of a mechanical system requires a complete knowledge of machine kinematics.Therefore, acceleration of each body must be studied.
Manipulator velocity kinematics has been formulated through the well known Jacobian formulation qa = Jẋ, where J = J −1 Q J X is in this case a 3 by 3 identity matrix.Direct differentiation of such expression yields: where JX is the derivative of the jacobian matrix, which is a constant matrix.Thus, in the case of a pure translational machine, the derivation of JX yields JX = 0.The acceleration kinematics of other robot members is easily achievable by direct differentiation of the velocity kinematics previously defined: were J j,i is the time derivative of the respective Jacobian matrix.Expansion of (39) yields to very a long formulation that, for sake of conciseness, is not shown here.

Virtual work principle
The virtual work principle approach for dynamic modelling requires the definition of the 6 dimensional vector F j,i , whose components collect resultants of both active and inertial forces and torques acting on the j-th body of i-th leg, computed with respect to the center of mass of the member: In a similar way, it is introduced the vector F EE that collects forces and torques acting on robot's end-effector and computed with respect to manipulator centre of mass: Virtual works principle allows writing: where vector δq a represents the virtual displacements of actuated joints, τ is the vector of actuation torques and δx is the virtual displacement of rotation/displacement of respective body.
The differential kinematics of the manipulator, whose formulation has been introduced in previous sections, is usefully exploited to relate actuated joints displacements to other bodies twists.Indeed, end-effector differential kinematics expression allows writing: In a similar way, the twist of other robot members can be expressed through the respective Jacobian matrices: When Eq. ( 43) is invertible, i.e. when determinant of the Jacobian matrix is not null, the differential of end effector twist can be expressed in terms of actuated joints translations, being δx = J −1 X δq a .Dynamics Eq. ( 42) becomes: For non null virtual displacements δq a , such term can be collected and eliminated, yielding: Equation ( 46) can be collected in the canonical form: As known, each component of this equation includes different contributions to the dynamics of the manipulator: M (q a ) qa called later τ M is a contribution due to inertial effects of bodies masses, V (q a , qa ), hereby called τ V , is due to Coriolis and centripetal accelerations and, at last, G (q a ) are the forces deriving from gravitational action on robot members, called here τ G .

Model verification
In this section a verification of the inverse dynamics model is proposed.With this aim, a multibody model of the 3-CPU pure translational parallel platform has been settled up.Under hypothesis of coherence between the two models in terms of geometrical and mass parameters, a perfect correspondence on actuation forces should be noticed when an identical motion law is used.The multibody model (see Fig. 6) of the parallel platform is based on a graphical CAD representation of robot members.Definition of joints between the bodies allows the software to reproduce machine kinematic and dynamic behaviour.Each member composing the robot has been measured through mass geometry instruments provided by the CAD environment.In order to improve readers' understanding on the correspondence between multibody model and mathematical model of the platform, Fig. 6 also shows the members of each leg with different colors.A characterization of interesting physical properties of each member is given in Table 1; it is worth to remark that the multibody model has been built with the maximum respect of the actual I.Ca.Ro.prototype, in order to give a description as much as possible reliable of the mechanical system.For the sake of conciseness, magnitudes that are not useful for dynamic modelling of the manipulator are not reported.
It should be remarked that the inertia matrices expressed for each body refer to a reference frame centred in the centre of mass of and attached to the respective body.Since the model needs these matrices to be expressed with respect to the fixed reference frame {0}, a coordinates change must be made.Then, for those bodies that are allowed to roatate it is 0 I i = 0 R i i I i 0 R T i where 0 R i denote the orientation of the i-th body with respect to reference frame {0}.
The physical properties described in Table 1 have been used also for the mathematical model in order to perform a direct comparison with results provided by the multibody environment.As an example, results are reported deriving from a particular set of actuation displacements profiles: a harmonic time history has been chosen for each prismatic joint displacement; each slider is moved with a different frequency.Details on the used functions are shown in Fig. 7.Such motion has been chosen in order to investigate a significant part of the robot workspace, pushing the machine to the physical limits given by the maximum velocity that the three motors are able to perform, which is 0.6 m s −1 .
Results of both virtual and mathematical models are used for computation of the relative difference subsisting between the two sets of forces.In particular, named the maximum absolute value of force recorded for motor i during multibody simulations, for the i-th axis it is defined the error i as: where τ v,i and τ m,i are the instantaneous forces computed by multibody environment and mathematical model respectively.Equation ( 48) gives an idea of the deviation between the two methods and therefore it represents a sort of measure of the error introduced by the mathematical model.As visible in Fig. 8, this error never overcomes the 1.0 % of the maximum force during simulation, while the average error is always lower than 1 %.According to Eq. ( 47), the actuation forces evaluated during the previous inverse dynamics simulation can be split in order to analyse the contribution of each part of the robot dynamics.Figure 9 shows the different contributions of the model on the total effort provided by each motor: as well visible, the most part of the force is due to the gravity acceleration acting on robot bodies while a negligible contribution is given by Coriolis and centripetal accelerations.This important information can be used during the realization of simplified mathematical models in which, the contribution of force vector τ V can be ignored.

Simulations results
In this section, simulations are shown in order to test the reliability of the introduced model in actually reproducible conditions.
The first simulation approached is a linear trajectory inside the workspace.The robot, starting from its home posi-tion, moves to a given point in the space.The trajectory has been planned in order to obtain continuity on platform accelerations.The maximum velocity reached by the manipulator is 0.6 m s −1 (which corresponds to the maximum linear velocity available for the actuated joints), while the maximum acceleration is 1.40 m s −2 .The starting and the ending points of the motions are 0.5 m apart; it should be remarked that the robot workspace is a cube with a 0.6 m edge.Thus, the trajectory spans a relevant distance with respect to the maximum displacements that the manipulator is able to perform.
For this motion, the forces computed thanks to Eq. ( 47) are shown in Fig. 10.Also in this case, the most important contribution to motors total effort is given by the gravity acceleration, while the part of force due to Coriolis and centripetal acceleration is negligible.
A second simulation has been performed with a different trajectory in the space.In this case, the end-effector has been moved from its home configuration to a point in the space.From that point, a horizontal circular trajectory (with diameter equal to 0.3 m) centred on robot vertical axis has been performed.Also in this case, the trajectory planning has been performed in order to obtain triangular profiles of acceleration.In this case the maximum velocity reached by the moving platform is 0.6 m s −1 , with a maximum acceleration of 0.75 m s −2 .
Also for this motion, forces profiles are shown (see Fig. 11).Again, the gravity contribute to the total effort is prevailing with respect to τ M and τ V .The influence of τ V , in particular, represents a negligible contribution to total actuation effort.Nevertheless, Fig. 11 shows that τ M considerably contributes to the total effort being |τ M,i | max 20 %|τ i | max .
Given the results of the last simulation, it is interesting to investigate how much the term τ M affects the dynamic behaviour of the manipulator when the motors are used at their maximum thrust.The robot I.Ca.Ro. is provided with brushless motors, which are able to feed the actuated joints with a maximum force of 420 N. To this aim a simulation has been performed with a circular trajectory, similar to the     previous one.In this case the circle owns a diameter of 0.1 m and the manipulator is moved with a constant linear speed of 0.6 m s −1 .Also the initial velocity has been taken equal to 0.6 m s −1 in order to overlook effects due to acceleration ramps.Figure 12 shows that forces τ M are in this simulation comparable with τ G demonstrating that a control based on the dynamic model can actually improve the performances of the 3-CPU robot.Moreover, Fig. 12 also confirms that the Coriolis terms are negligible and so they may be omitted in a simplified model (from Eq. 47, τ −M (q a ) qa − G (q a )).
Even though the elimination of the Coriolis terms significantly lightens the dynamics formulation, further simplifications can be carried on the matrix M itself.As an example, it is presented here the results obtained by the elimination of the terms out of the diagonal of such matrix.In particular, Fig. 13 shows the behaviour of τ M and τ M for the circular motion just presented in Fig. 12; τ M and τ M are computed as: τ M = M (q a ) qa τ M = M (q a ) qa (49) where the matrix M is the simplified M matrix: Figure 13 shows that the use of matrix M overestimates the effect of the mass matrix on the robot dynamics of a maximum value of 30 N (see curve ∆τ M,i ).The error between τ M and τ M is here estimated as: Figure 14 shows the error M for each motor: the graphic shows that the error does not overcome the value of 18 %.

Conclusions
The dynamic modelling of a pure translational PKM has been tackled in this work.Authors proposed a screw based approach for modelling the robot's kinematics, allowing a fast writing of the Jacobian matrices.The dynamics of the I.Ca.Ro.manipulator was worked out by means of a virtual work principle approach.The resulting model has verified through simple simulations, taking advance of a multibody model of the robot.Such verification pointed out that the error subsisting between the two virtual models never overcomes the 1.0 % of the maximum value of torque involved into the motion.
At last, two simulations have been performed on two trajectories with main aim of investigating the different contributions to the dynamics model.Observation of the results of such simulations yielded a further investigation on the contribution to the whole motors efforts.Such study pointed out that the robot is poorly affected by Coriolis and centrifugal forces while the influence of the mass matrix is not negligible.It is author thought that the compensation of this effect by means of a model based control may improve the performances of robot I.Ca.Ro.
The implementation of the mass matrix on a control algorithm may represent a low efficiency step of a control algorithm because of the heavy mathematical formulation.Due to this, authors also presented a simple simplification of the model based on a simplification of the mass matrix.
Simulations demonstrated that such assumption yield an error that never overcomes the 18 % in a situation of high motors stress.
Edited by: A. Tasora Reviewed by: L. Bruzzone and one anonymous referee

Figure 3 .
Figure 3. Local frames used for definition of joints unit screws.

Figure 5 .
Figure 5. Velocity of attachment points between legs and moving platform.

Figure 7 .
Figure 7. Harmonic displacement profiles used for model verification.

Figure 8 .
Figure 8. Difference between multibody model and mathematical model.

Figure 9 .
Figure 9. Different contributions to the total actuation efforts.

Figure 10 .Figure 11 .
Figure 10.Different contributions to the total actuation efforts during a motion along a line.

Figure 12 .
Figure 12.Different contributions to the total actuation efforts during a horizontal circular motion at maximum allowed thrust.

Figure 13 .
Figure 13.Mass matrix contribution to the dynamics in case of plain and simplified model.

Figure 14 .
Figure 14.Difference between contributions of full mass matrix M and diagonalized mass matrix M .

Table 1 .
Phisical characteristics of the I.Ca.Ro.robot members.