Config instances
A config instance, also known as a config or an instance, is a set of parameters used to modify the behavior of code. Config instances are stored as JSON files, which applications parse into a structured format for consumption. The following YAML file defines a config instance used to control a robot’s motion.Config schemas
A config schema defines the structure, types, and constraints of a config instance. It serves as a contract between code and configuration, ensuring that config instances are valid before being deployment to devices. Below are some example schema definitions in the JSON Schema and CUE schema languages.Config types
A config type represents a logical grouping of parameters used by your robot’s software. It consists of- The config instances in its domain (the actual parameters deployed to devices)
- A versioned config schema, which defines the structure and constraints for those instances
Mobility config type houses configs related to the robot’s motion while a Perception config type houses configs related to the robot’s perception. Each config type has its own versioned schema, which its config instances must adhere to depending on the release they are deployed under.
Devices
A device is a machine to which config instances are deployed. This could be an NVIDIA Jetson, Raspberry Pi, industrial PC, or any other computer running your robot’s application.Releases
A release is a version of software and its compatible config schemas. Within a fleet of robots, multiple software versions may be deployed — each release defines which config schemas are valid for that version. For example, software releasev1.7.0 might specify the following schemas:
| Config Type | Schema Version |
|---|---|
Mobility | SCH-FmoDN |
Perception | SCH-3JcLq |
Manipulation | SCH-HHDRn |
v1.7.0) is used to verify that all required config instances are present and that each instance complies with the release’s schemas.


