Contents
Bring up the robot
As with all applications, you must first bring up your robot.
Joystick Configuration
The package currently supports two interfaces: a Sony PS3 "Sixaxis" Controller, and a 3Dconnexion "Spacenav" device.
To configure a Sixaxis device, follow the steps in ps3joy to pair it with your computer.
To configure a Spacenav device, follow the instructions in spacenav_node
Launching
There are two launch files: one which should be run on the robot, and one which should be run locally.
On the robot:
roslaunch pr2_remote_teleop launch_on_robot.launch
On a local computer:
roslaunch pr2_remote_teleop sixaxis_teleop.launch *** or *** roslaunch pr2_remote_teleop spacenav_teleop.launch
Controlling
Selecting camera views and robot controllers
To select a camera view (the affects which frame is used when controller the arms):
Select + Triangle |
View the wide-angle head camera |
Select + X |
View the narrow-angle head camera |
Select + Square |
View the left forearm camera |
Select + Circle |
View the right forearm camera |
To start controlling a part of the robot:
Start + Pad-Up |
Start the head controller |
Start + Pad-Down |
Start the base and torso controller |
Start + Pad-Left |
Start the left arm controller |
Start + Pad-Right |
Start the right arm controller |
Head Controller
With the head controller active, the controls are as follows:
Left Joystick |
Pan the head left and right |
Right Joystick |
Tilt head forward and backward |
Square |
Have the head look at and follow the left gripper position |
Circle |
Have the head look at and follow the right gripper position |
Triangle |
Center the head |
X |
Toggle the red texture projector on/off |
Base Controller
With the base controller active, the controls are as follows: ||L1|| "Deadman switch," you must hold this down to issue any commands to the base.
Left Joystick |
Translate the robot forward-backward, left-right |
Right Joystick |
Change the robot's orientation left-right |
Triangle |
Move the torso up |
X |
Move the torso down |
Arm Controller
The arms are controlled using a cartesian controller to command position and orientation of the gripper, specifically, the gripper finger tips. It is useful to understand the frames used to control the gripper:
- Translation is controlled in a frame parallel to the ground, but aligned so that "forward" aligns with the current camera view (but parallel to the ground).
- Rotation is controlled in the gripper's local frame; roll, pitch, and yaw have the same local effect no matter the current position of the arm.
With the (left or right) arm controller active, the controls are as follows:
Left Joystick |
Moves the gripper forward-backward, left-right in the plane parallel to the ground. |
L1, L2 |
Moves the gripper up (L1) and down (L2) vertically. |
Right Joystick |
Pivots the gripper about the finger tips. Up-down control the pitch, and left-right control the yaw (or heading). |
R1, R2 |
Rolls the gripper wrist clockwise (R2) and counter-clockwise (R1). |
Circle |
Opens the gripper while the button is held. |
Square |
Closes the gripper while the button is held. |
Unpairing the Joystick
The joystick should unpair from the PR2 automatically after 15 minutes of inactivity, to save battery life. If you ever need to unpair the joystick explicitly, simply press the pairing button for 10 seconds, after which the joystick lights should stop blinking.
Keyboard teleoperation
Under construction