Higher-order kinematics modeling of 3-RRS parallel mechanism based on CGA

: Higher-order kinematics of mechanisms has been applied in servo motor control, human-robot interaction and machinery life design fields, etc. The representations of acceleration and jerk by screws have been fully developed by researchers with the methods of the differential of the matrix representation of SE (3) group. Clifford algebra, which is tighter and with higher computational efficiency than the matrix method, is another representation of the motions of rigid bodies. It has been used in position kinematics, grub task motion planning, and robot vision for its convenience of geometric representations and calculations. As far as we know, the work of higher-order kinematics of mechanisms based on Clifford algebra is rare. First, after recalling the based theory of motion representation in conformal geometric algebra (CGA), the mathematical relationships between flag and motor are built. Second, a method for the higher-order kinematics modeling of serial chain mechanisms is proposed. Finally, the higher-order kinematics of the 3-RRS parallel mechanism is built to prove the correctness of the algorithm. This work further enriches the application of CGA for the higher-order kinematics modeling of parallel mechanisms.


Introduction
Pose (position and orientation), velocity, and acceleration  Tie-Shi Zhao tszhao@ysu.edu.cn 1 calculations are the main topics of kinematics of mechanisms, and they play an essential role in motion planning, control, evaluation of robot [1,2], etc. The main task of velocity analysis, which is also called the first-order kinematics, is to obtain Jacobian matrix that represents the mapping of velocities between actuators and output body. Acceleration analysis, which has relationships with the Hessian matrix, is mainly used to obtain the mapping of accelerations between actuators and output body. Second-order kinematics is the base for dynamic modeling of mechanisms. In recent years, third-order kinematics of mechanism, which is the mapping between jerks of actuators and the output, has attracted researchers. Compared with first-and second-order kinematics, jerk analysis seems less important. However, in some applications, such as servo control of motors [3], motion planning [4,5], human-robot interaction [6], elevator control [7], and design of rollercoasters [8], third-order kinematics is also needed to be considered, for it has impacts on electron device, vibration of mechanisms, and body feelings [9]. For instance, if the jerk of a robot is large during fast motions, the acceleration changes frequently and will lead to premature wear of joints or actuators. In another case, if the jerk of a human body is large, the muscles of the body may fail to take actions to the change of the acceleration, and it could cause discomfort or even damage the human tissues. Higher-order kinematics modeling is also used to analyze the instantaneous mobility and the cusp of some mechanisms [10][11][12][13][14]. Screw theory, Lie group, and Lie algebra have been applied a lot in kinematics and dynamics modeling of mechanisms, especially the spatial multi-loop mechanisms. Screw theory is built in the 19th century. Plücker first used six coordinates to represent a line in 3D space. It was Ball ·3· who first systematically built screw theory, and give guidance to the application of screw theory in the field of rigid body kinematics and dynamics [15]. From then on, a lot of researchers, such as Hunt [16], Waldron [17], Suginmoto [18], Duffy [19], Phillips [20], Selig [21], Dai [22] and Huang [23], have devoted themselves to the application and development of this tool. Until now, screw theory has been used in synthesis, kinematics, dynamics, and control of all kinds of mechanisms. Screws were initially used to represent the instantaneous motion or the force with the rigid bodies. Then Mises [24] defined the cross product and pointed out the necessity to take the derivative of screws with time. Brand [25] clearly defined acceleration motor as the derivation of velocity screw. Lie group and Lie algebra were developed paralleled with Ball's work, and it was Karger who developed the relationships between screw and Lie algebra and revealed that velocity screw is the element of se (3) and wrench is the element of se*(3) [26]. Based on these developments, a more general Newton-Euler equation was discovered for the modeling of rigid body dynamics [27][28][29] and was used for kinematics and dynamics modeling of mechanisms. Higher-order kinematics of mechanisms based on these theories have also been significantly developed [11,30].
The matrix representation of SE (3), which is also called transformation matrix, is usually used to represent motions of rigid bodies in three-dimensional space. Based on the differential of transformation matrix, the screw velocity represented by Lie algebra can then be obtained. However, using a 4×4 matrix to describe the six-dimension motions of a rigid body has redundancy and will generate limitations in the derivation or calculation process. Compared with the matrix-vector represent of motions proposed by Gibbs, the geometric algebra methods proposed by Clifford have some other superiorities, such as the tightness of the representation and the higher calculation efficiency. For instance, some commercial software use the quaternions to represent the rotation to avoid the orthogonality error correction caused by numerical errors. The conformal group of space in Clifford algebra has been taken attention by Angles in the 1980s [31,32], whose recently work about the conformal spin structure can be obtained in [33,34]. Hestenes made some promotion of Clifford algebra (or geometric algebra) in terms of physical computing [35]. The conformal geometric algebra (CGA) introduced by Li and Hestenes [36] have been used to solve problems in vision, kinematics, and dynamics of robots due to its convenience and efficiency when representing points, lines, circles, spheres and planes. Ten years ago, Hestenes proposed the method to solve the kinematics and dynamics of open chain kinematics and give the definition of screws and wrenches represented with Clifford algebra and CGA [37]. At the same time, Selig also proposed a method using an eight-dimensional algebra to build rigid body dynamics, and he claimed that inertias, velocities, and momenta all can be represented as the elements of that algebra and all the relationships between physical quantities could be given by the standard operations [38]. After that, attentions start to be paid by researchers in the robotic fields and amount of work has been done based on Clifford algebra [39,40], such as the forward and inverse position kinematics [41][42][43][44], singularity analysis [45,46], robot POC representation [47], type synthesis of parallel mechanisms [48], dynamics [49], freedom or constraint analysis [50][51][52], first-order kinematics and grub jobs [53]. As far as we know, the research of higher-order kinematics of parallel mechanisms based on CGA is relatively rare.
This research extends the application of CGA to mechanistic kinematics so that the positional solution and higher-order kinematics of mechanisms can be uniformly described in the same algebra system. Section 2 briefly gives a recall of Clifford algebra and CGA. Section 3 introduces the rotation, translation, and screw motion in the algebra, and introduces the framing method of rigid body based on flag. The analytic relationships between flag and motor is first revealed. Section 4 deduces the first-, second-, and third-order kinematics of serial chain, and the iteration formulas are given. Section 5 provides the modeling method of the position calculation and the higher-order kinematics of the 3-RRS parallel mechanism. Conclusions are drawn in Section 6.
We also refers to [35,[54][55][56] for the based theory and calculation of Clifford algebra, and the programs in this paper are built based on the project of Clifford algebra [57].

CGA foundations
The five-dimensional CGA, which uses three Euclidean basis vectors . 1 2 3 ,, e e e . and two additional basis vectors 45 , ee with positive and negative signatures, respectively, is represented by 4 A that can be represented by the outer products of k linear independent 1-vectors. Besides outer product and inner product, geometric product of blades is also frequently used, and it is defined as where . m . denotes the element of m grade, AA . More detail can be found in Charter 3 of [55]. The geometric product of two multi-vectors can also be expressed by the combinations of the products of blades according to the distributive property of the geometric product.
Conformal geometric entities can be represented by both inner product null space (IPNS) and outer product null space(OPNS) in CGA [36,55]. . P , Π , S , C , L and Pp denote the IPNS representations of point, plane, sphere, circle, line and point pair, respectively. OPNS representation is denoted by adding the superscript *, e.g., * Π is a plane, as shown in Table 1 Its inverse mapping is 1 () pP . On the other hand, the vectors and matrices are represented by standard bold letters, i.e., J is Jacobian matrix and θ is a column vector of joint angles.  , , with the definitions 00 , cos sin 22 is usually abbreviated as 0 R . The unit vector of the direction of 0 L is ω which can be obtained by Three special rotors are listed as follows: 1) The rotor about 3 e is 3 is the rotation angle.

