A Recursive Lie-Group Formulation for the Second-Order Time Derivatives of the Inverse Dynamics of Parallel Kinematic Manipulators

Series elastic actuators (SEA) were introduced for serial robotic arms. Their model-based trajectory tracking control requires the second time derivatives of the inverse dynamics solution, for which algorithms were proposed. Trajectory control of parallel kinematics manipulators (PKM) equipped with SEAs has not yet been pursued. Key element for this is the computationally efficient evaluation of the second time derivative of the inverse dynamics solution. This has not been presented in the literature, and is addressed in the present letter for the first time. The special topology of PKM is exploited reusing the recursive algorithms for evaluating the inverse dynamics of serial robots. A Lie group formulation is used and all relations are derived within this framework. Numerical results are presented for a 6-DOF Gough-Stewart platform (as part of an exoskeleton), and for a planar PKM when a flatness-based control scheme is applied.


I. INTRODUCTION
S ERIES elastic actuators (SEA) were introduced as actuation concept for serial kinematic robotic arms [1] as a means to provide inherent compliance (a key characteristics of collaborative robots (cobots)). Lightweight arms were proposed in order to reduce the moving mass. Along this line, parallel kinematics manipulators (PKM) equipped with SEA possess lower moving mass, and thus lower reflected inertia at the end-effector (EE), compared to serial robots, which serves as criteria for safety assessment [2], [3], [4]. They would hence be perfectly suited as inherently compliant agile robotic manipulators and cobots. Yet, SEA-actuated PKM (SEA-PKM) have exclusively been used as force-controlled support devices [5], [6], [7]. The dynamics of SEA-PKM is expressed as where the equations of motion (EOM) (1) govern the PKM dynamics in task space (see Section III), and (2) the actuator dynamics, with M m = diag(m 1 , . . . m n a ) defined by the reduced inertia moment m i of the ith drive unit, and the vector τ τ τ of actuator torques/forces. Both are coupled via the elastic forces Here ϑ a denotes the coordinate vector with the n a actuated joints, q m the vector of n a motor coordinates, and V t the task space velocity of the platform. The PKM mechanism is actuated by the elastic forces u, which are transformed to task space with the inverse kinematics Jacobian J IK (i.e.θ a = J IK V t ).
Problem: Position and trajectory tracking control of SEAdriven robots necessitate model-based feedforward control. Flatness-based exact feedback linearization control methods are well established for SEA-actuated serial robotic arms [8], [9], [10]. Since the model (1), (2) is formally identical to that of SEA-actuated serial robots (except the IK Jacobian), they can be directly adopted to SEA-PKM. The EE (task space) motion is used as flat output, and it is known that the vector relative degree of this control system with input τ τ τ is {4, . . . , 4}, and {3, . . . , 3} if damping is included in (2). That is, the PKM state and the input τ τ τ can be expressed in terms of EE pose, task space velocity V t , and its time derivativesV t ,V t , ... Vt. To this end, (1) is solved for q m . Substituting this solution, and its second time derivative in (2) yields τ τ τ , which serves as feed-forward control. The crucial aspect of the flatness-based control is that it involves the first and second time derivative of the EOM (1). For serial robotic arms, recursive second-order inverse dynamics O(n) algorithms were proposed [11], [12] using classical vector formulations of rigid body kinematics. Recursive Lie group formulations were proposed in [13], [14] employing compact expressions for rigid body twists complementing the inverse dynamics algorithms in [15], [16], which can be seen as generalization of the spatial vector algebra [17], [18]. Also a closed form Lie group formulation was reported in [19]. All these approaches for serial kinematics robots are direct extensions of recursive inverse dynamics formulations. In contrast, the derivatives of the inverse dynamics solution for PKM is more involved due to the presence of loop constraints. The latter can be resolved and incorporated in the EOM in various different ways, and the modeling approach dictates the complexity of the higher-order inverse dynamics algorithm, which is thus crucial to for development of SEA-PKM into robotic manipulators. The best suited modeling method is the one proposed for non-redundant fully parallel PKM with simple limbs reported in [20], [21] and [22]. In this method, each limb is regarded as a serial chain, and their motion is expressed in terms of the platform motion by means of the inverse kinematics solution of each limb. For each limb, this resembles a task space formulation of serial robots. This was developed into a task space formulation for general redundant PKM with simple limbs in [23] and with complex limbs in [24], [25] using a Lie group framework (although the basic concept does not depend on it). The important implication is that the higher-order inverse dynamics problem boils down to merging the higher-order inverse dynamics of the individual limbs with the higher-order inverse kinematics of the PKM.
Contribution: In this letter, for the first time in the literature, a second-order inverse dynamics algorithm for computing the second time derivative of (1) for non-redundant PKM with simple limbs is proposed. It builds upon the dynamics formulation introduced in [23], [24] and the recursive inverse dynamics algorithms for serial robots introduced in [13], [14] using a Lie group formulation. For an accessible introduction to the general Lie group formulation, the reader is referred to [16], [26], while a summary of the particular formulation used in this letter can be found in [27], [28]. Due to space limitation, the algorithm is presented for kinematically non-redundant PKM only, while it is applicable to general fully parallel PKM. The actual (flatness-based) control using the presented second-order inverse dynamics solution will be topic of a forthcoming publication. This letter provides the algorithmic foundation, as [8]- [14] do for serial robots.
Organization: Section II recalls the kinematic modeling of PKM emphasizing that a single limb can be treated as a serial kinematic chain. The closed form inverse dynamics formulation is summarized and expressed in a form suited for computing time derivatives in Section III. The new algorithm for computing the 4th time derivatives of the inverse and forward kinematics is presented in Section IV, which is then used for the second time derivative of the inverse dynamics in Section V. Numerical results are presented in Section VI for a 6UPS Gough-Stewart platform (GSP) and a planar 2-DOF 3 RRR PKM. Outlook and suggestions for future research are given in Section VII.

