Set up a robot
Install
How to install the arc command on the robot computer and check that it works.
One command downloads a release, checks it, and sets up a Python environment with the arc command and the arm software for your robot.
Requirements
- A robot computer running Linux on aarch64, such as an NVIDIA Jetson. See Supported hardware.
- Python 3.10 or newer as
python3. JetPack 5 ships Python 3.8; the installer stops and prints how to add 3.10. curl,tar,gzipandsha256sum. Ubuntu has them.- Internet access during the install.
sudo, for the system packages. See--no-aptbelow to install without it.
Install the command
Pick your robot. The commands on this page, and on the pages after it, follow your choice.
Run this on the robot computer:
curl -fsSL https://arc.northstarrobotics.ai/install.sh | bash -s -- --backend yam| Arms | Option |
|---|---|
| YAM | --backend yam (the default) |
| Trossen WXAI | --backend trossen |
| MakerMods Metal | --backend makermods |
| Feather (experimental) | --backend feather, with --venv or --python. See Feather robots. |
The installer:
- Downloads the latest release into
~/arc-dist-<version>/. - Verifies the download's SHA-256, then every file in it against the release's own checksum list. Nothing runs if a check fails.
- Runs the release's
setup_env.sh, which creates a Python environment at~/arc_env, installs the system packages it needs (this is where it asks forsudo), OpenCV, the arm software for your backend and thearcpackage. - On a computer with Wi-Fi managed by NetworkManager, installs a network watchdog: a systemd timer that brings the Wi-Fi connection back after a drop.
It does not bring up CAN links and does not start anything.
Look before running anything
--dry-run downloads and verifies the release, then stops and prints the command it would run next:
curl -fsSL https://arc.northstarrobotics.ai/install.sh | bash -s -- --dry-run --backend yam==> latest version is 0.3.0
==> downloading arc-dist-0.3.0.tar.gz from https://arc.northstarrobotics.ai
==> tarball sha256 ok (71db4a5e24aa14ca374838c780dd0268a35bc6213892561d899c08ae25454d1d)
==> SHA256SUMS ok
==> installed arc-dist 0.3.0 at ~/arc-dist-0.3.0/arc-dist
To do this by hand instead (download, review, run):
curl -fLO https://arc.northstarrobotics.ai/dist/0.3.0/arc-dist-0.3.0.tar.gz
curl -fLO https://arc.northstarrobotics.ai/dist/0.3.0/arc-dist-0.3.0.tar.gz.sha256
sha256sum -c arc-dist-0.3.0.tar.gz.sha256
tar -xzf arc-dist-0.3.0.tar.gz && cd arc-dist && sha256sum -c SHA256SUMS
less setup_env.sh && bash setup_env.sh --help
==> dry run: not running setup_env.sh. Next step:
cd ~/arc-dist-0.3.0/arc-dist && bash setup_env.sh --backend yamThe version and the checksum are those of the release that was current when this page was written. The installer prints the real home directory path where this shows ~.
Installer options
Options go after bash -s --.
| Option | Meaning |
|---|---|
--version X | Install version X instead of the latest. |
--dir DIR | Download and extract into DIR instead of ~/arc-dist-<version>. |
--dry-run | Download and verify only. Print the setup_env.sh command instead of running it. |
-h, --help | Show the installer's help. |
Every other option is passed on to setup_env.sh:
| Option | Meaning |
|---|---|
--backend yam | YAM arms. The default. |
--backend trossen | Trossen WXAI arms. |
--backend makermods | MakerMods Metal arms. |
--backend feather | A Feather robot. Needs --venv or --python. See Feather robots. |
--backend none | No arm software. For a bench with mock arms only. |
--realsense | Also install the RealSense camera library. Needed for a RealSense camera. |
--venv DIR | Create the Python environment at DIR instead of ~/arc_env. |
--no-apt | Skip the system packages. No sudo needed. |
--wifi-connection NAME | The Wi-Fi connection the network watchdog brings back up. Default: the one that is active during the install. |
--net-watchdog-dry-run | Install the network watchdog so that it only logs and changes nothing. |
--no-net-watchdog | Do not install the network watchdog. |
--only-net-watchdog | Install only the network watchdog. |
For example, MakerMods Metal arms with a RealSense camera use --backend makermods --realsense.
The default folder ~/arc-dist-<version> must not exist yet. The installer refuses to overwrite it, so versions sit side by side.
Put arc on your PATH
The command lives in the Python environment. Activate it in every new shell:
source ~/arc_env/bin/activateIf arc is already taken on the machine, use arctele, which runs the same client.
Check that it works
arc --versionThis prints arc and the installed version. arc --help lists the commands:
usage: arc run [CONFIG] [--log-dir DIR | --no-log] [relay flags...]
arc doctor [CONFIG] [--identify] [relay flags...]
arc setup [--output PATH] [--force] [--template PATH]
[--answers FILE] [--non-interactive]
arc lagdiag LOG|LOG_DIR
arc enroll [KEY] [--name NAME] [--backend BACKEND] [--yes]
arc --versionA description of each command follows the usage lines. The CLI reference covers them in full.
Install a newer version
Run the install command again. It downloads the new release into its own folder and runs setup_env.sh, which reuses the existing Python environment and upgrades the packages in place. If you used --venv the first time, pass the same --venv again.
Your robot.toml and the robot's enrollment are not touched.
Next
Enroll the robot in your account.
NORTHSTAR