See joint_trajectory_controller for information on the controller that the head action communicates with.



An example of using the head action on TIAGo can be found on the video below.


The ROS API consists of three parts: private parameters, an action server that achieves pointing actions, and an interface to a trajectory controller.



~pan_link (string, default: head_pan_link)
  • The name of the pan link of the head
~tilt_link (string, default: head_tilt_link)
  • The name of the tilt link of the head
~success_angle_threshold (double, default: 0.1)
  • The maximum angular error from the desired pointing direction for which the action reports success.

Action interface

The joint trajectory action provides an action server (see actionlib) that takes in goals of the type control_msgs/PointHeadGoal. It reports success when the head is pointed at the target.

Subscribed Topics

~point_head_action/goal (control_msgs/PointHeadActionGoal)
  • Describes where to point the head along with some constraints for the movement.
~point_head_action/cancel (actionlib_msgs/GoalID)
  • A request to cancel a specific goal.

Published Topics

~point_head_action/feedback (control_msgs/PointHeadActionFeedback)
  • Feedback describing the progress the mechanism is making on pointing the head.
~point_head_action/status (actionlib_msgs/GoalStatusArray)
  • Provides status information on the goals that are sent to the action.
~point_head_action/result (control_msgs/PointHeadActionResult)
  • empty

Controller interface

Subscribed Topics

~state (control_msgs/JointTrajectoryControllerState)
  • Listens to the state of the controller.

Published Topics

~command (trajectory_msgs/JointTrajectory)
  • Sends joint trajectories to the controller.

Wiki: head_action (last edited 2015-08-04 10:43:44 by BenceMagyar)