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 modifed 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