A. Kinematic Topology
A fully parallel PKM consists of a moving platform connected to the fixed platform (ground) by L limbs. Each limb is (in this letter) a serial kinematic chain (therefore called simple). A typical example is the GSP whose topological graph is shown in Fig. 1(a). Following the common convention, technical joints are modeled as combination of 1-DOF joints, so that each limb l = 1, . . . , L comprises N l = 6 joints (edges). Topologically, the PKM consists of L congruent sub-graphs connected to the platform, one is shown in Fig. 1(b). This gives rise to a tailored kinematics modeling, where the kinematics of each sub-graph is described in terms of the platform motion.

B. Forward and Inverse Kinematics of Limbs
Denote with ϑ (l) ∈ V N l the vector of N l joint coordinates of limb l when connected to the platform. The velocity 'forward kinematics' of limb l gives the platform twist V p in terms of the 6 × N l forward kinematics Jacobian of limb l This relates platform twist and joint ratesθ (l) when the platform is connected only to the separated limb l.
The platform of the PKM, i.e. when connected to all limbs, has DOF δ p ≤ N l , and only δ p components of V p are independent. The task space velocityvector V t is introduced accordingly comprising the δ p relevant components of the platform twist V p . This is formally expressed as with a unimodular 6 × δ p velocity distribution matrix P p , which assigns the δ p components of the task space velocity to the components of the platform twist. This relates platform twist and task space velocity. The latter is used in the task space formulation of EOM. The intermediate step via the platform twist is crucial to account for general PKM. Consider the platform when only connected to limb l. The platform has DOF δ p(l) ≥ δ p , which is the generic rank of J p(l) , whereas the serial chain has DOF N l ≥ δ p(l) . If δ p(l) = δ p , the PKM is called equimobile [23], [24], i.e. there is a δ p(l) × N l submatrix J t(l) of J p(l) so that V t = J t(l)θ(l) . For a nonequimobile PKM (δ p(l) > δ p , i.e. the platform has a different mobility when connected to the kinematic chain of a single limb and when connected to all limbs), only δ p(l) rows correspond to the task space velocity, while the remaining δ p(l) − δ p rows represent constraints on the platform motion. This is expressed with help of a δ p(l) × δ p velocity distribution matrix D t(l) so that The δ p(l) × N l matrix J t(l) is the task space Jacobian of limb l, formally defined as J t(l) := P t(l) J p(l) , with δ p(l) × 6 selection matrix P t(l) . The latter simply extracts the relevant rows from the forward kinematics Jacobian. Throughout the letter, it is assumed that the PKM is kinematically non-redundant, i.e. δ p(l) = N l , and J t(l) is a full rank N l × N l matrix, implying that the mechanism DOF δ is equal to δ p . Introducing the inverse kinematics Jacobian of limb l, F (l) := J −1 t(l) D t(l) , the solution of the inverse kinematics problem at velocity and acceleration level is, respectively,

