IRI module to control a chain of servos. It has three module interfaces: PointTo, PointToTracker and MoveToAngles.
# Module Interface
### PointTo
It is a wrapper of a [control_msgs/PointHeadAction](http://docs.ros.org/api/control_msgs/html/action/PointHead.html) client.
An example of [control_msgs/PointHeadAction](http://docs.ros.org/api/control_msgs/html/action/PointHead.html) server
can be found on [iri_point_to](https://gitlab.iri.upc.edu/labrobotica/ros/devices/joints/iri_point_to).
It has the following API:
-*bool point_to(double x, double y, double z, double max_vel)*:
To start the action.
-*void cancel_point_to(void)*:
To cancel the action.
-*bool is_point_to_finished(void)*:
To know if the action has finished.
This Interface can return any of the typical module status.
### PointToTracker
It is a wrapper of a [iri_joints_msgs/pointHeadTrackerAction](https://gitlab.iri.upc.edu/labrobotica/ros/devices/joints/iri_joints_msgs/-/blob/master/action/pointHeadTracker.action) client.
It updates the target information publisihng a [control_msgs/PointHeadActionGoal](http://docs.ros.org/melodic/api/control_msgs/html/action/PointHead.html).
An example of a [control_msgs/PointHeadActionGoal](http://docs.ros.org/melodic/api/control_msgs/html/action/PointHead.html) server can be
found on [iri_point_to](https://gitlab.iri.upc.edu/labrobotica/ros/devices/joints/iri_point_to).
It has the following API:
-*bool enable_tracker(void)*:
To start the action.
-*void cancel_tracker(void)*:
To cancel the action.
-*bool is_tracker_finished(void)*:
To know if the action has finished.
-*bool target_update(double x, double y, double z)*:
To update the target information.
This Interface can return any of the typical module status and target_lost status.
### MoveToAngles
It is a wrapper of a [control_msgs/FollowJointTrajectoryAction](http://docs.ros.org/api/control_msgs/html/action/FollowJointTrajectory.html) client.