Simple Joint trajectory example

From sdk-wiki
Jump to: navigation, search


Enable the robot joint trajectory interface and send a simple joint trajectory for Baxter to follow.

Code Walkthrough

Joint Trajectory Client - Code Walkthrough


Verify that the robot is enabled from an RSDK terminal session, ex:

    $ rosrun baxter_tools -e

Start the joint trajectory controller, ex:

    $ rosrun baxter_interface --mode position

In another RSDK terminal session, Run the joint trajectory example program, specifying left or right arm to send the joint trajectory to, ex:

    $ rosrun baxter_examples -l right

The arm (right in this case) will then be commanded along a joint trajectory created between the robots current joint positions and three timestamped goal positions.


A commonly used ROS method for robot arm motion control is the joint trajectory action interface. The trajectory_controller and it's corresponding joint trajectory action server is the baxter_interface implementation to support this action interface. This example shows usage for launching the joint trajectory action server, creating a client of this action server, and commanding a simple joint trajectory.

For more information on Baxter's arms, see Using the Arms.


See the trajectory controller's usage on the command line by passing the -h, help argument:

    $ rosrun baxter_interface -h

Usage: [-h] [-l <limb>] [-r <rate>]

Optional Arguments -h, --help - show this help message and exit -l, --limb - trajectory controller limb [both | left | right] (default: both) -r, --rate - trajectory control rate (Hz) (default: 100.0)

* See the trajectory test example's usage on the command line by passing the '-h', help argument:

    $ rosrun baxter_examples -h

Usage: [-h] -l LIMB

Required Arguments -l LIMB, --limb LIMB - send joint trajectory to which limb [left | right]

Optional Arguments -h, --help - show this help message and exit



See the API Reference page for details.

  • Joint Trajectory Action Server - /robot/limb/right/follow_joint_trajectory [control_msgs/FollowJointTrajectoryAction]
  • Joint Trajectory Action Server - /robot/limb/left/follow_joint_trajectory [control_msgs/FollowJointTrajectoryAction]

baxter_interface APIs

  • JointTrajectoryActionServer class:


The arm is not executing the trajectory

Verify that the robot is enabled:

rosrun baxter_tools -e

Verify that the trajectory controller has been started:

rosrun baxter_interface