C. Kinematics of Associated Tree-Topology System
A tree-topology system is introduced by eliminating cutjoints, which is a standard approach in multibody dynamics [18], [29], [30]. A fully parallel PKM possesses L − 1 fundamental cycles. Taking into account the special topology of PKM, the L − 1 joints connecting the platform to the respective limb are selected as cut-joints. That is, a spanning tree is introduced so that the platform is the leaf of one serial chain, i.e. the platform remains attached to one limb while it is disconnected from the remaining L − 1 limbs. W.l.o.g., limbs l = 1, . . . , L − 1 are cut off from the platform. In the tree-topology system, the platform is then connected to limb L, shown in Fig. 2 for the 6-DOF GSP.
Denote withθ (l) ∈ V n l the n l tree-joint coordinates of limb l = 1, . . . , L − 1 when disconnected from the platform (this is ϑ (l) with variables of the cut joint connecting to the platform removed), and withF (l) the n l × δ p submatrix of J −1 t(l) obtained by eliminating the rows corresponding to the variables of the cutjoint connecting the limb to the platform. Thenθ (l) =F (l) V t . In case of the GSP, the 3-DOF spherical joints are cut, and the remaining L − 1 chains have n l = 3 joint coordinates. Limb L does not contain cut-joints, and comprises the platform in the tree-topology, so thatθ (L) = ϑ (L) are the corresponding N L tree-joint coordinates.
Summarizing the tree-joint coordinates of all limbs, i.e. ϑ (l) , l = 1, . . . , L − 1 andθ (L) , inθ, and the corresponding inverse kinematics Jacobians, i.e.F (l) , i = 1, . . . , L − 1 and F (L) , of the limbs inF, gives rise to the velocity inverse kinematics solution of the tree-topology mechanisṁ which determines all tree-joint velocities in terms of the task space velocity satisfying the loop constraints.
The velocity inverse kinematics of the PKM is expressed by means of the inverse kinematics Jacobian J IK aṡ where vector ϑ a comprises the coordinates ϑ i(l) corresponding to the actuated joints. For non-redundantly actuated PKM, ϑ a are generalized coordinates. For many PKM with simple limbs (serial chains), the inverse kinematics Jacobian can be determined easily [21], [31] (see Table 6 in [32]). For PKM with complex limbs, this is more involved [24], [25]. With the above inverse kinematics solution of the mechanism (8), the inverse kinematics of the PKM is already available, however. The IK Jacobian consists of the rows ofF corresponding to the actuated joints. This will be exploited when computing derivatives.

III. CLOSED-FORM INVERSE DYNAMICS OF PKM
To derive the dynamics EOM of the PKM, the EOM of the tree-topology system introduced above are derived first, and the constraints are imposed using the above inverse kinematics solution. The EOM of the tree-topology system split into the EOM of the L individual limbs.

A. Joint Space Formulation of EOM of Individual Limbs
The EOM of limb l = 1, . . . , L can be written in the standard form, as for any tree-topology MBS, as whereM (l) (θ (l) ) is the generalized mass matrix, C (l) (θ (l) ,θ (l) ) the generalized Coriolis/centrifugal matrix, Q grav (l) (θ (l) ) generalized forces due to gravity, andQ (l) represents all applied forces including actuation forces. Friction, contact, and other forces are omitted, for simplicity. Expression (10) is indeed the EOM of a serial robot. These equations possess compact closed form expressions that were formalized by means of the spatial operator algebra [18], [33], [34], which is conceptually similar to the natural orthogonal complement approach [20], [35]. Using matrix Lie group methods, all expressions are intrinsically given in terms of the screw coordinates and frame transformation matrices [16], [28]. These equations can also be evaluated with O(n l ) complexity using recursive Lie group algorithms [15], [16] that will be employed for the higher-order inverse dynamics in Section IV and V.

B. Task Space Formulation of EOM in Closed Form
If the PKM is kinematically non-redundant, δ = δ p , the PKM motion is determined by the platform motion. Then the EOM (10) govern the dynamics of a separated limb. The overall task space formulation of EOM of the PKM is (omitting EE-loads) given in (1) with the δ × δ generalized mass matrix and Coriolis/centrifugal matrix The generalized forces due to gravity are

C. Inverse Dynamics Formulation
The inverse dynamics problem is to compute the actuation forces u for given motion of the PKM and applied wrenches. Instead of using the closed form EOM (1), the inverse dynamics solution is expressed as using the inverse kinematics solution (6) and (7), with the EOM (10) of the limbs. The advantage of this form is that it allows for separate evaluation of the dynamics EOM of the limbs, of their inverse kinematics solution, and of the inverse kinematics Jacobian J IK , respectively the forward kinematics Jacobian J −1 IK . This holds true for their time derivatives, which allows for an efficient evaluation of the higher-order inverse dynamics as described in the next section. Note that all terms in (10), and (14), depend on ϑ and its derivatives.

