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