A node that sits above the JointSplineTrajectoryController and provides an action interface for executing trajectories.

Action API

Subscribed Topics

action/goal (joint_trajectory_executer/JointTrajectoryActionGoal)
  • A trajectory for the controller to follow.
action/cancel (actionlib_msgs/GoalID)
  • A request to stop following a particular trajectory.

Published Topics

action/status (actionlib_msgs/GoalStatusArray)
  • Provides status information on the goals that are sent to the action action.
action/result (action_msgs/JointTrajectoryActionResult)
  • Result is empty for the action action.

ROS API to the controller

Subscribed Topics

~controller_state (robot_mechanism_controllers/JointTrajectoryControllerState)
  • Tracks the state of the controller. Connect up to the "state" topic of the controller.

Published Topics

~controller_command (trajectory_msgs/JointTrajectory)
  • Sends goals to the controller. Connect up to the "command" topic of the controller.

Parameters

Parameters

joints (Array of strings)
  • The joints which the incoming trajectories control
constraints/<joint>/goal (double, default: -1.0)
  • The tolerance for reaching the goal for the joint named <joint>. A negative number indicates no constraint.
constraints/<joint>/trajectory (double, default: -1.0)
  • The tolerance for each point along the trajectory for the joint named <joint>. A negative number indicates no constraint.

Example Roslaunch

<launch>

  <node pkg="joint_trajectory_executer" type="joint_trajectory_executer" name="r_arm_trajectory_executer">
    <rosparam>
      joints:
        - r_shoulder_pan_joint
        - r_shoulder_lift_joint
        - r_upper_arm_roll_joint
        - r_elbow_flex_joint
        - r_forearm_roll_joint
        - r_wrist_flex_joint
        - r_wrist_roll_joint
    </rosparam>
    <remap from="~controller_command" to="/r_arm_controller/command" />
    <remap from="~controller_state" to="/r_arm_controller/state" />
  </node>

</launch>

Wiki: joint_trajectory_executer (last edited 2009-11-25 23:37:13 by StuartGlaser)