Intro
Welcome to the AIRBOT SDK documentation! This documentation also provides a one-pager here.
To quickly run AIRBOT series with SDK:
-
Install
airbot-configure
package on the hostNot applicable to AIBROT Pro
airbot-configure
would install basic udev rules for setting up SocketCAN interfaces and also provides basic tools to bind devices to specific interface names. Withairbot-configure
installed, AIRBOT Play, AIRBOT Play Lite and AIRBOT Replay would appear ascanX
in the output ofip link
. -
Connect to the device via a USB cable and power on the device with the power cable.
Not applicable to AIBROT Pro
If the LED is flashing in yellow, AIRBOT has detected loss of zero point reference. Refer to this tutorial for detailed operations.
Also refer to this manual for available LED light effects and their meanings.
With
airbot-configure
installed, AIRBOT Play, AIRBOT Play Lite and AIRBOT Replay would appear ascanX
in the output ofip link
. -
Launch the driver server.
Not applicable to AIBROT Pro
The driver server (as a docker container) is typically launched via
The driver server provides all the basic feature for AIRBOT series, include motor servoing, motion planning, collision checks, health checks, sdk servicing.# Specify a different version with IMAGE_NAME variable # export IMAGE_NAME=registry.cn-shanghai.aliyuncs.com/discover-robotics/airbot_runtime:<version> airbot_server -i <INTERFACE> -p <PORT>
<INTERFACE>
is the interface name that could be examined byip link
. By default, connected devices would appear ascanX
, whereX
is the index number.<PORT>
is the listening port of the gRPC server. In case multiple devices are connected, each device should use a different port.
-
Install
airbot_py
pip package -
Connect to the server via SDK and perform external control
By using this SDK, a client is created to connect to the driver server, so that states are obtained and commands are sent.
For example, running keyboard control example:
For detailed explanation of key mappings, please refer to the Keyboard Control page.
Please note that, SDK only serves as a "shell" to connect to the server, and is not responsible for managing the lifetime of the driver. This means multiple SDK client instances can connect to the driver simultaneously, but none of them "owns" the driver. The disconnection of SDK clients does NOT necessarily means the driver should and would shut down.