= cos sin 22
Re , where is the rotation angle.

= cos sin 22
Re , where is the rotation angle.

Translation
The IPNS representation of two parallel planes are 11 The translation result of

Screw motion
Screw can usually represents the motions of joints of spatial mechanisms, and it can make geometric entities rotate about an axis with an angle and translate along the same axis with a distance h , where h is pitch.
where is the commutator product with the definition as 1 2 A B AB BA , more detail can be obtained in Charter 3 of [55]. 0 R is with the definition in Eq.(5). The translator along ω with h is , 1 2 Thus, the combination of the rotor and the translator can be represented by a motor with the result as when h , the screw motion becomes a pure translator Based on Chasles' theorem, any transformation in the space can be represented by a motor as Eq. (13) or Eq. (14). Besides the screw representation, a motor can also be expressed as which represents a rotation about ω followed with a translation along d . This form of motor can also represent the arbitrary transformation of geometric entities.

Rigid body framing based on the flag in CGA
A flag is a triple combination of a plane, a line on the plane, and a point on the line, and it can be used to frame a rigid body [58][59][60]. Hestenes wrote it in CGA form [37] as It shows that a flag is the sum of 1-blade, 3-blade and 4-blade. For a better illustration, a flag is represented by a "flag-like" geometry, as shown in Figure 4. The red triangle represents the plane * Π , the green line represents * L and it is along one of the legs, and the point Moreover, the triangle of 0 F is right and its legs are with unit length. A flag and a motor both can reflect a rigid body motion in 3D space. As far as we know, the relationships between the flag and motor have not been studied. It will also show in Section 5.2 that the relationships between them can help us to solve the position kinematics of the parallel mechanism. The relationships are discussed as follows.

