R1 Lite Teleop Tutorial
In this tutorial, we provide detailed instructions to guide you step by step through unboxing, self-check, and connection. The guide will help you quickly get familiar with your new device and ensure everything is ready. Please follow the steps to successfully start your robot!
1. Unboxing
1.1 Preparation Before Unboxing
Item | Quantity | Remarks |
---|---|---|
Laptop (X86 & Ubuntu 22.04 ROS Humble) | 1/unit | Do not use R1 Lite Teleop inside a virtual machine, as it may fail to connect to the Bluetooth controller. |
LAN/Ethernet Cable | 1 | Used for communication between R1 Lite and R1 Lite Teleop. For a more stable connection, it is recommended to prepare an Ethernet cable. |
1.2 Checklist of Items
Upon receiving the product, please check whether all items listed below are included in the package.
Item | Quantity |
---|---|
R1 Lite Teleop | 1/set |
JoyCon Controller | 1/pair |
G-Clamp Holder | 1/pair |
Power Adapter and Cables | 1/set |
Type-C Controller Charging Cable | 1/unit |
Micro USB Data Cable | 1/unit |
2. Connecting R1 Lite Teleop
- Secure the device: Use the G-clamp to fix the device on the table. It is recommended to keep the distance between the left and right devices within 30 cm.
- Properly position the device: Place all linkages of the device correctly and secure them in the positioning slots.
- Connect the device to the host PC: Use a Micro USB cable to connect the device to the host PC.
- Connect the power supply: Plug one end of the power adapter into the device's DC port and the other end into the power outlet.
Note:
Before each startup of R1 Lite Teleop, make sure to set the device to its initial pose to avoid potential safety risks.**
3. Software Preparation
Note:
1. It is not recommended to use the host PC as the upper computer, as Bluetooth connections may be unstable.
2. It is recommended to use a laptop running Ubuntu 22.04 with ROS Humble as the upper computer for R1 Lite Teleop.
3.1 Download and Extract the SDK
Visit Galaxea R1 Lite Software Version Changelog to check and download the latest SDK package and updates.
3.2 Install Software Dependencies
- Configure the required environment dependencies on the R1 Lite Teleop upper computer.
sudo apt install tmux tmuxp -y
sudo apt install python3-pip
sudo apt install ros-humble-dynamixel-sdk
pip install evdev
pip install pyserial
- Add the upper computer user to the
dialout
group. Replaceusername
in the following command with the username of your upper computer.
Note: This command grants the upper computer permission to access /dev/ttyUSB. You only need to run it once; it will persist after shutdown and restart.
- USB port remapping
4. Data Acquisition Process
Please follow the steps below to understand and configure data acquisition.
4.1 Data Format Introduction
The data acquisition file format is ros2 bag
, with the file extension *.mcap
.
4.2 Data Retrieval
The default storage path is: /home/r1lite/GalaxeaDataset/{date}/
date
refers to the current date, formatted as: 20250307
4.3 Configuration File Introduction
4.3.1 Default Storage Path of Configuration Files
The default configuration files used for data recording are located at:
4.3.2 Configuration File Description
The configuration file is used to describe the information of the current data acquisition task. You can modify it according to your needs.
{
"project_info": {
"project_name": "test"},
"task_info": {
"task_name": "test_data_collection",
"task_owner": "galaxea" }
"operation_info": {
"teleoperation_type": "teleop",
"location": "suzhou",
"operator_name": "galaxea"}
}
4.4 Data Storage Files
Data is saved in mcap
+ json
format, with files corresponding one-to-one. For example:
# The following two files represent one data package
S2R12000P18245_20240213173320125_RAW.mcap
S2R12000P18245_20240213173320125_RAW.json
# Format: robot_serial_number + timestamp + RAW
# robot_serial_number: the robot's serial number, located at /opt/galaxea/body/RSN
# timestamp: the data acquisition timestamp, accurate to milliseconds
# RAW: represents the raw data recorded from data acquisition

