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.

References