Obtain a flag by a motor
The flag at origin o F can be moved to the flag What is noteworthy is that X F in Eq.(18) has some limitations besides the form in Eq. (16), for it transformes from o F . These limitations are 11 1 which means that these two legs of the flag in Figure 4 are with unit length and orthogonal to each other. The flag is called a standard flag if it satisfies Eq. (19), and called non-standard flag if not. One standard flag X F can be transformed from 0 F by a motor M , as shown in Figure 4.

Obtain a motor by a flag
Based on Eq. (5) and Eq. (7), we can set  (24) It also has the form as follows: Thus, the point satisfying Eq. (19) can be obtained by Based on the result in Eqs. (32), (34) and (16), the standard flag can be obtained according to If a geometric entity represented in flag X F is denoted as X G , then it can be represented in the origin frame 0

Twist and screw velocity
Spatial velocity (or screw) can be obtained by diff erentiating transform matrix with time [29]. Similarly, by diff erentiating motor with time, the spatial velocity in CGA can also be obtained, more details are in [37]. The motor in Eq. (13) It can also be expanded as Thus, the spatial velocity with the twist V is VV , and has the relationships with M as According to Eq. (14), when h , the twist with pure translation along ω is Ve ω .
There exists a map from the twist V . to the vector in 6 , which is

Diff erentiate blade with time
Thus, the differential of a point P in CGA is which is the same as the result in Section 4.2 in [29]. Particularly, the velocity of the point traveling through the origin is The higher-order differentials of the point are

Screws in different frames
As shown in Figure 5, a screw j V and a point j P are represented in j F . The differential of the point under the motion of the screw is j j j P V P . The same screw and the same point can be also represented in i F , and the point velocity represented in i F can be transformed by , ,  Higher-order kinematics of serial manipulators 4

