当前位置:首页 >> >>

Instituto de Sistemas e Robtica Departamento de Engenharia Electrotcnica e de Computadores

First Steps Towards an Open Control Architecture for a PUMA 560
Nuno Moreira, Paulo Alvito, Pedro Lima
Instituto de Sistemas e Robótica Departamento de Engenharia Electrotécnica e de Computadores Instituto Superior Técnico, Torre Norte Av. Rovisco Pais, n? 1, 1096 Lisboa Codex e-mail: pal@isr.ist.utl.pt

In this paper, progress efforts towards an open control architecture for a PUMA 560 manipulator are described. The original UNIMATE architecture was modified to allow direct control, trajectory planning, task planning and external sensors handling by a network of dedicated personal computers. Meanwhile the new platform was tested by the implementation of one-PD-per-joint and computed torque controllers. The first steps towards the new architecture and the results obtained with the controllers are presented in the paper.

Keywords: Open Control Architecture, Robotic Manipulator, Computed Torque
Controller, PD Controller.

1. Introduction
The PUMA 560 is a six-joint industrial robot manipulator, whose original UNIMATE MARK III Controller includes a DEC LSI-11/02 processor, six digital and analog servo boards and two amplifier boards. Each of these amplifier boards drives three joints of the manipulator. The digital servos have a Rockwell 6503 microprocessor to interpolate the trajectories provided by the LSI-11/02 processor. The analog boards, connected to the digital boards through a Digital to Analog Converter (DAC), contain an analog servo designed as a current feedback controller for each joint motor. Interaction with the user is possible through the VAL-II operating system. The LSI-11/02 interprets VAL-II statements and generates joint interpolated coordinates, sending them to the six 6503 microprocessors. This architecture offers many difficulties when used for high level control tasks, since the operating system VAL-II is based on a closed

architecture. Resources to accomplish sensing, such as vision and force, are not supported. Also, the joint controllers have fixed gains and it is impossible to change them or to change the trajectory generation algorithm. Hence, the implementation of new control, trajectory generation or task planning algorithms is not possible. The methodology followed to avoid the above mentioned limitations, was to replace the operating system VAL-II and most control hardware of the manipulator. The new installed hardware allows direct access to the joint positions and torques. Simultaneously new software was developed to replace the VAL-II basic functions. This groundwork will allow future development of control algorithms based on external sensing (hybrid position/force control and vision based control). It will also allow trajectory and task planning supported by an open control architecture based on primitive tasks (move, plan trajectory, follow trajectory, etc.).

2.4 Amplifiers The paper is organised as follows: Section 2 describes the original control architecture of the PUMA 560 system, followed by the report of the changes introduced in the new architecture (section 3). The methodology for controllers implementation and test is described in section 4. Section 5 presents and discusses the results obtained with the controllers. The power amplifiers supply the necessary power required by the joint motors. 2.5 Incremental Encoders The encoders provide three output signals channels A, B and Index Pulse. Channels A and B are in quadrature, making possible the detection of movement direction. The index pulse is used to detect a complete encoder revolution. This signal is combined with the potentiometer reading to calibrate the encoder readings. 2.6 Potentiometers The joint angular position provided by the encoders is only a relative, not absolute measure. To establish the initial encoder reading at arm power startup, the encoder readings must be calibrated. This is accomplished by using the absolute angular position provided by the potentiometers. The potentiometers values are read by the Analog to Digital Converter (ADC). The potentiometers values are not used until the next arm power startup.

2. Original Control Architecture
The PUMA 560 original control architecture is depicted in Fig. 1.
Controller Digital Servo 6503 28ms A/D 875?s Pot. Analog Servo PUMA 560





Joint motor


Figure 1 - Original Control Architecture

The functions of each module of Fig. 1. are described below. 2.1 LSI-11/02 Processor Interprets the VAL-II commands and sends position setpoints to the six 6503 microprocessors at a rate of 35.7 samples per second. 2.2 Digital Servos There are six digital servos, each of them containing a 6503 microprocessor. The 6503 obtains the actual joint positions and velocities from the encoders, at a rate of 1.2 Ksamples per second. This higher rate requires an interpolation of the set points established by the LSI-11/02, to attain a rate of 1.2 Kset points per second. From the position and velocity errors, the 6503s calculate the torque values that are transmitted to the analog servos through the DACs. 2.3 Analog Servos The analog servos must track the torque set points provided by the digital servos, by controlling the current of each joint motor.

