Teleoperation Guide
This guide explains how to set up and operate the AI Worker using teleoperation.
Prerequisites
Before starting teleoperation, make sure:
- The follower(AI Worker) is properly set up and powered on
Steps for Teleoperation Setup (Leader)
(*The term Leader
refers to the control device in the AI WORKER system)
Power Cable
: Connect the power adapter to supply power to the U2D2 device.U2D2 ON/OFF
: This switch is located inside a small recessed hole. The device is turned on when the inner white-dotted button is pressed.USB Cable
: Connect a USB cable from the U2D2 to one of the USB ports on the back of theFollower
.
How to Wear the Leader
First Leader Version
- Put both arms through the
Leader
'sshoulder straps
. - Fasten the chest belt buckle and
hip belt buckle
. - Adjust the length of the
shoulder straps
,chest belt
, andhip belt
so that theLeader
is securely fixed on your back.
Second Leader Version It can be worn more easily by users with different body types.

- First, pull the inner belt tightly and fasten it around the waist.
- Then, pull the outer belt and attach it over the inner belt using the Velcro.
Running Teleoperation
The following teleoperation commands are executed on the robot PC
. You can either connect a keyboard and mouse directly to the Nvidia Orin, or access it via SSH (see the Setup Guide for instructions).
If no containers are running when you execute docker ps -a
on the robot PC, start the container using:
cd ai_worker
./docker/container.sh start
If a container is already running, enter the ai_worker Docker container with:
./docker/container.sh enter
Option 1: All-in-One Launch
NOTICE
After execution, the follower will not move until you push both hand triggers for more than 2 seconds. Once you do, the follower will slowly move toward the leader's position, and after reaching a certain proximity, it will move more quickly. This behavior is the same even when launching the leader and follower separately.
To start both the Leader
and Follower(BG2/SG2)
simultaneously:
ros2 launch ffw_bringup ffw_bg2_ai.launch.py
Or use the shortcut:
ffw_bg2_ai
Option 2: Separate Launches
If you want to run the Leader
and Follower
separately in different terminals:
- Launch the teleoperation
Follower
:
ros2 launch ffw_bringup ffw_bg2_follower_ai.launch.py
Or use the shortcut:
ffw_bg2_follower_ai
Optional Parameters
You can customize the follower launch behavior with optional parameters:
Disable Camera Launch To run the system without launching the cameras, set the launch_cameras
parameter to false
:
ros2 launch ffw_bringup ffw_bg2_follower_ai.launch.py launch_cameras:=false
Disable Position Initialization To start the system without initializing the position, set the init_position
parameter to false
:
ros2 launch ffw_bringup ffw_bg2_follower_ai.launch.py init_position:=false
Combine Multiple Parameters You can use both parameters together:
ros2 launch ffw_bringup ffw_bg2_follower_ai.launch.py launch_cameras:=false init_position:=false
Launch the teleoperation
Leader
:bashros2 launch ffw_bringup ffw_lg2_leader_ai.launch.py
Or use the shortcut:
bashffw_lg2_leader_ai
Basic Operation
NOTICE
You must push both hand triggers for more than 2 seconds for the follower to start moving. When you push both triggers forward, the follower will slowly move to the leader's position, and once it comes within a certain error range, it will move quickly.

FFW_BG2
- Once both systems are running, the
Follower
will begin to mirror your movements. - Start with slow, gentle movements to get familiar with the response.
- The grip buttons on the
Leader
control the gripper actions on theFollower
. - The
right joystick
controls the up and down motion of thelift
, while theleft joystick
controls thehead
section of the robot.
FFW_SG2
- Once both systems are running, the
Follower
will begin to mirror your movements. - Start with slow, gentle movements to get familiar with the response.
- The grip buttons on the
Leader
control the gripper actions on theFollower
. - The
right joystick
controls the up and down motion of thelift
, while theleft joystick
controls thehead
section of the robot. - Pressing both switches simultaneously switches to
SWERVE DRIVE MODE
. - In
SWERVE DRIVE MODE
, the left joystick controls: X-axis: Linear x, Y-axis: Linear y The right joystick controls: Y-axis: Angular z
WARNING
In swerve mode, the arms continue to move. Please be careful.
Pause Teleoperation
To temporarily pause teleoperation:
- Push both hand triggers for more than 2 seconds
- The follower will stop and hold its current position
Stopping Teleoperation
To stop teleoperation:
- Return to a neutral position or pause the system.
- Press
Ctrl+C
in the terminal where the launch file is running.
Troubleshooting
- Delayed movements: Check for any obstructions or if you're reaching joint limits
- Unresponsive gripper: Ensure proper calibration and connection
- System unresponsive: Check ROS topic connections with
ros2 topic list
andros2 topic echo
- Trigger pause function not available or robot moves immediately upon startup: Please update the ai_worker source code to version
1.1.10
or higher