IV. FOURTH-ORDER FORWARD/INVERSE KINEMATICS
Time derivatives of the inverse dynamics solution (14) necessitate derivatives of the EOM (10) as well as of the inverse kinematics solution (6) of the limbs. When solving the ordinary inverse dynamics problem of serial robots, the EOM of the form (10) are evaluated using a recursive O(n l ) algorithm. Any such inverse dynamics algorithm, which takes joint variables ϑ, velocitiesθ, and accelerationsθ as inputs, consists of a forward kinematics loop and an inverse dynamics loop. In the forward kinematics run, the configurations, velocities, and accelerations of all bodies are computed. Solving this collectively for all limbs is called the forward kinematics of the mechanism. The task space formulation (10) additionally involves solving the inverse kinematics problem of the mechanism, i.e. computing ϑ,θ,θ from given platform motion, which means solving the inverse kinematics of all limbs. The second-order inverse dynamics additionally involves computing the third-and fourth-order inverse and forward kinematics solution. To this end, a combined fourth-order forward/inverse kinematics O(N l ) algorithm is introduced. Computation of derivatives of the inverse kinematics Jacobian in (14) is discussed in Section V-B.

A. Derivatives of the Inverse Kinematics Solution of Limbs
Taking derivatives of (5), and solving for the highest derivative of ϑ (l) , yields the ν-th time derivative of the inverse kinematics solution (6) of limb l For derivatives up to order ν = 4, these are ... ϑ (l) .
Computing inverse kinematics derivatives boils down to the inversion of the task space Jacobian and computing derivatives of the forward kinematics Jacobians of the limbs. They admit the closed form expressions (23)-(25), see appendix.
Recursive algorithms for computing the fourth-order forward kinematics of serial chains were reported in [11], [12] using classical vector formulations. In the following, the algorithm introduced in [13] that uses the Lie group formulation from [27] is complemented with the inverse kinematics. An introduction to the Lie group formulation of serial chains in general can be found in [16]. A brief summary of the notation is given in the appendix. The homogenous transformation C i(l) (not to be confused with C t in (12)) represents the absolute configuration of body i of limb l relative to the inertial frame, C i,i−1 is the relative configuration of body i and i − 1, and C p denotes the absolute platform configuration relative to the inertial frame. The algorithm consists of four subsequent loops. Input to the first loop is the current PKM state (ϑ, V t ). Solving the geometric inverse kinematics problem, computing ϑ from given platform motion configuration C p , is not the subject here, and ϑ is assumed to be given. Denote with g the vector of gravitational acceleration expressed in inertial frame, then the corresponding acceleration screw of the ground isV 0(l) = (0, g) T . The algorithm is derived by splitting the forward kinematics run presented in [13], necessary as the inverse kinematics must be solved for each order first. Matrix Ad C i,i−1 transforms a twist from body i − 1 to body i, and ad X Y yields the Lie bracket of X, Y ∈ R 6 , also called 'spatial cross product' [18], [34]. Notice that n L = N L .

C. Computational Complexity
In contrast to the forward kinematics of serial robots, prior to the ν th-order forward kinematics, the νth-order inverse kinematic problem is solved (for which the (ν-1)st time derivative of J t(l) is computed) separately for each order. The ν th-order kinematics run (D (ν) ϑ → D (ν−1) V i(l) ) for limb l has complexity O(N l ). Each run involves an expression a = F (l) b with F (l) := J −1 t(l) D t(l) , indicted with (*), solving the νth-order inverse kinematics problem (D (ν−1) V t → D (ν) ϑ (l) ). Inversion of the δ p × δ p task space Jacobians is avoided by solving J t(l) b = D t(l) a for b. LU-decompositions of J t(l) are computed before the kinematics runs, and reused for solving the four equations (*). The total number of operations is L( 2 3 δ 3 p + 8δ 2 p ). The overall complexity of the kinematics run is O(L · N l ), except for solving (*).

A. Derivatives of the Inverse Dynamics Solution
The first and second time derivative of the inverse dynamics solution (14) are readily found as (omitting EE loads) . Noting that J t(l) := P t(l) J p(l) , the latter are available with derivatives of J p(l) in (23)- (25) in appendix.

