Copyright © IFAC Control Science and Technology (8th Triennial World Congress) Kyoto. Japan . 1981
ANALYSIS AND CONTROL OF ARTICULATED ROBOT ARMS WITH REDUNDANCY H. Hanafusa, T. Yoshikawa and Y. Nakamura Automation Research Laboratory, Kyoto University, Gokasho, Uji, Kyoto 611, japan
Abstract. Industrial robot applications have seen remarkable growth in numbers and in diversity of uses. In configuration, it is also slowly changing from cartesian and cylindrical coordinate types to articulated one mainly due to the fact that articulated robot arms are more flexible and versatile. From the view point of control, however, arms of this type possess certain inherent problems. One concerns the nonlinear relation between the position and orientation of the robot hand and the rotational angles of the joints of the arm. Another problem concerns the existence of singular points in the state space of joints, which reduces the robot's degree of freedom. Although it has sometimes been claimed that redundant arms can effectively overcome the problem of singularity and increase flexibility and versatility, these have yet to be studied in full. In this paper, the manipulatability and redundancy of multi-articulated robot arms are analyzed and utilization of redundancy is discussed. Experimental results are also presented concerning the utilization of redundancy for trajectory control with provisions for an obstacle. Keywords. Robots; manipulators; redundancy; obstacle avoidance; multivariable control system; computer control; d.c. motors. INTRODUCTION With increasing utilization of industrial robots in various manufacturing areas, demands for more flexible and versatile robots have intensified. Articulated robot arms composed of rotational joints have recently drawn attention because of their potentiality for flexibility and versatility. One of the main problems in controlling an articulated robot arm is a kinematic one arising from the nonlinearity of the arm configuration. In other words, the nonlinearity between the state of the robot hand (i.e., its position and orientation) and the state of the joints (i.e., their rotational angles) complicates their coordinate transformation [1] [2] [3] [4]. In particular, because of this nonlinearity, there exist some singular points in the state space of joints where the degree of freedom of the robot hand is reduced [5]. This further complicates the problem. It has sometimes been pointed out that redundancy can effectively overcome the problem of singularity and increase the robot's flexibility and versatility [5] [6]. Also several researches on the redundancy of 7 axes robots with configuration similar to human arms have been reported [7] [8]. Nevertheless, the analysis and the study of the utilization of redundant arms with more general configurations have not been carried out sufficiently.
1927
This paper will analyze the manipulatability and redundancy of multi-articulated robot arms and discuss utilization of redundancy. Firstly, the concept of manipulation variable is introduced as the variable suitable for describing a given task of the robot. Secondly, utilizing the manipulation variable, the manipulatability and redundancy of the robot are analyzed. Thirdly, based upon the analysis of redundancy, the utilization of redundancy is considered and the basic equations are derived for the control of manipulation variables in cases where there are orders of priority. And then, after a brief introduction of "UJIBOT", a 7 axes articulated robot arm driven by d.c. servomotors, the basic equations of the utilization of redundancy is applied to a trajectory tracking problem with an obstacle in the working area and the experimental results are presented. MANIPULATION VARIABLES In preparation for the analysis of manipulatability and redundancy of articulated robots, the concept of manipulation variable will be introduced as the variable suitable for describing a given task. When the position and orientation of the robot hand are controlled in 3 dimensional space, tasks have often been described by 6 variables on the basis of an absolute coordinate system
H. Hanafusa, T. Yoshikawa and Y. Nakamura
1928
fixed in the working area [9]. But in welding, for example, since the rotational angle around the weld torch is not essential, only 5 variables are needed to describe the task. Furthermore the position and orientation of the weld torch are conveniently expressed in terms of the following 3 axes : the direction of the weld line, the direction of the normal vector of the weld plane and the direction orthogonal to these two directions. These 3 axes constitute a curved coordinate s ystem in the case of a curved weld line. To give another example, in the case of a task performed by two robot arms in coordination, it is more desirable to express the state of one hand with an absolute coodinate system and that of the other hand with the coordinate system fixed to the former hand, rather than to express both hands with an absolute coordinate system . Thus the variables adopted to describe the tasks of a robot should not be restricted to one absolute coordinate system or any other orthogonal coordinate system fixed to the space . Further, not only the number of variables but the properties should be changeable according to the given task. These variables are called manipulation variables and are expressed by a vector r ERm . The vector r is assumed to be a function of 8ERIl (n = the number of degree of freedom (d . o . f . )) whose components indicate the rotational angles of the joints . That is, r=f(8).
(1)
It should be noticed that there is no restriction on the magnitudes of n and m since it is permitted to describe r redundantly. In order to express the orientation of the robot hand Euler angles are often used . But the relation between Euler angles and 8 is often very complicated. Furthermore, Euler angles do not express the actual hand orientation in an easily comprehensible way. Accordingly it would be more desirable to express the hand orientation by 2 unit vectors fixed to the hand as shown in Fig. 1. That is to say, 3 d.o.f. of the hand orientation are redundantly described by 6 variables. Although this description method has the drawback of increasing the number of variables to be handled, it has the following merits: a) the correspondence between the 2 unit vectors and the actual hand orientation can be easily seen, b) the hand orientatior. can be expressed by simpler equations of 8 , c) the coordinate transformation for the hand orientation is simplified in cases where another orthogonal coordinate system is introduced . As a matter of convenience the number of variables which are essentially independent among manipulation variables will be called "essential dimension of the manipulation variables".
Manipulatability is here used to describe the faculty of robot for performing tasks . This depends not only upon the number of joints but also upon 8 because of the geometrical nonlinearity of the robot. Linearizing Eq . (1) around 8, the equation between or and 08 , which are the small deviations of rand 8 respectively, is derived as follows : or = J(8 )08,
(2)
where J(8 ) = df/d8 is the Jacobian of f(8) with respect to 8 . The manipulatability means whether or not the robot can realize or at 8 to perform the given task. From Eq. (2) it can be seen that or which can be produced by 08 at 8 belongs to R(J), the range of J(8). Conversely if or is an element of R(J), then it can be produced by 08. Hence, we define manipulatable space and degree of manipulatability (d.o . m. ) as follows: DEFINITION 1
R(J) and its dimension are cal l ed the manipu l atable space and the degree of manipulatabi l i t y at 8 respectively. When the d.o.m. at 8 is equal to the essential dimension of the manipulation variables, all the tasks required as or can be realized. In this case, we say that the robot arm is manipulatable at 8. This is an extension of the maneuverability of the robot hand defined by Kinoshita and co-workers [4]. Redundant Space and Degree of Redundancy Redundancy has often been expressed by "degree of redundancy" (d.o.r.) which means the difference between the d.o.f. of the robot and the essential dimension of the manipulation variables. It is not clear, however, whether or not this "degree of redundancy" expresses exactly the redundancy for robots of general configuration including articulated ones. Also the "degree of redundancy" is not by itself sufficient for the utilization of redundancy. In this subsection we will define the redundant space which expresses the redundancy qualitatively, and the d.o.r. suitable for robots of general configuration. To begin with, we consider the redundancy of the cartesian coordinates robot shown in Fig. 2. Taking the hand position as the manipulation variables, the relation between r = col. (x,y) and 8 = col. (8 ,8 ,8 ) is given by 1 2 3 (3)
r = H8
°
010 where H = [ 1 1 ]. In this case the redundancy is explained by the following equation. r = H (8 + k 8 ) = H8 r
(4 )
Here k is an arbitrary scalar and 8r col.(l, 0,-1). In Eq. (4) the vector k 8 mapped to o by H expresses the redundancy r qualitatively Manipulatable Space and Degree of Manipulatability and the dimension of the space spanned by such MANIPULATABILITY AND REDUNDANCY
Analysis and Control of Articulated Robot Arms
1929
e
vectors refers to the extent of redundancy. Following the same line of argument, the redundancy of articulated robots can be discussed based on Eq. (2). The redundancy is now qualitatively expressed by the vectors mapped to 0 by J(0 ), i.e., the elements of N(J), the null space of J(0) . And the extent of the redundancy is given by the dimension of N( J). Hence the following definition:
dynamic redundancy is expressed by mapped into 0 by J(0) . Hence they are related to the characteristic of J(0) in the same way as in the static case. Therefore DEFINITION 1 and DEFINITION 2 are valid also for the dynamic manipulatability and redundancy. UTILIZATION OF REDUNDANCY IN CONTROL OF MANIPULATION VARIABLE WITH ORDER OF PRIORITY
DEFINITION 2
N( J) and its dimension are called the redundant space and the degree of redundancy at 0 respectively. In the case where the robot is not manipulatable at 0 , the d.o.r . at 0 expresses the extent left for 00 as redundancy when robot makes a move of an element of the manipulatable space. In this sence the degree of redundancy in DEFINITION 2 is an extension of that as commonly understood. It is well known that the range and the null space of a matrix M satisfy the following: l = dim R(M) + dim N(M)
(5)
where l is the number of columns of matrix M. Applying Eq . (5) to J(0 ), we have the following proposition. PROPOSITION
Between the d. o.m. and the d.o . r . of the robot with n d.o.f., tha following relation holds regardless of 0 . d. o.m.
+
d. o .r = n
(6)
Task Described by the Manipulation Variables with Order of Priority Not to speak of welding, there are various kinds of tasks where the command for the hand position is more significant than that for the hand orientation. Contrary to these is the task of pointing a camera attached to the robot hand to a certain direction where the hand orientation is more important than its position. If in these cases it is impossible to realize the both commands, it would be adequate to realize the command for the more significant variables of the two. We try to realize the less significant command as much as possible only after realizing the more significant command. In this section we regard these tasks as the tasks described by the manipulation variables with order of priority. We can also deal with more complicated tasks by this task description. For example, tasks in which the hand position and orientation should track the desired trajectory and the arm should avoid the obstacles in the working area as much as possible, can be treated by assigning higher priority to the hand position and orientation and lower priority to the motion of avoiding obstacles .
This proposition indicates that at singular points of J(0) where the d.o.m. decreases, the d.o.r. increases by the number the d.o.m. de creases.
Derivation of Basic Equations
Dynamic Manipulatability and Redundancy
ond manipulation variable r2 €Rm2. Then the equations corresponding to Eqs. (1) and (2) are expressed as:
The above discussion was solely based on the geometric relation between or and 00 , and did not consider the dynamics of the robot. Thus it was an analysis of static manipulatability and redundancy. In this subsection we will briefly comment on dynamic manipulatability and redundancy . In this case the manipulatability and redundancy can be considered on the basis of the relation between r, the a~celerations of the manipulation variables, and 0, the accelerations of joint angles. By differentiating Eq. (1) twice with respect to time, we obtain:
r -
j (0) El = J (0)
i:i .
(7)
Instead of Eq. (2) we should consider Eq. (7) the basic equation here. In Eq. (7) the second term of the left-hand side refers to the effect of the present state 0 and El on r ...To realize the required r, we need to produce 0 satisfying Eq. (7). In other words, dynamic manipulatability means whether such i:i exists or not, and
Suppose that the first manipulation variable rl €Rml are given higher priority than the sec-
r
i
or
=fi i i
(0) i
= J (0) 00
where J (0)
=
af
i
(i
1,2)
(8 )
(i
1,2)
(9)
la0 .
The general solution of 00 satisfying Eq. (9) for i = 1 is given by: 00 = Jl # (0) orl + { I - Jl # (0) Jl (0) } Y
(10)
where J 1# (0 ) is the generalized inverse matrix of Jl(0) and y€R n is an arbitrary vector [10]. From R( J1#) = N(Jll-, R(I -} #Jl) = N( } ) [10], it is understood that the second term of the right-hand side of Eq. (10) is an eleQent of the redundant space at 0 of the first manipulation variables . So choosing y properly, the redundancy can be utilized.
1930
H. Hanafusa. T. Yoshikawa and Y. Nakamura
The vector y which minimizes 11 or2 - J2 (0) 00 11. the euclidean norm of or2 - J 2 (0 ) 00 , is given by : y = {J2( I _ }#Jl)}# (or 2 _ J2 J l#or l )
(11)
From Eqs . (10) and (11). 00 can be computed for l or and or2 in consideration of the priority. For the trajectory tracking problem in working space with obstacles, as stated in the preceding subsection, if the motion for avoiding obstacles have been previously described in terms 2 of 0, we can make r = 0 . Then, using J 2 (0) = I and the properties of generalized inverse matrices, (I _Jl#Jl)#= I _ Jl#JlandJl#=Jl#JlJl#, in terms of Eqs. (10) and (11) 00 can be expressed by the following simpler form:
system for tracking the desired trajectory rO(t) has been designed as follows. If we take the feed forward compensation for the third and fourth terms of the right-hand side of Eq . (131 the system can be regarded as linear and decoupled. Furthermore, because of P « Q in Table 1 i i it can be seen that the time constants for velocity command is very small. Hence, we designed a servo system in which the modified trajectory r * (t) is generated according to the deviation from rO(t), and the 8 necessary for realizing r*(t) is commanded to the open loop controller which was constructed with due consideration to the dynamics. Figure 5 shows the conceptual block diagram of the servo system. For example, at time to a modified trajectory r* (t) (t ~ to) is generated as follows.
00 = Jl# (0) or l + {I - Jl# (0 ) Jl (0)} or2. (12) TRAJECTORY CONTROL OF UJIBOT WITH PROVISIONS FOR AN OBSTACLE Dynamics of UJIBOT
= r 0 (t)
o
+ exp{-H (t-t )} {r(t ) - r (to)} (14) O o where a constant matrix H=diag . (H.) €Rmxm,H .> O. 1
1
Example of Trajectory Control with Provisions for an Obstacle
Figure 3 shows a comprehensive view of UJIBOT, an articulated robot of 7 d.o.f . driven by d.c. servomotors. UJIBOT is equipped with a potentiometer and a tachogenerator at each joint in order to measure 0 and 0. Figure 4 is the distribution of d . o.f . of UJIBOT, which shows that unlike human arm type robots UJIBOT is characterised by the general distribution of d.o.f . . The length of each link is (ll lz l3 l4 ls l6 l7) = (0.0 0.30000 0.27810 0.21190 0.25000 0.06853 0.23147) (m). The mass altogether is about 134 kg. The distinctive feature of the driving system of UJIBOT is its large reduction ratio. Since, compared with the dynamics of the arm itself, the dynamics of the transmission is emphasized by the square of the reduction ratio, we shall have to consider only the inertia force, viscous friction force, Coulomb friction force of the transmission of UJIBOT and the gravity force of arm which is important statically. Furthermore, since the inductance of armature controlled d.c. servomotor is very small, we shall neglect the inductances of driving motors of UJIBOT. Considering the above, the dynamics of UJIBOT is represented as follows: V = P8+ Q0+ RSignG + STg(0) where V€R
r * (t)
Based on the controller designed above, we shall consider an example of the trajectory control with provisions for an obstacle. The task is as follows: from the initial state 0 = (2.48 -24.6 -22.1 15.9 -29.1 3 . 30 -49 . 4) T 1
(deg.) shown in Fig. 6 the hand position is to be moved in the direction of Y-axis at the constant rate of 0.03 m/s for 24 seconds. There is an obstacle in the working space as shown in Fig. 6. The arm must avoid colliding with this obstacle. The hand position expressed by the absolute coordinate are choosen as the first manipulation variables, and 0 for avoiding collision as the second manipulation variables. That is, r r
1
( X Y Z /
2
The desired trajectory is expressed as follows. rlO(t) 2O r (t)
(13) where 0
7
(15)
o
r
rlO(O) + t (0 0.03 0) T 0
(16 ) r
refers to the desirable constant arm
is the control voltage vector of 7 motors, Tg(0)€R is the torque vector generated by gravity force, sign0=col.(sign0 . )€R 7 , P=
posture for avoiding collision, which had been taught in advance. Selecting the modified trajectorys r 1* (t) and r 2* (t) as Eq. (14), the ve-
diag. (P. )€R7x7, Q = diag. (Q . ) €R7x7, R = diag. (R.) 7 7 1 71 7 1 €R x and S = diag,(Si) €R x for constants, Pi'
. . . ca lcuIate d as lOClty r.1* an d r.2* at tIme to IS follows. 1* 10 1 1 10 r (to) = r (to) - H {r (to) - r (to)}
1
Qi' Ri and Si'
Table 1 shows the numerical
values of Pi' Qi' Ri and Si'
r2* (to) = - H2 { 0 (t ) - 0 } r O
(17)
Design of the Trajectory Control System
Regarding Eq. (12) as the relation among the
Based upon the discussion above, the control
small changes
0f
. In . f Inlteslma " . 1 0-, r 1 an d r 2 In
Analysis and Control of Articulated Robot Arms time at, the following equation is obtained.
El = Jl# (0) rl
+ {
I - Jl# (0) }(O) } r2
(18)
From Eqs. (17) and (18) the velocity command El can be calculated. The block diagram of the control system is shown in Fig. 7. Figure 8 shows the experimental result without provisions for the obstacle, where H~ = 3 (l/s) 2 1 for i=l, 2, 3 and Hi =0 (1/s) for i=l, ··· , 7. It can be seen that the arm posture changes smoothly and the desired trajectory of the first manipulation variables is tracked almost perfectly. The obstacle, however, interferes with the movement of the arm as shown in the photograph of Fig. 8 . Teaching Or as shown in Fig. 9, the experimental result with provisions for the obstacle is given in Fig. 10, where H~ = 3 (l/s) for i=1,2,3 2 1 and Hi =0 . 1 (l/s) for i=l, .. · , 7. In comparison with Fig. 8 it can be seen that the arm posture changes greatly in first 10 seconds to approach Or and thus the arm successfully avoids the obstacle. The control system in Fig . 7 is all software. Using the minicomputer NOVA model 03 with a floating point processor unit, it requires 47 ms of sampling time. CONCLUSION Results obtained in this paper can be summarized as follows: 1) Manipulation variables were defined as variables suitable for describing a given task of the robot. Based on the manipulation variables the manipulatability, which is the faculty of the robot for performing the task, was analyzed. The manipulatable space and the degree of manipulatability, which are important concepts in understanding the manipulating faculty of the robot, were also defined. 2) The concept of redundancy was clarified by regarding it as the remaining faculty of the robot under the condition that it must perform the task described by the manipulation variables as much as possible. The redundant space and the degree of redundancy were also defined.
standard posture
Fig. 1
eST 4 - 0
1931
It was shown that the sum of the degree of manipulatability and the degree of redundancy is equal to the degree of freedom of the robot without regard to 0. 3) Based on the analysis of the redundancy, a control scheme was developed for a task having several objectives with order of priority. This is a typical example of the utilization of redundancy. 4) Experimental results were presented concerning the utilization of redundancy for an articulated robot arm with 7 axes driven by d.c. servomotors. The hand followed the desired trajectory successfully while the arm avoiding the collision with an obstacle in the working space. REFERENCES (1] Whitney, D. E. (1969). Resolved motion rate control of manipulators and human prostheses. IEEE Trans. Man-mach. Syst., 10,47-53. [2] Stepanenko, Y. A. (1970) . In M. M. Gavrilovic and A. B. Wilson, Jr. (Ed.), Advances in External Control of Human Extremities, Yugoslav Commit. Electr. Autom., Belgrade . [3] Roth, B., Rastegar, J. and Scheinman, V. (1973). On the design of computer controlled manipulator. In On Theory and Practice of Robots and Manipulators, Vol . I . SpringerVerlag, Wien-New York. pp. 93-113. [4] Kinoshita, G., Kobayashi, H. and Hiraoka, Y. (1978). Study on maneuverability of manipulators. Proc. 21st J. A. C. C. in Japan, 229-230. [5] Uchiyama, M. (1979). Study on dynamic control of artificial arm. Trans. JSME, 45, 314-345. -[6] Freund, E. (1977) Path control for a redundant type of industrial robot. Proc. 7th 1. S. 1. R., 107-114. [7] Nakano, E. (1976). Mechanism and control of articulated manipulator. J. Soc. Instrum . & Control Eng., ~, 637-644. [8] Mizukawa, M. and c0-workers (1975) . Torque position control of articulated artificial arm. Proc. 4th Biomechanism Sympo., 242-253. [9] Whitney, D. E. (1972). Mathmatics of coordinated control of prosthetic arms and manipulators. Trans. ASME Ser. G, 94,303-309. (10] Boullion, T. L. and Odell, P. L. (1971). Generalized Inverse Matrices, Jhon Wiley & Sons, New York. Chap. 1, pp. 1-11. For Discussion see page 1940
f'--,*~
Description of hand orientation by two unit vectors.
Fig. 2 Cartesian coordinate robot with redund ancy .
Fig. 3 Comprehensive vie" of UJIBOT.
H. Hanafusa, T. Yoshikawa and Y. Nakarnura
1932
.
r (t )
,t cp 1 ~t
j-
I tI
gelleratlon of modifi('J tr :t.il·\... t 0 r~ ·. coo rdinate tr31l..-.ft"'lr:Ti ;Itlon .l n J lItill ::l tio :l
cl':
:-:.tC'p:;
cOC'l rJi lutC'
Fig.
Clf'
r l'J:lT:J~!:h::'
tra!l:-:.t" I.'f:-:::lt l C'il .
Seno system for trajectory control of UJ IBOT.
Estimated Parameters of UJ I BOT P . vs
2
I
10. 76 40. 80
Qi vs
R. v
S. v / Nm
189 .9
1.623
0.0 4 . 475 .10- 3
1
1
108 7 .2
.2.070
.676
233
0.950.
653
128
0.9207
491
181 .7
1. 086
10.92
47.09
1. 274
0 . 714
5.686
1.014
.118)( I 0- 2
2 2. 067,102 3. 323x1085 I , 10- 1 2.
Fig. 6 Fig. 4
r
fro ~
from X-oxis
0
v-axIs
Initial position 0 1 and an obstacle.
The d . o.f. of UJIBOT.
10 (t)I......-~~ r
1
,0
r~ (tJ~=*;~
or Fig .
from X-axis
Block diagram of trajectory control with provisions for obstacles.
Fig. 9
from Y-oxls
Desirable arm posture 0 in order to avoid the collision. r
3cmls x 24s
from Y-axis
from Y-axiS
t;;::q / / / /
taught
arm posture "" .... "" /
6r / / /
/
I
I
I
arm posture
from Y-oxls
==~> 3cm/s x 24S
Fig. 8
Trajectory of th e arm without provisions for the obstacle.
Fig. 10
Trajectory of the arm with provisions for the obs tacle.