-
Notifications
You must be signed in to change notification settings - Fork 0
Deploying to Robots
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