Copyright © IFAC 12th Triennial World Congress. Sydney. Australia. 1993
CONTROL OF MANIPULATORS WITH SOME UNACTUATED JOINTS D.R. Meldrum*, G.F. FrankIln* and P.J. Wiktor** • Department ofElectrical Engineering, Stanford University, Stanford, CA 94305, USA --Department of Mechanical Engineering, Stanford University, Stanford, CA 94305, USA
Abstract: A mobile-based robot, a robot with an actuator failure, a manipulator with structural flexibility, and robots grasping an articulated object are systems with unaetuated or "passive" joints. The dynamics and control of these robot systems is more complex than fully-actuated systems because unactuated joints may lead to uncontrollability. Based on a recursive formulation of the inverse dynamics for manipulators with some unactuated joints, control laws are developed for joint space control and task space control. Important in the task space control law for underaetuated systems is the inversion of the generalized Jacobian. Spatial operator algebra techniques are used to develop computationally efficient algorithms for the inverse generalized Jacobian and the control laws. Keywords: . ontrol, unactuated joints, space robotics, spatial operator algebra, recursive algorithms.
1
2
INTRODUCTION
BACKGROUND
In the control of fully-actuated manipulators de- The robot model, kinematics and dynamics will be sired control forces and/or torques may be applied presented with spatial operator algebra notation. to each joint by actuators. These are active joints. This framework, developed by Rodriguez, Kreutz, There are however manipulators that may not have and J ain [5], [13), allows for easy manipulation of .actuators at every joint. Robot systems with some the robot equatIOns and immediate implementaunactuated or passive joints include mobile-based tion with order (N) recursive algorithms. The alrobots with no base actuators, a robot with an ac- gorithms are presented in coordinate free spatial tuator failure, a manipulator with structural flexi- notation. bility and manipulators grasping an articulated object. A springy joint actuator like a gear or belt 2.1 Robot Model: Fully Actuated drive could be modeled as a passive jomt in series with an active joint. The dynamics and control of For an n-link rigid serial manipulator with N these underactuated systems is more complex than degrees-of-freedom (dofs), the dynamic equations fully-actuated systems because unactuated joints of motion are: may lead to uncontrollability [2, 1, 11].
T
In [61 A. Jain and G. Rodriguez develop general algorithms for the kinematics and dynamics of underactuated manipulators. The expressions account for the fact that there is coupling between the motion of the active and passive joints. An expression for the generalized Jacobian, a mapping between the active joints and task space, is also derived. This J acobian depends not only on kinematic properties, as in the fully-actuated case, but also on inertia properties of the manipulator. In this paper control laws are developed for joint space control and task space control of manipulators with some unactuated joints. The algorithms are based upon the recursive formulation of the inverse dynamics for underactuated manipulators [6]. In the task space controller it is necessary to invert the generalized J acobian formulated in [6]. This J acobian is the same generalized J acobian that has been used for resolved rate motion control in [14]. However, the control laws presented in this paper apply in general to any system with some unactuated joints.
= M(q)/J + C(q, (3)
(1)
where T is an N xl vector of joint torques, M (q) is an N xN symmetric positive definite mass matrix, q is an N xl vector of generalized coordinates, and fJ is an N xl vector of generalized speeds. For example, q may refer to the angular position of a revolute joint and f3 may be the angular velocity vector of a mobile base. The centrifugal, Coriolis, gravity, and friction terms are included in the N xl vector C( q, (3). The link and joint numbers increase from the tip to the base: the end-effector is frame 0, the outermost link is link 1, and the innermost link is link n. As specified in [6], the kth joint has r( k) dofs (generalized coordinates) and r( k) generalized speeds, 1 ~ r( k) ~ 6. The total number of dofs is N = 2::;=1 r(k). In spatial operator form the equations of motion (1) are (see [5], [13] for details):
345
T
f
H f = Mf3 + C rjJ[Ma+b+Bf(O)]
(2) (3)
v
(4)
(5)
3
CONTROL
Joint Control
3.1
The manipulator J acobian that maps ~eneralized The robot joint tracking control problem is to speeds, {3, to the end-point velocity, VlO), is J = develop a control law which generates the joint B*
2.2 Robot Model: Some Unaetuated Joints
Now assume that some of the manipulator joints are unactuated or passive. In [6] J ain develops expressions for the kinematics and dynamics of a system with some unactuated joints. The equations of motion in equation (2) may be partitioned to represent the active arm Aa and the passive arm A p (see [6] for details):
M'j
def
H.
c.
def
H.
+ M
Active arm Aa is an N a (= LkEI r(k)) dof submanipulator with all passive joints frozen. Likewise, passive arm A p is an N p (= LkEI, r(k)) dof sub-manipulator with all active joints frozen. The total number of dofs for the manipulator is
In computed torque control a proportionalderivative linear feedback controller is combined with a linearizing feedforward term:
where K p > 0 and K v > 0 are the position and velocity feedback gains, respectively. This control law (8) yields a generalized torque vector T which specifies the force or torque at each degree of freedom. However, if a manipulator has some unactuated joints, it is not possible to specify torques at those dofs. In the next subsection a computed torque controller is developed to deal with this case.
3.2
Joint Space Control with Some Unactuated Joints
4
The inverse dynamics of a manipulator with some unactuated joints as stated in equation (7) is:
N=Na+Np.
2.3
Inverse Dynamics: Manipulator with Since the active joint torques Ta are the only conSome Unactuated Joints
The inverse dynamics problem for a system with some unactuated joints is to compute the active joint torques, Ta, and the passive joint acceleragiven the passive joint torque vector, Tp , tions, and the active joint accelerations, ~a [6J:
trol variables available, consider the joint space computed torque controller:
~;; ] [1:, ] + [ g;;
A,
Sap Spp gap gPP
def def def def def
(9)
where the input vector
[~; ]=[ Saa
]
uq
def .
= {3ad + K v ( {3ad
- {3a)
+ K p (qad
- qa)
=
with K v > 0, K p > O. Defining the error as ea qad - qa the error equation becomes ea + Kve a +
M aa - MapM;/ M:p
= O.
MapM;;
Kpe a
1 Mpp
This controller computes the available (active) joint torques Ta which will move the manipulator as desired given the desired active generalized accelerations (such as joint accelerations) ~ad' What happens to the passive joints in this situation? It is assumed that the passive joint torq~es T p are known. The passive joint accelerations {3p are computed taking into account the coupling between the motio? of the active and the passive joints. Note that {3p is a function of the control u q which is.in turn a function of the active joint accelerations {3a. It is possible to control only N a tasks because the number of actuators is limited to the number of active dofs. The various situations that may be encountered are:
Ca - SapCp -SppCp
In the case of a frictionless revolute unactuated joint, Tp(k) = O. For a damped, springy unactuated joint, Tp (k) is determined by the generalized positions q and generalized speeds {3 of the manipulator. In [61 Jain solves equation (7) via a recursive algOrIthm which is linear in both N a and N p • This algorithm is a hybrid of the inverse and forward dynamics recursive algorithms presented in [13] for fully-actuated manipulators. While computmg the recursions, the forward dynamics algorithm is used on the passive joints and the inverse dynamics algorithm is used on the active joints.
346
= N a then (9) computes Ta to achieve the desired motion.
1. Desired control tasks
2. Desired control tasks < N a then (9) computes Ta to achieve the desired motion. However, there are redundant degrees of freedom which may be specified to yield other desirable control tasks. 3. Desired control tasks> N a then (9) computes Ta however it may not be possible to achieve the desired motion.
3.3
Task Space Control
Usually it is desirable to prescribe a control task directly ill terms of the "operational space" or "task space" objectives of the manipulator instead of the joint space. To perform task space control of a manipulator with some unactuated joints, the control law stated in equation (9) must be extended. Let the task space variables be defined as the manipulator end-point motion: position x(O), velocity V(O), and acceleration 0'(0). The computed torque control law (8) in task space form is [4]:
T=MJ- 1 [O'd(O) + K" (Vd(O) - V(O)) Kp (Xd(O) - x(O)) -
The generalized Jacobian J G as defined in equation (14) is J G = B*T >* Ha. The same generalized
b
J acobian and its pseudoinverse J have been formulated (not with spatial operator algebra) and studied extensively in [12], [7] [14] for the specific application of mobile-base robot control. They use constrained least squares, torque optimization and pseudoinverse techniques to resolve any redundant dofs. These algorithms require order (N3) computations where N is the total number of dofs of the mobile-robot system. The dynamics of a mobile-base robot with no base actuators implies a conservation of momentum law at the base. In (9) and (15) setting T p = 0 automatically specifies the conservation of momentum law at the base. Control technique (9) which utilizes Jain's [6] form of the inverse dynamics and (15) may also be readily applied to systems with any unactuated joints (such as flexible manipulators). It is desirable to be able to efficiently compute the
+ ...
jt3] + C
Generalized Jacobian
3.4
(10)
with the error defined as e = Xd(O) - x(O) the error equation is e+ K"e + Kpe = O. In order to propose a task space computed torque controller for a manipulator with some unactuated joints, it is necessary to use the relationship between the end effector acceleration 0'(0) and the active joint accelerations /Ja as stated in [6]: The ~nd effector spatial acceleration 0'(0) = B* 0' + a(O)
b
pseudoinverse generalized J acobian J in the control algorithm (15). Note that the deviation of JG from the Jacoblan of a fully-actuated manipulatoJ J = B* >* Ha is given by the projection operator T which is a function of the manipulator inertia properties M. This operator T makes the inversion of J G more complicated than the inversion of J. A recursive order (N) solution for Jt that addresses singularities and redundancy has been formulated and is detailed in [8], [10] (simultaneously derived). A similar approach is used to form J
IS:
0'(0) = B* 0' + a(O)
= JG/Ja
(11)
+ B*t/;* H;D;l [1 - Hpt/;Kp]Tp + ... (12)
B* [T>*a-O(b+Bj(O))] +a(O)
+Q
(13)
JG ~f B*T >* H;
(14)
= JG/Ja
The generalized Jacobian JG is a function of the inertia properties of the links. This is not the case in a fully-actuated manipulator where the J acobian depends only on kinematic properties. Solving (13)
b
~;: clef
][
J~~a
]+[
O'd(O) + K"a (Vd(O) - V(O)) K pa (Xd(O) - x(O)) - Q
g;: ](15)
An alternate controller may be formed based on augmenting the Jacobian with the dynamic constraints imposed by the passive joints [9, 10]. The J acobian for a flexible manipulator depends on the kinematic properties and the dynamic properties of the manipulator because there is coupling between the motion of the active and passive joints. If the kinematics are partitioned between active and passive joints: [
] 0'(0)
Jj
Ji Ja Ji {p ] [ 4a ] [ Jp Ja Jp Jp t3p
+
~: ] [B*>*a+a(O)]
B*>* Ht,
i
(17)
= a,p
Then by combining the passive part of the dynamic equations of motion (6) with the active part of the kinematics (17) the Augmented Jacobian J A can be formed:
[
Defin~ng
This controller computes the available (active) joint torques Ta which will move the manipulator as desired given the desired manipulator end point acceleration 0'(0).
~:
+[
+ ... (16)
the error .. as e =. Xd(O) - x(O) the error equatIon becomes e + K"ae + Kpae = O.
Alternate Task Space Control
3.5
b
for /Ja yields /Ja = J [0'(0) - Q] where J is the pseudoinverse of the generalized J acobian J G. All of the terms in Q are known and can be computed via an efficient recursive algorithm [6]. Again, the active joint torques Ta are the only control variables available. Now consider the task space computed torque controller with input vector U a :
b[10].
J~¥p(O) ] = J A [ ~; ] + [ J~ (B*>~; + a(O)) JA
_ [ Ha>BB*>* H~ Hp>M >* H~
-
]
Ha>BB*>* H; ] Hp>M >* H;
The augmented J acobian, J A, relates the joint acceleration /Ja and /Jp to the end-point acceleration 0'(0) and the passive joint torques Tp . The pseudoinverse augmented Jacobian problem is to solve
347
for the joint accelerations, ~a and ~p, given the end-point acceleration 0'(0) and the passive joint torques Tp which are a function of the manipulator state (position and velocity):
determines the passive joint accelerations. In the task space control law, the pseudoinverse general-
1
ized J acobian J maps the task space variables to the active joint accelerations. In the alternate task space control law presented, the mapping occurs via a pseudoinverse augmented J acobian J
Typically, the dynamics and control of systems with some un actuated joints is very complex due to the complex nature of the system dynamic equations of motion. With the application of spatial operator algebra the analysis simplifies considerably.
where Ck = B*
6 Ug=O'd(O) + I
+ ...
References
EXAMPLE
The control law in (19) was applied to a four link robot. The first two links are flexible and are modeled as two rigid links connected by damped springs. These are the two passive joints in the model. There are four active joints: one at the base, one between the two flexible links and one each at the base of the two outboard links. The end-effector of the manipulator is commanded to follow a semi-circular trajectory and the outboard link is commanded to remain vertical.
... 3.' §
i
2.'
>-
I.' 0.' __
oL-_~
-.
~
__
~_....L_
x po.!llllon
Figure 1: Task Space Control Example
5
ACKNOWLEDGEMENTS
This research is supported by the NASA Graduate Student Researchers Fellowship Program under Grant NGT-50431 and by the Zonta International Amelia Earhart Fellowship Program.
If all of the robot parameters are known, than applying the control torque Ta should result in the desired end-point acceleration 0'(0). The feedback term~ in (19) account for modeling errors and uncertamty m Tp .
4
1.
CONCLUSION
Joint space and task space computed torque control algorithms have been presented in this paper for systems with some unactuated joints. Since it is not possible to specify torques at the unactuated joints, the controller is formed in terms of only the active joints. However, the recursive order (N) alorithm that is used to compute the inverse dynamics [6] accounts for the inherent coupling between the active and passive joints. It also
[1] J. Baillieul, "The Nonlinear Control Theory of Super-articulated Mechanisms," Proc. of the American Control Conf., 1990, pp. 2448-2451. [2] E. Bayo, "Computed Torque for the Position Control of Open-Chain Flexible Robots," IEEE Int'l. Conf. on Robotics and Automation, 1988, pp. 316321. [3] V. Chen, "Experiments in Nonlinear Adaptive Control of a Free-Flying Space Robot," Ph.D. Thesis, Stanford University, 1992. [4] J.J. Craig, Introduction to Robotics, AddisonWesley Publishing Co., Reading, MA, 1989. [5] A. Jain, "Unifiea Formulation of Dynamics of Robot Arms," NASA Tech Brief, Vo\. 16, No. 2, Item #132 from JPL Report NPO-18040/7546, February 1992. [6] A. Jain and G. Rodriguez, "Spatial Operator Approach to Under-Actuated Manipulator Kinematics and Dynamics," Proc. of the 1991 Automatic Control Conference, ?.p. 2045-2050. [7] R. Koningstein, Experiments in Cooperati ve-Arm Object Manipulation with a Two-Armed FreeFlying Robot," Ph.D. Thesis, StanfolTl University, October 1990. [8] K. Kreutz-Delgado, D. Agahi, and D. Demers, "Operator Approach to Recursive J acobian Inversion and Pseudoinversion," Proc. of the 1991 IEEE Intl. Conference on Robotics and A utomation, pp. 17601764. [9] D.R. Meldrum, G.F. Franklin, and P.J. Wiktor, "An Inverse Jacobian Solution for the Control of Multi-link Flexible Manipulators," Proc. of the 1993 A merican Control Conference. [10] D.R. Meldrum, "Indirect Adaptive Control of Multi-Link Serial Manipulators using Kalman Filtering and Bryson-Frazier Smoothing," Ph.D. Thesis, Stanford University, 1993. [11] G. Oriolo and Y. Nakamura, "Control of Mechanical Systems with Second-Order Nonholonomic Constraints: Underactuated Manipulators," Proc. of the 30th Conf. on Decision and Control, Dec. 1991, pp. 2398-2403. [12] E. Papadopoulos and S. Dubowsky, "On the Dynamic Singularities in the Control of Free-Floating Space Manipulators," Proceedings of the Winter Annual Meeting of the American Society of Mechanical Engineers, DSC- Vo\. 15, pp. 45-52, San Francisco, December 1989. [13] G. Rodriguez and K. Kreutz, "Recursive Mass Matrix Factorization and Inversion: An Operator Approach to Open- and Closed-Chain Multibody Dynamics," JPL Publication 88-11, 1988. [14] K. Yoshida and Y. Umetani, "Control of Space Free-Flying Robot," Proc. of 29th IEEE Conf. on Decision and Control, pp. 97-102.
348