RACECAR SERVICE
The service command controls the systemd units on the car.
STATUS
racecar service status (or just racecar service) shows every on the car. On a fresh car:
bashracecar@neoracer:~$ racecar service status neoracer-teleop active=active enabled=enabled neoracer-watchdog active=active enabled=enabled neoracer-dashboard active=active enabled=enabled neoracer-jupyter active=active enabled=enabled -- lab dashboards (off unless started) -- neoracer-camlabel active=inactive enabled=disabled neoracer-wallfollow active=inactive enabled=disabled neoracer-pursuit active=inactive enabled=disabled neoracer-eps active=inactive enabled=disabled neoracer-smartfollow active=inactive enabled=disabled
Four units are installed enabled on all cars and should remain enabled always.
| Systemd unit | Port | What it runs |
|---|---|---|
| neoracer-teleop | — | Runs the driver, which publishes every topic on the car. |
| neoracer-watchdog | — | Supervises the driver nodes and restarts a dead one. |
| neoracer-dashboard | 8080 | The health dashboard. |
| neoracer-jupyter | 8888 | JupyterLab, serving ~/jupyter_ws. |
Five more units install disabled and are started for a session. We are working to incorporate the dashboards within curriculums to foster learning using the NeoRacer; view them in detail in these slides.
| Systemd unit | Port | What it runs |
|---|---|---|
| neoracer-camlabel | 8082 | Capture and label camera images into ~/data as a training dataset. |
| neoracer-wallfollow | 8081 | Dashboard for the wall-following lab. |
| neoracer-pursuit | 8083 | Dashboard for the pursuit lab. |
| neoracer-eps | 8084 | Dashboard for the EPS lab. |
| neoracer-smartfollow | 8085 | Dashboard for the smart-follow lab. |
ENABLE AND DISABLE
An enabled unit starts on its own at boot. With no name, enable and disable apply to the four core units. A dashboard is enabled by name.
bashracecar service enable # the core stack starts at boot racecar service disable # the core stack stays off at boot racecar service enable camlabel # camlabel is available at boot racecar service disable camlabel
START AND STOP
Start and stop act now and do not change what happens at boot. With no name they apply to the four core units; a dashboard is started by name for the session.
bashracecar service stop # the core stack, now racecar service start # bring it back racecar service start camlabel # starts camlabel for this session racecar service stop camlabel
RESTART AND LOGS
With no name, restart restarts every enabled unit and never starts a disabled one. Logs stream from the journal; racecar service logs defaults to teleop.
bashracecar service restart # every enabled unit racecar service restart teleop # one unit by name racecar service logs # journalctl -f for teleop racecar service logs jupyter # or name one
