Setting Up Teleop-Tongs
You should start by cloning this repository. All of the commands below should be run from the command line in the root directory of the repository on your robot's computer.
Build Your Interface
You can 3D print the components required for the Teleop Tongs set up along with the fiducial markers by following the Assembly guide.
You will need a camera, a ring light, and optionally a stand as shown in the following photo.

For a single robot, you will need Teleop Tongs like those shown in the following two photos.


Run the Installation Scripts
Clone this GitHub repository.
git clone -b ros2 https://github.com/carpit680/teleop_tongs.git
Then run the following installation script found in the repository's root directory.
./install_dex_teleop.sh
⚠️ Warning
The device ID and Vendor ID used in the99-teleop-tongs-camera.rules
, required below are specific to the camera I used. If you are using a different camera, you will need to change the device ID and Vendor ID in this file.
The installation script sets up udev rules for a Mi USB Webcam HD so that the camera can be reset each time you run dexterous teleoperation. This is a workaround to avoid low frame rates and errors in the camera settings.
Next, the installation script installs v4l2 utilities, if necessary.
You also need to install some Python dependencies:
pip install -r requirements.txt
pip install -e . # To install as a Python package in editable mode
Generate Specialized URDFs
To run Teleop Tongs, you need to generate specialized URDF files. Teleop Tongs uses forward kinematic (FK) and inverse kinematic (IK) models of the robot. These models use specialized URDFs generated from the calibrated URDF on your robot. Use the giraffe.urdf
file provided as an example of how the URDF should look like.
Set Up the Camera, Ring Light, and Stand
As shown in the photo above, the camera stand should be placed on the ground, and the camera should be pointed straight up. The stand should be at its minimum height.
The camera should be plugged into your computer using a USB extension cable. The ring light should not be plugged carelessly as it requires too much power - it can either be plugged into a powered USB port, or externally.
When using the camera, the bottom of the camera should be pointed away from you. For the robot, the bottom of the camera points in the direction of the arm extended forward from its base, and the lens of the camera looks up.