106 lines
2.8 KiB
YAML
106 lines
2.8 KiB
YAML
# UAV Configuration - GPS-Denied Navigation
|
|
/**:
|
|
ros__parameters:
|
|
|
|
# Vision parameters for navigation
|
|
vision:
|
|
# Forward camera (for visual odometry)
|
|
forward_camera:
|
|
enabled: true
|
|
topic: "/uav/camera/forward/image_raw"
|
|
info_topic: "/uav/camera/forward/camera_info"
|
|
frame_rate: 30
|
|
|
|
# Downward camera (for optical flow)
|
|
downward_camera:
|
|
enabled: true
|
|
topic: "/uav/camera/downward/image_raw"
|
|
info_topic: "/uav/camera/downward/camera_info"
|
|
frame_rate: 30
|
|
|
|
# Visual odometry settings
|
|
visual_odometry:
|
|
enabled: true
|
|
method: "ORB" # Options: ORB, SIFT, SURF
|
|
min_features: 100
|
|
max_features: 500
|
|
feature_quality: 0.01
|
|
min_distance: 10
|
|
|
|
# Optical flow settings
|
|
optical_flow:
|
|
enabled: true
|
|
method: "Lucas-Kanade"
|
|
window_size: 15
|
|
max_level: 3
|
|
min_altitude: 0.3 # meters
|
|
max_altitude: 10.0 # meters
|
|
|
|
# Landmark detection
|
|
landmarks:
|
|
enabled: true
|
|
detection_method: "ArUco" # Options: ArUco, AprilTag, ORB
|
|
marker_size: 0.15 # meters
|
|
|
|
# Position estimation (sensor fusion)
|
|
position_estimator:
|
|
fusion_method: "EKF" # Extended Kalman Filter
|
|
|
|
# Sensor weights (trust levels)
|
|
weights:
|
|
visual_odometry: 0.6
|
|
optical_flow: 0.3
|
|
imu: 0.1
|
|
|
|
# Update rates
|
|
update_rate: 50 # Hz
|
|
|
|
# Covariance matrices
|
|
process_noise:
|
|
position: 0.1
|
|
velocity: 0.5
|
|
|
|
measurement_noise:
|
|
visual_odom: 0.05
|
|
optical_flow: 0.1
|
|
imu: 0.2
|
|
|
|
# Navigation parameters (RELATIVE coordinates only)
|
|
navigation:
|
|
frame: "LOCAL_NED" # Never use GPS frame
|
|
|
|
# Control parameters
|
|
max_velocity: 2.0 # m/s
|
|
max_acceleration: 1.0 # m/s^2
|
|
max_climb_rate: 1.0 # m/s
|
|
|
|
# Waypoint following
|
|
waypoint_radius: 0.5 # meters
|
|
position_hold_radius: 0.2 # meters
|
|
|
|
# Obstacle avoidance (vision-based)
|
|
obstacle_avoidance:
|
|
enabled: true
|
|
detection_range: 5.0 # meters
|
|
safety_margin: 1.0 # meters
|
|
|
|
# Mission parameters
|
|
mission:
|
|
takeoff_altitude: 5.0 # meters (relative)
|
|
loiter_radius: 2.0 # meters
|
|
rtl_altitude: 10.0 # meters (relative)
|
|
|
|
# Home position is LOCAL (0,0,0), not GPS
|
|
home_mode: "local" # Never "gps"
|
|
|
|
# Safety (geofencing uses GPS, but navigation doesn't)
|
|
safety:
|
|
geofence:
|
|
enabled: true
|
|
use_gps: true # ONLY for geofence
|
|
action_on_breach: "RTL" # Return to LOCAL origin
|
|
|
|
failsafe:
|
|
vision_loss_timeout: 5.0 # seconds
|
|
action_on_vision_loss: "HOLD" # or "RTL" or "LAND"
|