This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

Control and Simulation of Motion of Constrained Multibody Systems Based on Projection Matrix Formulation

Farhad Aghili email: [email protected]
Abstract

This paper presents a unified approach for inverse and direct dynamics of constrained multibody systems that can serve as a basis for analysis, simulation, and control. The main advantage of the dynamics formulation is that it does not require the constraint equations be linearly independent. Thus, a simulation may proceed even in the presence of redundant constraints or singular configurations and a controller does not need to change its structure whenever the mechanical system changes its topology or number of degrees of freedom. A motion control scheme is proposed based on a projected inverse-dynamics scheme which proves to be stable and minimizes the weighted Euclidean norm of the actuation force. The projection-based control scheme is further developed for constrained systems, e.g. parallel manipulators, which have some joints with no actuators (passive joints). This is complemented by the development of constraint force control. A condition on the inertia matrix resulting in a decoupled mechanical system is analytically derived that simplifies the implementation of the force control.

1 Introduction

Many robotic systems are formulated as multibody systems with closed-loop topologies, such as manipulators with end-effector constraints [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], cooperative manipulators [12, 13, 14, 15, 16], robotic hands for grasping objects [17, 18, 19, 20], parallel manipulators [21, 22, 23, 24], impact in robotics [25], humanoid robot and walking robots [26, 27, 28], and VR/Haptic applications [29, 30]. Simulation and control of such systems call for corresponding direct dynamics and inverse-dynamics models, respectively. Mathematically, constrained mechanical systems are modeled by a set of nn differential equations coupled with a set of mm algebraic equations, i.e. Differential Algebraic Equations (DAE). Although computing the dynamics model is of interest for both simulation and control, the research done in these two areas are rather divided. Surveys of the existing techniques for solving DAE may be found in [31, 32, 33, 34, 35, 29], while model-based control of constrained manipulators can be found in [4, 2, 36, 5, 37, 38, 39, 40, 41, 42, 43].

The classical method to deal with DAE is to express the constraint condition at the acceleration level. This allows replacement of the original DAE system with an ODE system by augmenting the inertia matrix with the second derivative of the constraint equation. However, this method performs poorly in the vicinity of singularities [44, 45, 46], because the augmented inertia matrix is invertible only with a full rank Jacobian matrix.

Other methods are based on coordinate partitioning [47, 48, 49] by using the fact that the nn coordinates are not independent because of the mm constraint equations. The motion of the system can be described by the independent coordinates which can be separated using an annihilator operator. Although this method may significantly reduce the number of equations, finding the annihilator operator is a complex task [29]. Moreover; the sets of independent and dependent coordinates should be determined first. But a fixed set of independent coordinates occasionally leads to ill-conditioned matrices [31, 50] when the system changes its topology or the number of degrees of freedom. The concept of coordinate separation is used in [9]for controlling manipulator robots with constrained end-effectors. The augmented Lagrangian formulation proposed in [51, 52, 53] can handle redundant constraints and singular situations. However, this formulation solves the equations of motion through an iterative process. Nakamura et al. [54] developed a general algorithm that provides a way to partition the coordinates into independent and dependent ones even around the singular configuration, which is suitable for simulation of mechanical systems with structure-varying kinematic chains. This is a special case of the projection method proposed herein that allows generic constraints which cannot be handled by coordinate partitioning.

There are also efficient algorithms for solving direct dynamics of constrained systems that are suitable for parallel processing. Feathersone’s work in [55, 56] presents a recursive algorithm, which is called Divide-and-Conquer (DAC), for calculating the forward dynamics of general rigid-body system on a parallel computer. The central formula for these DAC algorithm takes the equations of motions of two independent subassembly (rigid-body) and also a description of how they are to be connected, and the output is the equation of motion of the assembly, i.e., those of two articulated-body. Since the equation of acceleration of the assembly is written in terms of two independent equation of motions, the formulation is suitable for parallel processing and one can apply the formula recursively to construct the articulated-body equations of motions of an entire rigid-body assembly from those of its constituent parts. The author claims that the DAC algorithm is computationally effective if a large number of processors, more than 100100, is available.

Another group of researchers [52, 57, 58, 46, 59, 60] focused on other techniques to deal with the problem of accurately maintaining the constraint condition. Blajer [58, 59] proposed an elegant geometric interpretation of constrained mechanical systems. Then the analysis was extended and modified in [61] for control application. The augmented Lagrangian formulation proposed in [51, 52, 53] can handle redundant constraints and singular situations. However, this formulation solves the equations of motion through an iterative process.

In the realm of control of constrained multibody system, the vast majority of the literature is devoted to control of manipulators with constrained end-effectors. The hybrid position/force control concept was originally introduced in [4], and then the manipulator dynamic model was explicitly included in the control law in [2]. The constrained task formulation with inverse-dynamics controller is developed in [5, 7] by assuming that the Cartesian constraints are linearly independent. Hybrid motion/force control proposed in [62, 63, 64] achieves a complete decoupling between channels of acceleration and force. In these approaches all joints are assumed to have an actuator and no redundancy was considered in the kinematic constraint.

In this work, we propose a new formulation for the direct and the inverse-dynamics of constrained mechanical systems based on the notion of a projection operator [1, 6]. First, constraint reaction forces are eliminated by projecting the initial dynamic equations into the tangent space with respect to the constraint manifold. Subsequently, the direct dynamics, or the equations of motion, is derived in a compact form that relates explicitly the generalized force to the acceleration by introducing a constraint inertia matrix, which turns out to be always invertible. The constraint reactions can then be retrieved from the dynamics projection in the normal space [1]. Unlike in the other formulations, the projection matrix is a square matrix of order equal to the number of dependent coordinates. Since the formulation of the projector operators is based on pseudo-inverting the constraint Jacobian (the process not conditioned upon the maximal rank of the Jacobian), the present approach is valid also for mechanical systems with redundant constraints and/or singular configurations, which is unattainable with many other classical methods. A projected inverse-dynamics control scheme is developed based on the dynamics formulation. The motion control proves to be stable while minimizing the weighted Euclidean norm of actuation force. The notion of the projected inverse-dynamics is further developed for control of constrained mechanical systems which have passive joints, i.e., joints with no actuator. This result is particulary important for control of parallel manipulators. Finally, a hybrid force/motion control scheme based on the proposed formulation is presented. Also some useful insights are gained from the dynamics formulation. For instance, the condition on the inertia matrix for achieving a complete decoupling between force and motion equations is rigorously derived.

This paper is organized as follows: We begin with the notion of linear operator equations in Section 2 by reviewing some basic definitions and elementary concepts which will be used in the rest of the paper. Using the projection operator, we derive models of inverse and direct dynamics in sections 4 and 5 which are used as a basis for developing strategies for simulation and control of constrained mechanical systems in sections 6 and 7. Section 7.2 presents change of coordinate if there is inhomogeneity in the spaces of the force and velocity. In section 7.4, the inverse-dynamics control scheme is extended for constrained systems which have some joints with no actuator (passive joints).

2 Linear Operator Equations

For any linear operator transformation A:nmA:\mathbb{R}^{n}\rightarrow\mathbb{R}^{m}, range space and null space are defined as (A)={ym:xny=Ax}{\cal R}(A)=\{y\in\mathbb{R}^{m}:\exists x\in\mathbb{R}^{n}\ni y=Ax\} and 𝒩(A)={xn:Ax=0}{\cal N}(A)=\{x\in\mathbb{R}^{n}:Ax=0\}, respectively. The linear transformation maps vector space 𝒳{\cal X} into vector space 𝒴{\cal Y}. Assume that the Euclidean inner-product is defined in 𝒳{\cal X}, that is elements of vectors, such as x1x_{1} and x2x_{2}, of 𝒳{\cal X} have homogeneous units. Then, by definition the vectors are orthogonal iff their inner-product is zero, i.e.

<x1,x2>=x1Tx2=x2Tx1=0<x_{1},x_{2}>=x_{1}^{T}x_{2}=x_{2}^{T}x_{1}=0 (1)

where the superscript T denotes transpose. It follows that the orthogonal complement of any set 𝒮{\cal S}, denoted by 𝒮{\cal S}^{\perp}, is the set of vectors each of which is orthogonal to every vector in 𝒮{\cal S}.

Theorem 1

[65, 66] The fundamental relationships between the range space and the null space associated with a linear operator and its transpose are

(AT)=𝒩(A),{\cal R}(A^{T})^{\perp}={\cal N}(A), (2)
(A)=𝒩(AT).{\cal R}(A)={\cal N}(A^{T})^{\perp}. (3)

See Appendix A for a proof.

As will be seen in the following sections, it is desirable to be able to project any vector in n\mathbb{R}^{n} to the null space of AA by a projector operator. Let Pn×nP\in\mathbb{R}^{n\times n} be the orthogonal projection onto the null space, i.e., (P)=𝒩(A){\cal R}(P)={\cal N}(A). Note that every orthogonal projection operator has these properties: P2=PP^{2}=P and PT=PP^{T}=P [66].

The projection operator can be calculated by the singular value decomposition (SVD) method [66, 67, 68]. Assuming

r=rank(A),r=\mbox{rank}(A),

then there exist unitary matrices U=[U1U2]U=[U_{1}\;\;U_{2}] and V=[V1V2]V=[V_{1}\;\;V_{2}] (i.e. UTU=IU^{T}U=I and VTV=IV^{T}V=I) so that

A=[U1U2][Σ000][V1TV2T]A=\left[\begin{array}[]{cc}U_{1}&U_{2}\end{array}\right]\left[\begin{array}[]{cc}\Sigma&0\\ 0&0\end{array}\right]\left[\begin{array}[]{c}V_{1}^{T}\\ V_{2}^{T}\end{array}\right]

where Σ=diag(σ1,,σr)\Sigma=\mbox{diag}(\sigma_{1},\cdots,\sigma_{r}), and σ1σr0\sigma_{1}\geq\cdots\geq\sigma_{r}\geq 0 are the singular values. The proof of this statement is straightforward and can be found, for example, in [66, 67]. Since 𝒩(A)=span(V2){\cal N}(A)=\mbox{span}(V_{2}) [66, 67], the projection operator can be calculated by

P=V2V2TP=V_{2}V_{2}^{T} (4)

2.1 Orthogonal Decomposition and Norm

From the definition, one can show that projector operator (IP)(I-P) projects onto the null space orthogonal 𝒩(A){\cal N}(A)^{\perp}. Let’s assume that the elements of a vector xnx\in\mathbb{R}^{n} have homogeneous measure units, then the vector has a unique orthogonal decomposition

x=xx,x=x_{\parallel}\oplus x_{\perp},