3. Open Control Architecture
3.1 Hardware Design To provide a greater system flexibility and expansion capacity, the new installed hardware supplies direct access to the joint positions and bypasses the old joint controllers. This new system is based on the Trident Robotics cards TRC004 and TRC006. The new system composed by the TRC004 and TRC006 cards plus a Personal Computer (PC), replaces the old system composed by the LSI11/02 processor, the VAL-II operating system and the joint controllers. The remaining components from the original architecture are the incremental encoders, potentiometers, power amplifiers and analog servos. The boards containing the CPU, RAM, EPROM, serial controller, interface cards, and the joint servos were all removed from the control card cage. The TRC004 card replaces their functions, handling the analog circuits kept in the controller cage. The TRC006 card provides an interface between the TRC004 and the ISA bus of the PC.

The block diagram of the new architecture is represented in Fig. 2.
PUMA 560

PC AT486



Analog Servo


Joint motor

Pot. Original Hardware Encoder

collection of knot points which define a trajectory in cartesian space, including desired position, orientation and velocity of the end effector. The knot points are then converted into joint space, where they are interpolated by a cubic polynomial per joint. The PD controller, consisting of a set of six decoupled PDs (one per joint), is depicted in Fig. 3.
θd . θd + Kp + + Kd + -

Figure 2 - New Architecture

PUMA 560 . θ θ

In the new architecture, the set point update rate and the torque update rate have identical values. Due to the fact that the external computer has to perform all the calculations associated with the trajectory planning and the control algorithm every sampling period, there is an upper bound on the sampling rate used. The maximum sampling rate achieved using a 486 DX2 processor was approximately 400 Hz, but in the tests presented here the sampling rate used was 200 Hz. 3.2 Software Design The initial step in software design was the development of routines to replace the basic functionality provided by VAL-II: power on joint calibration, joint position overflow test, and maximum joint velocity test. In the next step, inverse kinematics and inverse Jacobian matrix calculation routines were implemented to provide the user means to define positions and velocities along a trajectory, in Cartesian coordinates. The trajectory knot points are currently interpolated by a cubic polynomial. In this first approach, the main goal was to test the new control architecture, so only partial effort was spent to achieve modularity. In the near future, primitive tasks will be implemented and used as building blocks for task planning and execution, supported by a network of PCs.

Figure 3 - Single Joint PD Block Diagram

The gains Kp and Kd were empirically adjusted, and are listed in Table 1.
Joint Kp Kd 1 700.0 20.0 2 1100.0 20.0 3 400.0 20.0 4 40.0 5.0 5 30.0 5.0 6 40.0 5.0

Table 1 - PD Gains

Even though it can be proved that, with full compensation of gravity and stiction terms, the PD controller is asymptotically stable [5], its dynamic performance is only acceptable at low speeds [2]. This problem lead to the introduction of non-linear controllers which include the manipulator dynamics in their control laws. If the model is accurate enough, non-linear dynamics can be cancelled and the tracking error asymptotically driven to zero. The computedtorque controller is a good representative of this class of controllers. The dynamic equations of the PUMA 560 manipulator are [1]:
  + B(θ ) ? (θθ  ) + C(θ ) ? (θ  2 ) + g(θ ) + S (θ ) + F ? θ  τ = M (θ ) ? θ


4. Implementation and Test of Joint-Space Controllers
To test the functionality of the new hardware architecture, two different joint-space controllers were implemented: a PD controller and a computed-torque controller. As explained before, a simple user interface allows the user to input a

