Freeze Controller
Controller that enables the hardware level freeze mode of the actuators. The freeze mode is enabled upon activation of the controller and disabled upon deactivation of the controller.
Parameters
Definition:
freeze_controller:
arm_name:
type: string
default_value: "DynaarmSystem"
description: "name of the arm hardware interface"
disable_at_deactivate:
type: bool
default_value: true
description: "disable freeze mode at controller deactivation"
arm_name | [Required]:
Name of the arm as specified in the ros2control part of the urdf. Currently this is ${tf_prefix}DynaarmSystem
disable_at_deactivate | [Optional]:
Allows to keep the arm in freeze mode after deactivation of the controller. NOTE: this will lead into a system state where the arm won’t accept any new commands!
Example:
A full example can be found in the dynaarm_demo repository.
freeze_controller:
ros__parameters:
arm_name: DynaarmSystem
ROS Interfacing
None
Additional Information
The freeze mode is implemented on hardware level by running the actuators in velocity control mode and commanding a 0 target velocity. This results in a “safe” freeze behaviour. It is possible to move the arm slightly by excerting sudden force impacts on the arm. As the arm is configured to run a 0 velocity the arm won’t try to return into the initial freeze position.