1.9 KiB
1.9 KiB
saltybot_tests — Integration Test Suite (Issue #504)
Complete ROS2 system integration testing for SaltyBot full-stack bringup.
Test Files
| File | Description |
|---|---|
test_launch.py |
launch_testing: full stack in follow mode, 30s stability |
test_subsystems.py |
Sensor health, perception, navigation, rosbridge |
test_slam_nav2.py |
SLAM (RTAB-Map) + Nav2 lifecycle nodes (indoor mode) |
test_controls_pipeline.py |
cmd_vel_mux, motor protection, accel limiter, e-stop |
test_audio_monitoring.py |
Audio pipeline, VAD, health monitor, diagnostics, docking |
Coverage
| Subsystem | Nodes | Topics | Services |
|---|---|---|---|
| Sensors | LIDAR, RealSense, IMU | /scan, /camera/*, /odom | — |
| SLAM | rtabmap | /rtabmap/map, /rtabmap/odom | /saltybot/save_map |
| Nav2 | planner, controller, bt_navigator | /global_costmap, /plan | /compute_path_to_pose |
| Perception | yolo_node | /person/detections | — |
| Controls | mux, accel_limiter, smoother | /cmd_vel, /e_stop | — |
| Audio | audio_pipeline, vad | /audio/state, /audio_level | — |
| Monitoring | health_monitor, watchdog | /system_health, /diagnostics | — |
| Docking | docking_node | /docking_status | /saltybot/dock, /undock |
| Comms | rosbridge_websocket | /tf, /odom bridged | — |
Running
# Build
colcon build --packages-select saltybot_tests
source install/setup.bash
# Follow mode tests (no hardware)
ros2 launch saltybot_bringup full_stack.launch.py mode:=follow enable_bridge:=false &
sleep 15
pytest test/ -v --ignore=test/test_slam_nav2.py --tb=short
# Indoor mode tests (SLAM + Nav2)
ros2 launch saltybot_bringup full_stack.launch.py mode:=indoor enable_bridge:=false &
sleep 25
pytest test/test_slam_nav2.py -v --tb=short
# Full launch_testing suite
ros2 launch launch_testing launch_test.py test/test_launch.py