HAPTIX Teleoperation


Overview

This tutorial covers various teloperation methods for use in the HAPTIX simulation environment. The hardware devices supported include:

  1. Keyboard: Control the arm position and joints using a set of keys

  2. Spacenav: Control arm position using a 3D mouse

  3. Razer hydra: Control arm position and grasps using a 3D gaming joystick.

For each of the following sections, use the following command to start simulation:

gazebo worlds/arat.world

Keyboard Control

A set of keys, as shown in the above figure, are mapped to arm and hand control.

  1. Grasp control

    Press and hold a number key, between one and three to close the hand using:

    1. Spherical grasp
    2. Cylinderical grasp
    3. Pinch grasp

    To release the hand incrementally, press and hold SHIFT and the number key for that grasp.

  2. Arm position

    Use the WASDQE keys to move the position of the arm in a 2D plane. The plane is defined by the local coordinate frame of the arm. This means the hand will "fly" like a plane, and is most noticable if you change the arm's orientation.

    1. W: Move forward (along the positive X axis: toward the finger tips)
    2. A: Move left (along the positive Y axis: toward the thumb)
    3. S: Move back (along the negative X axis: toward the wrist)
    4. D: Move right (along the negative Y axis: opposite of the thumb)
    5. Q: Move the arm up (along the positive Z axis: toward the top of the hand)
    6. E: Move the arm down (along the negative Z axis: toward the palm)
  3. Arm orientation

    Use SHIFT + WASDQE keys to change the orientation of the arm. This will affect the plane along which the hand will move when changing its position.

    1. SHIFT + W: pitch the arm down
    2. SHIFT + A: roll the thumb down
    3. SHIFT + S: pitch the arm up
    4. SHIFT + D: roll the thumb up
    5. SHIFT + Q: yaw toward the thumb
    6. SHIFT + E: yaw away from the thumb
  4. Wrist control

    Use ZXC keys to control the wrist joint.

    1. Z: Positive rotation
    2. SHIFT + Z: Negative rotation
    3. X: Positive deviation
    4. SHIFT + X: Negative deviation
    5. C: Positive flexion
    6. SHIFT + C: Negative flexion

Arm teleop GUI options

The GUI on the left side of the HAPTIX simulator has some options for controlling keyboard teleop.

If the "Local frame" checkbox is checked, keyboard teleop will move the arm in the arm's local axes, which change as the arm rotates. If "Local frame" is unchecked, the keys will always move the arm in the same "global" coordinate system.

The slider next to "Arm move speed" controls the speed of the arm under keyboard teleop.

These options are only relevant for keyboard teleop control. They do not affect motion capture teleoperation or Spacenav.

Press Ctrl+R to reset the arm position, viewpoint and the objects in the scene.

Spacenav Control

By default, the spacenav mouse controls the position and orientation of the viewpoint. Press the button the left side of the mouse to change control to the arm. Once in this mode, the mouse will change the position and orientation of the arm.

If the Spacenav is not working, try running:

sudo spacenavd

You could also try

sudo service spacenavd restart
sudo spacenavd

Razer Hydra

Please follow the hydra installation instructions.

Once installed, the right paddle will perform the following actions:

  1. Letters p, v, b or n on the keyboard: Enable/disable hydra control.

  2. Once enabled, move paddle to change arm position and orientation.

  3. Button 1: Deadman switch for grasping with Trigger.

  4. Trigger: While holding down Button 1, the Trigger closes and opens the grasp.