Hardware Reference
In-Depth Information
11.4
A ROBOT CONTROL EXAMPLE
In order to illustrate a concrete real-time application, we show an implementation of a
robot control system capable of exploring unknown objects by integrating visual and
tactile information. To perform this task the robot has to exert desired forces on the
object surface and follow its contour by means of visual feedback. Such a robot system
has been realized using a Puma 560 robot arm equipped with a wrist force/torque
sensor and a CCD camera. The software control architecture is organized as two servo
loops, as shown in Figure 11.11, where processes are indicated by circles and CABs by
rectangles. The inner loop is dedicated to image acquisition, force reading, and robot
control, whereas the outer loop performs scene analysis and surface reconstruction.
The application software consists of four processes:
A sensory acquisition process periodically reads the force/torque sensor and puts
data in a CAB named force . This process must have guaranteed execution time,
since a missed deadline could cause an unstable behavior of the robot system.
Hence, it is created as a hard task with a period of 20 ms.
A visual process periodically reads the image memory filled by the camera frame
grabber and computes the next exploring direction based on a user defined strat-
egy. Data are put in a CAB named path . This is a hard task with a period of
80 ms. A missed deadline for this task could cause the robot to follow a wrong
direction on the object surface.
Based on the contact condition given by the force/torque data and on the explor-
ing direction suggested by the vision system, a robot control process computes
the cartesian set points for the Puma controller. A hybrid position/force control
scheme [Whi85, KB86] is used to move the robot end-effector along a direction
tangential to the object surface and to apply forces normal to the surface. The
control process is a periodic hard task with a period of 28 ms (this rate is im-
posed by the communication protocol used by the robot controller). Missing a
deadline for this task could cause the robot to react too late and exert too large
forces on the explored surface, which could break the object or the robot itself.
A representation process reconstructs the object surface based on the current
force/torque data and on the exploring direction. Since this is a graphics ac-
tivity that does not affect robot motion, the representation process is created as a
soft task with a period of 60 ms.
To better illustrate the application, we show the source code of the tasks. It is written
in C language and includes the DICK kernel primitives described in Chapter 10.
Search WWH ::




Custom Search