M(θ) - Inertial matrix [6×6] B(θ) - Coriolis matrix [6×6(6-1)/2] C(θ) - Centrifugal matrix [6×6] g(θ) - Gravitic vector [6×1]  ) - Stiction vector 6×1 S( θ [ ] F- Friction vector [6×1] θ - Joint positions vector [6×1]  - Joint angular velocities vector [6×1] θ  θθ - Cross velocity products [6(6-1)/2×1]

Figure 4 shows the block diagram of a closed loop computed-torque controller for the PUMA.

+ -


u = Mm ? v + Bm + Cm + Gm + Fm


θ = M-1 ? ( u - B - C - G - F ) θ





One can choose the values for a1 and a2 so that the closed loop system will track a reference trajectory like a critically damped system. Choosing a value of 10 rad?s-1 to the natural frequency of the system and a damping ratio of 0.5, the following values are obtained for a1 and a2. a1 = 400 rad2/s2, a2 = 20 rad/s.

Figure 4 - Computed-torque controller

In the diagram,
? a1 0 0 0 0 0 a2 0 0 0 0 0 ? ? ? ? 0 a1 0 0 0 0 0 a2 0 0 0 0 ? ? ? ? 0 0 a1 0 0 0 0 0 a2 0 0 0 ? aT = ? ? ? 0 0 0 a1 0 0 0 0 0 a2 0 0 ? ? 0 0 0 0 a 0 0 0 0 0 a 0? 1 2 ? ? ?0 0 0 0 0 a 0 0 0 0 0 a ? 1 2? ?

is a matrix of error and derivative of error gains (a1 and a2, respectively),


?θ ?  + a T ? ? d ? w=θ d ?θd ?

In the tests performed with the real system, it is computationally expensive to compute all the dynamic components of the PUMA 560 model for every sampling period. Furthermore, Leahy et al [2] showed that the effect of neglecting the Coriolis and centrifugal terms is not appreciable, and the elimination of the non-diagonal terms of the inertial matrix leads to improved performance of some link controllers. Hence, only the gravitational terms and the diagonal elements of the Inertial matrix were computed. In the tests, the parameter values of the dynamic model (e.g., masses, moments of inertia) in [1] were used.

From Fig. 4,

5. Experimental Results ?θ d ? θ ? ??  ? ?θ d ? θ ?
(1) Several experiments were made to test the two controllers. Representative results are shown here. The knot points of the trajectory used in all tests are listed in Table 2.
knot point Time (s) Px (m) Py (m) Pz (m) O (°) A (°) T (°) Ready 0 0 0 0.878 0 90 0 2 4 0.45 0.45 0.3 45 45 45 3 7 -0.45 0.2 0.5 -30 30 30 4 11 0 0 0.8 0 0 0

?θ ?  + a T v = w ? a T ? ? ? = θ d ?θ ?

θ is And the following expression for  obtained, by replacing u in the dynamic equations:

 = M ?1 ? (M ? v+B +C +G +F ?B?C?G?F) (2) θ m m m m m
If the model equations match exactly the actual PUMA dynamics (i.e., Mm=M, Bm=B, Cm=C, Gm=G, Fm=F), the following differential equation is obtained by cancellation of terms and replacement of v in (2) by its expression in (1):.

Table 2 - Test trajectory knot points

?θ ? θ ?  = θ  + a T ? ? d θ ? (3) d ?θd ? θ ?
Equation (3) corresponds to the following second order differential equation for the position error:

The angles O, A and T are the ones described in Unimation PUMA 560 Manual [4]. The resulting desired trajectories for the six joints are shown in Fig. 5.

  + a1 ? e = 0 e + a2 ? e

The corresponding results for the computedtorque controller are shown in Figures 8 and 9 respectively.

Figure 5 - Desired Trajectory Joints 1,4 ? Joints 2,5 ? ? Joints 3,6 ? ?

The tracking errors and the applied torques when the PD controller is used are plotted in Figures 6 and 7, respectively.

Figure 8 - Tracking error for Computed Torque controller Joints 1,4 ? Joints 2,5 ? ? Joints 3,6 ? ?

The results show that, in steady state, both controllers present the same error magnitude. The error is not zero due to the non-cancellation of stiction terms, and the unmodeled joint motor dynamics and backlash.

Figure 6 - Tracking Error for PD controller Joints 1,4 ? Joints 2,5 ? ? Joints 3,6 ? ?

Figure 9 - Applied Torque for Computed Torque controller Joints 1,4 ? Joints 2,5 ? ? Joints 3,6 ? ?

The beneficial effects of using the computed torque technique are best observed in dynamic tracking, where the observed error is significantly smaller, for similar torque amplitudes.
Figure 7 - Applied torque for PD controller Joints 1,4 ? Joints 2,5 ??? Joints 3,6 ? ?

6. Conclusions and Future Work
The first steps towards an open control architecture for a PUMA 560 were described. The added effort of implementing all the basic functions previously implemented by VAL-II, was compensated by the perspectives of future development that the new system offers. With the new platform it was already possible to test different controllers and trajectory planners for the manipulator. The next step will consist on the specification and implementation of a set of primitive tasks which will be the building blocks of future developments. These will include implementation of hybrid position/force controllers, vision based controllers, telemanipulation, and efforts towards full autonomy. The task primitives will return performance evaluations to be used for overall system performance and task planning as proposed by Lima and Saridis [3].

[1] Brian Armstrong, Oussama Khatib, Joel Burdick, "The Explicit Dynamic Model and Inertial Parameters of the PUMA 560 Arm", IEEE, 1986. [2] M. B. Leahy, K. P. Valavanis Jr, G. N. Saridis, "Evaluation of Dynamic Models for PUMA Robot Control", IEEE Transactions on Robotics and Automation, Vol. 5, N? 2, April 1989. [3] P. Lima, G. Saridis, "Design of Intelligent Control Systems Based on Hierarchical Stochastic Automata", World Scientific Publ. Co., 1996. [4] PUMA MARKIII ROBOT - 500 Series Equipment Manual. [5] Mark W. Spong, M. Vidyaságar, "Robot Dynamics and Control", John Wiley & Sons, 1989.



All rights reserved Powered by 甜梦文库 9512.net

copyright ©right 2010-2021。