where x𝒩(A)x_{\parallel}\in{\cal N}(A) and x𝒩(A)x_{\perp}\in{\cal N}(A)^{\perp}. The components of the decomposition can be obtained uniquely by using the projection operator as

x:=Pxandx:=(IP)x.x_{\parallel}:=Px\;\;\;\ \mbox{and}\;\;\;\;x_{\perp}:=(I-P)x. (5)

The Euclidean norm is defined as

x:=<x,x>1/2=(xTx)1/2\|x\|:=<x,x>^{1/2}=(x^{T}x)^{1/2} (6)
Remark 1

From orthogonality of the subspaces, i.e. <x,x>=0<x_{\parallel},x_{\perp}>=0, we can say

x2=x2+x2\|x\|^{2}=\|x_{\parallel}\|^{2}+\|x_{\perp}\|^{2} (7)

Equation (7) forms the basis for finding an optimal solution.

2.1.1 Metric tensor

The Euclidean inner product and hence the Euclidean norm defined in (6) are non-invariant quantities, if there is inhomogeneity in the units of the elements of vector xx. With the same token, the projection matrix (5) and the decomposition are not invariant and hence the minimum-norm solution may depend on the measure units chosen. This is because components with different units are added together in (5).

To circumvent the quandary of the measure units, we consider the following transformation

xW:=W1/2x,x_{W}:=W^{1/2}x, (8)

and assume that the vector xWx_{W} has components with the same physical units. Then, a physically consistent Euclidean inner product and Euclidean norm exists on the new space [63], i.e.

xW=<xW,xW>1/2=<x,Wx>1/2\|x_{W}\|=<x_{W},x_{W}>^{1/2}=<x,Wx>^{1/2} (9)

The symmetric, positive definite matrix WW is called a metric tensor of the n-space. Note that the Euclidean norm of the new coordinate is tantamount to the weighted-norm, that is xW=xW\|x\|_{W}=\|x_{W}\|, where

xW=(xTWx)1/2.\|x\|_{W}=(x^{T}Wx)^{1/2}. (10)

Furthermore, denoting AW:=AW1/2A_{W}:=AW^{1/2}, one can say AWxW=0A_{W}x_{W}=0. Let PWP_{W} be the projection operator onto the null space of AWA_{W}. Then, mapping PWP_{W} is dimensionless and invariant.

3 Decomposition of the Acceleration

The kinematics of a constrained mechanical system can be represented by a set of mm nonlinear equations Φ(q)=[ϕ1(q),,ϕm(q)]T=0{\Phi}(q)=[\phi_{1}(q),\cdots,\phi_{m}(q)]^{T}=0, where qnq\in\mathbb{R}^{n} is the vector of generalized coordinate, and mnm\leq n. Without loss of generality, we consider time-invariant (scleronomic) constraint conditions, but the methodology can be readily extended to a time varying case (rheonomic). By differentiating the constraint equation with respect to time, we have

Aq˙=0A\dot{q}=0 (11)

where A=Φ/qA={\partial\Phi}/{\partial q} is the Jacobian of the constraint equation with respect to the generalized coordinate. For brevity of notation, in the following, we assume that the elements of the force and velocity vectors have homogeneous units. This assumption will be relaxed in Section 7.2 by changing of the coordinates similar to (8).

Equation (11) is expressed in form of the linear operation equation. This matrix equation specifies that any admissible velocity must belong to the null space of the Jacobian matrix, that is, q˙𝒩(A)\dot{q}\in{\cal N}(A). Thus, the constraint equation (11) can be expressed by the notion of the projection operator, i.e.,

q˙(IP)q˙=0,\dot{q}_{\perp}\equiv(I-P)\dot{q}=0, (12)

Time differentiation of the above equation yields

q¨(IP)q¨=Cq˙,\ddot{q}_{\perp}\equiv(I-P)\ddot{q}=C\dot{q}, (13)

where C:=ddtPC:=\frac{d}{dt}P which, in turn, can be obtained from (4) by

C=S+STwhereS=V˙2V2TC=S+S^{T}\;\;\;\;\mbox{where}\;\;\;S=\dot{V}_{2}V_{2}^{T} (14)

It is apparent from equation (13) and (12) that, unlike the case of velocity, the null space orthogonal component of the acceleration is not always zero – a physical interpretation of (13) is given in Section 5.4. Equation (13) expresses the component of acceleration produced exclusively by the constraint and not by dynamics. As will be seen in Section 5, this equation can compliment the dynamics equation in order to provide sufficient independent equations for solving the acceleration.

3.1 Calculating PP based on Pseudo-Inversion

Many mature algorithms and numerical techniques are available for computing the pseudo-inverse [67, 66, 69]. There are also computer programs that can solve SVD and pseudo-inverse in real-time and non real-time, for instance DSP Blockset of Matlab [70]. Therefore, it may be useful to calculate the matrices PP and CC based on pseudo-inversion.

Let A+A^{+} denote the pseudo-inverse of AA. Then, the projection operator can be calculated by

P=IA+A.P=I-A^{+}A. (15)

Also, one can obtain matrix CC through the pseudo-inversion as follows. Differentiation of (11) with respect to time leads to

Aq¨=A˙q˙A\ddot{q}=-\dot{A}\dot{q}

The theory of linear systems of equations [66, 69, 71] establishes that the particular solution, i.e., the 𝒩{\cal N}^{\perp} component of the acceleration, can be obtained from the above equation as q¨=A+A˙q˙\ddot{q}_{\perp}=-A^{+}\dot{A}\dot{q}. Hence

Cq˙=A+A˙q˙C\dot{q}=-A^{+}\dot{A}\dot{q} (16)

Assuming the elements of generalized coordinate have identical units, then matrices PP and CC have homogeneous units, i.e. PP is dimensionless and the dimension of CC is s1s^{-1}. Therefore, PP and CC are invariant under unit changes.

Note that the inconsistency problem which may arise in computing the pseudo-inverse because of existence of the components of different units can be solved by including the metric of the n-space in computing the pseudo-inverse [58, 72].

4 Projected Inverse-Dynamics

Consider a constrained mechanical system with Lagrangian =𝒯𝒱{\cal L}={\cal T}-{\cal V}, where 𝒯=12q˙TMq˙{\cal T}=\frac{1}{2}\dot{q}^{T}M\dot{q} and 𝒱(q){\cal V}(q) are the kinetic and the potential energy functions, and Mn×nM\in\mathbb{R}^{n\times n} is the inertia matrix. The fundamental equation of differential variational principles of a mechanical system containing constraint can be written as [32]

δqTftot=0,\delta q^{T}f_{tot}=0, (17)

where ftot=φ(f)f_{tot}=\varphi-(f-{\cal F}), φ=ddt(q˙)q\varphi=\frac{d}{dt}\left(\frac{\partial{\cal L}}{\partial\dot{q}}\right)-\frac{\partial{\cal L}}{\partial q}, fn{f}\in\mathbb{R}^{n} is the vector of generalized input force, and n{\cal F}\in\mathbb{R}^{n} is the generalized constraint force, which is related to the Lagrange multipliers λm{\lambda}\in\mathbb{R}^{m} by

=ATλ(AT).{\cal F}=A^{T}{\lambda}\in{\cal R}(A^{T}). (18)

Then, the equations describing the system dynamics can be obtained as

Mq¨+h(q,q˙)=fM\ddot{q}+h(q,\dot{q})=f-{\cal F} (19)
Φ(q)=0,\Phi(q)=0, (20)

where vector h(q,q˙)nh(q,\dot{q})\in\mathbb{R}^{n} contains the Coriolis, centrifugal, gravitational terms. In solving the DAE equations (19)-(20), it is typically assumed that: (i) the inertia matrix is positive definite and hence invertible (ii) the constraint equations are independent, i.e. the Jacobian matrix is not rank-deficient [31, 32, 33, 34, 35, 29]. In this work, we solve the equations without relying on the second assumption.

From (18) and by virtue of Theorem 1, one can immediately conclude that 𝒩(A){\cal F}\in{\cal N}(A)^{\perp}. In other words, the projection operator PP is an annihilator for the constraint force, i.e. P=0P{\cal F}=0. Therefore, the constraint force can be readily eliminated from equation (19) if the equation is projected on PP, i.e.

PMq¨=P(fh).PM\ddot{q}=P(f-h). (21)

Equation (21) is called projected inverse-dynamics of a constrained multibody system that is expressed in the so-called descriptive form. This is because matrix PMPM is singular and hence the acceleration cannot be computed from the equation through matrix inversion.

5 Direct Dynamics

As mentioned earlier, the acceleration cannot be determined uniquely from equation (21), because there are fewer independent equations than unknowns. Nevertheless; equations (13) and (21) are in orthogonal spaces and thus cannot cancel out each other. Therefore, a unique solution can be obtained by solving these two equations together. To this end, we simply multiply equation (13) by MM and then add both sides of the equation to those of (21). After factorization, the resultant equation can be written concisely in the following form;

Mcq¨=P(fh)+Ccq˙M_{c}\ddot{q}=P(f-h)+C_{c}\dot{q} (22)

where Cc:=MCC_{c}:=MC, and Mcn×nM_{c}\in\mathbb{R}^{n\times n} is called constraint inertia matrix which is related to the unconstrained inertia matrix MM—assuming a symmetric inertia matrix—by

Mc:=M+M~,M_{c}:=M+\tilde{M}, (23)

and

M~:=PM(PM)T.\tilde{M}:=PM-(PM)^{T}. (24)

Equation (22) constitutes the so-called direct dynamics of a constrained multibody system from which the acceleration can be solved. It is worth mentioning that if MM commutes with PP, then M~=0\tilde{M}=0 and hence Mc=MM_{c}=M. To compute the acceleration from (22) requires that the constraint inertia matrix be invertible.

Theorem 2

If the unconstrained inertia matrix MM is positive-definite (p.d.), then the constraint inertia matrix McM_{c} is p.d. too.

Proof: It is evident from (24) that M~\tilde{M} is a skew-symmetric matrix, i.e. M~T=M~\tilde{M}^{T}=-\tilde{M}. Consequently, adding M~\tilde{M} to the inertia matrix in equation (23) preserves the positive definiteness property of the inertia matrix. This is because, for any vector znz\in\mathbb{R}^{n} we can say

zTM~z=0.z^{T}\tilde{M}z=0.

Therefore, one can conclude that zTMz=zTMczz^{T}{M}z=z^{T}M_{c}z, or

Mis p.d.Mcis p.d..M\;\;\;\mbox{is p.d.}\;\;\;\Longleftrightarrow\;\;\;M_{c}\;\;\;\;\mbox{is p.d.}.

\Box .

Theorem 2 is pivotal in showing the usefulness of the dynamics equation (22); it signifies that the constraint inertia matrix is always invertible regardless of the constraint condition. Therefore, the acceleration can be always obtained from (22).

