Use Teleoperation Devices#

Spacemouse#

Intro#

In our codebase, the default teleoperation device is the SpaceMouse. The Spacemouse provides a 6DoF control over both positions and orientation, and the two keys on the side provide grasping functionality and resetting functions. This codebase majorly inherit from the infrastructure from robosuite.

Installation#

Assitive Note - Setup spacemouse

We've provided a list of checkboxes for you to keep track of all the necessary steps.


Step 1. Setup a udev rule

Installation (Linux): Before using a SpaceMouse in the system, you need to install: 1) hidapi python package and 2) udev system (in order to avoid sudo). You might need to install libmotif-dev.

udev rules: In order for hidapi to open the device without sudo, we need to do the following steps: Step 1. First of all, create a rule file xx-spacemouse.rules under the folder /etc/udev/rules.d/ (Replace xx with a number larger than 50).

KERNEL=="hidraw*", ATTRS{idVendor}=="256f", ATTRS{idProduct}=="c62e", MODE="0666", GROUP="plugdev"
SUBSYSTEM=="usb", ATTRS{idVendor}=="256f", ATTRS{idProduct}=="c62e", MODE="0666", GROUP="plugdev"

Step 2. Reload the udev rule

We need to reload the defined udev rule to take effect. Reload can be done through:

sudo udevadm control --reload-rules

Step 3. Get vendor_id and product_id of your Spacemouse

Then let’s install hidapi, which is for getting the device information (vendor_id and product_id) of Spacemouse using python. To acquire hidapi, install it in your virtual environment through:

pip install hidapi

And to find out the spacemouse configuration, connect the spacemouse to the machine, and do:

import hid
hid.enumerate()

This will show the information for a list of devices connected. Locate the information about the spacemouse, and take a note on the vendor_id and product_id.

If there is no device shown as Spacemouse, that means there is some installation process done inappropriately. Please check the installation process.

Example Usage#

We’ve provided a example script that allow users to control the robot through spacemouse. Make sure you are under the parent Deoxys folder, and run:

Commands on Desktop Under Deoxys, run

python examples/run_deoxys_with_spacemouse.py 

You might need to change the following configurations:

  • spacemouse vendor_id and product_id (here)

  • the config file for configuring FrankaInterface (here) if necessary.

You might also check and change the PC / NUC names here.