Dreamer is controlled using the open source feedback compliant control middleware ControlIt! ControlIt!, is now open source and available online at:
ControlIt! is designed to achieve feedback torque control of Meka's dual arm manipulation system and the robot's redundant pose while handling the lower torso's bi-articular transmission constraints. It uses state-of-the art software libraries and has a highly modular architecture for facilitating support for additional control primitives, real-time Linux patches, and robot hardware. We are particularly interested in having ControlIt! being integrated with other torque controlled highly-redundant robots.
Software Features: - OS: Ubuntu 12.04 and 14.04 - Real-time patches: RTAI, RT-Preempt - ROS: Hydro and Indigo - Linear algebra library: Eigen 3 - Model library: RBDL 2.3.2 - Model description: URDF - Integration with higher-level software: parameter binding - Integration with lower-level software: RobotInterface and ServoClock plugins - Controller introspection: Parameter reflection and ROS services - Controller configuration specification: YAML - Controller reconfiguration: enable / disable tasks and constraints - Controller primitives: Tasks and constraints structured into compound tasks and constraint sets - Number of threads: 1, 2, or 3 (one of which is the real-time servo thread) - Simulator: Gazebo 5.1
Real-time performance when configured with 5 tasks and two constraints, servo computational latency on an Intel i7-4771 3.56GHz CPU is: - multi-threaded: 0.603 ± 0.0166 ms - single-threaded: 0.882 ± 0.0168 ms