Ways in
Live on the robot
Watch a running robot and stay silent until something changes.
trialone watch with no arguments attaches to the running ROS 2 graph and subscribes to every numeric topic it advertises. Nothing is configured and nothing is exported. It reports a fault while the session is still running, including a channel that stops publishing, judged against that channel's own cadence.
$ trialone watch$ trialone watch --topics /joint_states,/odom
Other sources
| Source | Flag |
|---|---|
A file that is still growing: a CSV with a header row, or lines of key=value | --follow <file> |
| An existing recording, played as if it were live | --replay <recording> |
| A microcontroller on a serial port: Arduino Serial Plotter lines, ESP32 crash reports | --serial <port>, with --baud |
| Several devices of one machine on one clock: CAN, host board, ROS graph | --robot <robot.yaml> |
The serial port needs the extra: pip install "trialone[serial]".
As a service
$ trialone install-service$ trialone install-service --install
The first command prints the systemd user unit. The second writes it, enables it, starts it, and checks that it is really running. No sudo: the service runs as you, with the key trialone login stored. From then on the watcher posts what it finds, checks in every minute, and takes jobs from the website, such as building a reference or verifying a repair.
Silence and incidents
When a watcher stops checking in, the website marks the machine as silent and alerts you. A watcher stopped by hand says so first, so a planned stop is not an alarm.
When the robot does something wrong while you stand next to it, create the file incident in the TrialONE folder (~/.trialone). Every instrument lines up the 30 seconds before that moment: what stopped first, and whether it points to hardware, software, or both.
$ touch ~/.trialone/incidentLimits
- A fault on one single channel, with nothing else moving at the same time, produces no finding here.
- Explanations on the live path are leads. Verify them on a recording.
Something missing or wrong here? Tell us.