sl-perception dc6eea4016 feat: Add weather awareness system (Issue #442)
Implements sensor fusion for environmental monitoring and adaptive outdoor behavior:
- BME280 environmental sensor (temperature, humidity, pressure)
- Phone weather API fallback (wind speed, conditions)
- Camera-based rain detection (image gradient analysis)
- WeatherState.msg with condition bitmask and recommendations
- Behavior triggers: rain→seek shelter, wind→reduce speed, extreme temp→warning
- Facial expressions: squint (rain), shiver (cold), relax (comfortable)
- Real-time publishing: /saltybot/weather (WeatherState), /saltybot/weather_alert (String)
- Adaptive thresholds: temp_min_safe, temp_max_safe, wind_threshold

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-03-05 09:04:20 -05:00

20 lines
636 B
YAML

# Weather awareness ROS2 parameters
/**:
ros__parameters:
# Sensor topics
bme280_topic: '/sensor/bme280'
camera_topic: '/camera/color/image_raw'
# Phone weather API (OpenWeatherMap-like endpoint)
phone_api_endpoint: '' # Set to 'http://weather-service:5000/current' if available
phone_api_interval: 300.0 # Query every 5 minutes
# Output
publish_hz: 2.0 # Publish weather state at 2 Hz
# Thresholds
temp_min_safe: 0.0 # °C (below = cold warning)
temp_max_safe: 35.0 # °C (above = heat warning)
wind_threshold: 7.0 # m/s (above = strong wind)