Skip to content

R1 Teleop Usage Tutorial

Welcome to R1 Teleop (R1-T) — the isomorphic teleoperation platform designed specifically for Galaxea R1.

1. Product Introduction

R1 Teleop is a platform which is designed with a scaled-down version that perfectly replicates the full functionality of the R1, enabling full-body force feedback teleoperation and full-joint mapping. It also supports force feedback from the body to the remote control side, ensuring precise synchronization of operations with millimeter-level accuracy and millisecond-level response time.

The following tutorial will guide you through the installation and setup of R1 Teleop, helping you quickly experience this high-performance teleoperation platform.

2. Unboxing

Please check whether all items in the shipping container are present.

Item Quantity
R1-T Base 1
R1-T Box
(Power/Communication Box)
1
G-clips 2
Power 1
USB/CAN Cable 1

3. Preparation Before Start

3.1 Hardware Preparation

Item Quantity Notes
R1-T Host Computer 1 System: Ubuntu 20.04 ROS Noetic
Note: Do not use the R1-T host computer in a virtual machine, as this may prevent Bluetooth controller connection.
Local Area Network (LAN) 1 Used for wireless communication between R1 and R1 Teleop.
Ethernet Cable 1 Used to check the IP address of R1.

3.2 Software Preparation

3.2.1 Download and Unzip the Folder.

