CRISP -- Compliant ROS2 Controllers for Learning-Based Manipulation Policies and Teleoperation

CRISP -- Compliant ROS2 Controllers for Learning-Based Manipulation Policies and Teleoperation
Notice: This research summary and analysis were automatically generated using AI technology. For absolute accuracy, please refer to the [Original Paper Viewer] below or the Original ArXiv Source.

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.


💡 Research Summary

The paper introduces CRISP, a lightweight C++ library that implements compliant Cartesian and joint‑space torque controllers for the ROS 2 control framework. The authors target the growing class of learning‑based manipulation policies—such as diffusion policies and vision‑language‑action models—that typically output low‑frequency, discontinuous target poses (often 5–10 Hz). Because these high‑level policies do not generate smooth trajectories, a low‑level controller capable of converting sparse pose commands into continuous joint torques is required to achieve smooth, compliant motion, especially during contact‑rich tasks.

CRISP is robot‑agnostic: it parses the robot’s URDF, uses the Pinocchio library for fast kinematics, Jacobians, mass matrices, and gravity/Coriolis terms, and runs on any manipulator exposing a joint‑torque interface. Two primary control laws are provided: Cartesian Impedance (CI), which implements a virtual spring‑damper between the current end‑effector pose and the target, and Operational Space Control (OSC), which augments CI with the task‑space inertia matrix for higher precision. Both can be configured with stiffness, damping, null‑space stiffness, torque rate limits, and error thresholds at runtime via ROS 2 parameter services.

For redundant robots, CRISP offers three null‑space projectors (static, dynamic, and identity) that allow a secondary joint‑space impedance task to be executed without interfering with the primary Cartesian task. Joint limit barriers, friction compensation (a sigmoidal Coulomb model), gravity and Coriolis compensation, torque and rate limits, exponential target filtering, and error clipping are all built‑in, providing safety and smooth teleoperation.

The software stack includes two high‑level Python interfaces: CRISP_PY, which publishes target poses on ROS 2 topics, and CRISP_GYM, a Gymnasium wrapper that creates standardized environments for data collection, simulation, and policy deployment. The system runs the low‑level controllers on a real‑time enabled workstation at 1 kHz, while policy inference (e.g., diffusion policy at ~30 Hz or SmolVLA at ~10 Hz) can be performed on a separate GPU‑enabled machine communicating via ROS 2 topics. Teleoperation is demonstrated by streaming leader robot poses at ~30 Hz to a follower robot; the follower tracks these poses with the CI controller and returns force‑torque feedback to the leader, enabling haptic guidance.

Experimental validation is performed on a Franka Robotics FR3 hardware platform and in simulation with a Kuka IIWA14 and a Kinova Gen3. Tracking experiments show that CI with target clipping achieves sub‑millimeter and sub‑degree steady‑state errors, while OSC provides higher precision at the cost of compliance. Teleoperation experiments (Lego stacking) illustrate smooth force feedback and stable pose tracking. Finally, the authors deploy two imitation‑learning policies—Diffusion Policy and SmolVLA—through the CRISP_GYM interface on the real robot, confirming that the controllers can reliably follow policies operating at different inference frequencies.

In summary, CRISP delivers a modular, high‑performance, and easily configurable torque‑based compliance layer for ROS 2 manipulators. By bridging the gap between sparse, high‑level learning outputs and the continuous low‑level actuation required for safe, contact‑rich manipulation, CRISP lowers the barrier for researchers to apply learning‑based methods on a wide range of ROS 2‑compatible robots.


Comments & Academic Discussion

Loading comments...

Leave a Comment