Remark 2

Equation (22) signifies that only the null space component of the generalized input force contributes to the motion of a constrained mechanical system, as the projector in the right-hand-side (RHS) of the equation filters out all forces lying in the null space orthogonal. This fact is exploited in Section 7.1 for an optimal control scheme.

It can be envisaged from Remark 2 that it is useful to decompose the generalized input force into two orthogonal components

f=ff,f=f_{\parallel}\oplus f_{\perp},

where f𝒩f_{\parallel}\in{\cal N} and f𝒩f_{\perp}\in{\cal N}^{\perp} are called acting input force (potent) and passive input force (impotent), respectively. The decomposition of the generalized input force can be carried out by the projection operator according to (5). Now, the equation of motion can be written as

q¨=Mc1(fh+Ccq˙)\ddot{q}=M_{c}^{-1}(f_{\parallel}-h_{\parallel}+C_{c}\dot{q}) (25)

where the nonlinear vector is decomposed in the same way as the generalized force, i.e., h=h+hh=h_{\parallel}+h_{\perp}. Equation (25) is the so-called equation of motion of a constrained mechanical system in a compact form. It is worth mentioning that only one matrix inversion operation is required in (25) which is one less than in the standard Lagrangian method (see Appendix B).

Remark 3

Since M~\tilde{M} does not produce any kinetic energy, the total kinetic energy associated with the constrained system is 𝒯=12q˙TMcq˙=12q˙TMq˙{\cal T}=\frac{1}{2}\dot{q}^{T}M_{c}\dot{q}=\frac{1}{2}\dot{q}^{T}M\dot{q}.

5.1 Constraint Inertia Matrix

The constraint inertia matrix doesn’t have a unique definition because there are many ways that equations (21) and (13) can be combined together. Although all dynamics formulations thus obtained are equivalent, each one may have a ceratin computational advantage over the others.

5.1.1 Symmetric Inertia Matrix

McM_{c} is a p.d. matrix but not a symmetric one. In the following, we present an alternative dynamics formulation in which the inertia matrix appears both p.d. and symmetric. Equation (13) together with the decomposition of the acceleration imply that q¨=Pq¨+Cq˙\ddot{q}=P\ddot{q}+C\dot{q}, which can be substituted in (21) to give

PMPq¨=P(fh)PCcq˙.PMP\ddot{q}=P(f-h)-PC_{c}\dot{q}. (26)

Now premultiply equation (13) by (IP)M(I-P)M and then add both sides of the equation thus obtained with those of (26) yields

Mcq¨=P(fh)+Ccq˙,M^{\prime}_{c}\ddot{q}=P(f-h)+C^{\prime}_{c}\dot{q}, (27)

where

Mc:=PMP+(IP)M(IP),M^{\prime}_{c}:=PMP+(I-P)M(I-P), (28)

and

Cc:=(I2P)Cc.C^{\prime}_{c}:=(I-2P)C_{c}.

It is worth mentioning that I2PI-2P represents a reflection operator.

Proposition 1

If matrix MM is symmetric and p.d., then McM^{\prime}_{c} is symmetric and p.d. too.

Proof: It is apparent from (28) that McM^{\prime}_{c} is a symmetric matrix . Moreover, positive definiteness of matrix McM^{\prime}_{c} can be shown by an argument similar to the previous case. Again for any vector z0nz\neq 0\in\mathbb{R}^{n} and from definition (28), we can say zTMcz=zTMz+zTMzz^{T}M^{\prime}_{c}z=z_{\parallel}^{T}Mz_{\parallel}+z_{\perp}^{T}Mz_{\perp}, where z𝒩z_{\parallel}\in{\cal N} and z𝒩z_{\perp}\in{\cal N}^{\perp}, and zTMz0z_{\parallel}^{T}Mz_{\parallel}\geq 0 and zTMz0z_{\perp}^{T}Mz_{\perp}\geq 0. Both decomposed components of the non-zero vector zz cannot be zero, i.e., z=0z0z_{\parallel}=0\Rightarrow z_{\perp}\neq 0 and vice versa. Therefore, only one of the quadratic functions can be zero and that implies their summation is non-zero and positive. Thus McM^{\prime}_{c} is a p.d. matrix \Box.

5.1.2 Parameterized Inertia matrix

Alternatively, the constraint inertia matrix can be parameterized in terms of an arbitrary scalar. To this end, let’s first premultiply equation (13) by a scalar γ\gamma and then add both sides of the resultant equation with those of (21). That gives the standard dynamics formulation similar to (27) with the following parameters

Mc′′:=PM+γ(IP),M^{\prime\prime}_{c}:=PM+\gamma(I-P), (29)

and

Cc′′:=γC.C^{\prime\prime}_{c}:=\gamma C.
Proposition 2

If MM is an invertible matrix, then Mc′′M^{\prime\prime}_{c} is always invertible too.

Proof: In a proof by contradiction we show that Mc′′M^{\prime\prime}_{c} should be a full-rank matrix. If matrix Mc′′M^{\prime\prime}_{c} is not of full-rank, then there must exist at least one non-zero vector ξ0\xi\neq 0 lying in the matrix null space, that is Mc′′ξ=0M^{\prime\prime}_{c}\xi=0, or

PMξ+γ(IP)ξ=0PM\xi+\gamma(I-P)\xi=0 (30)

The two terms of the above equation are in two orthogonal subspaces and cannot cancel out each other. Hence, in order to satisfy the equation, both terms must be identically zero, i.e. PMξ=0PM\xi=0 and γ(IP)ξ=0\gamma(I-P)\xi=0. The former and the latter equations imply that y=Mξ𝒩y=M\xi\in{\cal N}^{\perp} and ξ𝒩\xi\in{\cal N}, respectively. Therefore, one can conclude that yy is perpendicular to vector ξ\xi, i.e. ξTy=0\xi^{T}y=0, or that

ξTMξ=0,\xi^{T}M\xi=0, (31)

which is a contradiction because MM is a positive-definite matrix. Therefore, the null set of Mc′′M^{\prime\prime}_{c} is empty and the matrix is always invertible, and this completes the proof \Box.

Since PP is dimensionless, the scalar γ\gamma has the dimensions of mass. Therefore, the value of γ\gamma should be comparable to that of MM to avoid any numerical pitfall in the matrix inversion — a logical choice is γ=M\gamma=\|M\|; yet, certain γ\gamma may lead to the minimum condition number of McM_{c}, which is desired for matrix inversion.

5.1.3 A Comparison of different Constraint Inertia Matrices

Theoretically, all the inverse-dynamics formulations presented here are equivalent, and they should yield the same result. However, from a numerical point of view, each has a certain advantage over the others that can lead to simplification of simulation or control. In summary,

  • McM_{c} is a p.d. matrix but not a symmetric one. If PP commutes with MM, then Mc=MM_{c}=M.

  • McM^{\prime}_{c} is a symmetric and p.d. matrix; hence it physically exhibits the characteristic of an inertia matrix. However, computing McM^{\prime}_{c} involves three additional matrix multiplication operations compared to McM_{c}.

  • Mc′′M^{\prime\prime}_{c} is an invertible matrix, but it is neither p.d. nor symmetric. Nevertheless, computing of Mc′′M^{\prime\prime}_{c} requires less computation effort compared to the others.

5.2 Constraint Force and Lagrange Multipliers

Equation (25) expresses the generalized acceleration of a constrained multibody system in a compact from without any need for computing the Lagrange multipliers. Yet, in the following we will retrieve the constraint force by projecting equation (19) onto IPI-P, that gives

=(fh)(IP)Mq¨.{\cal F}=(f_{\perp}-h_{\perp})-(I-P)M\ddot{q}.

Now, substituting the acceleration from (25) into the above equation gives

=(fh)μ(fh)μCcq˙,{\cal F}=(f_{\perp}-h_{\perp})-\mu(f_{\parallel}-h_{\parallel})-\mu C_{c}\dot{q}, (32)

where μ=(IP)α\mu=(I-P)\alpha, and α=MMc1\alpha=MM_{c}^{-1} is the ratio of the two inertia matrices.

Equation (32) implies that the constraint force can always be obtained uniquely, but this may not be true for the Lagrange multipliers. Having calculated the constraint force from (32), one may obtain the Lagrange multipliers from equation (18) through pseudo-inversion, i.e., λ=A+T+λn\lambda=A^{+T}{\cal F}+\lambda_{n} where λn𝒩(AT)\lambda_{n}\in{\cal N}(A^{T}) is the homogeneous solution. By virtue of Theorem 1, we can also say that λn(A)\lambda_{n}\in{\cal R}(A)^{\perp}. This, in turn, implies that λn\lambda_{n} is a non-zero vector only if the Jacobian matrix is rank deficient, i.e. r<mr<m—recall that r=rank(A)r=\mbox{rank}(A).

Remark 4

The vector of Lagrange multipliers can be determined uniquely iff the Jacobian matrix is full-rank. In that case, there is a one-to-one correspondence between {\cal F} and λ{\lambda}. Otherwise, the (A){\cal R}(A)^{\perp} component of the Lagrange multiplies is indeterminate.

5.3 Decoupling

Fig.1 illustrates the input/output realization of a constrained mechanical system based on (25) and (32). The input channels ff_{\parallel} and ff_{\perp} are the potent and the impotent components of the generalized input force, while the output channels are the acceleration and the constraint force, q¨\ddot{q} and {\cal F}, respectively. It is apparent form the figure that the acceleration is only affected by ff_{\parallel} and not by ff_{\perp} whatsoever. However, the constraint force output, in general, can be affected by two inputs: by ff_{\perp} directly, and by ff_{\parallel} through the cross-coupling channel μ\mu. The cross-coupling channel is disabled if the inertia matrix satisfies a certain condition which is stated in Proposition 3.

Refer to caption
Figure 1: The input/output realization of a constrained mechanical system based on decomposition of the generalized input force.
Proposition 3

The equations of the constraint force and the acceleration are completely decoupled, i.e. the cross coupling μ\mu vanishes if the null space of the constraint Jacobian is invariant under MM. That is, the inertia matrix should have this property: {x𝒩(A):Mx𝒩(A)}\{\forall x\in{\cal N}(A)\;:\;Mx\in{\cal N}(A)\}.

The proof is given in Appendix D.

Mechanical systems satisfying the condition in Proposition 3 are called decoupled constrained mechanical systems. The equation of constraint force of such a system is reduced to

=(fh)μCcq˙.{\cal F}=(f_{\perp}-h_{\perp})-\mu C_{c}\dot{q}.

In that case, the constraint force is determined exclusively by the passive input force that leads to a simple force control scheme, as will be seen in Section 7.3.

5.4 Illustrative Example and Geometrical Interpretation

