The Chimera II Real-Time Operating System for Advanced Sensor-Based Control Applications
This paper describes the ChimeraII Real-time Operating System, which has been developed for advanced sensor-based control applications. It has been designed as a local operating system, to be used in conjunction with a global operating system. It executes on one or more single board computers in a VMEbus-based system. Advanced sensor-based control systems are both statically and dynamically reconfigurable. As a result, they require many special features, which are currently not found in commercial real-time operating systems. In this paper, we present several design issues for such systems, and we also present the features we have developed and implemented as part of Chimera II. These features include a real-time kernel with dynamic scheduling, global error handling, user signals, and two levels of device drivers; an enhanced collection of interprocessor communication mechanisms, including global shared memory, spin-locks, remote semaphores, priority message passing, global state variable tables, multiprocessor servo task control, and host workstation integration; and several support utilities, including a UNIX C and math libraries, a matrix library, a command interpreter library, and a configuration file library. Chimera II is currently being used with a variety of systems, including the CMU Direct Drive Arm II, the CMU Reconfigurable Modular Manipulator System, the Troikabot System for Rapid Assembly, and the Self-Mobile Space Manipulator.