Professional Documents
Culture Documents
Implementation of a Robust Dynamic Control for SCA
Implementation of a Robust Dynamic Control for SCA
net/publication/227031764
CITATIONS READS
4 6,005
5 authors, including:
All content following this page was uploaded by Min Cheol Lee on 05 July 2015.
A control system for SCARA robot is designed for implementing a robust dynamic control
algorithm. This study focuses on the use of DSPs in the design of joint controllers and interfaces
in between the host controller and four joint controllers and in between the joint controllers and
four servo drives. The mechanical body of SCARA robot and the servo drives are selected fi-om
the commercially available products. The four joint controllers, assigned to each joint separate-
ly, are combined into a common system through the mother board hardwarewise and through
the global memory softwarewise. The mother board is designed to connect joint controllers onto
the board through the slots adopting PC/104 bus structures. The global memory stores the
common data which can be shared by joint controllers and used by the host computer directly,
and it virtually combines the whole system into one. To demonstrate the performance and
efficiency of the system, a robust inverse dynamic algorithm is proposed and implemented for
a faster and more precise control. The robust inverse dynamic algorithm is basically derived
from an inverse dynamic algorithm and a PID compensator. Based upon the derived dynamic
equations of SCARA robot, the inverse dynamic algorithm is initially implemented with I msec
of control cycle--0.3 msec is actually used for the control algorithm--in this system. The
algorithm is found to be inadequate for the high speed and precision tasks due to inherent
modelling errors and time-varying factors. Therefore, a variable P1D algorithm is combined
with the inverse dynamic algorithm to reinforce robustness of control. Experimental data using
the proposed algorithm are presented and compared with the results obtained from the PID and
the inverse dynamic algorithms.
The inverse dynamic approach requires and computer and the four controllers is mainly per-
utilizes the detailed description of a robotic sys- formed through the 16 bits data bus connected to
tem. However, it cannot comply with the estima- the global memory which is partitioned and used
tion error of the inertia matrix and external by the memory-map method. Reset and start
disturbances. Instead of applying the bounded- signals are sent from the host computer to the
hess assumption to derive VSPID(Chen and individual joint controllers and status signals of
Chang, 1996) or to derive accurate compensated the controllers are sent back to the host computer
inverse dynamics(Shyu et al., 1996), we dynami- through the I/O map 1/O interface.
cally adjust the PID parameters using fuzzy rules
and a fine tuning scheme. 2.2 Joint controllers
To demonstrate that the designed system is Joint controllers are designed using fixed-point
suitable for the application of dynamic control DSPs (TMS320C50) as shown in Fig. 2. A DSP
algorithms involving lots of calculations, experi- can perform a single-cycle fixed-point instruction
ments are conducted with a SCARA robot and every 50 nsec (20 MIPS) when a 40 MHz crystal
observed experimental results are presented. is used as clock oscillator. It can address 64k
times 16 bits of program and data areas individu-
2. Architecture of Controller ally, and it has 64k 1/O capability. In the DSP, 9k
times 16 bits of single-cycle program/data RAM
2.1 System overview and 2k times 16 bits of single-cycle boot ROM
A schematic diagram of the designed controller are imbedded inherently. There are also several
is shown in Fig. 1. The system is composed of a 32 bits registers that can perform 16 bits multipli-
host computer (PC 586), four joint controllers, cations without repetition. Each joint controller
four servo drives, a mother board, actuators, and uses 32k times 16 bits SRAM as the program
two power supplies. The mechanical body and memory whose access time is 20 nsec. It also uses
servo drives of a SCARA robot are being utilized 32k times 16 bits SRAM as the data memory
as the control system. Through the mother board individually and shares 32k times 16 bits SRAM
(refer to Fig. 1), the host computer sends position as the global memory with others. The memory
commands to the joint controllers at every 16 architecture is determined to arbitrate the memory
msec. With this data transmission it receives access conflicts among the DSPs.
actual position and velocity values from the con- The communication path in between each joint
trollers to monitor the control performance in controller and the corresponding servo drive is
real time. The communication between the host supported by a 34 pin connector as shown in
Fig. 1 Schematic diagram of overall system. Fig. 2 Schematic diagram of a joint controller.
Implementation o f a Robust Dynamic Control for SCARA Robot 1107
share the coupling variables among themselves. Fig. 5 Control flowchart of joint controller.
The global memory arbitration logic resolves
possible collisions which may occur when the 3. Control Flow of Joint Controller
global memory is accessed by more than one of
the host computer and joint controllers at the A DSP at each joint controller may down-load
same time, In arbitration logic circuits, the order the main program from the EPROM at the initial
of priority is set by the hardware: the first one is stage. In this design, we down-load the main
the host computer, and the joint controllers fol- program from the host computer to the joint
lowing the order from lower to higher ones. Note controllers directly with a selection signal to the
that, a lower joint controller needs high priority joint controllers through the I/O map I/O inter-
since coupling effects (which can be accessed face. Note that TMS320C50 can be used in two
through the global memory) in the lower joint are modes: a micro-computer mode and a micro-
more serious than those in higher joints. The processor mode, which can be selected by the bias
resource allocation, specifically global memory of M P / M C ( M i c r o p r o c e s s o r / M i c r o c o m p u t e r
sharing, can be effectively done by closely mode) pin of the DSP. The micro-computer
monitoring coupling variables among joint con- mode is selected to use the boot loader existing
trollers, even though this effectiveness of the inherently in the DSP. Each DSP waits until all
global memory highly depends upon a control DSPs are down-loaded and a start signal from
algorithm. For example, the sequence of transmit- the host computer comes into the BIO pin of the
ting position commands from the host computer DSP. After this step, the control flow comes into
to the joint controllers can be predetermined and the normal processing mode as shown in Fig. 5.
kept consistent not to cause collisions. At the initialization stage of operation, all regis-
A serial communication arbitration circuit ters are initialized first and then the initialization
arbitrates the RS-232C communication (serial of timers for sampling is followed. After the
communication channels between the host com- initialization process, the joint controllers start to
puter and joint controllers) using the multiplexer perform the down-loaded program using the
and demultiplexer. The channel allocation is position and velocity data if necessary. The desir-
governed by the host computer and the connec- ed position command is received from the host
tion is activated by a polling method. The computer in every 16 msec and it is interpolated
EPROM is used for the initial down-loading of to 16 segments. Before getting into the servo
programs for joint controllers when the power control loop (16 times of servo control loop in
switch is set on. every 1 msec), the joint controller checks whether
Implementation of a Robust Dynamic Control for SCARA Robot 1109
the command is for the home position (zero where e l = c o s 01, s l = s i n 01, c1+2-4=c0s(01+02
return) or not. And then, the controller generates - 04), and s12=sin 01 sin 02.
the reference position and velocity values; it Dynamic equations of SCARA robot are
measures the actual position and velocity values. obtained using Euler-Lagrange equations as:
With these values, the control algorithm is perfor-
D(q)i~+C(q, (1)+(l+G(q)=r (3)
med and the current command is sent to the servo
drive in every I msec. where D(q) is an n • inertia matrix, D ( q ) =
[d~cq)] ...... dij(q) : d j i ( q ) , ~/is the n • 1 acceler-
4. Dynamics of SCARA Robot ation vector, C(q, (1) represents the centrifugal
and Coriolis terms, (1 is an n • l velocity vector,
The structure of SCARA robot is shown in q is an n • I configuration vector, G (q) is an n
Fig. 6 with the assignment of link coordinate • gravity vector, and r is the n X 1 torque
frames based on the Denavit-Hartenberg repre- vector.
sentation. The link parameters are listed in Table Let N (q, (1) = C (q, (1) + G (q), and N (q, (1)
2. = [ N , . ( q , (1)1,• then D(q) and N ( q , (1) can
The homogeneous transformation matrix, H04, be represented in terms of robot parameters and
and the equations of motion are derived from their elements are obtained as:
Table 2 as:
d1,:([1+12+I3+I4) + ( ~ - + 2 m 3 +, m 4 ) L~
[ CI+~-4 $1+2-4 0 Llcl+L2cl+2-
H04= sl -4 --el+z-4 0 LIsI+LzsI+2 +(Z~+ 3m3+m4)L1L2 cos q,,.
0 --1 dt+d3-d4 (1)
0 0 1 + ( t~3-+ m3 + rn4)L~,
ha-- ( m 3 + m 4 ) g , n4=0,
m~=3kg, m2=l.5kg, ma=l.5kg, m4=l.5kg,
It=O.821kgm 2, I2=O.136kgm 2, I3=:0.008kgm 2,
I4=0.0014kgm 2, and g=9.8m/sec 2.
Joint 1 2 3 4
mi
0.36• 10-4 0.20X 10-4 0.026• 10-4 0.026• 10-4
(kg. m0
B,n~
0.04 0.04 0.03 0.03
(N. m)
Fig. 7 Inverse dynamic algorithm.
r~ 1/50 1/50 1/45 30.769/360
f
Kpe+ K+Je dt + K o e = (9)
where ~ ) = - [ J m + D m ( q m ) ] , r e2 ea e4] r,
and Dm(qm) is a diagonal submatrix ofDm(qm).
Note that Jm+Om(qm) is a diagonal matrix and (a) /IE (x) (b) tzv(y)
the non-diagonal terms of Dm(qm) are incor-
porated into r
5.2 Fine tuning for the compensation of the The whole implementation of the inverse dynamic
disturbance algorithm is not indicated directly, however, it
K~i and KDi are determined through the fuzzy should be noted that the communication between
implication, while Km is determined to satisfy the a host computer and joint controllers is perfor-
stability condition and to meet error characteris- med with the aids of global memories which are
tics. When the designed PID parameters are placed on the mother board for sharing the joint
applied to the actuator control, (9) representing variables.
the error characteristics becomes
6. Experiment and Controller
K~+K,f~dt§ e=~ (13) Evaluation
where ^ stands for the measured value of a vari-
To check the validity of the controller with the
able at each sampling instant.
performance evaluation, a conventional PID, an
Note that the error characteristics in (13) is not
inverse dynamic, and a robust inverse dynamic
the same as the desired second order characteris-
algorithms are implemented in the S C A R A robot.
tics implied by the designed values of Ke~, Kli and
The experimental trajectory is shown in Fig. 11.
K~i of the non-zero right term. Therefore, Km is
Velocity profiles for the desired three dimensional
fine tuned for the compensation of the unexpected
straight line motion is shown in Figs. 12 and 13.
disturbance assuming z)i=0 as follows:
F o r a lower speed motion, the end-effector moves
from A to B in 0. 88 sec; for a higher speed
Kin=Kin+ ~ (14)
Ci motion, 0. 72 sec.
After this fine tuning process, the error equa- F o r PID algorithm, the optimal parameters are
tion becomes the second order homogeneous one selected during the experiments. For the inverse
such that stability is easily guaranteed satisfying dynamic and robust inverse dynamic algorithms,
the designed error characteristics. the angles and angular velocities of the actuators
Control flow of the robust inverse dynamic are stored in the global memory for calculating
algorithm is shown in Fig. l0 where the processes the manipulator dynamics. For the inverse
are represented in terms of individual actuators. dynamic algorithm, PID compensation loops are
Implementation o f a Robust Dynamic Control for SCARA Robot 1113
Inverse
Gain PID
Dynamic
Kel 22 20
Kez 13 15
Ke~ 2 2
Kp, 2 2
Kj i 0.0032 0.0029
Kjz 0.0015 0.0013
K~3 0.0015 0.0015
Fig. 11 Experimental trajectory,
K~4 0.0012 0.0012
Km 64 61
KDz 48 45
Ko:~ 48 32
K~4 32 32
7. Conclusions
implemented. Through the experiments, it is mutatorless and Brushless Motor," IEEE Trans.
shown that the proposed algorithm can give us a Power AppL Syst., Vol. PAS-91, pp. 1476--1484.
solution to the compensation of unmodelled Mamdani, E. H., 1977, "Application of Fuzzy
dynamics and disturbance. Developing an intelli- Logic to Approximate Reasoning Using Linguis-
gent algorithm for self-tuning the PID parameters tic Systems," IEEE Trans. Com., C-26, pp. 1182
in the robust dynamic control is left for our future --1191.
research. Pillay, P., and Krishnan, R., 1989, "Modeling,
Simulation, and Analysis of Permanent- Magnet
References Motor Drives, Part ll: The Brushless DC Motor
Drive," 1EEE Trans. Ind. AppL, Vol. 25, No. 2.
Chen, C. L. and Chang, F. Y., 1996, "Design Rocco, P., 1996, "Stability of PID Control for
and Analysis of Neural/Fuzzy Variable Struc- Industrial Robot Arms," IEEE Trans. Robo. and
tural PID Control System," lEE Proc. Control Auto., Vol. 12, No. 4.
Theory Appl., Vol. 143, No. 2, pp. 200--208. Shyu, K. K., Chu, P. H., and Shang, L. J., 1996,
Digital Signal Processing Products, t989, Digi- "Control of Rigid Robot Manipulators via Com-
tal Signal Processing Applications with the bination of Adaptive Sliding Mode Control and
TMS320 Family, Vol. 1, 2, 3, Texas Instruments Compensated Inverse Dynamics Approach," IEE
Inc.. Proc. Control Theory Appl., Vol. 143, No. 3.
Digital Signal Processing Products, 1993, Song, Y. D., Mitchell, T. L., and Lai, H. Y.,
TMS320C5X User's Guide, Texas Instruments 1994, "Control of a Class of Nonlinear Uncertain
Inc.. Systems via Compensated Inverse Dynamics
Franklin, G. F., Powell, J. D., and Enami Approach," IEEE Trans., AC-39, pp. 1866
-Naeini, A., 1986, Feedback Control of --1871.
Dynamic System, Addison-Wesley. Spong, M. W., and Ortega, R., 1994, "On
Kelly, R. and Salgado, R., 1994, "PD Control Adaptive Inverse Dynamics Control of Rigid
with Computed Feedforward of Robot Manipula- Robots," IEEE Trans., AC-39, pp. 1866--1871.
tors: A Design Procedure," 1EEE Trans. Robo. Takegaki, M., and Arimoto, S., 1981, "A New
and Auto., Vol. 10, No. 4. Feedback Method for Dynamic Control of
Lewis, F. L., Abdallak, C. T., and Dawson, D. Manipulator," A S M E Trans. of Dynamic Sys-
M., 1993, Control of Robot Manipulators, Mac- tem, Measurement, and Control, Vol. 103, pp.
millan Publishing Company. 1 1 9 - 125.
Lin, K. S., Frantz, G. A., and Simar, R., Jr., Zubek, J., Abbondanti, A., and Nordby, C. J.,
1987, "The TMS320 Family of Digital Signal 1975, "Pulsewidth Modulated Inverter Motor
Processors," IEEE Proc., Vol. 75, No. 9. Drives with Improved Modulation," 1EEE
Maeno, T., and Kobata, M., 1972, "AC Corn- Trans. Ind. AppL, Vol. IA-11, pp. 695--703.