Refer to caption
Figure 2: An illustrative example.

A particle of mass mm moves on a circle of radius ρ\rho; see Fig.2. Assume q=[q1q2]Tq=[q_{1}\;q_{2}]^{T} to be the generalized coordinate. The constraint equation is

Φ(q)=(q12+q22)1/2ρ=0\Phi(q)=(q_{1}^{2}+q_{2}^{2})^{1/2}-\rho=0

which yields the Jacobian and its time-derivative as A=[q1/ρq2/ρ]A=[q_{1}/\rho\;q_{2}/\rho] and A˙=[q˙1/ρq˙2/ρ]\dot{A}=[\dot{q}_{1}/\rho\;\dot{q}_{2}/\rho], and the pseudo-inverse is A+=[q1/ρq2/ρ]TA^{+}=[q_{1}/\rho\;q_{2}/\rho]^{T}. Then, from (15) we have

P=1ρ2[q22q1q2q1q2q12]=[sin2θsinθcosθsinθcosθcos2θ]P=\frac{1}{\rho^{2}}\left[\begin{array}[]{cc}q_{2}^{2}&-q_{1}q_{2}\\ -q_{1}q_{2}&q_{1}^{2}\end{array}\right]=\left[\begin{array}[]{cc}\sin^{2}\theta&-\sin\theta\cos\theta\\ -\sin\theta\cos\theta&\cos^{2}\theta\end{array}\right] (33)

Let unit vectors ϵ=[sinθcosθ]T\epsilon_{\parallel}=[-\sin\theta\;\cos\theta]^{T} and ϵ=[cosθsinθ]T\epsilon_{\perp}=[\cos\theta\;\sin\theta]^{T} represent the tangential and normal directions as shown in Fig.2. Then, from (33) we have

P=ϵϵT,IP=ϵϵT.P=\epsilon_{\parallel}\epsilon_{\parallel}^{T}\;\;,\;\;I-P=\epsilon_{\perp}\epsilon_{\perp}^{T}.

The above equations represent the geometrical interpretation of the projection operators. Note that the normal component of the acceleration, q¨=Cq˙\ddot{q}_{\perp}=C\dot{q}, which can be interpreted as the Centripetal acceleration, is given by

Cq˙\displaystyle C\dot{q} =\displaystyle= 1ρ2[q1(q˙12+q˙22)q2(q˙12+q˙22)]\displaystyle-\frac{1}{\rho^{2}}\left[\begin{array}[]{c}q_{1}(\dot{q}_{1}^{2}+\dot{q}_{2}^{2})\\ q_{2}(\dot{q}_{1}^{2}+\dot{q}_{2}^{2})\end{array}\right] (36)
=\displaystyle= q˙2ρϵ=ρθ˙2ϵ\displaystyle-\frac{\|\dot{q}\|^{2}}{\rho}\epsilon_{\perp}=-\rho\dot{\theta}^{2}\epsilon_{\perp} (37)

Let ff denote the external force applied on the particle. Observe that the decomposition of the force is aligned with the tangential and the normal directions to the circular trajectory shown in Fig.2. Finally, we arrive at the following set of dynamics equations:

mq¨=fm\ddot{q}=f_{\parallel}
=f+mq˙2ρϵ{\cal F}=f_{\perp}+m\frac{\|\dot{q}\|^{2}}{\rho}\epsilon_{\perp}

6 Simulation of Constrained Multibody Systems

To simulate the dynamics of a constrained multibody system, one can make use of the acceleration model in (25). Having computed the generalized acceleration from the equation, one may proceed a simulation by integrating the acceleration to obtain the generalized coordinates. However, the integration inevitably leads to drift that eventually results in a large constraint error. Baumgarte’s stabilization term [35] is introduced to ensure exponential convergence of the constraint error to zero. However, this creates a very fast dynamics which tends to slow down the simulation. In this section, we use the pseudo-inverse for correcting the generalized coordinate in order to maintain the constraint condition precisely. It should be noted that using the pseudo-inverse here does not impose any extra computation burden, because the pseudo-inverse has to be obtained to compute the acceleration anyway.

Having obtained the velocity through integrating the acceleration, one may obtain the generalized coordinate by integration

{q}t={q}tΔT+tΔTtq˙𝑑τ,\{q\}_{t}=\{q\}_{t-\Delta T}+\int_{t-\Delta T}^{t}\dot{q}d\tau, (38)

where ΔT\Delta T depicts integration time step. However, the constraint condition may be violated slightly because of integration drift. Let q0q_{0} denote the coordinate after a few integration steps and Φ(q0)0\Phi(q_{0})\neq 0. Now, we seek a small compensation in the generalized coordinate δq=qq0\delta q*=q^{*}-q_{0} such that the constraint condition is satisfied: that is, a set of nonlinear equations Φ(q)=0\Phi(q^{*})=0 must be solved in terms of qq^{*}. The Newton-Raphson method solves a set of nonlinear equations iteratively based on linearized equations.

The constraint equation can be written by the first order approximation as

Φ(q0+δq)=Φ(q0)+Aδq+𝒪(δq2)=0\Phi(q_{0}+\delta q)=\Phi(q_{0})+A\delta{q}+{\cal O}(\delta q^{2})=0

Neglecting the 𝒪(δq2){\cal O}(\delta q^{2}) term, one can obtain the solution of the linear system using any generalized inverse of the Jacobian. The pseudo-inverse yields the minimum-norm solution, i.e., minAδq=Φ(q0)δq\min_{A\delta{q}=-\Phi(q_{0})}\|{\delta q\|}. Therefore, the following loop

qk+1=qkA+Φ(qk)q_{k+1}=q_{k}-A^{+}{\Phi}(q_{k}) (39)

may be worked out iteratively until the error in the constraint falls into an acceptable tolerance, e.g. Φϵ\|{\Phi}\|\leq\epsilon.

The condition for local convergence of multi-dimensional Newton-Raphson (NR) iteration can found, e.g., in [73, 74, 31]. Although it is known that NR iteration will not always converge to a solution, the convergence is guaranteed if the initial approximation is close enough to a solution [73, 74].

Theorem 3

[73] Assume that Φ\Phi is differentiable in an open set Ωn\Omega\subset\mathbb{R}^{n}, i.e., the Jacobian matrix AA exists, and that AA is Lipschitz continuous. Also assume that a solution qΩq^{*}\in\Omega exists, and that A(q)A(q^{*}) is nonsingular. Then under these assumptions, if the initial start point is sufficiently close to the solution, the convergence is quadratic, that is K>0\exists K>0 such that

Φ(qk+1)KΦ(qk)2.\|\Phi(q_{k+1})\|\leq K\|\Phi(q_{k})\|^{2}.

One can expect that the drift, and hence the inial constraint error, can be reduced by decreasing the integration time step. It should be pointed out that the iteration loop (39) corrects the error in constraint coordinate caused by the integration process. Since the drifting error within a single integration time step ΔT\Delta T is quite small, the initial estimate given by (38) cannot be far from the exact solution. Therefore, as shown by experiments, a fast convergence is achieved even though the iteration loop (39) is called once every few time steps.

Finally, the simulation of a constrained mechanical system based on the projection method can be proceeded in the following steps:

  1. i.

    compute the acceleration from equation (25).

  2. ii.

    obtain the states {q,q˙}\{q,\dot{q}\} as a result of numerical integration of the acceleration.

  3. iii.

    in the case constraint error exceeds the tolerance, carry out iteration (39), upon convergence or counting the maximum number of iterations go to step(1).

7 Control of Constrained Multibody Systems.

In this section we discuss the position and/or force control of constrained multibody systems based on the proposed dynamics formulation. The I/O realization of a constrained mechanical system is depicted in Fig.1, which will be used subsequently as a basis for development of control algorithm. In fact, the topology of a control system can be inferred from the figure by considering the decomposed components of the generalized input force, ff_{\parallel} and ff_{\perp}, as the corresponding control inputs for position and force feedback loops.

Due to the decoupled nature of the acceleration channel, an independent position feedback loop can be applied. The input channel ff_{\perp} is directly transmitted to the constraint force, ff_{\parallel}, and the velocity enters as a disturbance and hence must be compensated for in a feedforward loop. Note that in the case of decoupled mechanical systems, where the cross-coupling channel vanishes, ff_{\perp} exclusively determines the constraint force.

7.1 Motion Control Using Projected Inverse-Dynamics Control

Due to presence of only rr independent constraints, the actual number of degrees of freedom of the system is reduced to knrk\leq n-r. Thus, in principle, there must be kk independent coordinates θk\theta\in\mathbb{R}^{k} from which the generalized coordinates can be derived, i.e., q=ψ(θ)q=\psi(\theta). Now, differentiation of the given function with respect to time gives

q˙=Λθ˙,\dot{q}=\Lambda\dot{\theta}, (40)
q¨=Λθ¨+Λ˙θ˙,\ddot{q}=\Lambda\ddot{\theta}+\dot{\Lambda}\dot{\theta}, (41)

where Λ=ψ/θn×k\Lambda=\partial\psi/\partial\theta\in\mathbb{R}^{n\times k}. Since θ(q)=[θ1(q),,θk(q)]T\theta(q)=[\theta_{1}(q),\cdots,\theta_{k}(q)]^{T} constitutes a set of independent functions, the Jacobian matrix Λ\Lambda must be of full rank. (The proof is in Appendix E.). It is also important to note that any admissible function ψ()\psi(\cdot) must satisfy the constraint condition, i.e.,

Φ(ψ(θ))=0θk.\Phi(\psi(\theta))=0\;\;\;\;\;\;\;\;\forall\theta\in\mathbb{R}^{k}.

Using the chain-rule, one can obtain the time-derivative of the above equation

Φqψθθ˙=AΛθ˙=0θ˙k.\frac{\partial\Phi}{\partial q}\;\frac{\partial\psi}{\partial\theta}\dot{\theta}=A\Lambda\dot{\theta}=0\;\;\;\;\;\;\;\forall\dot{\theta}\in\mathbb{R}^{k}. (42)

Since Λ\Lambda is a full-rank matrix, the only possibility for (42) to happen is that

(Λ)=𝒩(A){\cal R}(\Lambda)={\cal N}(A) (43)

Substituting the acceleration from (41) into the inverse-dynamics equation (21) gives the dynamics in terms of the reduced-dimensional coordinate

PM(Λθ¨+Λ˙θ˙)=fhPM(\Lambda\ddot{\theta}+\dot{\Lambda}\dot{\theta})=f_{\parallel}-h_{\parallel} (44)

Let {θd(t),θ˙d(t),θ¨d(t)}\{\theta_{d}(t),\dot{\theta}_{d}(t),\ddot{\theta}_{d}(t)\} denote the desired trajectory of the new coordinates. Now, we propose the projected inverse-dynamics control (PIDC) law as follow

fc=h+PMup,f_{\parallel}^{c}=h_{\parallel}+PMu_{p}, (45)

where upu_{p} is an auxiliary control input as

up=Λ˙θ˙+Λ(θ¨d+GDe˙p+GPep),u_{p}=\dot{\Lambda}\dot{\theta}+\Lambda(\ddot{\theta}_{d}+G_{D}\dot{e}_{p}+G_{P}e_{p}), (46)

ep=θdθe_{p}={\theta}_{d}-{\theta} is the position tracking error, and GP>0G_{P}>0 and GD>0G_{D}>0 are the PD feedback gains. In the following, superscript cc is used to denote control input.

Theorem 4

While demanding minimum-norm control input, the projected inverse-dynamics control law (45)-(46) stabilizes the position tracking error, i.e. θ(t)θd(t)ast\theta(t)\rightarrow\theta_{d}(t)\;\;\;\mbox{as}\;\;\;\;t\rightarrow\infty.

Proof: Firstly, we prove exponential stability of the position error. From equations (44) – (46), one can conclude that the proposed control law leads to the following equation for the tracking error

PMΛ[e¨p+GDe˙p+GPep]=0.PM\Lambda\left[\ddot{e}_{p}+G_{D}\dot{e}_{p}+G_{P}e_{p}\right]=0. (47)

To show that the expression within the bracket is zero, we need to show that the matrix PMΛPM\Lambda is full-rank. In the following we will show that the matrix cannot have any null space and hence is full rank. If the matrix has a null space, then x0PMΛx=0\exists x\neq 0\;\ni\;PM\Lambda x=0. Let us define ξ=Λx\xi=\Lambda x. Recall that Λ\Lambda is a full-rank matrix and that (Λ)=𝒩(A){\cal R}(\Lambda)={\cal N}(A)—see (40). Hence, ξ0\xi\neq 0 and ξ𝒩\xi\in{\cal N}. On other hand, PMξ=0PM\xi=0 implies that Mξ𝒩(A)M\xi\in{\cal N}(A)^{\perp}, and hence it is perpendicular to ξ\xi, i.e. ξTMξ=0\xi^{T}M\xi=0. But, this is a contradiction because MM is a p.d. matrix. Consequently, 𝒩(PMΛ)={\cal N}(PM\Lambda)=\emptyset, and it follows from (47) that

e¨p+GDe˙p+GPep=0.\ddot{e}_{p}+G_{D}\dot{e}_{p}+G_{P}e_{p}=0.

Hence, the error dynamics can be stabilized by selecting adequate gains, that is θθdast\theta\rightarrow\theta_{d}\;\;\;\mbox{as}\;\;\;\;t\rightarrow\infty. Moreover, due to orthogonality of the decomposed generalized input force, we can say

fc2=fc2+fc2.\|f^{c}\|^{2}=\|f_{\parallel}^{c}\|^{2}+\|f_{\perp}^{c}\|^{2}.

From the above norm relation, it is clear that fcf_{\parallel}^{c} is the minimum norm solution, since any other solution must have a component in fcf_{\perp}^{c} and this would increase the overall norm. Therefore, setting fc=0f_{\perp}^{c}=0 results in minimum norm of generalized input force subjected to producing the desired motion, i.e.,

fc=fcminθ(t)θd(t)fc.f^{c}=f_{\parallel}^{c}\;\;\Longleftrightarrow\;\;\min_{\theta(t)\rightarrow\theta_{d}(t)}\|f^{c}\|. (48)

\Box

7.2 Elements of Generalized Coordinate with Inhomogeneous Units

So far, we have assumed that the elements of the generalized velocity and the generalized input force have homogeneous units. Otherwise the minimum-norm solution of the generalized force, (48), makes no physical sense if the manipulator has both revolute and prismatic joints. In this section, we assume the vector of the generalized force to have a combination of force and torque components, and the vector of the generalized velocity with of rotational and translational components. As mentioned in Section 2.1.1, the minimization solution is not invariant with respect to changes in measure units if there is inhomogeneity of units in the spaces of the force and the velocity [75, 76]. To go around the quandary of inhomogeneous units, one can introduce a p.d. weight matrix by which the coordinates of the force vector is changed to

fW=W1/2ff_{W}=W^{-1/2}f

Note that the corresponding change of coordinates for the velocity is q˙W=W1/2q˙\dot{q}_{W}=W^{1/2}\dot{q} in order to preserve the force-velocity product (by virtue of (17)). Therefore, the metric tensors for the force and velocity vectors are W1W^{-1} and WW, respectively. The inertia matrix and the Jacobian with respect to the new coordinates are MW=W1/2MW1/2M_{W}=W^{-1/2}MW^{-1/2} and AW=AW1/2A_{W}=AW^{-1/2}. Since q˙W\dot{q}_{W} and fWf_{W} and the corresponding projection matrix PW=IAW+AWP_{W}=I-A^{+}_{W}A_{W}, where AW+=[AW1/2]+A_{W}^{+}=[AW^{-1/2}]^{+}, is always dimensionless and, hence, invariant under the measure units chosen. The new force and velocity vectors have homogeneous units if the weight matrix is properly defined. Therefore, replacing the new parameters, which are now dimensionally consistent, in the optimal control (45) minimizes fW\|f_{W}\| or equivalently minimizes the weighted Euclidean norm of the generalized input force, i.e.,

fW=(fTW1f)1/2.\|f\|_{W}=(f^{T}W^{-1}f)^{1/2}. (49)

A quiet direct structure for WW is the diagonal one, i.e.,

W=[κ2I00I],W=\left[\begin{array}[]{cc}\kappa^{-2}I&0\\ 0&I\end{array}\right], (50)

where κ\kappa is a length, by which we divide the translational-velocity (or multiply the force). Using this length is tantamount to the weighted norm as

fW=(κ2ff2+ft2)1/2,\|f\|_{W}=(\kappa^{2}\|f_{f}\|^{2}+\|f_{t}\|^{2})^{1/2},

where the added terms are homogeneous, and fff_{f} and ftf_{t} are the force and the torque components of ff. It is worth pointing out that a characteristic length that arises naturally in the analysis and leads to invariant results was proposed in [77, 78].

Alteratively, the weight matrix can be selected according to some engineering specifications. For instance, assume that the maximum force and torque generated by the actuators are limited to ffmaxf_{fmax} and ftmaxf_{tmax}. Then, choosing W1/2=diag{ffmax,ftmax}W^{1/2}=\mbox{diag}\{f_{fmax},f_{tmax}\} leads to the minimization of this cost function

(ffffmax2+ftftmax2)1/2,(\|\frac{f_{f}}{f_{fmax}}\|^{2}+\|\frac{f_{t}}{f_{tmax}}\|^{2})^{1/2},

which, in a sense, takes the saturation of the actuators into account.

7.3 Control of Constraint Force

The motion controller proposed in 7.1 works well for mechanical systems with bilateral constraint. On the other hand, since the proposed controller doesn’t guarantee that the sign of the constraint force will not change, a unilateral constraint condition may not be physically maintained under the control law. In this case, controlling the constraint force is a necessity.

Suppose that d{\cal F}_{d} represents desired constraint force which can be derived from the desired Lagrange multipliers λd\lambda_{d} using

d=ATλd.{\cal F}_{d}=A^{T}\lambda_{d}.

Then, considering fcf_{\perp}^{c} as a control input, we propose the following control law

fc=h+μ(fh+Cq˙)+u,f_{\perp}^{c}=h_{\perp}+\mu(f_{\parallel}-h_{\parallel}+C\dot{q})+u_{\cal F}, (51)

where uu_{\cal F} is the auxiliary control input which is traditionally chosen as

u=d+GFef+GI0tefdτ,u_{\cal F}={\cal F}_{d}+G_{F}e_{f}+G_{I}\int_{0}^{t}e_{f}\mbox{d}\tau, (52)

in which ef=de_{f}={\cal F}_{d}-{\cal F} is the force error, and GF>0G_{F}>0 and GI>0G_{I}>0 are the PI feedback gains. It should be pointed out that the integral term is not necessary, but it improves the steady-state error. From (32), (51), and (52), one can obtain the error dynamics as

(GF+1)e˙f+GIef=0,(G_{F}+1)\dot{e}_{f}+G_{I}e_{f}=0,

which will be stable provided that the gains are positive definite, i.e., ef0e_{f}\rightarrow 0\; as t\;t\rightarrow\infty. Define eλ=λdλe_{\lambda}=\lambda_{d}-\lambda, and ef=ATeλe_{f}=A^{T}e_{\lambda}. Then,

σ¯(A)eλef,\underline{\sigma}(A)\|e_{\lambda}\|\leq\|e_{f}\|, (53)

where σ¯(A)\underline{\sigma}(A) is the minimum singular value of the Jacobian, i.e.,

σ¯(A)=(mineignvalueATA)1/2.\underline{\sigma}(A)=\;\;\left(\min_{eignvalue}A^{T}A\right)^{1/2}.

Therefore, one can conclude tracking of the Lagrange multipliers, i.e. eλ0e_{\lambda}\rightarrow 0\; as t\;t\rightarrow\infty, if the Jacobian is full rank or σ¯(A)0\underline{\sigma}(A)\neq 0.

Remark 5

The constraint force {\cal F} is always controllable, while the Lagrange multipliers are controllable only if the Jacobian matrix is of full rank.

It is worth mentioning that, unlike the traditional motion/force control schemes, which lead to coupled dynamics of force error and position error, our formulation yields two independent error equations. This is an advantage, because the motion control can be achieved regardless of the force control and vice versa. To this end, a hybrid motion/force control law can be readily obtained by combining (45) and (51),

fc\displaystyle f^{c} =\displaystyle= fc+fc\displaystyle f_{\parallel}^{c}+f_{\perp}^{c}
=\displaystyle= h+μCq˙+(I+μ)PMup+u.\displaystyle h+\mu C\dot{q}+(I+\mu)PMu_{p}+u_{\cal F}.

7.4 Control of Constrained Mechanical Systems with Passive Joints

Some constrained mechanical systems, e.g., parallel manipulators, have joints without any actuators. The joints with and without actuators are called active joints and passive joints, respectively. In this section, we use the notion of the linear projection operator to generalize the inverse-dynamics control scheme for constrained mechanical systems with passive joints. Assuming there are pp active joints (and npn-p passive joints), the generalized input force has to have this form

fc=[f1cfpc00]}active joints}passive joints.f^{c}=\left[\begin{array}[]{c}f^{c}_{1}\\ \vdots\\ f^{c}_{p}\\ 0\\ \vdots\\ 0\end{array}\right]\!\!\!\!\!\!\!\!\!\!\begin{array}[]{l}{\left.\begin{array}[]{c}\\ \\ \\ \end{array}\right\}\mbox{active joints}}\\ {\left.\begin{array}[]{c}\\ \\ \\ \end{array}\right\}\mbox{passive joints}}\end{array}.

