Abstract
Holonomic constraints are ubiquitous in multibody systems. We present an approach to effectively address the control of holonomically constrained systems using a novel decomposition of task, constraint, and posture space. In addition to providing a natural approach for motion control in the presence of constraints, this scheme also allows for concurrent specification of desired constraint forces, given sufficient actuation. It does this by exposing both motion coordinates and constraint forces within the control formalism, allowing for substantial flexibility in control synthesis. Implementations are presented based on a partitioning of the constraint forces into controlled and uncontrolled subsets, as well as a specification of implicit conditions on the constraint forces. A number of examples demonstrate the practical efficacy of the approach. Finally, a system-level methodology for constraint management during robot interactions with the environment is presented.
Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.Avoid common mistakes on your manuscript.
1 Introduction
The dynamics of both holonomically and non-holonomically constrained mechanical systems represents a significant chapter in the history of classical mechanics [21, 22]. Formulations addressing constraints have included the method of Lagrange multipliers [20], Gauss’ Principle of Least Constraint [12], Hertz’ Principle of Least Curvature (a special case of Gauss’ Principle) [14], and the Gibbs–Appell equations [3, 13], among others [26]. While the configuration space dynamics of constrained systems has been well researched and understood for some time, relevant research issues exist with regard to the control of constrained systems. In previous work, the control of constrained systems has been examined from a configuration space perspective [16]. This includes the use of projection based approaches [1, 2, 5]. Additionally, contact control in robot manipulators has also employed constraint-based approaches [15, 23, 24], again, from a configuration space perspective. However, it is of particular importance to formulate a control framework that is well-suited to the structure of constrained systems. Specifically, with respect to holonomic constraints, the specified motion must be consistent with a restricted subset of configuration space. This is the constrained motion manifold. Configuration space control presents a fundamental problem since the entire configuration space is assumed accessible and a particular set of arbitrarily chosen configuration space coordinates will likely violate the system constraints. A task space control scheme [17, 18], avoids this problem since, for redundant systems, a point in task space maps to a self-motion manifold [6] in configuration space. As long as the constrained motion and self-motion manifolds intersect, valid constraint consistent and task consistent solutions exist. Task space approaches were employed by Khatib et al. for the control of coordinated multi-arm movements involving loop closure constraints [7, 19, 27].
In addition to controlling motion, it may be desirable to control constraint forces in constrained systems. This can be achieved concurrent to the execution of motion control, provided there is sufficient actuation in the system. Previous work has addressed this but, again, from a configuration space perspective [1, 2, 25]. We will present a natural approach to formulating control for both motion objectives and constraint forces in holonomically constrained systems from a task space perspective. While a task space approach was previously proposed to control motion in holonomically constrained systems [10], this did not address a formal method for simultaneously controlling constraint forces. The approach presented here extends the work of [10]. We begin with a mass-weighted orthogonal decomposition of task, constraint, and posture space, formulated by De Sapio and Park [9]. This decomposition exposes both motion coordinates and constraint forces. Using this decomposition, and the constraint handling methodology presented here, desired constraint forces can be specified and accounted for, along with the motion objectives, in the overall compensation.
Table 1 provides a brief summary of the proposed approach for constrained motion/force control compared to some other approaches. The approach presented here incorporates the unique benefit of being formulated in task space and addressing simultaneous control of motion and constraint force. It does not address redundant constraints as will be discussed in the subsequent sections, however, this is not seen as a major limitation since redundant constraints can be eliminated to form a minimal non-redundant set of constraints.
We begin in the next section with a standard expression of the unconstrained configuration space dynamics of a multibody system followed by a standard expression of the holonomically constrained configuration space dynamics. We continue with a brief review of the reformulation of these configuration space descriptions into task space descriptions. We present a new methodology for partitioning the task space constraint forces based on particular control objectives. A number of examples are presented to illustrate different control objectives in the combined control of motion and constraint forces. Finally, an approach for solving the constrained control problem given implicit conditions on the constraint forces is detailed. Particular limitations in the approaches presented are also discussed.
2 Configuration space dynamics
The equations of motion for a multibody system that is unconstrained with respect to configuration space can be expressed as [5],
where \(\mathbf {q} \in \mathbb {R}^{n}\) is the vector of generalized coordinates, \(\mathbf {u} \in \mathbb {R}^{k}\) is the vector of control inputs, \(\mathbf {B}(\mathbf {q},\dot{\mathbf {q}})^{T} \in \mathbb {R}^{{n} \times {k}}\) is the matrix mapping control inputs to generalized actuator forces, \(\mathbf {M}(\mathbf {q}) \in \mathbb {R}^{{n} \times {n}}\) is the configuration space mass matrix, \(\mathbf {b}(\mathbf {q},\dot{\mathbf {q}}) \in \mathbb {R}^{n}\) is the vector of centrifugal and Coriolis terms, and \(\mathbf {f}(\mathbf {q},\dot{\mathbf {q}}) \in \mathbb {R}^{n}\) is the vector of generalized applied forces. We will often use a modified and more specialized form of (1) common in robotics,
where \(\mathbf {g}(\mathbf {q}) \in \mathbb {R}^{n}\) is the vector of gravity terms. The form of (2) assumes that the generalized actuator forces, \(\boldsymbol{\tau} \in \mathbb {R}^{n}\), can be directly interpreted as control inputs; that is, τ=B T u=u, i.e., B T=1. Additionally, the generalized applied forces are assumed to be restricted to gravity terms; that is, \(\mathbf {f}(\mathbf {q},\dot{\mathbf {q}}) = \mathbf {g}(\mathbf {q})\).
2.1 Introduction of holonomic constraints
We now introduce a set of m C independent holonomic and scleronomic constraint equations, \(\mathbf {\phi}(\mathbf {q}) = \mathbf {0} \in \mathbb {R}^{{m_{C}}}\), that are satisfied on a p=n−m C dimensional manifold, Q p, in configuration space, \(Q = \mathbb {R}^{n}\). The gradient of ϕ yields the constraint matrix,
Given the stipulation that ϕ(q)=0 are independent relations it follows that Φ is full rank (rank of m C ); that is, the rows of Φ are linearly independent. In fact, if redundancies existed among the constraints this would affect the dimensionality of the constrained motion manifold, Q p, and the rank of the constraint matrix, Φ. Typically, redundant constraints are removed from the model of a multibody system [28]. Redundant constraints will not be addressed in this paper and all subsequent formulations presented here will assume an independent set of constraints (and, thus, full rank constraint matrix). Adjoining the constraints to (2) by introducing a set of constraint forces yields the dynamic equation in the familiar Lagrange multiplier form,
subject to
3 Task space dynamics and control
In the previous section, we reviewed configuration space descriptions of the dynamics of constrained multibody systems. Our objective is to reformulate these descriptions in task space. This will provide the foundation for constrained task-level control to be discussed in the next section. A brief summary of task space dynamics and control is presented here. For a more detailed exposition of the operational, or task, space approach the reader is referred to [17, 18].
Given a branching chain system and defining a set of m independent task, or operational space, coordinates, \(\mathbf {x} \in \mathbb {R}^{{m}}\) we define the task Jacobian as
These task space coordinates are related to the generalized coordinates by a functional mapping, and are chosen as a more natural space from which to formulate the control problem. As an example, they can be chosen as the Cartesian coordinates of some effector frame of the multibody system. As with the constraints, given the stipulation that x are independent coordinates it follows that J is full rank (rank of m); that is, the rows of J are linearly independent. Redundant task coordinates will not be addressed in this paper and all subsequent formulations presented here will assume an independent set of task coordinates (and, thus, full rank task Jacobian matrix).
The generalized actuator force (or control torque) in (2) can then be composed as J T f, where \(\mathbf {f} \in \mathbb {R}^{m}\) is the task, or operational space, force. In the redundant case, an additional term needs to complement the task term in order to realize any arbitrary generalized force. We will refer to this term as the null space term, and it can be composed as N T τ ∗, where τ ∗ is an arbitrary generalized force and \(\mathbf {N}(\mathbf {q})^{T} \in \mathbb {R}^{{n} \times {n}}\) is the null space projection matrix. We then have the following set of unconstrained task, or operational space, equations of motion [17],
where \({\boldsymbol{\Lambda}}(\mathbf {q}) \in \mathbb {R}^{{m} \times {m}}\) is the operational space mass matrix, \({\boldsymbol{\mu}}(\mathbf {q},\dot{\mathbf {q}}) \in \mathbb {R}^{m}\) is the operational space centrifugal and Coriolis force vector, and \({\mathbf {p}}(\mathbf {q}) \in \mathbb {R}^{m}\) is the operational space gravity vector. These terms are given by
Thus, the overall dynamics of our multibody system, given by
can be mapped into task space,
where \(\bar{\mathbf {J}}\) is the dynamically consistent inverse of the task Jacobian,
In a complementary manner, the overall dynamics can be mapped into the task consistent null space (or posture space) using N T.
The overall dynamics can be expressed as
A controller employing (7) would be assumed to have imperfect knowledge of the system. Therefore, (7) should reflect estimates for the inertial and gravitational terms. Additionally, a control law needs to be incorporated. To this end, we replace \(\ddot{\mathbf {x}}\) in (7) with the input of the decoupled system [18], f ⋆, to yield the dynamic compensation equation,
where the \(\text{ }\widehat{\cdot}\text{ }\) represents estimates of the dynamic properties. Thus our control torque is,
Any suitable control law can be chosen to serve as input of the decoupled system. In particular, we can choose a linear proportional-derivative (PD) control law of the form
where x d are reference values for the task coordinates and K x and K v are gain matrices.
3.1 Introduction of holonomic constraints
In this section, we will review task space methodologies for addressing constrained systems. As we introduced a set of m C holonomic and scleronomic constraint equations to the configuration space dynamics, we can do the same for the task space dynamics. Mapping (4) and (5) into an appropriate task/constraint space yields
This expression is derived in detail in [10]. The term \(\boldsymbol{\alpha}(\mathbf {q}, \dot{\mathbf {q}}) \in \mathbb {R}^{m_{C}}\) is the vector of centrifugal and Coriolis forces projected at the constraint, and \(\boldsymbol{\rho}(\mathbf {q}) \in \mathbb {R}^{m_{C}}\) is the vector of gravity forces projected at the constraint. These terms are given by
where \(\mathbf {H}(\mathbf {q}) \in \mathbb {R}^{{m_{C}} \times {m_{C}}}\) is the constraint space mass matrix which reflects the system inertia projected at the constraint
The constraint null space projection matrix, \(\boldsymbol{\Theta}(\mathbf {q})^{T} \in \mathbb {R}^{{n} \times {n}}\), is given by
where \(\bar{\boldsymbol{\Phi}}\) is the dynamically consistent inverse of Φ,
The control equation can be expressed as
where the linear control law of (18) can be used.
It is noted that (19) does not expose the constraint forces (Lagrange multipliers). An alternate form of the constrained task space dynamics is [8, 9]
This is derived from the task-level orthogonalization procedure [9] summarized in Algorithm 1 for a single task (n T =1).
The term \({\boldsymbol{\Lambda}_{c}}(\mathbf {q}) \in \mathbb {R}^{{m} \times {m}}\) is the task/constraint space mass matrix, \({\boldsymbol{\mu}_{c}}(\mathbf {q},\dot{\mathbf {q}}) \in \mathbb {R}^{m}\) is the task/constraint space centrifugal and Coriolis force vector, \({\mathbf {p}_{c}}(\mathbf {q}) \in \mathbb {R}^{m}\) is the task/constraint space gravity vector, and \({\mathbf {N}_{c}}(\mathbf {q})^{T} \in \mathbb {R}^{{n} \times {n}}\) is the task/constraint null space projection matrix. These terms are given by
Equation (26) expresses the control torque as a function of the task accelerations, \(\ddot{\mathbf {x}}\), the kinematic and dynamic properties, and the constraint forces, λ. Employing a linear control law the control equation can be expressed as
where
These equations need to be complemented by the condition on the unactuated joints,
where given k actuated joints, \(\mathbf {S}_{p} \in \mathbb {R}^{{(n-k)} \times {n}}\) is a selection matrix that identifies the passive (unactuated) joints.
3.2 Partitioning the constraint forces
We note that the rank of \(\mathbf {N}_{c}^{T} \in \mathbb {R}^{{n} \times {n}}\) is N, the dimension of the null space. Therefore, we can generate an N-dimensional basis for \(\text {im}(\mathbf {N}_{c}^{T})\). We will construct the columns of \(\mathbf {U}_{c}^{T} \in \mathbb {R}^{{n} \times {N}}\) from this basis such that \(\text {im}(\mathbf {U}_{c}^{T}) = \text {im}(\mathbf {N}_{c}^{T})\). We can then express the null space torque as \(\mathbf {U}_{c}^{T}\boldsymbol{\tau}_{N}\) where \(\boldsymbol{\tau}_{N} \in \mathbb {R}^{N}\) is the control vector for the null space. Thus we can express (31) as
complemented by
It is noted that this system is well conditioned only if our previously stated stipulations that independent constraints and task coordinates are specified. Furthermore, the task conditions must be independent of the constraints. That is, a task cannot be specified to produce motion that would violate the constraints. Additionally, given that estimates are used for the inertial parameters it is conceivable that choices for these estimates could make the system ill-conditioned or singular, in which case exact solutions for τ would not exist.
We will now review the dimensionality of our control problem. Given a system with n generalized coordinates and m C holonomic constraints, there are p=n−m C degrees of freedom characterizing the constrained motion. This motion space can be controlled by specifying a task with m task coordinates. The null space dimensionality, N=p−m, characterizes the remaining dimensionality of the constrained motion space not used by the task. This is illustrated in Fig. 1. Given k actuated joints, we will refer to the condition that k≥p as motion actuated and the condition that k≥m as task actuated [10].
The control equations given by (34) and (35) represent a system of 2n−k scalar equations, where \(\boldsymbol{\tau} \in \mathbb {R}^{n}\) constitute n unknowns to be solved for. The system is overdetermined so we need additional n−k unknowns. The right-hand side (RHS) of (34) contains the variables \(\mathbf {f}^{\star}\in \mathbb {R}^{m}\), \(\boldsymbol{\tau}_{N} \in \mathbb {R}^{N}\), and \(\boldsymbol{\lambda} \in \mathbb {R}^{m_{C}}\). The total dimensionality of these variables is m+N+m C =p+m C =n. These n RHS variables can be partitioned into k variables which can be specified as part of the control and n−k variables which can serve as unknowns to be moved to the left hand side (LHS).
3.2.1 Motion actuated partitioning
We may assume that we wish to specify the task coordinates and the null space coordinates as part of the control. This represents m task coordinates and N null space coordinates for a total of m+N=p motion coordinates to be specified as part of the control. If the system is motion actuated (k≥p) then there is sufficient actuation to control these coordinates. Further, if k>p, then k−p constraint forces can also be controlled in addition to the p motion coordinates. This is illustrated in Fig. 2.
It has been shown that multibody systems with redundant constraints do not have a unique solution for joint reaction forces [28, 29]. This is not an issue since the approach outlined here is limited to the assumption that no redundancies exist among the constraints (or, if they do, that they are eliminated from the constraint model prior to utilizing the formulation presented here).
In this case, let us introduce a selection matrix, \(\mathbf {S}_{c} \in \mathbb {R}^{{(k - p)} \times {m_{C}}}\), to select the controlled constraint forces and a selection matrix, \(\mathbf {S}_{u} \in \mathbb {R}^{{(n - k)} \times {m_{C}}}\), to select the uncontrolled constraint forces. That is,
or
where λ c and λ u are the vectors of controlled and uncontrolled constraint forces, respectively, selected out of the full vector of constraint forces, λ. Inverting (37), we have
Substituting this into (34), we have
where λ c has been replaced with \(\boldsymbol{\lambda }_{c_{d}}\) to denote that it is specified as part of the control reference, along with x d , \(\dot{\mathbf {x}}_{d}\), \(\ddot{\mathbf {x}}_{d}\), and τ N . We will define
Thus, (39) and (35) can be represented as the following system of 2n−k equations:
Given the inverse
we have the following solution for the control torque:
A block diagram of this control scheme is shown in Fig. 3.
3.2.2 Example 1
As an illustrative example of this control scheme, we consider the parallel mechanism depicted in Fig. 4(left), where n=9, m C =6, and p=3. Units for this and all subsequent examples will be expressed in SI units (meters, seconds, and Newtons). The constraint equations describe the loop closures and are given by [8]
Considering two of the base joints, q 1, q 3, as well as the elbow joints, q 2, q 4, and q 6, to be actuated, we have k=5 and
We will define the task to control the position of the platform (see Fig. 4(right)) while its orientation is uncontrolled. That is, m=2, N=1, and
We will specify the reference value as
The null space torque will be specified to be zero (τ N =0). Additionally, we wish to specify the constraint forces at the interface of \(\mathbf {r}_{p_{1}}\) and \(\mathbf {r}_{l_{1}}\). These correspond to
We will specify the reference value as
The remaining constraint forces will be unspecified. Thus,
and
The linear (PD) control law of (32) is used as the input of the decoupled system. The gains are chosen so as to achieve critically damped behavior of the task motion. Equation (43) is used to compute the control torque. The system dynamics were computed symbolically using a Lagrangian formulation and solved numerically. Figure 5 shows simulation plots for the system under goal position commands on the task coordinates, x, and sinusoidal tracking commands on the constraint force coordinates, λ c . The time response of the platform position shows linear critically damped motion to the target but the time response of the platform orientation shows undamped oscillation due to the uncontrolled null space.
In this and all subsequent simulations in this paper, the constrained dynamics were numerically integrated with a time step of 1 ms. Baumgarte stabilization [4] was used to stabilize the constraints. Given the constraint stabilized system of equations [11],
where α and β are the constraint stabilization parameters, the generalized accelerations are
and the Lagrange multipliers are
Figure 6 shows simulation plots of some of the control torques generated for this motion. It is noted that zero control torque is produced at the passive joint, τ 5, due to the condition of (35). The last plot shows the time response of one of the uncontrolled constraint forces.
3.2.3 Example 2
We can choose to explicitly control the platform orientation as part of the task. In this case the task is defined as
The null space vanishes with this expansion of the task space. We will specify the reference value as
We note that n=9, m C =6, p=3, m=3, N=0, and k=5.
The procedure of the previous example is used with this new task definition. Figure 7 shows simulation plots for the system under goal position commands on the task coordinates, x, and sinusoidal tracking commands on the constraint force coordinates, λ c . As with the position coordinates the time response of the platform orientation now shows a linear critically damped response to the target.
Figure 8 shows simulation plots of some of the control torques generated for this motion. It is noted that zero control torque is produced at the passive joint, τ 5, due to the condition of (35). The last plot shows the time response of the uncontrolled constraint forces.
3.2.4 Task actuated partitioning
In the preceding formulation for partitioning the constraint forces we specified the task coordinates and the null space coordinates as part of the control. It is noted that we are not required to do this and can, for example, dispense with controlling the null space coordinates so that we may control more of the constraint forces. In this case, rather than needing to meet the condition that k≥p, we would only need to meet the condition that k>m in order to control some of the constraint forces. In the more general case of controlling some, or possibly none, of the constraint forces we would only need to meet the task-actuated condition of k≥m. This is illustrated in Fig. 9.
In this case, the selection matrix for the controlled constraint forces would be \(\mathbf {S}_{c} \in \mathbb {R}^{{(k - m)} \times {m_{C}}}\) and the selection matrix for the uncontrolled constraint forces would be \(\mathbf {S}_{u} \in \mathbb {R}^{{(n - N - k)} \times {m_{C}}}\). Our system would then be partitioned as
complemented by
Defining
we have the following system of 2n−k equations:
3.2.5 Example 3
As an illustrative example we will address the specific case of k=m. In this case, we can only control the task, and not the null space or any constraint forces (see Fig. 10).
This represents an underactuated system with respect to motion. Since it is still task actuated it can be controlled. In fact, this methodology represents a means of controlling underactuated systems. The system can be represented as
complemented by
Defining
we have the following system of 2n−m equations:
Considering only the elbow joints q 4, and q 6, to be actuated we have
We define the task to control the position of the platform
Since only two joints are actuated we can not control the null space or any of the constraint forces. We specify the task reference value as
We note that n=9, m C =6, p=3, m=2, N=1, and k=2.
The linear (PD) control law of (32) is used as the input of the decoupled system. The gains are chosen so as to achieve critically damped behavior of the task motion. Equation (64) is solved to compute the control torque. Figure 11 shows simulation plots for the system under goal position commands on the task coordinates, x. The time response of the platform position shows linear critically damped motion to the target but the time response of the platform orientation shows undamped oscillation due to the null space torques arising to satisfy the passivity requirement. The control torques generated for this motion are shown. It is noted that zero control torque is produced at the passive joints, τ 1, τ 2, τ 3, and τ 5, due to the passivity condition. The last plot shows the time response of the uncontrolled constraint forces.
3.3 Implicit conditions on the constraint forces
Rather than partition the constraint forces, we can specify a set of conditions on the constraint forces. In the case that k>p (motion actuated) and we choose to control both task and null space, we have
complemented by the following conditions on the constraints forces:
where \(\mathbf {A}(\mathbf {q},\dot{\mathbf {q}}) \in \mathbb {R}^{{(k-p)} \times {m_{C}}}\) and \(\mathbf {d}(\mathbf {q},\dot{\mathbf {q}}) \in \mathbb {R}^{k-p}\), and the passivity constraints
This can be expressed as the following system of n+m C equations:
A block diagram of this control scheme is shown in Fig. 12.
In the case that k>m (task actuated) and we choose to control only the task, we have
complemented by the following conditions on the constraints forces;
where \(\mathbf {A}(\mathbf {q},\dot{\mathbf {q}}) \in \mathbb {R}^{{(k-m)} \times {m_{C}}}\) and \(\mathbf {d}(\mathbf {q},\dot{\mathbf {q}}) \in \mathbb {R}^{k-m}\). The passivity constraints are
This can be expressed as the following system of n+m C +N equations:
3.3.1 Example 4
As an illustrative example we consider the humanoid torso depicted in Fig. 13 turning a valve. The system is described by n=13 generalized coordinates. The constraint equations associated with the loop closure are
where r rh and r lh are the contact locations on the left and right hand, respectively, and r vrh and r vlh are the corresponding contact locations on the valve. The terms α and β denote the xy Euler angles in an xyz sequence describing the orientation of the hands and the valve. We note that m C =10 and p=3. Considering all joints except the valve joint to be actuated, we have k=12 and
We will define the task to control the valve angle (see Fig. 13). So, m=1, N=2, and
We will specify the reference value as
The null space torque will be specified to be zero (τ N =0). Additionally, we wish to specify the first nine constraint forces. Thus,
We will specify the reference value of the constraint forces as
That is, the desired constraint forces are specified in the local valve reference frame and transformed into the global frame.
The linear (PD) control law of (32) is used as the input of the decoupled system. The gains are chosen so as to achieve critically damped behavior of the task motion. Equation (71) is solved to compute the control torque. A small dissipative term has been added to the null space. Figure 13 shows simulation plots for the system under goal position commands on the task coordinate, x. The time response of the valve angle shows linear critically damped motion to the target. The time response of the first six controlled constraint forces (in the global reference frame) are plotted.
3.3.2 Constraint management
A general methodology for handling constraints will now be described that aggregates the persistent (bilateral) constraints associated with the robot mechanism and the transient (unilateral) constraints associated the interaction of the robot with the environment. In the methodology depicted in Fig. 14, a robot is interacting with the environment. At each time step, unilateral constraints associated with the robot/environment interaction are inferred from the sensed state of the interaction. These constraints are aggregated with the known internal (bilateral) mechanism constraints of the robot, and the properties associated with the constrained dynamics of the robot/environment system are computed and sent to the controller. A set of equality conditions on the robot/environment constraint forces are specified that satisfy the inequality conditions associated with maintaining desired robot/environment interactions (e.g., holding onto an object, releasing an object, maintaining contact with surfaces). These conditions are aggregated with any control conditions on the internal mechanism constraints of the robot and sent to the controller. The resulting conditions on the constraint forces, along with the specified task and null space motion commands are used to compute the control input (joint torques) to the robot.
Figure 15(left) depicts a simulation scenario where the humanoid robot transitions from unconstrained task-level motion control of its hands to constrained task-level motion and force control of an object that has been grappled. The methodology of Fig. 14 can be applied to this problem. Given a model of the environment the constraints associated with interacting with the grappled object would be inferred. Constraint maintenance conditions would then be specified as inequality conditions (e.g., minimum normal forces needed to be applied by the hands on the object to maintain grapple). Equality conditions on the constraint forces would then be specified to the controller, consistent with the constraint maintenance conditions. A similar methodology could be applied to a humanoid robot interacting with the environment through foot/ground contact and hand contact. Figure 15(right) depicts a simulation scenario where the humanoid robot generates a desired force at the hand (against a wall, for example) while maintaining desirable contact forces at the feet.
3.4 Discussion of particular limitations on control
We have to this point not discussed specific situations under which the general formulation of the control problems presented in this paper have no solutions. Specific problems can be physically ill-posed in which case rank deficiencies will exist in the system matrix. This is a recognition that care must be taken to form physically well-posed problems. For example, constraint forces cannot be specified in such a manner as to violate force equilibrium.
There are numerous ways that problems can be ill-posed. As a simple example, consider two unit point masses, A and B, moving on a plane described by
where
and
Let us define the task to control only the second point mass
The task Jacobian is then
Considering only the first point mass to be to be actuated, we have n=4, m C =0, p=4, m=2, N=2, k=2, and
Our task space parameters are
and
or in terms of an N dimensional basis,
We have the following system of equations:
However, in this case,
is rank deficient (rank is 4) and the control problem cannot be solved. Hence, it is not possible to control point mass B with actuation only at point mass A, where the point masses are decoupled. If, however, we couple the point masses such that point mass B is physically constrained to move with point mass A then n=4, m C =2, p=2, m=2, N=0, k=2, and
We note that
We then have
The null space term \(\mathbf {N}_{c}^{T}\) vanishes, and we have
In this case, the term
is of full rank and the control has a solution. For example, given desired unit accelerations of point mass B in x and y, that is, \(\ddot{\mathbf {x}} = \left ( { \begin{array}{c@{\quad}c} 1 & 1 \\ \end{array} } \right )\), we have
So, without any actuation forces at point mass B it can be accelerated due to the constraint coupling with point mass A. Point mass A has actuator forces of 2 applied in x and y to generate unit accelerations at point mass B. Constraint forces of −1 occur between point mass A and B. This is a trivial example as the constraints effectively lump the two unit point masses together into a single point mass; nevertheless, it is instructive in examining the solvability of the control equations.
We now consider the more complex example of a bimanual robot holding an object as depicted in Figs. 15 and 16. The robot possess 12 fully actuated generalized coordinates. The object is described by an additional 6 generalized coordinates. Our task is to control the object in 6 dimensions,
The grasping constraints are expressed as
We then have n=18, m C =12, p=6, m=6, N=0, k=12, where we will control the task as well as the normal hand constraint forces on the object and 4 of the hand constraint moments on the object, so
Note we have chosen to specify zero constraint moments. Our system can be expressed as
where
For the grasping posture shown in Fig. 16,
So, the system is rank deficient. However, for particular choices of \(\ddot{\mathbf {x}}\), λ 1, and λ 4 control solutions can be found. For example, given \(\ddot{\mathbf {x}}= \mathbf {0}\) (static equilibrium of the object) the condition λ 1=−λ 4 produces a solution. That is, the vector
can be expressed as a linear combination of the columns of
when \(\ddot{\mathbf {x}}= \mathbf {0}\) and λ 1=−λ 4. However, (105) cannot be expressed as a linear combination of the columns of (106) when \(\ddot{\mathbf {x}}= \mathbf {0}\) and λ 1≠−λ 4. This is an intuitive result since the constraint forces applied by the left and right hands on the object cannot be arbitrary but must satisfy force equilibrium.
4 Conclusion
A novel approach has been presented for formulating motion control for holonomically constrained multibody systems that allows for the simultaneous specification of desired constraint forces. The approach presented is based on a decomposition of task, constraint, and posture space, and it leverages the symmetry between constrained dynamics and task space dynamics. It provides a natural scheme for control synthesis by exposing the coordinates, both motion and constraint, of interest. The approach can be realized through a partitioning of the constraint forces or through the specification of implicit conditions on the constraint forces. The necessary conditions relating the number of actuators, motion coordinates, and constraint coordinates have been described. The examples presented indicate that the analytical framework can be implemented in practical constrained multibody control problems. A system-level approach for constraint management during robot interactions with the environment has also been presented.
As a practical matter it is assumed that the controller has access to the system state (via a forward dynamics solver in the simulated case or via sensors in the physical case) and estimates of the dynamic properties of the physical system. It should also be noted that the system of equations described by (41), (60), (71), and (75) may not always be well conditioned. That is, the system matrix in these equations may not always be invertible. Even given a satisfaction of the conditions relating the number of actuators, motion coordinates, and constraint coordinates; constraint forces may not always be arbitrarily specified. For example, given a bimanual robot holding an object (see Fig. 15), the vertical constraint forces applied to the object would need to balance the weight of the object and could not be arbitrarily specified under static equilibrium. Additionally, the normal constraint forces applied by the robot hands against the object would need to balance under static equilibrium as discussed in the previous section.
References
Aghili, F.: A unified approach for inverse and direct dynamics of constrained multibody systems based on linear projection operator: applications to control and simulation. IEEE Trans. Robot. 21(5), 834–849 (2005)
Aghili, F.: Projection-based control of parallel manipulators. In: Proceedings of the 2009 IEEE/RSJ International Conference on Intelligent Robots and Systems, pp. 5763–5769. IEEE, New York (2009)
Appell, P.: Sur une forme générale des équations de la dynamique. J. Reine Angew. Math. 121, 310–319 (1900)
Baumgarte, J.: Stabilization of constraints and integrals of motion in dynamical systems. Comput. Methods Appl. Mech. Eng. 1(1), 1–16 (1972)
Blajer, W., Kolodziejczyk, K.: A geometric approach to solving problems of control constraints: theory and a DAE framework. Multibody Syst. Dyn. 11(4), 343–364 (2004)
Burdick, J.: On the inverse kinematics of redundant manipulators: characterization of the self-motion manifolds. In: Proceedings of the 1989 IEEE International Conference on Robotics and Automation, vol. 1–3, pp. 264–270. IEEE, New York (1989)
Chang, K.S., Holmberg, R., Khatib, O.: The augmented object model: cooperative manipulation and parallel mechanism dynamics. In: Proceedings of the 2000 IEEE International Conference on Robotics and Automation, vol. 1, pp. 470–475. IEEE, New York (2000)
De Sapio, V.: Task-level control of motion and constraint forces in holonomically constrained robotic systems. In: Proceedings of the 18th World Congress of the International Federation of Automatic Control, vol. 1 (2010)
De Sapio, V., Park, J.: Multi-task constrained motion control using a mass-weighted orthogonal decomposition. J. Appl. Mech. 041, 004 (2010)
De Sapio, V., Khatib, O., Delp, S.: Task-level approaches for the control of constrained multibody systems. Multibody Syst. Dyn. 16(1), 73–102 (2006)
De Sapio, V., Khatib, O., Delp, S.: Least action principles and their application to constrained and task-level problems in robotics and biomechanics. Multibody Syst. Dyn. 19(3), 303–322 (2008)
Gauss, K.F.: Über ein neues allgemeines Grundgesetz der Mechanik (On a new fundamental law of mechanics). J. Reine Angew. Math. 4, 232–235 (1829)
Gibbs, J.W.: On the fundamental formulae of dynamics. Am. J. Math. 2(1), 49–64 (1879)
Hertz, H.: Die Prinzipien der Mechanik in neuem Zusammenhange dargestellt. Barth, Leipzig (1894)
Houshangi, N.: Constrained motion control of a robot manipulator. In: Proceedings of the 1998 IEEE International Conference on Systems, Man, and Cybernetics, vol. 4, pp. 3495–3500. IEEE, New York (1998)
Huston, R.L., Liu, C.Q., Li, F.: Equivalent control of constrained multibody systems. Multibody Syst. Dyn. 10(3), 313–321 (2003)
Khatib, O.: A unified approach to motion and force control of robot manipulators: the operational space formulation. IEEE J. Robot. Autom. 3(1), 43–53 (1987)
Khatib, O.: Inertial properties in robotic manipulation: an object level framework. Int. J. Robot. Res. 14(1), 19–36 (1995)
Khatib, O., Yokoi, K., Chang, K., Ruspini, D.C., Holmberg, R., Casal, A., Baader, A.: Force strategies for cooperative tasks in multiple mobile manipulation systems. In: Giralt, G., Hirzinger, G. (eds.) Proceedings of the 1995 International Symposium on Robotics Research, pp. 333–342. Springer, Berlin (1995)
Lagrange, J.L.: Mécanique Analytique, vol. 1. Mallet-Bachelier, Paris (1853)
Lanczos, C.: The Variational Principles of Mechanics. Dover, New York (1986)
Laulusa, A., Bauchau, O.A.: Review of classical approaches for constraint enforcement in multibody systems. J. Comput. Nonlinear Dyn. 3(1), 011004 (2008)
Liu, Y.H., Arimoto, S., Kitagaki, K.: Adaptive control for holonomically constrained robots: time-invariant and time-variant cases. In: Proceedings of the 1995 IEEE International Conference on Robotics and Automation, vol. 1, pp. 905–912. IEEE, New York (1995)
Liu, Y.H., Kitagaki, K., Ogasawara, T., Arimoto, S.: Model-based adaptive hybrid control for manipulators under multiple geometric constraints. IEEE Trans. Control Syst. Technol. 7(1), 97–109 (1999)
Mills, J.K., Goldenberg, A.A.: Force and position control of manipulators during constrained motion tasks. IEEE Trans. Robot. Autom. 5(1), 30–46 (1989)
Papastavridis, J.G.: Analytical Mechanics: A Comprehensive Treatise on the Dynamics of Constrained Systems for Engineers, Physicists, and Mathematicians. Oxford university Press, Oxford (2002)
Russakow, J., Khatib, O., Rock, S.M.: Extended operational space formulation for serial-to-parallel chain (branching) manipulators. In: Proceedings of the 1995 IEEE International Conference on Robotics and Automation, vol. 1, pp. 1056–1061. IEEE, New York (1995)
Wojtyra, M.: Joint reaction forces in multibody systems with redundant constraints. Multibody Syst. Dyn. 14(1), 23–46 (2005)
Wojtyra, M., Fraczek, J.: Solvability of reactions in rigid multibody systems with redundant nonholonomic constraints. Multibody Syst. Dyn. 30(2), 153–171 (2013)
Acknowledgements
This work was performed under the DARPA SyNAPSE contract HR0011-09-C-0001. This article is approved for public release, distribution unlimited. The views expressed are those of the author and do not reflect the official policy or position of the Department of Defense or the US Government.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
De Sapio, V., Srinivasa, N. A methodology for controlling motion and constraint forces in holonomically constrained systems. Multibody Syst Dyn 33, 179–204 (2015). https://doi.org/10.1007/s11044-014-9417-8
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11044-014-9417-8