Operation 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 beltso that theLeaderis 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).
Enter the ai_worker Docker container with:
cd ~/ai_worker
./docker/container.sh enterOption 1: All-in-One Launch
TIP
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:=falseDisable 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:=falseCombine Multiple Parameters You can use both parameters together:
ros2 launch ffw_bringup ffw_bg2_follower_ai.launch.py launch_cameras:=false init_position:=falseLaunch the teleoperation
Leader:bashros2 launch ffw_bringup ffw_lg2_leader_ai.launch.pyOr use the shortcut:
bashffw_lg2_leader_ai
Basic Operation
TIP
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
Followerwill begin to mirror your movements. - Start with slow, gentle movements to get familiar with the response.
- The grip buttons on the
Leadercontrol the gripper actions on theFollower. - The
right joystickcontrols the up and down motion of thelift, while theleft joystickcontrols theheadsection of the robot.
FFW_SG2
- Once both systems are running, the
Followerwill begin to mirror your movements. - Start with slow, gentle movements to get familiar with the response.
- The grip buttons on the
Leadercontrol the gripper actions on theFollower. - The
right joystickcontrols the up and down motion of thelift, while theleft joystickcontrols theheadsection 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+Cin 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 listandros2 topic echo - Trigger pause function not available or robot moves immediately upon startup: Please update the ai_worker source code to version
1.1.10or higher