This implies that any admissible generalized force should satisfy

fc(B)=,andB=[Ip000],f^{c}\in{\cal R}(B)={\cal B},\;\;\;\;\mbox{and}\;\;\;\;B=\left[\begin{array}[]{cc}I_{p}&0\\ 0&0\end{array}\right], (55)

where IpI_{p} is a p×pp\times p identity matrix. Note that BB is a projection onto the actuator space {\cal B}, i.e., B2=BB^{2}=B and Bfc=fcBf^{c}=f^{c}.

Now, we need to modify the motion control law (45) so that the condition in (55) is fulfilled. If 𝒩(A)(B){\cal N}(A)\subseteq{\cal R}(B), then (55) is automatically satisfied by choosing fc=fcf^{c}=f_{\parallel}^{c}. Otherwise, we need to add a 𝒩{\cal N}^{\perp} component, say fcf_{\perp}^{c}, to fcf_{\parallel}^{c} so that fc=fc+fc(B)f^{c}=f^{c}_{\parallel}+f^{c}_{\perp}\in{\cal R}(B). Since fcf_{\perp}^{c} does not affect the system motion at all, the motion tracking performance is preserved by that enhancement—albeit control of constraint force may no longer be achievable. Let us assume

fc=(IP)η,f_{\perp}^{c}=(I-P)\eta, (56)

where ηn\eta\in\mathbb{R}^{n}. Then, we seek η\eta such that

fc(B)\displaystyle f^{c}\in{\cal R}(B) \displaystyle\Leftrightarrow (IB)fc=0\displaystyle(I-B)f^{c}=0 (57)
\displaystyle\Leftrightarrow (IB)(fc+(IP)η)=0\displaystyle(I-B)(f_{\parallel}^{c}+(I-P)\eta)=0
\displaystyle\Leftrightarrow Qη=(IB)fc\displaystyle Q\eta=-(I-B)f_{\parallel}^{c}

where Q=IBP+BPQ=I-B-P+BP. Consider η\eta as the unknown variable in (57). A solution exits if the RHS of (57) belongs to the range of QQ, i.e.,

((IB)P)((IB)(IP)).{\cal R}((I-B)P)\subseteq{\cal R}((I-B)(I-P)). (58)

Then, the particular solution can be found via pseudo-inversion, i.e.,

η=Q+(IB)fc.\eta=-Q^{+}(I-B)f_{\parallel}^{c}. (59)

The above equation yields the minimum-norm solution, i.e., minimum η\|\eta\|, which eventually minimizes the actuation force. Equations (56) and (59) give

fc=Hfcf_{\perp}^{c}=Hf_{\parallel}^{c} (60)

where

H=(IP)Q+(IB).H=-(I-P)Q^{+}(I-B). (61)

Finally, we arrive at the following control law for constrained mechanical systems with passive joints

fc=(I+H)fc,f^{c}=(I+H)f_{\parallel}^{c}, (62)

with fcf_{\parallel}^{c} derived from (45).

7.4.1 Minimum-norm Torque

A simple argument shows that the torque-control law (62), assuming the existence of a solution, yields a minimum-norm torque. Knowing that IP=1\|I-P\|=1, we have

fc2\displaystyle\|f^{c}\|^{2} =\displaystyle= fc2+(IP)η2\displaystyle\|f_{\parallel}^{c}\|^{2}+\|(I-P)\eta\|^{2} (63)
\displaystyle\leq fc2+η2,\displaystyle\|f_{\parallel}^{c}\|^{2}+\|\eta\|^{2},

where both norms in the RHS of (63) are minimum.

7.4.2 Controllability

Because the existence of a solution is tantamount to the controllability condition of constrained mechanical systems under the proposed control law, it is important to find out when a solution to (57) exists, It can be inferred from (58) that

controllability cond.𝒩𝒩.\mbox{controllability cond.}\Leftrightarrow{\cal N}\cap{\cal B}^{\perp}\subseteq{\cal N}^{\perp}\cap{\cal B}^{\perp}. (64)

In general, the proposed control method for systems with passive joints works only if there exist sufficient number of active joints. Since occurrence of the singularities gives rise to the number of dof, the system under control law may no longer be controllable if there are not enough active joints. For instance, mechanical systems without any constraints at all cannot be controlled unless all joints are actuated. This is because no-constraint means that 𝒩={\cal N}^{\perp}=\emptyset or 𝒩n{\cal N}\in\mathbb{R}^{n}; hence, according to (64), a controllable system requires that n=\mathbb{R}^{n}\cap{\cal B}^{\perp}\subseteq\emptyset\Rightarrow{\cal B}^{\perp}=\emptyset, which means there can be no passive joints.

Also, it is worth pointing out that choosing 𝒩{\cal N}\subseteq{\cal B} trivially results in a controllable system.

8 A Slider-Crank Case Study

Refer to caption
Figure 3: A slider-crank mechanism.

In this section, we describe the results obtained from applying the proposed inverse and direct dynamics formulations for simulation and control of a slider-crank mechanism, Fig.3A. Assume that the dimension of the crank and the connecting rod are the same. Then, singular configurations occur at

q1=nπ2n=±1,±2,,q_{1}=\frac{n\pi}{2}\;\;\;\;\ n=\pm 1,\pm 2,\cdots, (65)

see Fig.3B.

8.1 Equations of Direct Dynamics

As shown in Fig.3C, the closed-loop is cut in the right hand support, i.e., at joint C. Let’s vector q=[q1q2]Tq=[q_{1}\;q_{2}]^{T} denote the joint angles. Then, the vertical position of the point C is

yC(q)=l(s1+s12),y_{C}(q)=l(s_{1}+s_{12}), (66)

where ll is the length of linkage. In the sequel, cic_{i},c12c_{12},sis_{i},s12s_{12} are shorthanded for cosqi\cos q_{i}, cos(q1+q2)\cos(q_{1}+q_{2}), sinqi\sin q_{i}, and sin(q1+q2)\sin(q_{1}+q_{2}) according to the notation in [79]. The vertical translation motion of point C is prohibited by imposing the following scleronomic constraint equation

Φ(q)=yC(q)=0\Phi(q)=y_{C}(q)=0 (67)

Now, derivation of the direct dynamics may proceed as the following steps:

Step 1: Obtain the dynamic parameters of the open chain system Fig.3C (this is similar to the two-link manipulator case study in [79]) as

M=ml2[3+2c21+c21+c21]M=ml^{2}\left[\begin{array}[]{cc}3+2c_{2}&1+c_{2}\\ 1+c_{2}&1\end{array}\right]
h=[ml2s2(q˙22+2q˙1q˙2)+mlg(c12+2c1)ml2s2q˙12+mlgc12]h=\left[\begin{array}[]{c}-ml^{2}s_{2}(\dot{q}^{2}_{2}+2\dot{q}_{1}\dot{q}_{2})+mlg(c_{12}+2c_{1})\\ ml^{2}s_{2}\dot{q}^{2}_{1}+mlgc_{12}\end{array}\right] (68)

where mm represent the mass of the link.

Step 2: Compute the projection matrix corresponding to the constraint equation (67). The Jacobian of the constraint is

A=l[c1+c12c12].A=l\left[\begin{array}[]{cc}c_{1}+c_{12}&c_{12}\end{array}\right]. (69)

The projection matrix can be computed numerically (e.g. using the SVD of DSP Blockset in Matlab/Simulink [70]). Nevertheless, we obtain PP in a closed form for this particular illustration to have some insight into how the SVD handles singularities. Since q2=2π2q1q_{2}=2\pi-2q_{1}, the Jacobian matrix (69) can be simplified as A=lc1[2  1]A=lc_{1}[2\;\;1] whose singular value is trivially σ(A)=5l|c1|\sigma(A)=\sqrt{5}l|c_{1}|. The SVD algorithm treats all singular values less that ϵ\epsilon as zeros, i.e., A+=0A^{+}=0 if |c1|<ϵ/l5|c_{1}|<\epsilon/l\sqrt{5}. Hence

