Skip to content

Enable snapshot and rosbag recording in demo scenarios #25

@bburda

Description

@bburda

Summary

The demo scenarios need fault manager configuration for snapshot capture and rosbag recording so users can experience the full SOVD diagnostic workflow: fault injection → snapshot capture → rosbag download via bulk-data API.

The turtlebot3 demo has partial configuration but the sensor_diagnostics demo has none - fault_manager runs with defaults (no storage, no snapshots, no rosbags).

Motivation

Without this configuration, the demos cannot demonstrate the bulk-data download feature. Users injecting faults see fault listings but have no way to access recorded diagnostic data.


TurtleBot3 Demo

  • Add fault manager config to medkit_params.yaml: SQLite storage, freeze-frame snapshots, MCAP rosbag with ring buffer (10s pre + 2s post fault)
  • Record navigation-relevant topics: /odom, /amcl_pose, /scan, /cmd_vel, /tf, /plan, /diagnostics, costmaps, action status/feedback
  • Add medkit_data Docker volume for persistent fault/rosbag storage

Sensor Diagnostics Demo

  • Add full fault manager configuration to medkit_params.yaml (currently missing entirely)
  • Record sensor topics: /sensors/scan, /sensors/imu, /sensors/fix, /sensors/image_raw, /diagnostics
  • Pass medkit_params_file to fault_manager node in launch file (currently only passes use_sim_time)
  • Add sqlite3 package and /var/lib/ros2_medkit/rosbags directory to Dockerfile
  • Add persistent medkit_data Docker volume to docker-compose.yml
  • Add bulk-data/snapshot demo steps (10-12) to check-demo.sh

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions