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 on reasonable computing hardware. These challenges cannot be met by using only classical robot control methods. Advanced control theory in theareas of grasping, force control, intelligent control, and shared control must be developed to the point where the control is suitable for critical applications to fully realize the capability of the Robonaut.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 self contained, peer system which interacts with the other peers. An example of the force controller sub-autonomy is shown below. The force safety system is an integral part of the sub-autonomy. Its limits are controlled by the force sequencer which configures the sub-autonomy forthe selected force mode. When the safety system detects a problem, an input reaches a design criteria, or a mode change occurs the force sequencer handles an orderly configuration change of the force control sub-autonomy. The mode of the joint control system required toimplement the force mode is decided by the force sequencer and is sent to the joint control sub-autonomy.
System sub-autonomies include task sequences, Cartesian control,vision, teleoperator interface, joint control, and grasping among others. Higher level sub-autonomies make decisions as to what services the lower level sub-autonomies need to provide to implement the required 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 safety and decision making. If a failure occurs, a lower level sub-autonomy can request a shutdown or reconfiguration from a higher level sub-autonomy or the main system controller which will handle the system level actions required. The advantages of this approach are eachsub-autonomy can be tested individually and the object orientedness of the system is enhanced.
The computing environment chosen for the Robonaut project includes several state-of-the-art technologies. The PowerPC processor was chosen as the real-time computing platform for its performance and itscontinued development for space applications. The computers and the irrequired I/O are connected via a VME back plane. The processors run the VxWorks real-time operating system. This combination of flexible computing hardware and operating system supports varied development activities.
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 development process. Control Shell provides a graphical development environment which enhances the understanding of the system and code reusability.