6. Skip to content

6. AIRBOT Play Product Features#

In this tutorial, we will introduce the basic features supported by AIRBOT Play, including:

  • Software Upgrade: User-initiated upgrading of driver software and firmware.

  • Power On/Off: Instructions for powering on/off the device and self-inspection, as well as explanations for controlling the start and stop of control services.

  • Zero Calibration: Automatic zero calibration or user-initiated calibration.

  • common-controls: Command-line control, arm button control, keyboard control.

  • demonstration-and-replay: Drag-to-Teach, Same-Structure Teaching (PLAY control PLAY), Different-Structure Teaching (REPLAY control PLAY), and replay functions.

For more features such as data collection and cutting-edge algorithm reproduction, please refer to the tutorial examples.

Two Basic Control Methods of AIRBOT Play

  1. External SDK Control: Users can create a client using the SDK and connect to the driver server to obtain device status and send control commands to control the arm, such as keyboard control; External SDK Control Control can also achieve Lead–follow teach. You are welcome to develop independently, contribute to the open-source community, and we will gradually update the tutorials. Please stay tuned:

    • Same-Structure lead/follow arms
    • Heterogeneous VR Devices
    • Motion-capture device
    • Gesture Recognition
  2. button control (base button & tool button): switches the arm from SDK-external control mode to built-in APP mode, supporting zero-position calibration and drag-teach replay via the physical buttons.

6.1 Power On/Off & Control-Service Start/Stop#

6.2 Power On / Off#

Hot-plug or unplug the power cable to hot-start or hot-stop the arm. The arm is designed to stay powered for long periods.

6.2.1 Power-On Self-Test#

When power is applied the robot automatically performs a self-test. If the zero position has been lost, the user can carry out Zero calibration. If the zero position is valid the arm will move directly to its initial pose.

6.2.2 Starting / Stopping the Driver Control Service#

Pre-Start Checks

Ensure all connections are made as described in Base Connection:

  • If the LED strip shows a green breathe pattern, the arm is in external-control mode and you can start the driver service;
  • If the LED strip is pulsing yellow, perform Zero calibration first.

For the meaning of the LED status strip and button operations, please refer to Status & LED Indicators.

6.2.2.1 Starting the Driver Service#

The driver server delivers all core functions of the AIRBOT family—servo control, motion planning, collision detection, health monitoring and the SDK interface.

Safety Warnings
  1. Make sure no other device or process is sending traffic on the CAN bus.
  2. During start-up the arm will move to a predefined pose—keep clear of its workspace.
  3. Never use the same port number for two or more arms connected to the same host.

To start it:

airbot_fsm -i <INTERFACE> -p <PORT>
or
airbot_server -i <INTERFACE> -p <PORT>

  • <INTERFACE> CAN interface name shown by ip link. The default device name is canX (where X starts at 0), e.g. can0, can1, …
  • <PORT> gRPC server listen-port. Use a unique port per device (e.g. 50000, 50001, 50010) when several arms are connected.

Keep a safe distance and wait until the LED strip turns pulsing green; then you can use the functions described below either via the buttons or through the SDK.

Launching the Driver Service for Two Arms on the Same Host

When you plug the arms into the PC one after another via USB, and leave their device names unchanged, the first arm will appear as can0 and the second as can1 automatically. Open two separate terminal windows, one for each arm. In the terminal assigned to the arm on can0, enter the following command to start the driver service (example uses airbot_server) and wait for the arm to finish initializing:

    airbot_server -i can0 -P 50000

In the second terminal (for the arm on can1), launch the driver service with:

    airbot_server -i can1 -P 50001

6.3 Stopping the driver service#

In the terminal window that belongs to the device, press Ctrl + C. The driver shuts down, the arm returns to its initial pose, and the LED bar resumes the white-breathing pattern.

6.4 Zero calibration#

Warning
  1. Make sure the firmware version is ≥ 5.0.8.
  2. Stop the driver process for the arm that will be zero-calibrated.

If the LED strip breathes yellow after power-on AIRBOT has lost its zero reference and must be re-zeroed.

  • Support the end-effector with your hand; the arm will drop slightly when the motors release.
  • Press and hold the base button for 3 s. When you hear a distinct “click” the motor brakes release and the arm enters free-drive mode (joints will feel heavy because of high friction).
  • Manually move the arm to the zero marks,J1: middle position; J2 & J3: lowest mechanical-limit position; (J4, J5, J6 can remain anywhere.)
  • Press the base button again; another “click” is heard and calibration is saved.

On completion the strip will breathe white if a USB cable is attached, or show solid white if USB is unplugged.

LED states before/after calibration are shown below:

6.5 Quick Gripper Control#

A short press of the tool button toggles the two-finger gripper (G2) open/closed. (Only compatible with the G2 gripper.)

6.6 Drag-to-Teach & Replay#

  1. After the driver service starts, the arm enters External Control mode (green pulsing LED). Press and hold the base button for ~3 s to switch to the Idle state of the Record-Replay app (cyan pulsing LED).
  2. Press and hold the tool button for ~2 s to enter Gravity-Compensation mode; the arm can now be dragged and recorded (solid purple LED).
  3. In Gravity-Compensation mode, short-press the base button to start recording (purple flowing LED).
  4. Short-press the base button again to stop recording and return to Gravity-Compensation mode.
  5. Press and hold the tool button for ~2 s to exit Gravity-Compensation mode and return to Idle.
  6. In Idle or Gravity-Compensation mode, double-click the tool button to enter the Replay-ready state (pink blinking LED).
  7. In Replay-ready, short-press the base button to drive the arm to the recorded start point (solid pink LED).
  8. Short-press the base button once more to begin trajectory replay (pink flowing LED). After reaching the end, the arm automatically returns to the start point. Note: the E2B gripper motion is not replayed.
  9. During replay, short-press the base button at any time to pause or resume execution.

State-transition diagram and LED patterns for the drag-teach & replay app are shown below:

6.7 Same-Structure Teaching (PLAY control PLAY)#

Warning
  1. Make sure at least two AIRBOT arms are powered on and connected to the PC via USB.
  2. When starting the follow mode, keep the lead arm (the one used to guide the others) stationary.
  3. You may specify multiple follower arms, but there must be only one leader.

See the SDK for full details. Example:

python3 -m airbot_examples.task_follow --lead-port 50000 --follow-port 50001