Copyright © IFAC Algorithms and Architectures for Real- Time ControL SeouL Korea, 1992
A SIGNAL PROCESSOR BASED REAL TIME CONTROL FOR A POSITION AND ORIENTATION MEASUREMENT SYSTEM FOR INDUSTRIAL ROB
Abstract. This paper presents a real time controller for a position and orientation measurement system for industrial robots. The measurement system uses the beam of a laser interferometer and a mirror mounted on a cardan joint to follow a retroretlector which is mounted to the;; robot's end effector. The position of the end effector is measured with an accuracy in the range of micrometers and is computed in real time. The orientation is detennined by analyzing the intensity profile of the retlected laser beam. The tracking controller drives the motors of the cardan joint in a way that enables the measurement system to track the position of highly dynamic robots. Since the control loops for the two axes arc coupled and lime-variant. a real time controller i~ u~e;;d to achieve optimal tracking performance.
Keywords. Automatic Control. Computer Control. Control Theory. Digital Control. Predictive Control, Position and Orientation Measurement of Industrial Robots. Real Time Control;
metrology robotics also ne;;cd high path accuracy thc me;;asure;;me;;nt syste;;m mu~t be able to track the robot's moveme;;nt.
INTRODUCTION The application of robots in assembly grew rapidly in recent years and is still growing. Accompanying came the demand and first installments of off-line progamming systems. One of the critical items m off-line programming is the accuracy of the robot. Contrary to repeatability this characteristic measure is not necessary in teaching the movements of a robot. TIlerefore developers basically worked on improving repeatability. Though this also increases accuracy it can be said that the accuracy of an industrial robot is generally at least a magnitUde lower than its repeatability.
Due to this challenging conditions dynamic accuracy measurement systems are rare and limited to either straight lines. slow motion or low accuracy (Jiang. Black. Duraisamy, 1988). TIle subsequently introduced Laser Tracking System (LTS) overcomes most of the shortcomings of other systems. One critical point in obtaining the required tracking capability is the control of the mirror mounted to the cardan joint. It can be shown that the control loops for the two axes are coupled and time-variant. Thus conventional control algoritluns must be robust and do not perfonn satisfactorily. It will be shown that a real time controller can be used 10 increase the tracking performance considerably. TIle real time controller is combined with the real time position measurement syste;;m and is based on a digital signal processor.
Another factor for this bias in research and deve;;!opment was the absence of appropriate measurement systems. Repeatability can be easily metered with local position and orientation measurement equipment. Accuracy needs a system that reaches the entire workspace of the robot and works in a well established reference coordinate system . Since recent applications such as lasercutting or
171
end-effector retrorejlector plane mirror
host computer CCD laser beam
angular encoder ......· ... :...........................................
Fig. 1. Functional principle of the LTS.
FUNCTIONAL PRINCIPLE OF THE TABLE 1 Specifications of Position Measurement
LASER TRACKING SYSTEM (L TS)
50llm
measurement accuracy
Figure 1 shows the functional principle of the LTS. The beam of a high speed HeNe-laser interferometer is deflected by a plane mirror mounted on a card an joint and hils the retroreflector which is mounted to the robot ' s end effector. The beam is reflected parallelly , is again deflected by the plane mirror and reaches the interferometer.
repeatability sampling rate measurement volume
lOllm max. 10 kHz » 1 m3
111e orientation of the retroreflector can be extracted by analyzing the reflected laser beam with a vision system (Prenninger, Gander, Vincze, 1991). The specifications of orientation measurement are presented in Table 2.
The parallel displacement of the incoming laser beam that is twice the distance between the laser beam and the cenlerpoint of the retroreflector, is measured with a position sensitive diode (PS D). Ideally, the laser beam hits the centerpoinl of the retrorel1ector and then: is no parallel displacement. When the robot starts moving the laser beam does not hit the centerpoint, thus there is a displacement of the laser beam. 111is displacement can be regarded as the tracking error and is minimized by the tracking controller through turning the axes of the cardan joint.
TABLE 2 Specifications of Orientation Measurement measurement range (Roll) measurement range (PlY) measurement accuracy resolution
unlimited
± 30 degree better than 10 arcsec 1 arcsec
The tracking controller ensures that the laser beam follows arbitrary movements of the robot. The specifications that are considered to be sufficient for high dynamic operation are shown in Table 3.
Two facts limit the maximum tracking error. First the reference and measurement beam must overlap to ensure correct measurements of the interferometer. Second the tracking error must not exceed 2 mm, otherwise the incoming laser beam does not hit the PSD and track is lost (larger PSD's should not be used due to insufficient dynamics and accuracy) . These facts directly restrict the maximum allowable dynamic potential of the robot during measurement, especially the maximum acceleration. Thus a controller has to be developed that keeps the tracking error as small as possible.
TABLE 3 Specifications of the Target Tracking Controller maximum velocit of the robot maximum acceleration of the robot
CONTROL LoOp
The data from the interferometer, the angular encoders and the PSD are used to determine the position of the robot's end effector in real time with sampling rates up to 10 kHz (Gander and colleagues, 1991). The specifications of the LTS regarding to position measurement shows Table 1.
Ideally the laser beam hits exactly the centerpoint of the retroreflector (see dashed line in fig . 2). When the robot starts moving the beam does not hit the centerpoint, thus there is a parallel displacement of the laserbeam, that is measured by the PSD. Figure 2 illustrates the optical path for one dimension .
172
2 -cos {3,.,sinymcosy., 2 t-cos {3m sin2 Ym
Sin{3,.,cOS{3,.,cos y .,] [ ' ] sin{3.. cos{3.,siny... 6y
sin {3m cos {3,., sin Y.,
6z
t-sin2{3.,
coordinates of the retroreflector
6y,6z
beam displacement
measured angle of the horizontal axis measure angle of the vertical axis
I
beam length
The open loop consists of the horizontal and the vertical drive and the PSD . The inputs of the system are Ihe angular velocities of the drives, the outputs are the signals from the PSD (the beam displacement). TI1e transfer function of the system is detennined by the drives and by the PSD . Due to the geometric arrangement there is a coupling between the two axes. This coupling depends on the angles of the axes. Additionally the length of the beam is a factor for both axes.
beam splitter
, :,
i~y
PSD
The angle errors can be computed using the beam displacement, the length of the beam and the angle of the axes of the cardan joint. Eq. I is the transfonnation of the sensor data to the position of the endeffector without correction of systematic errors .
Fig. 2. Tracking Error in Detail. The position of a beam striking a position sensitive diode can be determined by measuring the photocurrents on each side of the PSD and applying Eq. (2).
6y =
12 -/1 12 + I1 -Id
!il =
I, -I, I, + I } - I.,
TI1e set point angles are the angl es that are necessary for no beam displacement (6Y = 6Z = 0) and can be computed according to Eq . 3,
(2)
r .< = Uf(:tan(~) .rH
where 6y,6z 11,1 2 ,1 3 ,14
Id
(1)
++
(3)
is the beam displacement, are the photocurrents and is the dark current. where
The displacement of the laser beam is regarded the tracking error and is minimized by the tracking controller through turning the axes of the card an joint. Figure 3 shows the closed control loop. The set point angles are the angles that are necessary for zero beam displacement and are thus defined by the position of the robot.
Ps "ts x R'
is the set point angle of the horizontal axis, is the set point angle of the vertical axis, and YR' ZR are the coordinates of the retroretlector.
TI1ese calculations are very time consuming and cause a dead-time in the control loop. Thus the equations an: linearized under the assumption that the tracking error is very small (in the range of some millimeters).
6y
PSD 6 z
6y
displacement of Ule beam
Ym
6z
displacement of ille beam
P
set point a ngle horizontal axis
angl e vertical axis
v~
angular velocity horizontal axis
y
set point angle vertical axis
v,
angular velocity vertical axis
6jl
angle error horizontal axis
Pm
angle horizontal axis
6y
angle error vertical axis
Fig . 3. Control Loop.
P
angle hori zo ntal axis
6y
y
angle verti cal ax.is
tJ. y di splacement o f the beam
6~
a ngle error ho rizontal a xis
6 2
angl e error vert ical axis
di spl ac ement of the bea m
Fig . 4 . Functional Equivalent of the PSD.
173
Figure 4 shows the functional equivalent for the PSD that is valid only for small beam di splacements.
where is is is is is is
During a movement of the robot the length of the beam and the angles of the axes change, thus the open loop is somehow time-variant.
REAL TIME CONTROLLER
of the vertical axis, of the horizontal axis, error of the vertical axes, error of the horizontal axes, displacement and le ngth.
The resulting transfer function of the control loops are linear and time invariant. The drives of both axes can be characterized by an IT2 transfer function. The resonant frequencies are 160 Hz for the horizontal and 80 Hz for the vertical axis.
Conventional control algoritiuns (PID) that are applied to time-variant systems must be robust enough to avoid instabilities, but this in turn decreases the tracking performance considerably.
Using a conventional PID controller in combination with Eq . 4 a maximum acceleration of 20 rad/s 2 around the vertical axis is possible (the horizont al axis is better) . TIlis has been proven experimentally. Since the spec ifications regard ing to the maximum acceleration could not be reached, a new tracking algorithm has been developed.
Thus a real time controller is used to account for the changes in the controlled system. The hardware architecture of the tracking controller is shown in figure 5. The same system is used for measurement and real time position computation. Interferometer
the angle the angle the angle the angle the beam the beam
Horizontal Dri vc
The new algoritlun is based on the fact , that the movemen t of the re troreflector can not change abruptly. This is due to the inertia of the robot's end effector.
Interface
Interface Angular Encoder t Interface
Vertical Drive Interface
Angular Encoder 2 Interface
Timer Board Interface
PSD horizontal Interface
Digital Output Interface
PSD vertical Interface
IBM PC
Thus the future position of the retroreflector can be estimated and is regarded as the set point for the trac king control. A predictive controller minimizes the future tracking errors and considerably increases the tracking perfonnance. Simulations have shown th at acc elerati ons of more than 100 rad/52 around the vertical axis are poss ible.
Interface
DSP96002 Main Board
Figure 6 shows the software modules of the tracking algoritlun.
Fig. 5. Hardware Architecture for the Real Time Controller.
,.-------
The hardware is based on a Digital Signal Processor (DSP) DSP96002 from Motorola. This DSP offers an aritiunetic speed of 50 MFLOPS at 33 MH z (60 MFLOPS at 40 MHz). Via interfaces the DSP has access to the data from the interferometer, the PSD and the angular encoders . Additionally there are interfaces to the host computer (mM - PC), to the power electronics of the motor drives and to the digital output of the retroreflector's position. The timer board generates programmable sampling times for the real time position computation and the target tracking controller. The sampling time currently used is I 00 ~ s .
data from sensors
Real llme Position Computation Module
Future Position Proolctfve Controller to Power
leclronles
Fig. 6. Software Moduks of th <.: Tracking Controllers. The coupling that is introduced by the PSD and the factor that is introduced by the beam length is eliminated using Eg.4 .
t.y =
t.f3
State Estimator TIle state estimator us~s the actual and the past positions of the robot's end e ff.::ctor to estimate the velocity and the acce leration of the robot. 1l1is is only possible since the position is computed in real time.
t.y
21 cos 2 f3
=-~(tanytanf3t.y+~) 21 cosy
(4)
174
Due to the small values of the velocity and the acceleration (for example: an acceleration of 10 g = Ijlffi/sampling interval 2) the effects of measurement noise (partly due to quantization) on the state have to be eliminated by low-pass filtering.
Since the future tracking errors can not be measured, a model of the controlled system is used for the prediction of the future output signals . In the case of the LTS there are no exact future sei values, but the predicted future set point angles that arc required for no tracking error. This predicted future angles are regarded as the set point angles for the predictive controller of each axis. Thus the difference between the predicted angles and the real angles of the axes arc minimized . TIle predicted values arc updated every sampling period using the measured actual position of the robot's end effector.
Predictor The predictor estimates the future position of the robot's end effector using the current state (measured position, estimated velocity and acceleration) of each coordinate. Eq. 5 shows how the future position of the robot's end effector is computed.
Consequently the tracking performance that can be reached by the predictive controller mainly depends on the state predictor of the target tracking controller.
(5) with x = (x
X
X
Y
Y Y z
if
i
CONCLUSION
and 1
T
T2
0
1
T
0
0
<1>=
1
T
T2
0
1
T
0
0
1
T
T2
0
1
T
0
0
1
1
The LTS descri bed is used for the detennination of robot position and path accuracy characteristics . The measurement procedure requires the precise tracking of the moving robot. Due to high accekration and speed capabilities of modern robots this task needs an advanced control algoritlun. We propose a real time controller that works similar to a predictive controller. With a slate estimator and a predictor the future position of the robot is estimated. The predictiv..: controller then minimizes the actual and future tracking error. First results with a slightly simplified controller show the feasibility of the approach.
where x,y,z are the coordinates of the robot, stands for time derivative, T stands for the transpose and T is the sampling period.
ACKNOWLEDGEMENTS The research was supported by the Austrian Sci..:nc..: Foundation, projec ts P6796PHY and P8190TEC.
Assuming constant acceleration of the robot T can also be regarded as the look ahead time for the pn:diction of the position and velocity of the robot's end effector.
REFERENCES Gander, H., 1. P. Prenninger, M . Vincze, G. Zeichen (1991). A new measurement system for advanced modelling and identification for robot control. Symposillm on Robot Control , 16. - 18.9.1991, VierUla, Austria.
Predictive Controller In contrast to conventional control algoritluns predictive controllers minimize the actual and the future tracking error using Eq. (6).
liang, B. c., 1. T. Black, R. Durai samy (1988) . A review of recent dcvt:!opm..:nts in robot metrology. j Ollrnal of Manufactllring Systems, Vol. 7, Nr. 4, pp. 339-357.
; =1
j= 1
PrefUlinger, J. P., H. Gander, M. Vincze (1991). Real time 6DOF measurement of robot end effectors. International Robots & Vi~·ion Conference, 22.24.10.1991, Detroit, Michigan USA.
where
J w y .iu m n
is is is is is is
the cost function that is minimized, the set point value, the real value, the change of the controller output, the cost horizon and the control horizon (Tsang, 1988).
Tsang, T. T. c., D. W. Clarke (1988) . Generalised predicitve control with input constrainls. lEE proceedings , Vo!. 135 , No. 6.
175