next up previous
Next: Host Communication Server Up: Software Architecture Previous: Vision Services

Robot controller

The robot controller receives requests from the communications server. The controller coordinates the outputs sent to the robot actuators, suppresses redundant commands and repeat commands that have not been fully executed.

The robot controller regularly requests vision services such as blobs and stereo range data, at varying rates, depending on the task. The data is passed back to the host and distributed to the task modules. By initiating regular requests for stereo data, recent data is always available to service host requests without the otherwise unacceptable delay. Similarly, the robot controller regularly updates all other robot state information.

The robot controller communicates directly to the RWI controller, which controls the RWI base. The unit transformations and the communication through the serial port on the serial Tram are transparent. The serial Tram connected to the robot controller points the pan/tilt unit during tracking and pushing.

The stereo vision data sent from the vision services to the Robot controller may contain depth values that indicate that an object is ``too close''. The robot controller recognizes this situation, and acts to stop the forward progress of the robot. This tight loop between the RWI controller and the vision services must be implemented on the robot to minimize delay in reaction.

Paths come down from the path plan generator on the host as waypoints in the robot's coordinate system. To direct the motion of the robot along a smooth trajectory, the trajectory controller divides such a path into a sequence of tightly monitored commands that smoothly combine rotation and forward movement. Likewise a tight control loop is necessary to control the robot's movement while pushing objects along a specified trajectory. These capabilities: obstacle avoidance using stereo data, smooth trajectory execution, and obstacle pushing are all examples of the tight synchronous control loops required at the lowest level of software in our robot model.



next up previous
Next: Host Communication Server Up: Software Architecture Previous: Vision Services



Vladimir Tucakov
Tue Oct 8 14:08:29 PDT 1996