Build status |
---|
This package provides state estimation of the UAV dynamics based on sensor fusion of onboard sensors. The estimated states are:
- lateral position
- lateral velocity
- lateral acceleration
- heading
- heading rate
Within the MRS UAV System, the resulting state estimate is used by the ControlManager for feedback control of the UAV. The provided odometry diagnostics topic is used by the Gain/Constraint-Managers for applying proper dynamics constraints and controller gains based on the current estimator type.
The odometry node maintains a bank of filters with independent hypotheses. Multiple sensors can be combined into a sensor group, which is input to one of the estimators. The estimators run independently and are multiplexed to obtain the main estimate. Only the selected main estimated is used for the feedback control. Here follows the list of selected estimators with their inputs.
- "OPTFLOW"
- horizontal: optic flow velocity
- vertical: range finder height
- heading: optic flow yaw rate
- "GPS"
- horizontal: GNSS position
- vertical: range finder height
- heading: magnetometer
- "OPTFLOWGPS"
- horizontal: GNSS position, optic flow velocity
- vertical: range finder height
- heading: magnetometer
- "RTK"
- horizontal: RTK GNSS position
- vertical: range finder height
- heading: magnetometer
- "LIDAR"
- all states: 3-D LIDAR position and heading
- "VIO"
- horizontal: Visual Inertial Odometry position
- heading: Visual Inertial Odometry heading
- vertical: range finder height
- "HECTOR"
- horizontal: Hector slam position
- heading: Hector slam heading
- vertical: range finder height
The main estimator output currently used for control (in the custom UavState message type):
/uav*/odometry/uav_state
The main estimator output currently used for control (in the custom Odometry message type):
/uav*/odometry/odom_main
Particular estimator topics:
/uav*/odometry/odom_optflow
/uav*/odometry/odom_gps
/uav*/odometry/odom_optflowgps
/uav*/odometry/odom_rtk
/uav*/odometry/odom_lidar
/uav*/odometry/odom_vio
/uav*/odometry/odom_hector
rosservice call /uav*/odometry/change_odometry_source optflow