Robot impedance controller designed with the ros2_control
framework and Pinocchio. Default branch ROS2 distro: Jazzy
- Custom build dependency: kinematic_pose_msgs
- Simulation dependency: ros2_descriptions
- Handy reference generator: impedance_reference_generator
Use launcher default arguments:
ros2 launch ros2_impedance_controller simulation.launch.py
ros2 control set_controller_state impedance_controller active
ros2 launch ros2_impedance_controller simulation.launch.py robot:=spot_leg controller:=leg_impedance_controller
ros2 control set_controller_state leg_impedance_controller active
The controller implement the classical impedance control law:
The last green term is optional. Without inertia shaping, the force-torque sensor feedback is not required. Then, the law simplifies to:
Please be aware that, without inertia shaping, the desired inertia is the robot current inertia. Refer to Ott, C., 2008, Cartesian Impedance Control of Redundant and Flexible-Joint Robots for further details.