Move the tip at a velocity in closed loop towards a Cartesian target_pose
, using Servo.
This Behavior is intended to be used in a Parallel node. With every tick, the error between the current tip pose (for planning_group_name
) and the given target_pose
is computed. That error is also the direction along which the tip has to move to decrease the error. Therefore, with every tick, this Behavior will send a twist to Servo, to move along the direction that points towards the target. The Cartesian velocity sent to Servo is proportional (with translational_gain
and rotational_gain
) to the distance to the target, but capped at the given max_translational_vel
and max_rotational_vel
translational and rotational velocities. Twist messages are published to Servo at the given publish_rate
. The Behavior will run indefinitely until cancelled or until the distance to the target falls below the given exit_threshold_translation
and exit_threshold_rotation
in the 3D translational and rotational axes, for at least the given exit_threshold_time
amount of seconds.
Data Port Name | Port Type | Object Type |
planning_group_name | Input | std::string |
target_pose | Input | geometry_msgs::PoseStamped |
translational_gain | Input | double |
rotational_gain | Input | double |
max_translational_vel | Input | double |
max_rotational_vel | Input | double |
exit_threshold_translation | Input | double |
exit_threshold_rotation | Input | double |
exit_threshold_time | Input | double |
publish_rate | Input | int |