rover_ik

ik_joint_controller

The rover_ik::IKJointController is a controller in ros_control that does inverse kinematics on a set of joints and feeds the result to a PID loop. A full usage example can be seen in rover_control.

Parameters

joints

This parameter is a list of joints to control, each one should provide an EffortJointInterface

gains

Each subparameter in this parameter corresponds to PID gains for a joints, for example:

gains:
   arm_base_to_post: {p: 7, i: 1, d: 0, i_clamp: 1}

This sets the gains for joint arm_base_to_post to P = 7, I = 1, D = 0 and I_Clamp = 1.

Topics & Services

controller_name/target

Controller listens on this topic for the target pose of the tip_link, as defined in the parameters. The coordinates for this pose are relative to the base_link. (testing required)

controller_name/request_position

This service can be called to return the current position of the arm as calculated via forward kinematics. Passing this back into target should cause no effect to the arm.