Skip to main content

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:

  1. stop the capabilities that you want to pick up the change, and
  2. 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 hostname
  • TR_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.