Get started quickly with Airbotics. In this guide you will use Airbotics to send commands to the turtlesim robot.

Prerequisites

  • An account with Airbotics.
  • Device running Ubuntu 22.04 with ROS 2 installed.
  • Physical or SSH access to your device.

Create a robot

From the Airbotics dashboard head to the robots page and click Create a robot, give your robot an ID and a name and click create. You should be presented with the robot_id, tenant_uuid and token.

From the dialog copy the exported environment variables to your clipboard.

Provision the agent

For Airbotics to communicate with the robot you will need to install and provision the Airbotics agent on it. Install the agent on your robot with pip:

pip3 install --user airbotics-agent

Paste the environment variables from the create a robot step to the terminal:

export AIR_TENANT_ID="0000000-*****-******-******"
export AIR_ROBOT_ID="my-bot"
export AIR_TOKEN="art_************************"

Run the agent:

airbotics

After this you will see that the robot has become online in the dashboard.

Run turtlesim

To simulate a robot application run the turtlesim ros node with the command below.

ros2 run turtlesim turtlesim_node

Create an API key

In order to interact with the REST API you will need to create an API key. This can only be done through the dashboard. Give your key a name select the commands:write permission.

Take note of the value of the key as you will only be able to see it once.

You will need to set your API key as a variable before running the commands below.

export API_KEY=<your_api_key>

Publish to a topic

Now we will publish to a ROS topic through the REST API. We will send a Twist message on the /turtle1/cmd_vel topic, which will cause the robot to turn.

curl --request POST https://api.airbotics.io/robots/quick_bot/commands \
    --header "content-type: application/json" \
    --header "air-api-key: $API_KEY" \
    --data '{
        "interface": "topic",
        "name": "/turtle1/cmd_vel",
        "type": "geometry_msgs/msg/Twist",
        "payload": {
            "linear": {
                "x": 2.0,
                "y": 0.0,
                "z": 0.0
            },
            "angular": {
                "x": 0.0,
                "y": 0.0,
                "z": 2.0
            }
        }
    }'

You should now see your turtle start to turn in a circle!

Wrapping up

In this quickstart you have created a robot, provisioned it with the Airbotics agent and sent a command to a ROS node through a REST API.

You can use the same ideas and API to create customer portals, internal tools, applications and control panels using whatever tools you like to work with. Check out the example projects for some real world examples of what you can build on top of Airbotics!

Cleaning up

Once you’re done with this, you can delete the API key, robot and the commands you sent.