Requirements

This guide assumes you are using the Anvil Devbox and have an additional PC to run Sentinel’s teleop stack. Make sure both are connected to the same network (i.e. same WiFi or LAN).

Setup

1. Set up your Anvil Devbox

Plug in the follower arms and cameras to the correct ports. To allow communication between your PC and the devbox, update the config file at /home/anvil/anvil-loader/.env.config :

# Arms control config (see config/ for available configs)
ARMS_CONTROL_CONFIG_FILE=openarm_v2_inference.yaml

# ROS Domain ID (0-232).
ROS_DOMAIN_ID=<PEER_DOMAIN_ID>

# CycloneDDS distributed communication (e.g. GPU PC for inference).
# When enabled, RMW switches to CycloneDDS with peer discovery.
ENABLE_CYCLONEDDS=true
# IP of the remote peer (e.g. the GPU PC) to discover.
CYCLONEDDS_PEER_IP=<PEER_IP_ADDRESS>

# Advanced tuning (all optional, blank = defaults)
# Pin to one interface instead of autodetecting
CYCLONEDDS_IFACE=<PEER_INTERFACE>
# "spdp" = multicast for discovery only, unicast for data (the wifi recipe).
# Do NOT use "false": it breaks discovery between nodes on the same host.
CYCLONEDDS_ALLOW_MULTICAST=spdp
# Fragment / max message size for a constrained MTU. Units required, e.g. 1100B /
# 1200B (defaults: 1344B / 14720B).
CYCLONEDDS_FRAGMENT_SIZE=
CYCLONEDDS_MAX_MESSAGE_SIZE=
# Transport: udp (default) | udp6 | tcp | tcp6.
CYCLONEDDS_TRANSPORT=
# Write-history-cache high watermark for backpressure on bursty writes, e.g. 8MB.
CYCLONEDDS_WHC_HIGH=
# Tracing verbosity for debugging discovery, e.g. config | fine | finest (-> stdout).
CYCLONEDDS_VERBOSITY=

# VR teleop
ENABLE_VR_TELEOP=false
# Position scaling for teleop controller input
TELEOP_POSITION_SCALE=1.0

Set the following values in this config file:

Once the config file is read, navigate to /home/anvil/anvil-loader/ and run docker compose up. You should see your OpenARM follow a homing motion with the arms ending at a 90 degree angle.

2. Follow the Sentinel Getting Started guide

Follow the “Getting Started” guide here: https://docs.avearobotics.com/Getting-Started-346e77aee94c80fcbacbc3627bba3ad3

You can see a template config file for the OpenARM here.

3. Start teleoperation!

It’s as simple as that! You can now teleoperate your robots.