221
Autonomous single arm ORU changeout strategies, control issues, and implementation Paul G. Backes and Kam S. Tso Jet Propulsion Laboratory, California Institute of Technology Pasadena, CA 91109, USA A preliminary strategy for autonomous single arm orbital replacement unit (ORU) changeout, the associated compliance and force control issues, and implementation results are described. The changeout operation is separated into subtasks, e.g. bolt-turn, compliant-grasp, and dual-pin-insertion/removal. Compliance and force control are done in Cartesian space and the selection of appropriate locations for the Cartesian control frame is discussed. The dual-pin-insertion/removal subtask requires a decision based strategy in conjunction with compliant control to prevent jamming. Actual implementation was done with a PUMA 560 6 degree of freedom manipulator although the control strategies could be implemented on any manipulator with at least 6 degrees of freedom.
Keywords: Space robotics; Autonomous system; Compliant control; Force control; Robot tasks; Task implementation.
Paul G. Backes was born in Key West, Florida, in 1959. He received the BSME degree from the University of California at Berkeley in 1982, MSME degree from Purdue University in 1984, and Ph.D. from Purdue University in 1987. Since 1987 he has been a Member of Technical Staff with the Tele-Autonomous Systems Group at the Jet Propulsion Laboratory, California Institute of Technology, Pasadena, CA. His current research activities are primarily single and dual-arm sensor-based control including compliance control, force control, shared control, and task execution primitives. North-Holland Robotics and Autonomous Systems 6 (1990) 221-241
1. Introduction R o b o t i c servicing of space platforms is b e i n g considered b y N A S A as a m e a n s for extending the expected lifetime of the p l a t f o r m i n s t r u m e n t s . Rep l a c e m e n t i n s t r u m e n t s o n s t a n d a r d orbital rep l a c e m e n t u n i t s ( O R U s ) can be sent up to a p l a t f o r m b y a n e x p e n d a b l e vehicle. R o b o t s resident o n the platforms can then be used to exchange m a l f u n c t i o n i n g i n s t r u m e n t s with the new i n s t r u m e n t s b y e x c h a n g i n g the O R U s o n which the i n s t r u m e n t s reside. A n evaluation of space p l a t f o r m robotic servicing was d o n e at the Jet P r o p u l s i o n L a b o r a t o r y [1]. Some of the controls issues a n d i m p l e m e n t a t i o n results of the evaluation for O R U c h a n e g o u t are described i n this paper. Single a r m O R U c h a n g e o u t includes m a n y subtasks, each of which has a strategy a n d a control method. N e a r l y all of the subtasks control the contact b e t w e e n a n object held b y the m a n i p u l a tor a n d a n object in its e n v i r o n m e n t . U s i n g only position control, m o d e l i n g errors or small errors in position can cause large forces to develop at the p o i n t of contact. Even with perfect m o d e l i n g a n d position control, flexibility of the held object or e n v i r o n m e n t m a y p r e v e n t c o m p l e t i o n of the task if only p o s i t i o n c o n t r o l is used. Active c o m p l i a n c e a n d force control are utilized i n the subtasks to control the c o n t a c t forces. T h e control methods a n d task i m p l e m e n t a t i o n described in this paper Kam Sing Tso received his B.S. degree in Electronics from the Chinese University of Hong Kong, Hong Kong, in 1979, M.S. degree in Electronic Engineering from the Philips International Institute, Eindlioven, the Netherlands, in 1981, and Ph.D. degree in Computer Science from the University of California, Los Angeles, in 1987. Since 1986 he has been a Member of Technical Staff of the Tele-Autonomous Systems Group at Jet Propul"" sion Laboratory, Pasadena. His current research interests include real-time systems, robotics systems, and fault tolerance.
0921-8830/90/$03.50 © 1990 - Elsevier Science Publishers B.V. (North-Holland)
222
P.G. Backes, K.S. Tso / Single arm ORU changeout
are preliminary versions to determine the feasibility of autonomous ORU manipulation. Further work is required before implementation in actual space activities can be achieved. The paper is organized as follows. Control issues are discussed in Section 2. The subtasks used in the ORU changeout task are then described in Section 3. The bolt acquisition, seating, and turnhag sequence is described in Section 4. The ORU Changeout Sequence is then described in Section 5. The computing hardware and software environment is described in Section 6, followed by conelusions from the study in Section 7.
marion with respect to the Tn frame. This frame is referred to here as the TOOL frame. The position of the object in the environment that the manipulator is interacting with often defines the desired location of the TOOL frame. For example, the location of the holes in the stowbin define the desired location for the ORU pins. The transformation which describes the environment position during the task is called the TASK frame. A transform equation relates the TOOL and TASK frames and, given the TASK frame, can be solved for the desired TOOL frame. An example of a transform equation for ORU pin insertion is W°RLDBASE, BASET6 , TtORU
2. Con~'ol
Robot control issues used in this paper are briefly reviewed in this section. For a more general review of robotics concepts, see [2,3]. 2.1 Cartesian space control
In Cartesian space control, the position and interface forces of a Cartesian coordinate frame which is rigidly attached to the terminal link of the manipulator are controlled. As used here, the term position also includes the orientation, and the term force also includes torques. The position of the manipulator's terminal link is described by the Tn coordinate frame, where n is the number of joints/links of the manipulator. For the PUMA 560, n = 6. Solving the manipulator inverse kinematics produces the joint angles which will place "the terminal link at the position described by the Tn coordinate frame. There are several possible solutions for the joint angles so the pose of the arm is also input to the inverse kinematics algorithm. The Tn frame is generally given with respect to the BASE frame which is fixed in the manipulator base. The BASE frame is in turn ultimately described with respect to some fixed WORLD frame. During execution of a task, it is generally not the position of the terminal link which is of primary interest, but the position of the object held by the manipulator, e.g. the bolt tool or ORU. It is assumed that once grasped, the tool or ORU becomes a rigid extension of the manipulator terminal link. Therefore, a location on the tool or ORU is described by a homogeneous transfor-
-- rmRZ'DBIN * BINHOLE
(1)
where ORU is the TOOL frame and HOLE is the TASK frame and a preceding superscript indicates the frame in which a transform is defined. A control method is used to move the manipulator so that the TOOL frame follows its desired trajectory. This control method may be a Cartesian space method, where errors are generated in a Cartesian frame, or a joint space method where errors are generated in joint space. In Cartesian space control, the six degrees of freedom (DOF) of the control frame can be treated independently. The six DOF are three along the control frame axes and three about the frame axes. The error in a DOF can be either a position error or a force error, depending on whether that DOF is position controlled or force controlled. Joint space and Cartesian space control methods are used concurrently in this implementation. Cartesian space control updates the desired position of the manipulator Tn frame. Then PID joint space control is used to move the manipulator to the desired position. In the next section, the complete position and force control method used here is described. 2.2 Compliance and force control
Tasks which involve contact between the object held by the manipulator and an object in the environment require some type of control to limit the interaction forces between the two surfaces. Control during contact is best described and controlled in Cartesian space. Position and force controlled DOF in the control frame are specified
223
P.G. Backes, K.S. Tso / Single arm ORU changeout
along with their position and force trajectories. Each Cartesian DOF can then be treated independently until the actual joint actuator inputs are calculated. There are two general control categories for control during contact. The first case is compliant control where a nominal position trajectory is perturbed depending on the sensed contact force in that DOF [4]. The second case is force control where the contact force trajectory for a DOF is specified and the manipulator is controlled to produce that contact force. Many methods for compliant and force control have been presented in the literature, e.g. [5-8]. Only the specific implementation used for this paper is described below. Compliant control can be achieved through either passive or active compliance. A nonrigid manipulator has inherent passive compliance which will produce some degree of compliant motion. A passive compliant device can be attached to the terminal link of the manipulator to passively produce added small position perturbations to reduce the contact forces. Passive compliance is limited in the range of the compliant motion and may not be sufficient for certain tasks, e.g. the dual-pin insertion/removal task where passive compliance may cause compliance in the wrong direction. Also, the added compliance may increase the control difficulty. Therefore it is felt that active compliance is preferable for general space applications. Active compliance is used in this implementation. In active compliance, the position setpoint in a DOF is adjusted to reduce the contact force in that DOF. Some type of force sensing is required to determine the contact forces in real-time. In the present implementation, a wrist sensor senses the forces at the wrist. These forces are transformed
through rigid body force transformations to the equivalent forces in the control frame DOFs. In general a position setpoint is not used in a force controlled DOF, but in this implementation a position setpoint is altered to produce the desired force in a force controlled DOF. In this way the same control method can be used for both compliance and force control. The present control implementation is indicated in Fig. 1. A n outer force loop is used to modify the position setpoint in the control frame DOF. For a compliant DOF the desired force, Fa, is zero and the nominal trajectory is given by the desired position, Xa. For a force controlled DOF, the desired position is zero and the trajectory is given by the desired force. The commanded position, X c, in the DOF is the sum of the positions from the force loop and desired position. The force controller used here modifies the Cartesian position trajectory. The position perturbation from the force loop per sample interval for a DOF is generated by A X / ( i ) = K / ( Fa(i ) - F a ( i ) ) ,
(2)
where F~ is the actual contact force felt, K / i s the force gain, and i is the present sample interval. A perturbation frame, DEL, is updated each sample interval with the position perturbations from all of the control frame DOFs. In TOOL frame Cartesian control, the control frame is the TOOL frame so DEL is placed after the TOOL frame in the transform equation, i.e. w ° ~ D B A S E , BAS~-T6. r r O R U , °RUDEL ----WOP"LDBIN* BINHOLE.
(3)
The corresponding Tn frame is then calculated and inverse kinematics produces joint setpoints
Xa
-i I Fig. 1. Activecomplianceand forcecontrol method.
224
P.G. Backes, K.S. Tso /Single arm ORU ehangeout
which are sent to the robot joint position PID servo controllers. The most serious drawback in this method of compliance and force control is the fixed force gain, K/. The proper value of Kf will differ depending on the dynamics of the contact between manipulator and environment. As the stiffness of the contact increases, the gain K! should decrease. Without prior knowledge of the contact stiffness, the worst case value of K / m u s t be used. This will be the smallest K/ corresponding to the greatest contact stiffness. For a small K! and a less stiff contact, the response time will be slow resulting in a significantly longer time required to complete the task. An important case of Cartesian control is when the control frame is the TASK frame, rather than the TOOL frame. This is the case for the dualpin-insertion/removal subtask. In TOOL frame control, the TOOL frame is fixed with respect to the Tn frame. In TASK frame control, the TOOL frame varies with respect to the Tn frame to match the transform from the Tn to TASK frame. The transform equation for TASK frame control used here is B^SET6. r ~ D E L , DIn-TOOL = 8ASETASK * TASKDELTASK.
(4)
At each sample interval, the current TOOL frame is calculated by TOOL = T6 -1 * T A S K ,
(5)
where - 1 indicates matrix inverse and superscripts have been eliminated to simplify the equation form. Perturbations in the TASK frame are then calculated to produce the TASK frame perturbation transform, DELTASK. The 7~ frame perturbation transform is then calculated by DEL = TOOL * DELTASK * TOOL -1.
(6)
The new 7"6 frame is then T6 * DEL. 2.3 Gravity compensation
The present study was performed on earth so a 1G gravity force was experienced during task execution. It is necessary to subtract out the gravity force components from the forces felt in the wrist sensor so only contact force components remain. The gravity forces due to the load are assumed to act through the center of mass of the load. Know-
ing the orientation of the load, the gravity force can be resolved into components in a frame fixed at the center of mass of the load. The forces are then transformed through rigid body force transformations to the control frame to be subtracted from the total forces felt in the control frame. 2.4 Manipulation with off-centered grasp
Increasing the distance from the grasp location to the grasped object's center of mass increases both the object's inertia and gravity loading as felt by the manipulator. If complete and accurate dynamic models of the manipulator, load, and contact are available, then for ideal actuators the control response can be made independent of the load characteristics. In practical applications, inaccuracies in the models, e.g. friction terms, contact dynamics, and actuator limitations, will cause degraded control performance. There are two general cases to consider for off-centered grasp manipulation: free motion and compliant motion. Free motion has no contact between the manipulator (including its load) and its environment while compliant motion does include contact. In free motion, the effect of load dynamics can be compensated for using modelbased control. In model-based control the dynamic model of the manipulator and load are used to determine control parameters. Gravity compensation is also used. The control parameters can then be selected to produce a desired system response, provided that the actuators are capable of the commanded inputs. A fixed-gain controller (as is used in the present implementation) can be used for free motion with an off-centered grasp, but the gains must be selected so that the system is stable for all possible loads and manipulator configurations. System performance will then become more sluggish as the distance between the grasp location and object center of mass increases. In compliant motion, the dynamic model of the contact is required along with .the maniptllator and load dynamic models and gravity compensation in order to use modelbased control. The contact dynamic model is likely to be complex and quickly varying making it difficult to determine. At the minimum, gravity compensation is required for compliant control. This is because the gravity loading effects must be separated from the total sensed forces in the control frame to determine
P.G. Backes,K.S. Tso /Single arm ORU changeout the contact forces. This case assumes no acceleration of the load so that inertia forces are not felt. In the present implementation, a fixed-gain controller with gravity compensation is used. Accelerations are kept to a minimum during contact. 3. Subtasks
This section reviews the subtasks which are used in the ORU changeout task. Each subtask may be used more than once during execution of the task, e.g. move-to-touch. The software for the subtasks was developed for this project using the RCCL robot control environment which is discussed in Section 6.
225
3.2 Guarded-move The guarded-move subtask performs a position controlled move in either joint or Cartesian space. During the move sensing is used to detect a possible collision with an object in the environment. The only local sensor available with the present hardware configuration is the wrist sensor. Gravity compensation is done knowing the mass and center of mass of the load. The gravity forces of the load are subtracted from the total forces felt in the selected TOOL frame resulting in the contact forces. For no collision, only small dynamic forces will be felt (assuming small accelerations). If a force in a DOF of the TOOL frame is larger than a selected threshold, then the motion is halted.
3.1 Grapple-lug-acquisition 3.3 Compliant-move The first subtask is grapple-lug-acquisition where the actual position of the grapple lug is determined. This subtask is used for both grasping the grapple lug and determining the location of the bolt (the bolt is assumed to be centered in the lug). The approximate position of the lug will be available from a system model or vision but this position may not be accurate enough for grasping the lug or bolt seating. Local sensing on the manipulator along with an intelligent algorithm are used to determine the lug position. Two exampies of local sensors are force and optical sensors. In the present implementation, only a wrist force sensor was available. Using a wrist force sensor, a sequence of touches of the lug by one of the fingers or the tool using the move-to-touch subtask can be used to determine the edges of the lug and the orientation of its surface. There is a tradeoff between the accuracy required from the acquisition subtask and the robustness of the grasp or bolt seating subtasks to inaccuracies in the lug position. A less accurate but simpler and faster acquisition strategy can be used if the successive subtask can succeed with a greater initial position error. An acquisition subtask was not used for grasping in this implementation since the model position of the lug was accurate enough when combined with the move-to-touch, level, and compliant-grasp subtasks. For bolt mating, the model position was not accurate enough, so touching of two sides of the lug was used to more precisely locate the bolt position.
The compliant-move subtask performs a compliant controlled Cartesian space move of the TOOL frame. Gravity compensation is done so that contact forces in the TOOL frame can be sensed. If contact occurs, then the active compliance perturbs the TOOL frame motion to reduce the contact forces. 3.4 Move-to-touch In the move-to-touch subtask, the manipulator is moved in a given direction until the force in a specified DOF of the TOOL frame passes a given threshold. The manipulator is then backed off in the opposite direction as the approach until a backoff threshold force is reached. This backoff threshold is typically small compared to the approach threshold. Forces are measured with the wrist sensor and transformed to the TOOL frame using rigid body force transformations. The move-to-touch subtask when used in grasphag and in ORU insertion is shown in Fig. 2. For touching the grapple lug with the fingers, the manipulator is moved in the TOOL frame z direction, where the TOOL frame is placed at the center of the fingers (the G frame in Fig. 2) and has the same orientation as the 7"6 frame. For approaching the stowbin holes with the ORU, the TOOL frame is placed midway between the ORU pins (the M frame in Fig. 2) and has the same orientation as the T6 frame. Again, the approach direction is along the TOOL frame z axis. Actu-
226
P.G. Backes, K.S. Tso / Single arm ORU changeout
I
I
I
l (a)
I
U
I
U' D (b)
Fig. 2. Move-to-touchsubtask for (a) grasp and (lo)ORU insertion. ally, the T O O L frame could be the T6 frame in both eases since forces along the axes transform exactly between frames with the same orientations° Fig. 3 shows the forces felt in the T O O L frame during move-to-touch while holding the O R U and approaching the stowbin along the T O O L frame z axis. The approach velocity was 3.57 r a m / s e e and the approach and backoff force thresholds were 5 N and 1 N, respectively. The figure shows that forces were also felt along the T O O L frame x and y axes. This is because the contact occurred in the cone above a stowbin hole which has a beveled edge. For contact on a flat surface, e.g. between
the fingers and the grapple lug, a force would be felt only along the z axis. 3.5 Push
The push subtask executes force control in all D O F of the T O O L frame. 3.6 L e v e l
In the level subtask, a surface on the object held by the manipulator is translated and rotated to match the environment surface that it is contatting. The level subtask is actually a special case
P.G Backes, ICS. Tso / Single arm ORU changeout 4
6
2
5 /*
4
0
\
-2
o
227
E
i
-4 .....
-6
Z
',:j
i
0
i
i
i
1
2
/ / /
I F-
-8
X y
. . . .
/*
_g
;
1
I
3
I',.'*"
•/"
o
-1
i
2
0
2
4
6
"rime (s)
8
10
12
14
Time (s)
(a)
('L)
1600 1200 I A
8OO
z
4O0
I
E E
\
I
9. "° c-
0
-2
\ %
r.r
-400
!
i
I
1
i
2
i
i
3
-3
.
0
.
.
.
2
Time (s)
of the push subtask where force setpoints are zero in all TOOL frame DOF except along the z axis where some positive force is specified. This is depicted for leveling the fingers on the grapple lug in Fig. 4. Before the level subtask is called, the
l
4
I
i
6
i
i
8
i
10
l
i
12
i
i
14
Time Is)
(b)
Fig. 3. Forces (a) and torques (b) in TOOL frame during move-to-touch before OKU insertion into stowbin.
i
(b)
Fig. 5. Translations (a) and rotations (b) in TOOL frame during level subtask when alit,ning fingers with ORU grapple lug at baseplate.
move-to-touch subtask places the objects in contact, although perhaps misaligned. In the method used here for leveling, the TOOL frame is selected to be at the center of the surface attached to the
i
" ur
Fig. 4. Level subtask used to align fingers with grapple lug.
I
228
P.G. Backes, K.S. Tso / Single arm ORU changeout 2
-2
!
A
z
,,o
-10
,
i
0
i
i
2
.
.
4
.
.
6
,
,
8
,
,
10
,
12
,
14
T i m e (s)
(a) 50
-50 ~100 .
=
.
.
.
.,so
MA I---250
. 0
.
. 2
.
. 4
.
.
.
'
6
8
. 10
.
.
. 12
.
T O O L frame axes and Fig. 6 shows the forces and torques along and about the axes during the same motion. Fig. 5 indicates that the fingers were initially misaligned b y approximately 2 degrees about both the T O O L frame x and y axes. Contact initially occurred at one c o m e r of the grapple lug so as the fingers rotated, a motion along z was required to drive the force along z to the desired value. At the end of the motion, the force along z oscillates about its desired value with a greater amplitude than along the x and y axes. This is because the stiffness along the z axis is much greater than along the x and y axes. Ideal gains for this case would have the gain along the z axis less than those along the x and y axes. Since the stiffness of the environment has not been modeled here, the stiffness in all D O F of the T O O L frame are assumed equal and therefore the gains along the axes are set equal and the gains about the axes are set equal.
3. 7 Relax 14
T i m e (s) (b)
Fig. 6. Forces (a) and torques (b) in TOOL frame during level subtask when aligning fingers with ORU grapple lug at baseplate.
The relax subtask is a special case of the push subtask where all force setpoints are zero. This can also be considered to be compliant motion with zero input position trajectory.
3.8 Compliant-grasp
manipulator with z axis normal to that surface. For leveling on the lug, the T O O L frame is midway between the fingers with the z axis normal to the surface of the fingers (the G frame in Fig. 4). The force along z will cause moments about the T O O L axes until the surfaces are parallel. The controller will rotate the T O O L frame around an axis which is experiencing a torque or translate along an axis which is experiencing a force using Eq. 2. When the surfaces are aligned, all forces felt in the T O O L frame will be zero except along the z axis where the force will be equal to the desired force. Results of leveling the fingers on the grapple lug are shown in Figs 5 and 6. The force and torque gains along and about the T O O L frame axes are 0.005 and 0.0001, respectively. The approach threshold force is 8 N. Fig. 5 shows the translations and rotations along and about the
The compliant-grasp subtask is a combination of closing the fingers, and two calls to the relax subtask - the first call without gravity compensation for the grasped load and the second with gravity compensation for the load. For different types of grippers, the fingers will be closed in different ways. The present implementation uses pneumatic grippers which snap shut with 60 psi pressure. The present compliant-grasp subtask therefore first closes the fingers and then calls the relax subtasks. The control frame is the T O O L frame and is selected to be at the center of the contacting surfaces. This frame is the G frame shown in Fig. 4 and has the same orientation as the T6 frame. Before the compliant-grasp subtask can be called, the fingers must be located within the beveled mating area of the lug so that the contact forces will drive the fingers to a proper mating with the lug. Locating the fingers properly around
229
P.G. Backes, K.S. Tso / S i n g l e arm ORU changeout
the lug before grasping is done with the grapplelug-acquisition, move-to-touch, and level subtasks. When the fingers close, misalignment of the fingers with the grapple lug causes contact forces in the T O O L frame. Due to the beveled edges of the contacting surfaces, the contact forces drive the fingers toward the correct mating position with the lug. The first relax subtask moves the gripper to reduce the contact forces. When the contact forces are eliminated, the proper grasp has been achieved. The effect of the first relax subtask is shown in Fig. 7 for a grasp at the baseplate. The force gains along and about the T O O L frame axes are 0.005 and 0.00003, respectively. Only the forces and torques are shown. Small displacements also occur which cause the changing forces and torques. The second relax subtask is used to prepare for moving the load. This is necessary due to the 1G earth environment and may not be necessary in space applications. The weight of the load is included in the gravity compensation when de-
8
4 0 Z -4 ,,o -8
-12
12
F F iI"~, ~
F Ii' .,
8
Z
I
X y
.....
z
i
1
2
i
i
i
3
4
5
1000 0
/
-1000 / /
-2000 E
I
-3000
I
Z cr
-5000
. . . . ......
I I I
-4000
X y Z
/ i
i
i
i
i
1
2
3
4
5
Time (s) (b)
;
0
o
. . . .
i
Time (s)
-6000 16
" I"
¢ '
Fig. 8. Forces (a) and torques (b) in TOOL frame during second relax subtask of compliant-grasp subtask at baseplate.
'
,
"',1
"
termining the contact forces in the T O O L frame. -8
i
i
0
I
i
i
1
i
2
i
Fig. 8 shows the forces and torques during the
3
second relax subtask for the grasp at the baseplate. The same force gains as for the first relax subtask are used. The z force is initially nonzero because this term of the gravity compensation increased by the weight of the ORU. The torque about the y axis is initially nonzero because this term of the gravity compensation increased by the moment of the O R U about the T O O L frame y axis. Again, small displacements in the T O O L frame DOFs occur as the forces are reduced.
Time (s)
200
0
E
,J/
-200
k ff o p-
-400
I
-600
3.9 Compliant-ungrasp i
0
i
1
i
2
i
i
3
Time (s) (b)
Fig. 7. Forces (a) and torques (b) in TOOL frame during first relax subtask of compliant-gasp subtask at baseplate.
The compliant-ungrasp subtask is a combination of a relax subtask and opening the fingers. Cartesian T O O L frame control is used with the T O O L frame centered between the fingers. It is assumed that before the relax subtask the load has been held with gravity compensation for the load
230
P.G. Backes, K.S. Tso / Single arm ORU changeout
24 16 I ,t'~°"''"\ 8 k
/ /*
s
0 @
. . . .
-2 .4
-16 I J" ~ " i
i
0
i
i
1
i
i
2
i
3
i
i
4
-24
P
5
L t
.
0
1
.
.
.
.
.
,
2
3
4
,
,
5
Time (s)
Time (s)
(n)
(~) s000 4000
3
3000
2 1
.....
2000 ki',
I
@,
~l
(
Z
1000
~-\~
~.
0 I-n-
-1
i
:
i
1
i
i
i
2
i
3
i
i
4
i
i
1.
w,,~,N.j , . ~ - ~ = ~ . . . .
-10o0 i 1, ,'"--, , . . . . . .
5
0
Time (s)
1
2
3
4
5
Time (s) (b)
(b)
Fig. 9. Translations (a) and rotations (b) in TOO1 frame during relax subtask of eompliant-ungrasp subtask at stowbin.
Fig. 10. Forces (a) and torques (b) in TOOL frame during relax subtask of eompliant-ungrasp subtask at stowbin.
included. The relax subtask may not be necessary in space applications since there is no gravity loading. The relax subtask is called with no gravity compensation for the load. The effect of the relax subtask is to move the grapple lug and
gripper so that the manipulator is not applying any forces on the load through the grapple lug. Then when the fingers are opened, there should be no binding forces impeding the opening of the fingers. If the fingers are opened before the relax.
O
Fig. 11. Dual-pin-insertion/removal subtask.
P.G. Backes, K.S. Tso /Single arm ORU changeout subtask is called, forces between the fingers and grapple lug can prevent the fingers from opening properly. This phenomenon was observed in the lab. A second relax subtask may be called after opening the fingers to ensure that the fingers release from the lug. Results of the relax portion of the compliantungrasp subtask are shown in Figs 9 and 10 for ungrasp of the ORU at the stowbin. The force gains are as for the compliant grasp subtask example above. The data is given in the TOOL frame which is th~ G frame shown in Fig. 4.
231
G q/ X
M
Fig. 12. Dual-pin-insertion/removalsubtask with control in TOOL frame.
3.10 Dual-pin-insertion / remooal The dual-pin-insertion/removal subtask inserts or removes a two pin object into or out of a two-holed passive interface. Dual-pin insertion is depicted for the ORU in Fig. 11. No control methods for dual-pin insertion/removal were found in the literature so this was a new problem studied here. Complicating the control was the fact that the ORU was quite flexible causing the two pins to be nonparallel during insertion and removal. TASK frame Cartesian space compliant control with logic-based gain switching is used in the dual-pin-insertion/removal subtask. Dual-pin insertion and removal use the same control method with only the direction of motion opposite in the two cases. There are several important control issues in dual-pin-insertion/removal. These include choosing between TOOL and TASK frame control, choosing the control frame, solving the ambiguity in the y axis control frame contact torque, and selecting control gains. These issues are discussed below. TASK frame control is used rather than TOOL frame control because the control frame is properly located at the center of the contacting surfaces. These surfaces are fixed in the passive interface holes. As the manipulator moves to insert or remove the object, the contact continues to occur in the holes, independent of the manipulator position. (The exact location of contact within the holes does change, however.) The effect of using TOOL frame control is shown in Fig. 12. The O R U has been partially removed from the holes. If TOOL frame control is used, the control frame has moved up with the manipulator so it is above the holes. At this point, a torque about the y axis
in the hole will be seen in the TOOL frame (M in the figure) as a combination of a torque about the y axis and forces along the x and z axes. Compliant control in the TOOL frame will then cause the TOOL frame to rotate about the y axis and translate along the x and z axes. Neither of the compliant translations are desired. If it is known that binding is occurring in the right pin, then the control frame should be placed in the right hole. Then the contact torque about the y axis will cause only a rotation about the y axis to eliminate the binding torque. But since the contact torque could also have been caused at the left pin, the control frame is placed midway between the two holes. In this case the torque between the right pin and the hole will be felt only as a torque about the y axis and a force along the z axis, causing rotation about the y axis and translation along the z axis. In the dual-pin-insertion/removal subtask, the TASK frame is placed midway between the holes in the passive interface. An ambiguity exists in the dual-pin-insertion/ removal subtask in the direction to rotate about the TASK frame y axis in compliant control to reduce a sensed contact torque about the T A S K frame y axis. For example, during removal the right pin might jam causing a positive torque about the TASK frame y axis. The direction to rotate about the y axis to eliminate the jamming could be positive or negative depending on whether the ORU is misaligned about the y axis by a positive or negative angle. Normal compliance will make a positive rotation about the y axis to reduce a positive sensed torque about the y axis. This may be the incorrect choice. The ambiguity in the direction to rotate about the TASK frame y axis is solved in the present
P.G. Backes, K.S. Tso /Single arm OR U changeout
232 10
24
0
20
-10
E
-20
A Z
-30
,,o
i
I\
,
16
; i i'l a, I'l I " t I t,I |
12
B !
0
.
.
y L
1i !
4
.
. . . . . .
1 1
8
-40
X .
i
,
t i !
,#
"
~ '~ . . . . .
~'~'\J'u-,~/"~'-
I-
-50
|
i
0
I
1
i
i
2
i
i
3
i
i
4
-4
i
0
5
1
2
Time (s)
0.3
X
I
-2000
~'--~.=.,'~
I ! II V i
0
I
1
"l
5
I !
I I
E
....
-4000
Z
-0.3
4
0 I
-0,2
3
Z
I
-0.1
5
2000
Y
.....
II I I
0.0
n"
. . . .
I
0.1
4
(a)
(a)
0,2
3
Time (s)
I
l
,
== o" I
|
I
2
I
3
I
I
4
I
I\ "
!
VLl
-6000
I
-8000
5
0
1
2
Time (s) "lime (s) (b)
(hi
Fig. 13. Translations (a) and rotations (b) in TASK frame during dual-pin-removal subtask at baseplate.
implementation by checking if the contact torque is increasing or not. If the contact torque is increasing, then the sign of the force gain for rotation about the TASK frame y axis is changed. This test is done each 10th sample interval, or 0.28 sec in this case. This method is successful but a better solution may be found in future studies. Since no model of the contact is available, the force gains were selected empirically, but with the constraint that the gains along the axes were equal and the gains about the axes were equal. The gains used in this implementation for along and about the control frame axes were 0.01 and 0.000005, respectively. The nominal motion during the dualpin-insertion/removal subtask is 0.3mm per sampie interval along the TASK frame z axis. Figs 13-17 show the results of the dual-pin-insertion/removal subtask. The data are forces and positions in the TASK frame which is the M frame in the figures. Figs 13-I5 are for ORU
Fig. 14. Forces (a) and torques (b) in T A S K frame during dual-pin-removal subtask at baseplate,
removal from the baseplate. Fig. 15 shows the switching of the force gain about the control frame y axis corresponding to Fig. 14. Figs 16 and 17 show the results for ORU insertion into the stowbin.
4000
E
k g
o -4000 -8000 0.00001
'~
0.00000 -0.00001
--l_/ 0.00
/ /--/ 0.56
1.12
1.66
2.24
Time (s)
Fig. 15. Torque and gain about TASK frame y axis during dual-pin-removal subtask at baseplate.
P.G. Backes, K.S. Tso / Single arm OR U changeout 120 X
100
. . . . . . . . . .
Y Z
s . . . . . /./°
80
./" / •
60
~
40
"~
20
o
-
°"
I.-
-20
.
2
4
.
.
.
6
.
.
.
8
I
10
I
12
14
Time (s) (~) 2,0 1.5
I
1.0 ~ V
==
/
"~ --
• \ I v l
0.5 /
~o
f . ~
233
tion of ~ bolt diameter was done to ensure that the socket would collide with the bolt during the move-to touch subtask. A lateral motion of ½ bolt diameter may be preferable to ensure the contact. After the contact, the socket is raised up 5 mm and then rotated about the TOOL frame x axis by 6 degrees. Another move-to-touch is performed to leave the socket contacting the bolt head. The purpose of rotating the socket and then the move-to-touch subtask is to ensure that the socket encloses some part of the bolt head. Moving down vertically on the bolt would require that the lateral misalignment of the socket with the bolt be less than the size of the chamfer on the socket and bolt. With the angled-bolt-seating subtask, only an edge of the bolt needs to enter the socket during the move to contact for a successful seating to ensue. This greatly increases the allowed initial misalignment between the socket and bolt.
. . . . .
0.0 !
-0.5
,
,
.
.
.
.
,
,
,
,
,
,
,
12 0
2
4
6
8
10
12
14
X y
. . . . . .
Z
8
Time (s)
4
(b)
0 -4
Fig. 16. Translations (a) and rotations Co) in TASK frame during dual-pin-insertion subtask at stowbin.
,,o
:1
-8
/"
-12 !
-16
3.11. Angled-bolt-seating The angled-bolt-seating subtask is used to initiaUy seat the socket on the bolt. The angled-boltseating subtask is used rather than the verticalbolt-seating subtask when the bolt location is not known accurately enough to perform the verticalbolt-seating subtask. The steps for the angled-bolt-seating subtask are shown in Fig. 18. In the figure, the initial approximate location of the bolt is determined by locating the position of the grapple lug with the grapple-lug-acquisition subtask. The socket is then placed above the bolt but displaced along the TOOL frame y axis by ¼ bolt diameter. The TOOL frame is placed at the center of the socket with the z axis along the tool shank pointing at the bolt (same orientation as the T6 frame). The move-to-touch subtask is then used to determine the vertical position of the bolt. The lateral mo-
. . . .
.
5,~ /
~i :
, .
la
.
2
•
.
.
4
.
.
.
6
,
8
.
,
10
,
12
,
14
Time (s) (a)
5000 4000 3000
Z
==
I I
I
2OOO
E
itl
| II ~,||
l
II
1000
I
0
d
-I000 -2000
I
0
I
2
i
I
4
m
I
I
6
I
8
I
10
.
.
.
12
.
1.4
"lime (s) (b)
Fig. 17. Forces (a) and torques (b) in TASK frame during dual-pin-insertion subtask at stowbin.
234
P.G. Backes, K.S. Tso / Single arm ORU changeout
Grapple- Lug-Acquisition
Guarded-Move
Move Laterally
Move-To-Touch
Back Off 5 nun
Rotate 6 Degrees
Move-To-Touch
Angled-Bolt-Seating
Fig. 18. Angled-bolt-seating subtask.
After the move-to-touch, a compliant motion of the T O O L frame is performed which rotates the socket about the x and z axes while translating along the y and z axes. In this implementation, rotations about the x and z axes were - 0 . 0 2 5 and 0.05 degrees per sample interval, respectively. Translations along the y and z axes were - 0 . 0 4 m m and 0.1 mm, respectively. The force gains for
compliant control along the T O O L frame axes were all 0.015 and for about the axes were 0.0001. Results of the compliant motion with these parameters are shown in Figs 19 and 20. Later tests showed that better performance resulted with a translation along the T O O L frame z axis of 0.2 m m per sample interval and force gains about the axes of 0.00003.
235
P.G. Backes, K.S. ]'so / S i n g l e arm ORU changeout
Successful seating of the socket on the bolt is determined in this implementation by whether the z translation reaches 12 mm. If the socket rotates about the x axis more than a specified number of degrees before the z translation reaches 12 ram, then the seating is unsuccessful. Better tests for successful seating may be determined in further studies. If the seating is unsuccessful, then the seating is retried from the start (socket above bolt translated ¼ diameter along TOOL y axis) but with the socket rotated by 7.5 degrees (¼ of the angle per-edge in the socke0 about the z axis relative to the previous starting orientation. The compliant motion part of the seating needs further explanation. The reason for translation in the negative y direction is that active compliance along the y axis will move the socket in the positive y direction, away from the correct seating position, until the socket and bolt are correctly
8
4 0 -4 ¢D O U.
!n , ~ . l ,I,
.
-8
k/ 't ~
~
] Iii
-12
i
o16
V
-20 2
0
4
6
8
10
12
Time (s)
240
X
-
i!
\
I\.a
i', ;" ', "80
,
,
, ,
,
i
,
,
I ", t
t
t
t
I
16
8
2
4
6
8
10
12
Time (s)
4 'S
(b)
J SS
4
g
0
s-
12
Fig. 20. Forces (a) and torques (b) in TOOL frame during angled-bolt-seating subtask.
0 -4
p-
-8
-12 2
4
6
8
10
12
Time (s) (a)
16 12
/
8
ol J
,/7 i
dl"
40 -4
-12
i
0
|
2
|
i
4
|
i
6
i
!
8
.
.
.
10
.
12
Time (s) (I))
Fig. 19. Translations (a) and rotations Co) in TOOL frame during angled-bolt-seating subtask.
aligned. The translation moves the socket toward the successful seating position. Once correctly aligned, compliance will prevent further motion in the negative y direction since the lip of the socket will be over the bolt. Rotation about the z axis is done so that when the proper rotation about the x axis has occurred, the socket will rotate about z so that mating faces of the bolt and socket match. Compliance will prevent further rotation about the z axis once the socket seats on the bolt. The motion along the z axis serves two purposes. First, the z motion causes contact forces which the compliant control reduces by driving the socket into better alignment with the bolt. Secondly, when the socket is properly aligned with the bolt, the. z motion drives the socket down onto the bolt. Further work on the subtask will determine its robustness to angular misalignment and possible changes to account for angular rnisalignment.
P.G. Backes, K.S. Tso / Single arm ORU changeout
236
2
3.12 Vertical-bolt-seating
0
The vertical-bolt-seating subtask is used when the socket can be placed above the bolt with error less than the width of the chamfers on the bolt and socket. The socket is first placed a few mm above the bolt with the assumed correct odentation for seating and then a compliant motion is done. The T O O L frame is rotated about the z axis while translating along the z axis. The T O O L frame is the same as above for angled-bolt-seating. Successful seating is determined by whether the socket has moved fax enough along the z a x i s i n a given amount of time. Better tests for successful seating may be determined in further studies. If the socket strikes a beveled edge, the compliant control will cause T O O L frame position perturbations to drive the socket into better alignment with the bolt. Results of the vertical-bolt-seating subtask are shown in Figs 21 and 22. The translation and
-2 A
z
,.o
-4
t I I I ''.:'
-6 -8
t
x
___
'l I
. . . . .
-I0 i
-12 0
!
1
!
'
2
•
•
at
Vx. '
3
I
|
i
|
4
5
4
5
i
Time (s)
(a) 120 80 40 E
z ==
0 -40 -80 -120
16
0 X . . . . .
2
3
6
Time (s)
Y
12
1
Z
~
(b) 8
$ g
Fig. 22. Forces (a) and torques Co) in TOOL frame during vertical-bolt-seating subtask.
o
4 0
I...-
-4 0
1
2
3
4
5
6
Time (s) (=)
--
?,7,-',-~:r;-f" I .| • |, o
- , -
-1
,h
I~
~ ~
,.~
,
I
\j
;
-2
'l
t=l*l;+~
+l=l~lqt,
X'++
,
~
it
I~
3.13 Bolt-turning
I,
|¢
,
-5 0
|l
i r
-3 -4
I ° = | e l
~e
I
2
.
,
3
,
.
4
,
rotation along and about the z axis axe 0.1 mm and 0.05 degrees per sample interval, respectively. The force gains for compliant control axe the same as given above for angled-bolt-seating. As with angled-bolt-seating, a translation of 0.2 mm per sample along z and force gains about the axes of 0.00003 may be preferable to the values used for the data shown in the figures.
,
,
5
Time (s) (b)
Fig. 21. Translations (a) and rotations Co) in TOOL frame during vertical-bolt-seating subtask.
The bolt-turning subtask is presently a compliant motion with rotation about the T O O L z axis and translation along the z axis. The rotation causes the bolt turning and the translation keeps the socket on the bolt. Figs 23 and 24 show the results of turning the bolt through 60 degrees. The translation and rotation along and about the z axis axe 0.01 turn and 0.6 degrees per sample interval, respectively. The force gains for corn-
P,G. Backes, K.S. Tso / S i n g l e arm O R U changeout
237
pliant control are the same as given above for angled-bolt-seating.
6f2
4. Bolt sequence
[,---I ~
Turning the bolt required initially acquiring the bolt and seating the socket on the bolt, and then repeated turns of 60 degrees. The steps used were as follows: 1. grapple-lug-acquisition subtask 2. angled-bolt-seating subtask 3. bolt-turning subtask with 60 degree rotation about TOOL z axis 4. Compliant-move subtask along TOOL -z axis to position above bolt 5. Guarded-move subtask rotation of -60 degrees about TOOL z axis 6. Vertical-bolt-seating subtask 7. Repeat 3-6 until desired total turn
,?
I
-4
i
,,
"
;
"
-
I~t
~,
~
,,
v
-8
0
1
2
3
Time (s) (a)
160 120
/
80
I
I'
I
.~ "~
",/,,,",-"
0
P
, , ,
1 -40
,
0
X
#t
-6
40
,
---:-
|
|
|
I
I
I
1
•
2
'
'
3
Time (s) Fig. 24. Forces (a) and torques Co) in T O O L
1
o=
frame during
bolt-turningsubtask.
E
0 -,
I-I
-2
l
l
l
l
l
l
l
l
l
1
l
l
2
3
Time (s) • (a)
10 0 -10 -20 -30 -40 -50 -60
tr"
-70
I
0
I
!
"
,
1
,
2
i
|
|
i
3
Time Is)
Fig. 23. Translations (a) and rotations Co) in TOOL frame duringbolt-turningsubt~sk.
8. Compliant-move subtask along TOOL -z axis to position above bolt. Lab experiments showed that even after using the grapple-lug-acquisition subtask using the socket to touch the grapple-lug, the misalitrnment of the socket with the bolt was too large to use a vertical approach for the initial seating of the socket on the bolt. This is because the bolt and grapple lug are not rigidly attached. The bolt is centered in the grapple lug only to within a few millimeters. After successfully seating the socket on the bolt with the angled-bolt-seating subtask, the position of the bolt is known accurately enough to use the vertical-bolt-seating subtask for subsequent seating of the socket on the bolt. The compliant-move subtask is used to remove the socket from the bolt to prevent the socket from getting stuck on the bolt. The grapple-lug-acquisition subtask used here only included touching the grapple lug twice, once
238
P,G. Backe~ K~S. Tso
on each of two edges. This is because the initial angular misalignment of the socket and bolt was small. For large initial angular misaliL~mment of the socket and bolt, the plane of the grapple lug surface would be needed to determine the angle of the bolt. This would require touching the top of the grapple lug three times.
/ Single arm ORU changeout
GRASP_ BIN 0.074 0.996 -0.046 0
0.666 -0.015 0.745 0
0.742 -0.086 -0.665 0
13 -309 504 1
0.026 -0.112 -0.993 0
-355" -607 -20 1
INSERT_PLATE 5. ORU changeout sequence The ORU changecut sequence includes releasing and tightening the bolt and ORU manipulation between the passive interface connectors on the baseplate and stowbin. The baseplate in the present lab setup has its normal parallel to the gravitation vector (it sits on rails on the floor). Seven homogeneous transforms describe positions of the 7'6 frame during manipulation of the ORU between the baseplate and stowbin. APPROACH_PLATE is the position at the basel)late before the move-to-touch subtask is called to make contact between the fingers and grapple lug. GRASP_PLATE is the position when grasping the ORU after the ORU is inserted in the baseplate. GRASP_BIN is the position when grasping the ORU after the ORU is inserted in the stowbin. INSERT_PLATE is the position above the baseplate when holding the ORU before the move-to-touch subtask is called to make contact between the ORU pins and the baseplate passive interface connector cones. INSERT_BIN is the position above the stowbin when holding the ORU before the move-to-touch subtask is called to make contact between the ORU pins and the stowbin p~s_~ve interface connector cones. VIA_I and VIA_2 are trajectory positions between the baseplate and stowbin. The transforms are given with respect to the manipulator BASE frame below (distancesin ram). APPROACH_PLATE 0.074 0.997
0.997 --0.074
- 0.026 0
0.000 0
-0.002
--359 ]
-- 0.026 - 1.000
- 6231] -1
/
0
GRASP_PLATE 0.086 0996
=
0.996 -0.086
-00:I}~ -0.0040
-0.004 -0.007
-I.0000
-359] -627|
-1621
0.089 0.990 -0.109 0 INSERT_BIN
0.996 -0.085 0.035 0
0.099 0.992 - 0.076
0.682 0.725 -71] -0.012-0.125-296 0.7310 -0.6780
0.106 0.946
0.994 0.005 --362] -0.099-0.309-474[ 00"037 -0.9510 40~
0
60 j
VIA1
-
0.307
0 VIA_2 0.101 __--
0.758
0.645
- 362"]
0.952 0.114 --0.284 -4741 -- 0.289 0.643 --0.710 409, 0 0 0 lJ
The O R U changcout sequence is depicted by its sequence of subtasks in Fig. 25. The initial and final bolt turning operations are not shown in the figure.The same sequence is used whether moving the O R U from bascplate to stowbin or stowbin to baselflate..The sequence for moving the O R U from baseplate to stowbin is as follows: 1. grapple-lug-acquisitionsubtask to locate grapple lug position 2. guarded-move subtask to A P P R O A C H _ P L A T E position 3. move-to-touch subtask to contact between fin~ers and grapple lug 4. levelsubtask to level fingers on grapple lug 5. compliant-grasp subtask to grasp O R U 6. dual-pin-insertion/removal subtask to remove ORU from bascplate 7. guarded-move subtask through VIA_I and VIA_2 to I N S E R T _ B I N 8. move-to-touch subtask to contact between ORU pins and stowbin cones
239
P.G. Backes, KS. Tso /Single arm ORU changeout
9, dual-pin-insertion/removal subtask to insert ORU into stowbin 10, compliant-ungrasp subtask to ungrasp ORU 11, compliant-move subtask to move away from ORU, The sequence from stowbin to baseplate was also executed. The positions for the task, e.g. INSERT_BIN, were operator-taught in this implementation due to time limitations of the project. It
Grapple-Lug-Acquisition
i
IUr
is preferable to use automated planning of the task positions and via points using a global model of objects.
6. Hardware and software environment T h e hardware and software environment used for implementation o f the a u t o n o m o u s single a r m
Guarded-Move
i
;
Move-To-Touch
V
Level
I
M
.+
R~
,,
Compliant-Grasp
i
Dual-Pin-Removal
Guarded-Move
Move-To-Touch
Dua/-Pin-lnsert
C,ompliant-UnKrasp
Compliant.Move
Fig. 2.5. ORU changeout task sequence.
240
P.G. Backes, K.S. Tso / S i n g l e arm ORU changeout
ORU changeout task is described in this section. The manipulation hardware consists of a PUMA 560 manipulator equipped with a commercial wrist f o r c e / t o r q u e sensor (Lord 15/50) and a Unimation pneumatic parallel gripper. Special fingers were fabricated to match the ORU grapple lug. The computing hardware consists of a DEC MicroVAX-II computer which is interfaced to the LSI-11/73 processor in the Unimation robot controller through two DRV11 parallel interface cards. The sample interval for the Cartesian level control is 28 ms and for joint position control the sample interval is approximately 1 ms. The robot control software was developed using the RCCL (Robot Control C Library) robot language which runs on a modified version of Berkeley BSD 4.3 UNIX. RCCL was developed by Hayward and Paul at Purdue University [9] and consists of a set of primitive functions for robot control. It was further extended by Lloyd at MeGill University [10] to handle multiple robots run-
ning under a multi-processor environment. The extended version is used in this implementation. The robots, ORUs, and control system reside in the JPL Telerobot Testbed. Fig. 2 6 shows two robots and two ORUs in the Testbed. The robot on the left and the O R U that it is holding were used to execute the ORU changeout task. In the figure, the ORU is held above the baseplate. The stowbin is the angled rack behind the two arms that another ORU is sitting on.
7. Conclusions The results of a preliminary study of some of the strategies and control issues involved in the autonomous single arm ORU changeout task as well as an implementation of the task have been presented. The task is separated into subtasks which have their own strategies and control methods. Some of the subtasks that were discussed and implemented were bolt seating and turning, compliant grasp and ungrasp, and dual-pin-insertion/ removal. The study indicates that autonomous single arm ORU changeout is possible but further study is needed in the strategies and control methods. Control in Cartesian space is desirable due to the need to control contact forces between the object held by the manipulator and the environment. The current task implementation relies heavily on compliant and force control to adjust for inaccuracies in position. Implementation of the task may be more robust if the subtasks utilize more decision based motion.
Acknowledgements The research described in this document was performed at the Jet Propulsion Laboratory, California Institute of Technology, under contract with the National Aeronautics and Space Administration.
References [1] Wayne Zimmerman TechnicalTask Manager, Polar PlatFig. 26. Robot and ORU hardware for ORU changeoutexecu don.
form Robotic Servicing Evaluation: FY88 Laboratory Research Results. Technical Report C-6047, Jet Propulsion
Laboratory, 1988.
P.G. Backes, K S . Tso / Single arm ORU changeout
[2] R.P. Paul, Robot Manipulators: Mathematics, Programmin$ and Control (MIT Press, Cambridge, MA, 1981). [3] John J. Craig, Introduction to Robotics: Mechanics and Control (Addison-Wesley, Reading, MA, 1986). [4] J. De Schutter and H. Van Brussel, Compliant robot motion ii: A control approach based on external control loops, Internat. J. of Robotics Res., 7(4) (August, 1988) 18-33.
[5] M.T. Mason, Compliance and force control for computer controlled manipulators, IEEE Trans. Systems Man Cybernet., SMC-11(6) (June, 1981) 418-432. [6] M.H. Raibert and J.J. Craig, Hybrid position/force control of manipulators, A S M E J. Dynamic Systems Measurement, Control 102 (June, 1981) 126-133.
241
[7] D.E. Whitney, Historical perspective and state of the art in robot force control, Internat. J. of Robotics Res., 6(1) (Spring, 1987) 3-14. [8] J.A. Maples and J..l. Becket, Experiments in force control of robotic manipulators, in: Proc. IEEE Internat. Conf. Robotics and Automation (1986) 695-702. [9] V. Hayward and R. Paul, Robot manipulator control under unix; rccl: a robot control "c" library, Internat. J. Robotics Res., 5(4) (Winter, 1986) 94-111. [10] J. Lloyd, M. Parker and R. McClain, Extending the rccl programming environment to multiple robots and processors, in: Proc. IEEE Internat. Conf. Robotics and Automation (1988) 465-474.