.1 First-order kinematics
As shown in Figure 6, two rigid body framed by i F and At time t , the rigid body j F is transformed to () j t F by the screw motion determined by the joint. The screw motion is represented by the motor _ ij M according to Eqs. (13) or (14). Then () j t F can be calculated by Figure 6 Single joint kinematics When n+1 rigid bodies (contain the fixed one) are connected by the joints in Figure 7,  The following definitions are given: where _ ij V is the screw motion of j F relative to the frame i F and it is represented in i F . The differential of 0_ t n M can be expanded as According to Eq.(59), the velocity of the end rigid body of the serial manipulator can be obtained as The above equation can also be written as the linear combination of unit scres, i.e., By considering the mapping 00 , the Jacobian matrix can be obtained where T 0 _ 0 _1 1_ 2 1_ n n n θ and The inverse of Eq.(64) is where 0_n J is the inverse or the Moore-Penrose inverse of the matrix 0_n J .

Higher-order kinematics
Derivate Eq. (63) with respect to time, it follows As 0 _1 ii V has relationships with all the joints before it, the derivation of it can be written as . Thus, the acceleration of end body is The above acceleration can also be written as the form of a vector in 6 , that is Derivating Eq. (68) with respect to time yields the jerk of end body as follows: For programming convenience, the iteration algorithms of velocity, acceleration, and jerk are given

Higher-order kinematics of the 3-RRS parallel mechanism
Kinematics of parallel mechanism can be obtained based on the methods with serial manipulator. For the lower-mobility 3-RRS mechanism, the six-dimentional motions of the output platform are constrained by the structure. The calculation of the Motion constraints is the key for the inverse kinematics of it.

Motion constraints of the output platform
As shown in Figure 8, the 3-RRS mechanism is constructed by three symmetrical RRS (R and S represent revolute and Spherical joints, respectively) limbs, i.e., the first and the second joints are paralleled revolute joints, and the third joint is a spherical joint which can be treated as three independent revolute joints intersecting in one point. The center of the joints R, R, and S are A A A , whose center is the origin O . The output platform of the mechanism connects with the three limbs by the spherical joints which also distribute as an equilateral triangle  Table 2. Figure 9 The geometry parameters of the i-th limb and actuator The flag at the origin is located in the center of the triangle 1 2 3 A A A and is denoted as 0 F . The flag of the output platform is fixed at H , and is denoted as where 0, respectively. The constraint of the output platform is that the points 1 C , 2 C , and 3 C must lie on . If the motion laws of z , and are given in Table 3, the six DoF motions of the output platform can be obtained and drawn in Figure 10 in the period of 10 s. The trace of the flag H F is also given in Figure 11. It can be seen that the flag H F can represent the motions of the output platform.
The velocity 0_H V of the output platform can be , and where the expressions of  Table 3, the velocity of the output platform are calculated and illustrated in Figure 12.

Higher-order kinematics of 3-RRS
The kinematics of the 3-RRS mechanism is about the methods to obtain the positions, velocities, accelerations, and jerks of the actuators based on the motion of the output platform.

Calculate the length of the actuators
According to Figure 9, the flag The points and flags of the mechanism at different configurations are drawn in Figure 13, which can indicate the correctness of the calculation methods above.
15 deg, and 20 deg Figure 13 Two configurations of the mechanism with points and flags

Calculate the acceleration and jerk of the actuators
According to Eq. (69), the angular accelerations of the joints on each limb can be obtained as follows: The lengths, velocities, accelerations, and jerks of the actuators under the motion laws of the output platform in Table 3 are simulated and drawn in Figure 14, Figure 15, Figure 16 and Figure 17, respectively. Based on the derivation relationships between them, the algorithms above are verified.

Conclusions
This paper mainly solves higher-order kinematics modeling of serial and parallel mechanisms based on CGA representations and calculations. In order to frame rigid body and transform geometric entities between different frames, the mathematical relationships between flag and motor are given. The higher-order kinematics of serial chain mechanisms based on the motors and screws in CGA is built. The calculation methods of the position, velocity, acceleration, and jerk of the 3-RRS parallel mechanism are given and their correctness is verified by the calculating examples. It shows that CGA is more concise in expression, formula derivation, and calculation when applied in the higher-order kinematics of the 3-RRS parallel mechanism. The methods have potential applications in real-time motion planning, control, and computer simulation of mechanisms.