Show EOL distros: 

pr2_controllers: control_toolbox | ethercat_trigger_controllers | joint_trajectory_action | pr2_calibration_controllers | pr2_controllers_msgs | pr2_gripper_action | pr2_head_action | pr2_mechanism_controllers | robot_mechanism_controllers | single_joint_position_action

Package Summary

The joint_trajectory_action is a node that exposes an action interface to a joint trajectory controller.

pr2_controllers: control_toolbox | ethercat_trigger_controllers | joint_trajectory_action | pr2_calibration_controllers | pr2_controllers_msgs | pr2_gripper_action | pr2_head_action | pr2_mechanism_controllers | robot_mechanism_controllers | single_joint_position_action

Package Summary

The joint_trajectory_action is a node that exposes an action interface to a joint trajectory controller.

Package Summary

The joint_trajectory_action is a node that exposes an action interface to a joint trajectory controller.

  • Maintainer status: maintained
  • Maintainer: Devon Ash <dash AT clearpathrobotics DOT com>
  • Author: Stuart Glaser
  • License: BSD
pr2_controllers: control_toolbox | ethercat_trigger_controllers | joint_trajectory_action | pr2_calibration_controllers | pr2_controllers_msgs | pr2_gripper_action | pr2_head_action | pr2_mechanism_controllers | robot_mechanism_controllers | single_joint_position_action

Package Summary

The joint_trajectory_action is a node that exposes an action interface to a joint trajectory controller.

pr2_controllers: control_toolbox | ethercat_trigger_controllers | joint_trajectory_action | pr2_calibration_controllers | pr2_controllers_msgs | pr2_gripper_action | pr2_head_action | pr2_mechanism_controllers | robot_mechanism_controllers | single_joint_position_action

Package Summary

The joint_trajectory_action is a node that exposes an action interface to a joint trajectory controller.

Overview

The joint trajectory action is a node that provides an action interface for tracking trajectory execution. It passes trajectory goals to the controller, and reports success when they have finished executing. The joint trajectory action can also enforce constraints on the trajectory, and abort trajectory execution when the constraints are violated.

See: robot_mechanism_controllers/JointSplineTrajectoryController

joint_trajectory_action_topics.png

ROS API

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

Parameters

Parameters

joints (Array of strings, default: Required)
  • List of joints that this action will be commanding. Must match the joints the controller is commanding.
constraints/goal_time (double, default: 0.0)
  • The amount of time (in seconds) that the controller is permitted to be late to the goal. If goal_time has passed and the controller still has not reached the final position, then the goal is aborted.
constraints/<joint>/goal (double, default: -1.0)
  • The maximum final error for <joint> for the trajectory goal to be considered successful. Negative numbers indicate that there is no constraint. Given in units of joint position (generally radians for revolute joints or meters for prismatic joints). If this constraint is violated, the goal is aborted.
constraints/<joint>/trajectory (double, default: -1.0)
  • The maximum error for <joint> at any point during execution for the trajectory goal to be considered successful. Negative numbers indicate that there is no constraint. Given in units of joint position (generally radians for revolute joints or meters for prismatic joints). If this constraint is violated, the goal is aborted.
constraints/stopped_velocity_tolerance (double, default: 0.01)
  • The maximum velocity at the end of the trajectory for the joint to be considered stopped. Given in units of joint position (generally radians for revolute joints or meters for prismatic joints). If this constraint is satisfied, the goal is successful.

Example configuration (from pr2_controller_configuration/pr2_arm_controllers.yaml):

joint_trajectory_action_node:
  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
  constraints:
    goal_time: 0.3
    r_shoulder_pan_joint:
      goal: 0.04
    r_shoulder_lift_joint:
      goal: 0.04
    r_upper_arm_roll_joint:
      goal: 0.04
    r_elbow_flex_joint:
      goal: 0.04
    r_forearm_roll_joint:
      goal: 0.04
    r_wrist_flex_joint:
      goal: 0.04
    r_wrist_roll_joint:
      goal: 0.04

Action interface

The joint trajectory action provides an action server (see actionlib) that takes in goals of the type pr2_controllers_msgs/JointTrajectoryGoal.

Subscribed Topics

joint_trajectory_action/goal (pr2_controllers_msgs/JointTrajectoryActionGoal)
  • The goal describes the trajectory for the robot to follow.
joint_trajectory_action/cancel (actionlib_msgs/GoalID)
  • A request to cancel a specific goal.

Published Topics

joint_trajectory_action/feedback (pr2_controllers_msgs/JointTrajectoryActionFeedback)
  • Feedback describing the progress the mechanism is making on following the trajectory.
joint_trajectory_action/status (actionlib_msgs/GoalStatusArray)
  • Provides status information on the goals that are sent to the action.
joint_trajectory_action/result (pr2_controllers_msgs/JointTrajectoryActionResult)
  • empty

Controller interface

Subscribed Topics

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

Published Topics

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

Usage

You can find an example of using the joint trajectory action in this tutorial for moving the arm on the PR2.

Wiki: joint_trajectory_action (last edited 2011-04-15 16:19:02 by MartinGuenther)