5. Teleoperation Procedure
Please follow the steps below to configure and start a teleoperation task.
5.1 Multi-Robot Communication Setup
5.1.1 Network Configuration
We provide wired and wireless connection options. We recommend using a wired connection to improve multi-robot communication stability.
The setup methods for the two connection types are as follows:
1. Wired Connection:
- Connect the R1 Lite NUC to the R1 Lite Teleop host, and set the wired network on the Teleop host to "Share with other computers";
- Connect the R1 Lite NUC to the R1 Lite Teleop host, and set the wired network on the Teleop host to "Share with other computers";
Note: The wired IP of the R1 Lite NUC is usually 10.42.0.xxx
; the wired IP of the R1 Lite Teleop host is usually 10.42.0.1
2. Wireless Connection:
- Connect the R1 Lite NUC and the R1 Lite Teleop host to the same LAN, and check the wireless IPs of both devices using the ifconfig
command.
5.2 Modifying Files
- Modify the NUC's
~/.bashrc
file on R1 Lite: - Modify the
~/.bashrc
file on the R1 Lite Teleop host computer:After modifying the two files above, restart both systems to ensure the changes take effect.#R1Lite Teleoperation: Host PC ROS IP settings export ROS_DOMAIN_ID={0-101} #Ensure that this value matches the ROS_DOMAIN_ID setting in R1Lite. export ROS_IP={R1_Lite-T_IP} export ROS_LOCALHOST_ONLY=0
- Example
The R1 Lite and R1 Lite Teleop host computers are on the same network (
10.200.3.0
). Modify the~/.bashrc
file on both the R1 Lite and R1 Lite Teleop host computers.
5.2 Starting Remote Control
5.2.1 Starting R1 Lite
Use the following command to start all R1 Lite nodes:
# After navigating to the directory containing the script, execute the script.
cd ~{your_download_path}/install/startup_config/share/startup_config/script/
./robot_startup.sh boot ../sessions.d/ATCStandard/R1LITEBody.d/
5.2.2 Start R1 Lite Teleop
Note: Please make sure that the linkages of R1 Lite Teleop are set to the zero position.
1. Connect the Bluetooth controllers.
a. Long press the power button on the inner side of the Bluetooth controller. Once powered on successfully, you will see a blue running light.
b. Open the Bluetooth settings on the host computer, search for the JoyCon(L) and JoyCon(R) devices, and connect them.
c. After successful connection, Bluetooth will indicate "Two Bluetooth devices connected", and the blue running light inside the controller will stop, changing to a steady blue light.
d. If the steady blue light represents the remaining battery level, it means the Bluetooth controllers are successfully connected.
-
One-Click Startup.
a. Use the following command to start all nodes of R1 Lite Teleop:b. After startup, you can enter# After navigating to the directory containing the script, execute the script. cd ${R1Lite-T_SDK_path}/install/startup_config/share/startup_config/script/ ./robot_startup.sh boot ../sessions.d/ATCHostStandard/R1LITET.d/
tmux a
in the terminal to access the tmux session.
c. PressCtrl+B
first and release, then pressW
to view all sessions in the tmux backend.
d. At this point, you can switch between sessions using the keyboard's up and down arrows.
e. PressEnter
to enter a session and check for any error messages.
f. After completing the above steps, if no errors are found, you can start full-body teleoperation of R1 Lite.
5.2.3 Controller Button Description
Joystick/Button | Left Controller | Right Controller |
---|---|---|
Joystick X Positive | Chassis moves forward (Vx positive) | Torso moves up (Vz positive) |
Joystick X Negative | Chassis moves backward (Vx negative) | Torso moves down (Vz negative) |
Joystick Y Positive | Chassis moves left (Vy positive) | Chassis rotates counterclockwise (Vw positive) |
Joystick Y Negative | Chassis moves right (Vy negative) | Chassis rotates clockwise (Vw negative) |
Button ↑ | Torso Pitch angle positive rotation | - |
Button ↓ | Torso Pitch angle negative rotation | - |
Button A | - | Torso moves forward (Vx positive) |
Button B | - | Torso moves backward (Vx negative) |
Button X | - | Start recording: press once to begin recording Delete data: press again after 5 seconds to delete data |
Button Y | - | Stop recording data |
Button ZL | Left gripper close | - |
Button L | Left gripper open | - |
Button ZR | Right gripper close | - |
Button R | Right gripper open | - |
The raw messages from the Bluetooth controller are published to rostopic
. The source code path is {R1Lite-T_SDK_path}/install/joycon_evdev_publisher/lib/python3.10/site-packages/joycon_evdev_publisher/joy_evdev_exe_node.py
.
You can adjust the order of msg
elements to remap the controller buttons, as shown in the figure below.
5.3 Gripper Control Mode Switching
You can switch the gripper control mode by modifying the launch file. After modification, restart the program to apply the changes.
5.3.1 Toggle Control Mode
- Run the following command to open the corresponding launch file:
- Change
gripper_mode
tomode1
. In this mode, the gripper control logic is toggle control mode.
5.3.2 Incremental Control Mode
- Run the following command to open the corresponding launch file:
- Change the
gripper_mode
tomode2
; in this mode, the gripper control logic uses an incremental control method.
5.4 Chassis Linear Speed Settings
When using homogeneous teleoperation, the default linear speed of the chassis (in the Vx and Vy directions) is 0.2 m/s, and the default angular speed (Vw) is 0.6 rad/s. The chassis linear speed can be adjusted as follows.
Note: To prevent collisions due to excessive speed, please adjust the chassis linear speed carefully according to your needs.
5.4.1 Setting Parameters in the Launch File
- Enter the following command to open the corresponding launch file.
- Modify the
default_chassis_value
parameter. This parameter sets the default linear speed of the chassis when the program starts.