B. Derivatives of Manipulator Inverse Kinematics Jacobian
The manipulator inverse kinematics Jacobian J IK consists of the δ rows of the inverse kinematics Jacobians of the l limbs. That is, each row of F (l) that corresponds to an actuated joint delivers one row of J −1 IK . If each limb comprises one actuator, then L = δ, and each F (l) contributes one row. Thus the derivatives of J IK are already available with the derivatives of F (l) above.

C. Recursive 2nd-Order O(n l ) Inverse Dynamics Algorithm
Evaluating (20) involves computing derivatives ofQ (l) , i.e. of the second-oder inverse dynamics solution of a serial kinematic chain. The advantage of the proposed higher-order inverse dynamics method for PKM is that this evaluation is separated from the kinematics modeling. Thus any computation scheme or software that delivers the inverse dynamics solution derivatives can be used (which may have any level of modeling detail including flexibilities etc). Various recursive algorithms have been proposed to evaluate the second time derivatives of the EOM (10) of the limbs, e.g. [11], [12] . Lie group formulations were proposed in [13], [14], which are coordinate-invariant and compact, and thus easy to implement. In the following, the inverse dynamics run of the algorithm in [13] is adopted. The forward kinematics run is accomplished by the algorithm in Section IV. Denoting with M i the 6 × 6 mass matrix of body i expressed in the (arbitrary) body-fixed frame, and the interbody wrenches withW i (merely algorithmic variables), the inverse dynamics run is: Authorized licensed use limited to the terms of the applicable license agreement with IEEE. Restrictions apply.

D. Computational Aspects
The computational effort for evaluating the inverse dynamics of limb l is of order O(n l ), with n L = N L . The inverse dynamics run is thus of order O(L · n l ). The special topology of PKM with structurally identical limbs can be exploited for an efficient modular modeling, where the kinematic and dynamic EOM of a prototypical limb are reused for all limbs [23]. The recursive algorithm, it can be implemented once for a prototypical limb, and L instances are used during the computation. A simple example is shown in [36].

VI. EXAMPLES AND SIMULATION RESULTS
Implementation results are presented when the proposed algorithm is applied to a 6 DOF GSP and 2 DOF planar PKM. The algorithm was implemented in MATLAB.

A. Gough-Stewart Platform
The proposed method is applied to compute the second-order inverse dynamics of a 6UPS GSP, which is used within the torso of the Recupera-Reha exoskeleton [37]. The topology information, joint screw coordinate vectors X i , the relative reference configurations B i of all links, and the inertia data M i w.r.t. to the body-fixed frames are extracted from the URDF description of the PKM. A pure roll motion of the platform parameterized as θ(t) = −A cos(ωt) + A + θ min with magnitude A = (θ min − θ max )/2 and frequency ω = 2π T , where θ min = −0.5 rad, and θ max = 0.5 rad are the minimum and maximum of the roll angle θ, and T = 1 s is the cycle time. The actuator trajectories ϑ a (t) obtained via the inverse kinematics and the visualization of mechanism motion are shown in Fig. 3(a) and (b), respectively, and their 3rd and 4th time derivatives in Fig. The actuator forces u(t) and their second time derivatives u(t) are shown in 4. Fig. 5, respectively. The solutions u(t) and ϑ a (t),θ a (t),θ a (t) of the inverse kinematics respectively inverse dynamics are computed with the already existing and validated model. The higher order inverse kinematics and inverse dynamics results were verified by numerically differentiating u(t) andθ(t) twice. The O(n)-solution and the numerical derivatives agree up to machine precision. As an indication of the computational performance, the total CPU time spent for 10000 evaluations of the MATLAB implementation of the second order inverse dynamics was measured on a standard laptop computer with Intel Core i7-4810MQ CPU at 2.8 GHz. Executing 10000 calls, the average CPU time per call was 0.75 ms, which is sufficient for real-time control applications. An order of magnitude   reduction is expected from an optimized C++ implementation. It is to be noted that no parallelization opportunities were exploited. It will also be interesting to compare the performance with dedicate MBS codes. When modeled as MBS in terms of relative coordinates, this example has a spanning tree with 21 DOF subjected to 15 independent constraints.

