Robonaut Control System
The Robonaut control system architecture must respond to severalinteresting challenges. It must provide safe, reliable control for 47+degrees of freedom. It must be controllable via direct teleoperation,shared control, and full autonomy. It must maintain performance in aharsh thermal environment. It must execute at the required rate onreasonable computing hardware. These challenges cannot be met by usingonly classical robot control methods. Advanced control theory in theareas of grasping, force control, intelligent control, and sharedcontrol must be developed to the point where the control is suitablefor critical applications to fully realize the capability of theRobonaut.The overall control architecture is being developed around theconcept of creating sub-autonomies which are used to build the mainsystem. These autonomies each combine controllers, safety systems,low-level intelligence, and sequencing. As a result, each is a selfcontained, peer system which interacts with the other peers. Anexample of the force controller sub-autonomy is shown below. The forcesafety system is an integral part of the sub-autonomy. Its limits arecontrolled by the force sequencer which configures the sub-autonomy forthe selected force mode. When the safety system detects a problem, aninput reaches a design criteria, or a mode change occurs the forcesequencer handles an orderly configuration change of the force controlsub-autonomy. The mode of the joint control system required toimplement the force mode is decided by the force sequencer and is sentto the joint control sub-autonomy.
System sub-autonomies include task sequences, Cartesian control,vision, teleoperator interface, joint control, and grasping amongothers. Higher level sub-autonomies make decisions as to what servicesthe lower level sub-autonomies need to provide to implement therequired tasks. The overall system design makes conflicts in requestsfor services either impossible or allows for arbitration by systemlevel autonomies. Each sub-autonomy handles its own internal safetyand decision making. If a failure occurs, a lower level sub-autonomycan request a shutdown or reconfiguration from a higher levelsub-autonomy or the main system controller which will handle the systemlevel actions required. The advantages of this approach are eachsub-autonomy can be tested individually and the object orientedness ofthe system is enhanced.
The computing environment chosen for the Robonaut project includesseveral state-of-the-art technologies. The PowerPC processor waschosen as the real-time computing platform for its performance and itscontinued development for space applications. The computers and theirrequired I/O are connected via a VME backplane. The processors run theVxWorks real-time operating system. This combination of flexiblecomputing hardware and operating system supports varied developmentactivities.
The software for Robonaut is written in C and C++. ControlShell, asoftware development environment for object oriented, real-timesoftware development, is used extensively to aid in the developmentprocess. ControlShell provides a graphical development environmentwhich enhances the understanding of the system and codereusability.