🤖 AI Summary
Learning-based controllers (e.g., diffusion policies, vision-language-action models) typically generate high-level commands that are low-frequency and discontinuous, making them unsuitable for compliant force control required in robotic contact interactions. To address this, we propose a lightweight, ROS 2–native C++ framework for real-time compliant control, unifying Cartesian and joint-space formulations to map discontinuous high-level commands directly to low-level joint torques. The framework is hardware-agnostic—compatible with any torque-controlled manipulator—and enables seamless integration of learned policies with physical execution. Adhering to the ROS 2 Control standard, it provides Python and Gymnasium interfaces, supporting efficient data collection and policy deployment in both simulation and on real robots (Franka FR3, KUKA iiwa14, Kinova Gen3). Experiments demonstrate that our framework significantly lowers the deployment barrier for learning-based manipulation policies on physical platforms while improving compliance and robustness in contact-rich tasks.
📝 Abstract
Learning-based controllers, such as diffusion policies and vision-language action models, often generate low-frequency or discontinuous robot state changes. Achieving smooth reference tracking requires a low-level controller that converts high-level targets commands into joint torques, enabling compliant behavior during contact interactions. We present CRISP, a lightweight C++ implementation of compliant Cartesian and joint-space controllers for the ROS2 control standard, designed for seamless integration with high-level learning-based policies as well as teleoperation. The controllers are compatible with any manipulator that exposes a joint-torque interface. Through our Python and Gymnasium interfaces, CRISP provides a unified pipeline for recording data from hardware and simulation and deploying high-level learning-based policies seamlessly, facilitating rapid experimentation. The system has been validated on hardware with the Franka Robotics FR3 and in simulation with the Kuka IIWA14 and Kinova Gen3. Designed for rapid integration, flexible deployment, and real-time performance, our implementation provides a unified pipeline for data collection and policy execution, lowering the barrier to applying learning-based methods on ROS2-compatible manipulators. Detailed documentation is available at the project website - https://utiasDSL.github.io/crisp_controllers.