Using Joint Trajectory Controller to drive PR2's base

I am trying to move the base of PR2 using the Joint Trajectory Controller. This tutorial gives an example of using the Joint Trajectory Action interface to the /r_arm_controller to move the arm. joint_trajectory_action for /r_arm_controller seems to be started by default, as is clear by running the following command to get the names of the joints whose positions need to be specified.

rosparam get /r_arm_controller/joint_trajectory_action/joints


which returns

[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]


However, it seems that joint_trajectory_action for base_controller is not started by default. Does a Joint Trajectory Action even exist for the base_controller which I can use to give goal position to the base? If yes, how can I use it?

It seems that the base_controller only has a base_controller/command topic which can be used to move the base with a specified velocity, but for a short (and unspecified) period of time. As I have already asked here, I want control over this period of time for my application if I have to use this approach. If that is not possible, can someone point out how to use the joint_trajectory_action for base_controller?

edit retag close merge delete