Configuration
Device Configuration
The config.json
file lets you pre-configure the behavior of the agent and capabilities.
Example:
{
"global": {
"rosReleases": ["humble"],
"desiredPackages": ["@transitive-robotics/webrtc-video"]
},
"@transitive-robotics/webrtc-video": {
"default": {
"value": "/dev/video0",
"type": "v4l2src",
"text": "Front",
"resolution": {
"width": {"value": 640},
"height": {"value": 480}
},
"bitrate": "20",
"framerate": "30/1"
}
}
}
This file usually lives in ~/.transitive
, but can also be provided during installation in a docker container, see Using Docker.
ROS
While the agent and most of our capabilities can be used without ROS, some capabilities, such as Remote Teleop and Health Monitoring, require it. In the default configuration, i.e., when rosReleases
is not set or set to null
, the Tansitive agent will source any ROS releases it finds installed in /opt/ros
, if any. If you want to overwrite or disable that, you can specify the ROS releases you want to use by name, e.g.:
{
"global": {
"rosReleases": ["noetic", "humble"]
}
}
The array can be left empty ([]
) to disable ROS completely. Note that our capabilities can work with ROS 1 and ROS 2 simultaneously.
Applying changes
After making changes to ~/.transitive/config.json
you will need to:
- stop the capabilities that you want to pick up the change, and
- restart the agent.
This will make the agent reload the configuration and restart the stopped capabilities with the new config.
Configuration Editor UI
Some configuration values, e.g., ROS support, can also be modified and applied via the device page on the portal.
Environment Variables
These can be set via the usual means when using Docker or in ~/.transitive/.env_user
(create the file if it doesn't exist).
TR_DISPLAYNAME
: a custom display name to use on the Portal instead of the hostnameTR_LABELS
: a comma separated list of labels to show next to the display name on the Portal
Fleet Configuration
In addition to the above per-device configuration, there is also a fleet-wide configuration, which you can find on the Devices page on the Portal. These settings apply to all robots/devices in your fleet, incl. any future ones. Currently, the only setting in that configuration is the update window.
Update Window
This allows you to limit the daily time window during which capability upgrades are allowed, so that they do not interfere with your operations. The time is relative to the timezone where the Transitive agent is running. Keep in mind that timezones in Docker containers can be different from those of the host. The default timezone for Docker containers is UTC. Changes to this setting take effect immediately. Note, however, that capabilities always check for updates when they (re-)start as well.