B. 2-DOF Planar 3RRR PKM
The SEA driven 2-DOF planar PKM in Fig. 6 is considered to demonstrate the flatness-based control. The position of the EE in the plane of motion is the output of this PKM, described by its (x, y) -coordinates relative to the shown inertial frame (IFR). The PKM is controlled by three actuators, and would thus be redundantly actuated if the actuators were kinematically affixed to the arms. Instead, each arm is mounted on the output shaft of a SEA. The elastic coupling of output shaft and motor-gear unit is modeled by a torsion spring with stiffness constant k i as indicated in Fig. 6. Geometric and inertia parameter are deduced from the CAD model, and motor specifications. The desired trajectory represents a pick and place task, where the EE alternates between two operating points as shown in Fig. 6. The EE Fig. 7. Results of flatness-based control in task space. Tracking error e x , e y , and actuator torques u 1 , u 2 , u 3 . trajectory follows a sin 2 time profile of the jerk. A quantization of the joint angle encoder of 1/2000 is assumed, and white noise with amplitude of 3 · 10 −4 m is added to model sensor noise. Fig. 7 shows the EE tracking error and the actuation torques of the flatness-based controller. When exact measurement and feedback is assumed, perfect tracking is achieved. Experimental results are reported in [38].

VII. CONCLUSION AND OUTLOOK
A recursive algorithm for efficient computation of first and second time derivatives of the inverse dynamics solution of non-redundant PKM with simple limbs (each limb a serial chain) is presented, which also solves the higher-order inverse kinematics problem. The Lie group framework is employed to this end as it offers compact coordinate invariant expressions. The formulation separates the overall kinematics of the PKM and the dynamics of the individual limbs. It is exploits inverse dynamics formulations for serial robots and a dedicated PKM modeling approach. This algorithm has O(L · n l ) complexity, except for the inversion of the forward kinematics Jacobian. The geometric inverse kinematics was not addressed as this depends on the particular PKM. A Newton-Raphson can always be used, however [25], [31].
The proposed formulation is a solution to a key challenge in trajectory tracking control of SEA-PKM. The modularity of the approach allows for further efficiency improvements, in particular as it immediately allows for parallelization. The exact computational effort of the recursive inverse dynamics algorithm will be investigated in future research. The complexity will be compared when using the closed form expression for the inverse dynamics of the limbs [19]. Future work includes extension of the second-order inverse dynamics algorithms to PKM with complex limbs (limbs with closed loops). Further possible extension of this work includes dealing with seriesparallel hybrid robots, e.g. in humanoids with series elastic actuators [39], [40]. In addition to the Matlab implementation, a C++ implementation of the generic version of the algorithm is planned in Hybrid Robot Dynamics (HyRoDyn) [41] software framework.

APPENDIX LIE-GROUP MODELING OF KINEMATICS
The kinematics is described using the Lie group formulation introduced in [24], [27], which is a variant of that reported in [16]. For notation and background of the Lie group modeling, refer to [16], [26], [42]. Denote with C i(l) ∈ SE(3) the configuration (pose) of body i = 1, . . . , N l of limb l relative to a spatial inertial frame, which is represented as 4 × 4 homogenous transformation matrices. It is determined by the product of exponentials (omitting limb index (l)) C i (ϑ) = B 1 exp(X 1 ϑ 1 ) · . . . · B i exp(X i ϑ i ) (21) with the screw coordinate vector X i ∈ R 6 of joint i represented in the reference frame at body i, and B i ∈ SE(3) is the configuration of body i relative to body i − 1 in the zero reference ϑ (l) = 0. The platform is the terminal body of each limb l with N l bodies, and its configuration is C p(l) ≡ C N l (l) . The configuration of body i relative to the platform is C p,i := C −1 p C i . The instantaneous screw coordinate vector of joint i = 1, . . . , N l expressed in platform frame is J p(l),i = Ad C p,i X i . This is the i-th column of the 6 × N l geometric forward kinematics Jacobian of limb l in (3) r C i ∈ SE(3) -absolute configuration of body i, i.e. relative to the inertial frame (IFR). r B i ∈ SE(3) -reference configuration of body i relative to its predecessor. r X i ∈ R 6 -screw coordinate vector (ray coordinates) of joint i represented in the reference frame on body i. r V i ∈ R 6 -twist coordinate vector (ray coordinates) of body i represented in body-frame i. r V t ∈ R δ p -task space velocity vector expressed in platform frame. r W i ∈ R 6 -wrench coordinate vector (axis coordinates) represented in body-frame i.
r Ad C i,j -6 × 6 twist transformation matrix, body j to i. r M i -6 × 6 body-fixed mass matrix of body i. n a -# actuated joints, N -total # joint variables, N l -# joint variables of limb l when connected to platform, n l -# tree-joint variables of limb l (when disconnected from platform). δ p -DOF of PKM platform. δ -DOF of mechanism.