Please download and extract the SDK file package of R1 from the R1 main body (this is the package of R1 main body in the customer's release version).

Ensure that the R1 robot's software version has been updated to V1.1.0 or higher. Click here to get the latest version.

3.2.2 Install Software Dependencies

Please install the required software dependencies on the R1-T host computer.

sudo apt install ros-noetic-trac-ik
sudo apt install ros-noetic-joy
sudo apt install tmux tmuxp

3.2.3 Modify the /.bashrcFile

Modify the ROS IP settings on both the R1 and R1-T host computers. Follow these steps:

  1. Add the following two lines to the end of the /.bashrc file on the R1:

    export ROS_MASTER_URI=http://The IP address of R1:11311
    export ROS_IP= The IP address of R1
    
  2. Add the following two lines to the end of the /.bashrc file on the R1-T host computer:

    export ROS_MASTER_URI=http://The IP address of R1:11311
    export ROS_IP= The IP address of the R1-T host computer
    
  3. Example:

    img

4. R1 Teleop Connection

img

4.1 Securing the Device

Use the G-clips to secure the R1-T Base to the desktop, as shown in the diagram below:

img

4.2 Connecting the Device

Following the hardware connection architecture diagram:

img

  1. Connect the CAN cable at the bottom rear of the R1-T Base to the 4-pin aviation connector on the R1-T Box.
  2. Connect the power supply cable to the 2-pin aviation connector on the R1-T Box.
  3. Connect the USB-CAN cable from the R1-T Box to the USB port of the host computer.

Note: After completing the connections, do not power on immediately. Please follow the steps below to proceed.

4.3 Powering On

After securing the R1-T Base to the desktop, place the arms and torso in the initial position as shown in the diagram below. Ensure that the J4, J5, and J6 joints of both arms, as well as the R1-T Base, are at zero-point (initial posture), then you may insert the power unit into the power outlet and press the power button on the R1-T to turn it on.

img

Note: Before starting the R1 Teleop each time, make sure to adjust to its initial posture. Failing to do so may pose a risk during operation.

4.4 Connect Bluetooth Remote Controller

Please be sure to connect two arms to the R1-T host conputer in sequence, ensuring that the left arm is connected first, followed by the right arm.

Note: Due to program settings, to streamline the operation process, if the controller connection sequence is incorrect, please turn off the power and power it on again, then follow the correct sequence for connection.

Connection steps are as follows:

  1. Turn on Bluetooth on the remote controller. For both left and right-hand controllers, flip the “ON/OFF” switch on the right side of the controller, then press and hold the “M” button on the left side and the “B” button on the top of the controller. img
  2. Turn on Bluetooth on the host computer and connect to the two devices named "Magicsee R1." img
  3. After connecting, the message “Device Connected” should appear. Enter the following command to confirm if the connection is successful:

    ls /dev/input/ | grep js
    

    When bothjs0 (left arm) and js1 (right arm) are returned simultaneously, the connection is successful. img

  4. Bluetooth Remote Controller Button Function Description img

Joystick/Button Controller_Left Controller_Right
Joystick X - Positiver Chassis moves forward (Vx is positive). Torso moves upward (Vz is positive).
Joystick X - Negative Chassis moves backward (Vx is negative). Chassis rotates counterclockwise (W is positive).
Joystick Y - Positive Chassis moves left (Vy is positive). Chassis rotates counterclockwise (W is positive).
Joystick Y - Negative Chassis moves right (Vy is negative). Chassis rotates clockwise (W is negative).
Button A Left gripper closes. Right gripper closes.
Button B Left gripper opens. Right gripper opens.
Button C Start recording data.* Torso moves forward (Vx is positive).
Button D Stop recording data.* Torso moves backward (Vx is negative).

*This procedure is applicable only to R1 with software version updated to V1.1.0.

5. Launch SDK

img

Note: The R1 software version must be V1.0.4 or higher. Click here to get the latest version.

During the whole process of controlling R1, you need to open multiple terminals. We recommend you to use TMUX. Common instructions are as follows:

  • Create a new terminal: Press Ctrl + B then C.
  • Switch terminals: Press Ctrl + B then press number which indicates the number of terminal windows.

Now, you can start CAN driver in the following steps.

5.1 Start R1

Execute the following conmands to start the robot.

cd ~/work/galaxea/install/share/startup_config/script
./ota_script.sh boot_teleop     

5.2 Start R1 Teleop

  1. Start TMUX.

    tmux
    
  2. Start FDCAN Communication

    sudo ip link set dev can0 type can bitrate 1000000 dbitrate 5000000 fd on
    sudo ip link set up can0
    
  3. Press Ctrl + B then D to exit TMUX.

  4. Start R1 Teleop

    cd {your_path}/install/share/startup_config/script
    ./ota_script.sh boot
    
    Note:your_path refers to the path where the SDK of R1 Teleop is located.

After completing the above steps, wait for 3 to 5 seconds and you can control R1 Teleop.

6. Data Collection

6.1 Data Collection Script

Please download and extract the R1 Teleop data acquisition program file package from the following link.

6.2 Data Collection Procedure (V1.1.0)

Note: This section applies only to R1 with the software version updated to V1.1.0. Before starting data collection, ensure that the teleoperation program on the R1 Base has been started correctly according to the steps outlined in the preceding sections.

6.2.1 Connecting to R1

  1. Login R1.

    ssh nvidia@IP address
    # Enter the password  (default: nvidia)
    
  2. Exexute the data collection command.

    python3 colect_data.py
    

    If the connection is successful, please disconnect the HDMI and USB cables, and close the peripheral interface covers on the chassis and torso to avoid limiting the range of motion.

6.2.2 Execute Data Collection Command

  1. After connecting to R1, the system will prompt you to enter the path of the task configuration YAML file. Please enter the path of the pre-configured template YAML file:

    ./sample_config.yaml
    
  2. Enter the initial sequence number for the recorded action, for example: 0.

    img

  3. Press Enter to start recording. Press Enter again to stop recording once completed (Do not use Ctrl + C to stop). After the recording ends, you can check the recorded actions in the output path. Please wait for the program to calculate the three camera frequencies from the recently recorded data packet.

img

6.2.3 Follow-up Inquiry

Once the camera frequency calculation is complete, the system will sequentially ask the following questions. Please respond accordingly based on your selection.

Inquiry Description
Continue recording the next trajectory? Enter y: Start recording the next data packet, the number will automatically increment by 1.
Enter n: Proceed to the next step.
Re-record the current trajectory?
(Power/Communication Box)
Enter y: Re-record the current data packet, the number will remain unchanged.
Enter n: Proceed to the next step.
Delete the current trajectory? Enter y: Save the data and exit the program.
Enter n: Delete the current data packet and exit the program.

6.3 Data Collection Procedure (V1.1.1)

Note: This section is applicable only to R1 with the internal software version updated to V1.1.1 or higher.

Before starting data collection, ensure that the teleoperation program on the R1 Base has been started correctly according to the steps outlined in the preceding sections.

Before starting data collection, ensure that the R1 robot is started correctly as described in Section 5.1, and that both Bluetooth controllers of the R1 Teleop are properly connected.

Steps for Data Recording Using Bluetooth Controllers:

  1. Start recording: Press the C button on the left-arm Bluetooth controller to start data recording.
  2. Stop recording and save: Press the D button to stop data recording and save automatically.

The recorded data package will be saved by default at the following path: /home/nvidia/GalaxeaDataset/data/. If the path does not exist, the system will create it automatically.

Users can modify the default storage path or specify the rostopic to be recorded by editing the configuration file ~/work/galaxea/install/lib/data_collection/config/001.yaml.

If you encounter any issues during installation or startup, please contact us at support@galaxea.ai or call 4008 780 980 for technical support !