How to develop

Run pipeline on actual hardware data

pixi run launch -- sarcam_bringup main_onvif_soar977.launch rosbag_playback:=true

Zenoh starts automatically. For DMS15 hardware use main_dms15.launch.

Run pipeline on recorded data

First start the processing pipeline in terminal 1

pixi run launch -- sarcam_bringup main_onvif_soar977.launch

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