P={[1/52/52/54/5]if|c1|<ϵl5IotherwiseP=\left\{\begin{array}[]{cl}{\left[\begin{array}[]{cc}1/5&-2/5\\ -2/5&4/5\end{array}\right]}&{\;\;\;\;\mbox{if}\;\;\;\;|c_{1}|<\frac{\epsilon}{l\sqrt{5}}}\\ I&{\;\;\;\;\mbox{otherwise}}\end{array}\right. (70)

This indicates the constraint is virtually removed if the system is sufficiently closed to the singular configurations (65).

Step 3: Now, assuming γ=ml2\gamma=ml^{2}, one can compute the constraint inertia matrix from (29) as

Mc′′=ml2[1(1+c2)/50(32c2)/5]if|c1|<ϵl5,M^{\prime\prime}_{c}=ml^{2}\left[\begin{array}[]{cc}1&(1+c_{2})/5\\ 0&(3-2c_{2})/5\end{array}\right]\;\;\;\;\mbox{if}\;\;\;\;|c_{1}|<\frac{\epsilon}{l\sqrt{5}}, (71)

and Mc=MM^{\prime}_{c}=M at the singular positions—note that det(Mc)=m2l4(32c2)/50\det(M^{\prime}_{c})=m^{2}l^{4}(3-2c_{2})/5\neq 0. Also, note that C0C\equiv 0 for this example. Finally, plugging PP and McM^{\prime}_{c} from (70) and (71) into (22) yields the direct dynamics of the slider-crank mechanism.

Conclusion

A unified formulation applicable to both the direct dynamics (simulation) and inverse-dynamics (control) of constrained mechanical systems has been presented. The approach is based on projecting the Lagrangian dynamic equations into the tangent space with respect to the constraint manifold. This automatically eliminates the constraint forces from the equation, albeit the constraint forces can be then retrieved separately from dynamics projection into the normal space.

The novelty of the formulation lies in the definition of the projector operators which, unlike in the other formulations, are square matrices of order equal to the number of dependent coordinates. Therefore, the structure of the dynamics formulation doesn’t change if the system changes its degree-of-freedom or its topology. Moreover, since the process of computing projection operator is not conditioned upon the maximal rank of the Jacobian, the direct and the inverse-dynamics formulation are valid also for mechanical systems with redundant constraints and/or singular configurations, which is unattainable with many other classical approaches.

A motion control system has been developed based on the projected inverse-dynamics control which, minimizes actuation force, and also works for systems having unactuated joints (passive joints). To this end, a hybrid motion/force controller was developed.

In summary, particular features of the proposed formulation associated with simulation and control of constrained mechanical systems are listed below:

  • A simulation may proceed even with presence of redundant constraint equations and/or singular configurations. With the same token, the projected inverse-dynamics motion controller can cope with changes in the system’s constraint topology or number of degrees-of-freedom.

  • The generalized formulation requires no knowledge of the constraint topology, i.e., description of how subassemblies are connected, and it works for rigid-body or flexible systems alike.

  • The inverse-dynamics control scheme leads to minimum weighted Euclidean norm of control force input.

  • The inverse-dynamics control scheme can be applied for constrained systems which has some joints with no actuator.

  • If the inertia matrix posses a certain property as stated in Proposition 3, the system exhibits decoupling which leads to further simplification of the force control.

  • Redundant and flexible manipulators can be dealt with.

Appendix A

Note that AT:mnA^{T}:\mathbb{R}^{m}\rightarrow\mathbb{R}^{n}. Then x(AT)\forall x\in{\cal R}(A^{T})^{\perp} and ym\forall y\in\mathbb{R}^{m}, we have

<x,ATy>=0\displaystyle<x,A^{T}y>=0 (72)
\displaystyle\Leftrightarrow xT(ATy)=yTAx=0ym\displaystyle x^{T}(A^{T}y)=y^{T}Ax=0\;\;\;\;\;\forall y\in\mathbb{R}^{m}
\displaystyle\Leftrightarrow Ax=0\displaystyle Ax=0
\displaystyle\Leftrightarrow x𝒩(A)\displaystyle x\in{\cal N}(A)

where the inference (A) is concluded because (72) implies that vector AxAx must be orthogonal to every vector in m\mathbb{R}^{m}, and this is possible only if vector AxAx is identically zero. Thus (2) is proved. The proof of (3) can be shown by similar argument.

Appendix B

Assuming that the Lagrange multipliers is known, the acceleration can be carried out from equation (19)

q¨=M1(fhATλ)\ddot{q}=M^{-1}(f-h-A^{T}\lambda) (74)

Substituting the acceleration from (74) into the second differentiation of the constraint equation

Aq¨+A˙q˙=0A\ddot{q}+\dot{A}\dot{q}=0

gives the Lagrange multipliers as

λ=(AM1AT)1[AM1(fh)+A˙q˙+c˙].\lambda=(AM^{-1}A^{T})^{-1}\left[AM^{-1}(f-h)+\dot{A}\dot{q}+\dot{c}\right]. (75)

This methods works only if the Cartesian inertia matrix =(AM1AT){\cal M}=(AM^{-1}A^{T}) is not singular. Finally, substituting (75) to (74) yields the acceleration.

Appendix C

Lemma 1

The subspace 𝒲{\cal W} is invariant under an invertible transformation 𝒜{\cal A} if and only if the subspace is invariant under 𝒜1{\cal A}^{-1}.

Proof: By definition, 𝒲{\cal W} is an invariant subspace under 𝒜{\cal A} iff 𝒜𝒲𝒲{\cal A}{\cal W}\subseteq{\cal W}. Moreover, the invertible mapping 𝒜{\cal A} cannot reduce the dimension of any subspace, that is dim(𝒜𝒲)=dim(𝒲)\mbox{dim}({\cal A}{\cal W})=\mbox{dim}({\cal W}) , hence 𝒜𝒲=𝒲{\cal A}{\cal W}={\cal W}. It follows

𝒜𝒲=𝒲𝒜1𝒲=𝒲,{\cal A}{\cal W}={\cal W}\;\Leftrightarrow\;{\cal A}^{-1}{\cal W}={\cal W},

which completes the proof \Box.

Appendix D

It is apparent from Fig.1 that the decoupling is achieved iff

μP=(IP)αP=0,\mu P=(I-P)\alpha P=0, (76)

which implies the null space must be invariant under α\alpha. Since α\alpha is an invertible mapping, it can be inferred from Lemma 1 (see Appendix C) that the null space must be invariant under α1\alpha^{-1} too. Thais means that (76) is equivalent to (IP)α1P=0(I-P)\alpha^{-1}P=0. Now, replacing McM_{c} from (23) into the latter equation and after factorization, one can infer the followings

decoupling \displaystyle\Leftrightarrow (IP)[(M+M~)M1]P=0\displaystyle(I-P)[(M+\tilde{M})M^{-1}]P=0
\displaystyle\Leftrightarrow [(IP)MP][M1P]=0\displaystyle[(I-P)MP][M^{-1}P]=0
\displaystyle\Leftarrow (IP)MP=0\displaystyle(I-P)MP=0

which completes the proof.

Appendix E

Since θT=[θ1(q),,θk(q)]\theta^{T}=[\theta_{1}(q),\cdots,\theta_{k}(q)] is a set of independent functions, the corresponding Jacobian matrix is full rank, i.e., rank(θq)=k\mbox{rank}(\frac{\partial\theta}{\partial q})=k. Moreover, by using the chain-rule, we have Λθq=Ik\Lambda\frac{\partial\theta}{\partial q}=I_{k}, where IkI_{k} is a k×kk\times k identity matrix. Now, by virtue of the property of the rank operator 111rank(AB)min[rank(A),rank(B)]\mbox{rank}(AB)\leq\min[\mbox{rank}(A),\mbox{rank}(B)], one can say

min[rank(Λ),k]k,\min[\mbox{rank}(\Lambda),k]\leq k,

or

rank(Λ)=k.\mbox{rank}(\Lambda)=k.

References

  • [1] F. Aghili, “A unified approach for inverse and direct dynamics of constrained multibody systems based on linear projection operator: Applications to control and simulation,” IEEE Trans. on Robotics, vol. 21, no. 5, pp. 834–849, Oct. 2005.
  • [2] O. Khatib, “A unified approach for motion and force control of robot manipulators: The operational space formulation,” vol. RA-3, no. 1, pp. 43–53, 1987.
  • [3] F. Aghili and K. Parsa, “A reconfigurable robot with lockable cylindrical joints,” IEEE Trans. on Robotics, vol. 25, no. 4, pp. 785–797, August 2009.
  • [4] M. H. Raibert and J. J. Craig, “Hybrid position/force control of manipulators,” ASME Journal of Dynamic Systems, Measurement, and Control, vol. 102, pp. 126–133, Jun. 1981.
  • [5] T. Yoshikawa, “Dynamic hybrid position/force control of robot manipulators-description of hand constraints and calculation of joint driving force,” vol. RA-3, no. 5, pp. 386–392, Oct. 1987.
  • [6] F. Aghili, “Inverse and direct dynamics of constrained multibody systems based on orthogonal decomposition of generalized force,” in IEEE Int. Conf. on Robotics & Automation, Taipei, Taiwan, 2003, pp. 4035–4041.
  • [7] T. Yoshikawa, T. Sugie, and M. Tanaka, “Dynamic hybrid Position/Force control of robot manipulators – controller design and experiment,” IEEE J. of Robotics and Automation, vol. 4, pp. 699–705, 1988.
  • [8] J.-C. Piedbœuf, J. de Carufel, F. Aghili, and E. Dupuis, “Task verification facility for the Canadian special purpose dextrous manipulator,” in IEEE Int. Conf. on Robotics & Automation, Detroit, Michigan, May 10–15 1999, pp. 1077–1083.
  • [9] N. H. McClamroch and D. Wang, “Feedback stabilization and tracking in constrained robots,” IEEE Trans. on Automation Control, vol. 33, pp. 419–426, 1988.
  • [10] F. Aghili and J.-C. Piedbœuf, “Simulation of motion of constrained multibody systems based on projection operator,” Journal of Multibody System Dynamics, vol. 10, pp. 3–16, 2003.
  • [11] F. Aghili and J.-C. Piedboeuf, “Emulation of robots interacting with environment,” IEEE/ASME Trans. on Mechatronics, vol. 11, no. 1, pp. 35–46, Feb. 2006.
  • [12] Y. R. Hu and A. A. Goldenberg, “Dynamic control of coordinated redundant robots with torque optimization,” vol. 29, no. 6, 1993.
  • [13] M. Namvar and F. Aghili, “Adaptive force-motion control of coordinated robots interacting with geometrically unknown environments,” IEEE Trans. on Robotics, vol. 21, no. 4, pp. 678–694, Aug. 2005.
  • [14] J. H. Jean and L. C. Fu, “An adaptive control scheme for coordinated multimanipulator systems,” IEEE Trans. Robotics and Automation, vol. 9, no. 2, pp. 226–231, 1993.
  • [15] F. Aghili, “Adaptive control of manipulators forming closed kinematic chain with inaccurate kinematic model,” IEEE/ASME Trans. on Mechatronics, vol. 18, no. 5, pp. 1544–1554, October 2013.
  • [16] M. Namvar and F. Aghili, “Adaptive control of cooperative robots interacting with a geometrically unknown environment,” in IEEE Int. Conference on Robotics & Automation, New Orleans, USA, 2004.
  • [17] F. Aghili, “Robust impedance control of manipulators carrying heavy payload,” ASME Journal of Dynamic Systems, Measurements, and Control, vol. 132, September 2010.
  • [18] A. B. A. Cole, J. E. Hauser, and S. S. Sastry, “Kinematics and control of multifingered hands with rolling contact,” IEEE Transactions on Automatic Control, vol. 34, no. 4, pp. 398–404, Apr 1989.
  • [19] F. Aghili, “A prediction and motion-planning scheme for visually guided robotic capturing of free-floating tumbling objects with uncertain dynamics,” IEEE Transactions on Robotics, vol. 28, no. 3, pp. 634–649, June 2012.
  • [20] X. Z. Zheng, R. Nakashima, and T. Yoshikawa, “On dynamic control of finger sliding and object motion in manipulation with multifingered hands,” IEEE Trans. Robotics and Control, vol. 16, pp. 469–481, 2000.
  • [21] F. Aghili, “Projection-based control of parallel mechanisms,” ASME Journal of Computational and Nonlinear Dynamics, vol. 6, no. 3, July 2011.
  • [22] J. J. Murray and G. H. Lovell, “Dynamic modeling of closed-chain robotic manipulators and implications for trajectory control,” IEEE Trans. Robotics and Automation, vol. 5, pp. 522–528, 1989.
  • [23] F. Aghili, “Modelling and analysis of multiple impacts in multibody systems under unilateral and bilateral constrains based on linear projection operators,” Multibody Syst. Dyn., vol. 46, no. 1, pp. 41–62, 2019.
  • [24] Y. Nakamura and M. Ghodoussi, “Dynamics computation of closed-link robot mechanism with nonredundant actuators,” IEEE Trans. Robotics and Automation, vol. 5, pp. 294–302, 1989.
  • [25] F. Aghili, “Energetically consistent model of frictional impacts in multibody systems in sticking and sliding modes,” Multibody Syst. Dyn., Jan. 2019.
  • [26] B. Perrin, C. Chevallereau, and C. Verdier, “Calculation of the direct dynamics model of walking robots: Comparison between two methods,” in IEEE Int. Conf. Robotics and Automation, Apr. 1997, pp. 1088–1093.
  • [27] D. Surla and M. Rackovic, “Closed-form mathematical model of dyanmics of anthropomorphic locomotion robot mechnism,” in In Proceedings of 2nd ECPD Int. Conf. Adv. Robotics, Intell. Automat. Active Syst., 1996, pp. 327–331.
  • [28] F. Aghili, “Quadratically constrained quadratic-programming based control of legged robots subject to nonlinear friction cone and switching constraints,” IEEE/ASME Transactions on Mechatronics, vol. 22, no. 6, pp. 2469–2479, Dec 2017.
  • [29] A. Bicchi, L. Pallottino, M. Bray, and P. Perdomi, “Randomized parrallel simulation of constrained multibody systems for VR/Haptic applications,” in IEEE Int. Conference on Robotics and Automation, Seoul, Korea, 2001, pp. 2319 – 2324.
  • [30] F. Aghili, “Robust impedance-matching of manipulators interacting with uncertain environments: Application to task verification of the space station’s dexterous manipulator,” IEEE/ASME Transactions on Mechatronics, vol. 24, no. 4, pp. 1565–1576, Aug 2019.
  • [31] J. Garcia de Jalón and E. Bayo, Kinematic and Dynamic Simulation of Multibody Systems: The Real-Time Challenge.   New York: Springer-Verlag, 1994.
  • [32] J. G. de Jalon and E. Bayo, Kinematic and Dynamic Simulation of Multibody Systems.   Springer-Verlag, 1989.
  • [33] U. M. Ascher and L. R. Petzold, “Computer methods for ordinary differential equations and differential-algebraic equations,” SIAM, 1998.
  • [34] C. W. Gear, “The simultaneous numerical solution of differential-algebraic equations,” IEEE Trans. Circuit Theory, vol. CT-18, pp. 89–95, 1971.
  • [35] J. Baumgarte, “Stabilization of constraints and integrals of motion in dynamical systems,” vol. 1, pp. 1–16, 1972.
  • [36] F. Aghili, “Projection-based modeling and control of mechanical systems using non-minimum set of coordinates,” in Proc. of IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Hamburg, Germany, Sep. 2015, pp. 3164–3169.
  • [37] F. Aghili, “Control of redundant mechanical systems under equality and inequality constraints on both input and constraint forces,” ASME Journal of Computational and Nonlinear Dynamics, vol. 6, no. 3, July 2011.
  • [38] N. Hogan, “Impedance control an approach to manipulation: Part i - theory,” Journal of Dynamic Systems, Measurement, and Control, vol. 107, pp. 1–7, 1985.
  • [39] H. West and H. Asada, “A method for the design of hybrid position/force controllers for mainpulatros constrained by contact with environment,” in IEEE Int. Conf. Robotics and Automation, St. Louis, MO, Mar. 1985, pp. 251–259.
  • [40] F. Aghili, “A unified approach for control of redundant mechanical systems under equality and inequality constraints,” in Proc. of IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Taipei, Taiwan, Oct. 2010, pp. 4849–4854.
  • [41] S. Chiaverini and L. Sciavicco, “The parallel approach to force/position control of robotic manipulators,” IEEE Trans. on Robotics and Automation, vol. 9, pp. 361–373, 1993.
  • [42] C. Canudas de Wit, B. Siciliano, and G. Bastin, Eds., Theory of Robot Control.   London, Great Britain: Springer, 1996.
  • [43] F. Aghili, “Self-tuning cooperative control of manipulators with position and orientation uncertainties in the closed-kinematic loop,” in Proc. of IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), San Francisco, CA, Sep. 2011, pp. 4187–4193.
  • [44] C. O. Chang and P. E. Nikravesh, “An adaptive constraint violation stabilization method for dynamic analysis of mechanical systems,” Journal of Mechanisms, and Automation in Design, vol. 107, pp. 488–492, 1985.
  • [45] S. T. Lin and M. C. Hong, “Stabilization method for numerical integration of multibody mechanical systems,” Journal of Mechanical Design, vol. 120, pp. 565–572, 1998.
  • [46] S. Yoon, R. M. Howe, and D. T. Greenwood, “Stability and accuracy analysis of baumgarte’s constraint violation stabilization method,” Journal of Mechanical Design, vol. 117, pp. 446–453, 1995.
  • [47] R. A. Wehage and E. J. Haug, “Generalized coordinate partitioning for dimension reduction in analysis of constrained dynamic systems,” ASME J. Mech. Design, vol. 104, pp. 247–255, 1982.
  • [48] P. E. Nikravesh and I. S. Chung, “Application of euler parameters to the dynamic analysis of three dimensional constrained mechanical systems,” ASME J. Mech. Design, vol. 104, pp. 785–791, 1982.
  • [49] C. G. Liang and G. M. Lance, “A differentiable null space method for constrained dynamic analysis,” Trans. ASME, JMTAD, vol. 109, pp. 450–411, 1987.
  • [50] W. Blajer, W. Schiehlen, and W. Schirm, “A projective criterion to the coordinate partitioning method for multibody dynamics,” Applied Mechanics, vol. 64, pp. 86–98, 1994.
  • [51] E. Bayo and J. G. de Jalon, “A modified lagrangian formulation for the dynamic analysis of constrained mechanical systems,” vol. 71, pp. 183–195, 1988.
  • [52] E. Bayo and R. Ledesma, “Augmented lagrangian and mass-orthogonal projection methods for constrained multibody dynamics,” vol. 9, pp. 113–130, 1996.
  • [53] J. Cuadrado, J. Cardenal, and E. Bayo, “Modeling and solution methods for efficient real-time simulation of multibody dynamics,” vol. 1, pp. 259–280, 1997.
  • [54] Y. Namamura and K. Yamane, “Dynamics computation of structure-varying kinematic chains and its application to human figures,” IEEE Trans. On Robotics and Automation, vol. 16, pp. 124–134, 2000.
  • [55] R. Featherstone, “A divide-and-conquer articulated-body algorithm for parallel o(log(n)) calculation of rigid-body dynamics. part 1 &,” vol. 18, no. 9, pp. 867–875, 1999.
  • [56] R. Featherstone and D. Orin, “Robot dynamics: Equations and algorithms,” in IEEE Int. Conf. On Robotics & Automation, San Francisco, CA, 2000, pp. 826–834.
  • [57] K. C. Park and J. C. Chiou, “Stabilization of computational procedures for constrained dynamical systems,” Jounal of Guidance, Control and Dynamics, vol. 11, pp. 365–370, 1988.
  • [58] W. Blajer, “A geometric unification of constrained system dynamics,” Multibody System Dynamcis, vol. 1, pp. 3–21, 1997.
  • [59] W. Blajer, “Elimination of constraint violation and accuracy aspects in numerical simulation of multibody systems,” vol. 7, pp. 265–284, 2002.
  • [60] F. Aghili, “Non-minimal order model of mechanical systems with redundant constraints for simulations and controls,” IEEE Transactions on Automatic Control, vol. 61, no. 5, pp. 1350–1355, May 2016.
  • [61] L. Guanfeng and L. Zexiang, “A unified geometric approach to modeling and control of constrained mechanical systems,” IEEE Trans. Robotics and Automation, vol. 18, pp. 574–587, 2002.
  • [62] A. D. Luca and C. Manes, “Modeling of robots in contact with a dynamic environment,” IEEE Trans. on Robotics & Automation, vol. 10, no. 4, pp. 542–548, 1994.
  • [63] K. L. Doty, C. Melchiorri, and C. Bonivento, “A theory of generalized inverses applied to robotics,” vol. 12, no. 1, pp. 1–19, 1993.
  • [64] J. D. Schutter and H. Bruyuinckx, The Control Handbook.   New York: CRC, 1996, ch. Force Control of Robot Manipulators, pp. 1351–1358.
  • [65] C. Desoer, Notes for a Second Course on Linear Systems.   Van Nostrand Reinhold, 1970.
  • [66] G. H. Golub and C. F. V. Loan, Matrix Computations.   Baltimore and London: The Johns Hopkins University Press, 1996.
  • [67] W. H. Press, B. P. Flannery, S. A. Teukolsky, and W. T. Vetterling, Numerical Recipies in C: The Art of Scientific Computing.   NY: Cambridge University Press, 1988.
  • [68] C. Belta and V. Kumar, “An SVD-based projection method for interpolation on SE(3),” IEEE Trans. on Robotics and Automation, vol. 18, no. 3, pp. 334–345, Jun. 2002.
  • [69] A. Ben-Israel and T. N. E. Greville, Generalized Inverse: Theory and Applications.   New York: Robert E. Krieger, 1980.
  • [70] DSP Blockset for Use with Simulink, User’s Guide, The MathWorks Inc., 24 Prime Parlway, Natick, MA 011760-1500, 1998.
  • [71] Y. Nakamura, Advanced Robotics: Redundancy and Optimization.   Reading, Massachusetts: Addison-Wesley Publishing Company, 1991.
  • [72] W. Blajer, “A geometrical interpretation and uniform matrix formulation of multibody system dynamics,” vol. 81, no. 4, pp. 247–259, 2001.
  • [73] C. T. Kelly, Iterative Methods for Linear and Nolinear Equations.   Philadelphia: SIAM, 1995.
  • [74] M. Honkala and M. Valtonen, “New multilevel newton-raphson method for parallel circut simulation,” in European Conference on Circut Theory and Design, ECCTD, Espoo, Finland, Aug. 2001.
  • [75] H. Lipkin and J. Duffy, “Hybrid twist and wrench control for a robotic manipulator,” Trans. ASME J. of Mechanism, Transmission, and Automation in Design, vol. 110, pp. 138–144, 1988.
  • [76] C. Manes, “Recovering model consistence for force and velocity measures in robot hybrid control,” in IEEE Int. Conference on Robotics & Automation, Nice, France, 1992, pp. 1276–1281.
  • [77] J. Angeles, Fundamentals of Robotic Mechanical Systems. Theory, Methods, and Algorithms, New York, 1997.
  • [78] ——, “A methodology for the optimum dimensioning of robotic manipulators.”   UASLP, San Luis Potosí, SLP, México: Memoria del 5o. Congreso Mexicano de Robótica, 2003, pp. 190–203.
  • [79] J. J. Craig, Introduction to Robotics: Mechanical and Control, 2nd ed.   Reading, Massachusetts: Addison-Wesley Publishing Company, 1989.