Skip to content
This repository was archived by the owner on Nov 19, 2024. It is now read-only.

Deploying to Robots

Mitchell D Scott edited this page Aug 28, 2022 · 4 revisions

Deprecated

Our installation sends the local buffpy package to a set of devices with SCP.

The source code on each robot is the same. The difference is the configuration it is launched with. These configurations are defined in buffpy/config/system. Ex:

infantry.yaml
hero.yaml
sentry.yaml

These yaml files each import their own program configurations. The launcher uses yaml file inheritance when loading system configurations. This way if you would like to make a small temporary change to a node in a system just include the other robots config like:

FROM: 'other_robot.yaml'

This will overwrite whatever is in other_robot.yaml with the changes in your_robot.yaml and keep the rest.

Users can define what type of robot a device is in buffpy/config/robots/robots.yaml. This file links a device's hostname to a robot type. If the installer can find that device it will install the code and set the type in buffpy/config/robots/self.yaml. The robot is started by calling run with self.yaml. Although, you can call run with other config files if necessary.

To run the install make sure your target devices are registered in buffpy/config/robots/robots.yaml. Ex:

edge0:
  - 'infantry'
edge1:
  - 'hero_debug'
edge2:
  - 'sentry'

The type of robot needs to correspond to its system launch yaml. Meaning every type should have a type.yaml in buffpy/config/system.

and if you haven't yet, run

buffpy --build debug

Using the buffpy CLI run the install with:

buffpy --install
Clone this wiki locally