How to develop¶
Run pipeline on actual hardware data¶
pixi run -e ai launch -- sarcam_bringup main_onvif_soar977.launch rosbag_playback:=false rosbag_record:=false
Zenoh starts automatically. For DMS15 hardware use main_dms15.launch.
Environments¶
Each one adds to the one above it, so pick the first that covers what you are running:
|
Adds |
Use it for |
|---|---|---|
(none) — |
ROS stack, UI, build and test tooling |
replaying bags, everyday development |
|
object detector (PyTorch, TensorRT — gigabytes) |
anything with |
|
camera driver (GStreamer decoders) |
live cameras, and what ships run |
|
Sphinx, Gazebo |
writing docs, Simulation |
A live camera needs deployment: no other environment can decode RTSP, and gscam fails
with no element "nvh265dec" without it.
Run pipeline on recorded data¶
First start the processing pipeline in terminal 1
pixi run launch -- sarcam_bringup main_onvif_soar977.launch ai_pipeline:=false
ai_pipeline:=false leaves the object detector out, so this needs only the default
environment — no PyTorch, no CUDA libraries, several gigabytes less to install. A bag
carries the detections and tracks that were recorded with it, so the UI still draws
them. Replaying with a live detector instead is pixi run -e ai launch -- ... without
that argument; see Software setup.
Then replay bags in terminal 2:
# Replay all mcap-recordings from a folder - note that videostreams need to be in root of that folder!
pixi run replay /path/to/videofolder/mcapfolder --loop # or -l for loop
# Replay a single mcap
pixi run replay /path/to/videofolder/mcapfolder/recording.mcap
Run pipeline in simulation environment¶
Check simulation environment.
Development tools¶
Enter sandbox shell¶
pixi shell
Now you can use native ros2 commands without writing pixi run like
ros2 topic echo /rgb/camera_info # get ros2 topic datastream
Reset sandbox¶
pixi run clean
Testing¶
We use pytest framework for test. Execute tests via:
pixi run test
Documentation¶
Live preview (auto-reloads in browser):
pixi run -e docs docs-autobuild
Build (one-shot):
pixi run -e docs docs-html
Link checker:
pixi run -e docs docs-linkcheck
ROS2 devtools¶
# Visualize connections nodes<->topics / tf tree / topics
ros2 run rqt_gui rqt_gui
# 3D Visu / tfs
ros2 run rviz2 rviz2
# TBC
UI GTK devtools¶
Install glade to visually edit the UI in src/sarcam_ui/sarcam_ui/ui/gui_v_1.glade