A Flexible Real-Time Motor Control System For Robot Joints
A Flexible Real-Time Motor Control System For Robot Joints
A Flexible Real-Time Motor Control System For Robot Joints
Once have achieved the desired results, the user can Ethernet
Host PC.Loading
Matlab/Simulink/RTW
generate downloadable C code and executable TCP/IP and Watcom C/C++.
program using Real Time Workshop and Watcom Runing at Windows98
C/C++. With the HIL simulation, the user can tune
parameters and further refine the model, again
rapidly iterating to achieve required results. Finally, 8/6 PWM 2
BUS
the codes are ready for use in production systems. I/O
HCTL1100 AMP
Boards
Encoder
II. SYSTEM CONFIGURATION
Target PC. DOS
Executing real-time Joint processor Motor
Generally, there are two methods to configure the program.
control circuit for robot joints (Enriquez et al., 1995).
The first approach is to use the Personal Computer
(PC) to control the joints through serial or parallel Figure 2. Hardware architecture of the flexible real-
ports, or through PC-bus (Mauer et al., 1989). The time motor control system.
Host PC has to take care of all the tasks such as
algorithm design, control implementing, data
collection and processing. This approach is
completely flexible and any control algorithms can III. SYSTEM HARDWARE
be generated and run at the Host PC. However, it
suffers some disadvantages in real-time applications. The Workstation runs windows98 with Matlab,
The reason is the complex control algorithms and Simulink, and Real Time Workshop. It is the Host
other tasks will occupy lots of PC resource so that it where the control algorithms are designed, modeled,
degrades the sample frequency that is important for simulated, and the real-time programs are built. For
real-time control. This is an extreme approach, which best performances, larger memory and fast CPU are
uses the PC to execute whole tasks, and is used in recommended for the Host PC.
few practical applications. Another method is to use
the microcontroller to control the joint directly. A PC-AT (486 or Pentium) severs as the Target PC
According to the different situation, the user can and runs DOS for real-time programs. It executes
customize the hardware and circuit to meet the real- real-time control algorithms and sends or receives
time requirements for specific control. This method data to or from the joint processor. Since DOS is a
may meet the real-time application but it is not easy single tasking operating system where only one
to change the control algorithms and afford process can exist at any given time, so it guarantees
sophisticated computation due to the limitations of that the program can execute in real-time by interrupt
microcontroller. The user has to design the service routine.
algorithms somewhere and then program the model
into the hardware using the low-level language to I/O broads provide the communication between the
verify the results. Because the controller design is an Target PC and external hardware. In this case, the
interactive design-prototype-test development robot joint is controlled by Target PC through
process, using this method will cost much time on HCTL1100. That means that the digital I/O boards
programming other than dedicated controller design. are enough for this application. The 24 bit parallel
Importantly, It may not be flexible enough when the digital I/O board, PIO12, provides three ports that
user wants to change the algorithms and hardware can interface two joint processors at same time. Other
structures. TTL/DTL compatible digital I/O boards, like CIO-
DDA06, can also be used in this system with small
A compromise is considered in this paper. Through modifications of programming.
combining the advantages of first and second
approaches, a new flexible motor control system is The traditional robot joint control method is to use
constructed. Figure 2 is the computer architecture of the target PC to control the joint directly. This
the flexible real-time motor control system. Where, configuration gains flexibility but increases the
the Target PC and joint processor (HCTL1100) carry processing time, which is very important for real-
out the motor control in union. A digital I/O board is time control. As mentioned before, a general-purpose
However, one of appealing specifications is that the Design the model in Simulink/RTW
HCTL1100 can be set to Initialization /Idle mode and
then the joint can be controlled by control algorithms
generated by the Target PC. In this case, the joint Generate the desired joint
. ..
processor is just like a bank of registers and the trajectories. (Q Q Q )
Target PC can send the command to motor command
register directly. This gives the user another approach
to control the joint as well as use the control modes
of HCTL1100. Even when the user uses Initialization No
/Idle mode, the actual position registers can be Use the HCTL1100
control modes
always read to get the current encoder count for the
Target PC. This compensates the shortcoming of the
joint processor with its only four control modes. Yes
Theoretically, any flexible control algorithms can be
implemented in real-time at this configuration. Write the joint Generate the
parameters to motor command
registers. /PWM
V. CONCLUSION