The MRS Hardware API interface
The HW API provides an abstraction layer between the MRS UAV System and a UAV flight controller. On one side, the HW API provides a unified ROS interfaces for the core as if it was a generic flight controller. On the other side, the communication with a particular hardware (or simulator) can be orchestrated using whatever is required. The HW API is defined by the package mrs_uav_hw_api, which is part of the mrs_uav_core.
Doxygen documentation for the C++ API
Control output from the MRS UAV System
The control output can be any of the following:
- 3D Position + Heading
- 3D body-frame Velocity + Heading
- 3D body-frame Velocity + Heading rate
- 3D body-frame Acceleration + Heading
- 3D body-frame Acceleration + Heading rate
- 3D world-frame Attitude + Throttle
- body-frame Attitude rate + Throttle
- Control groups
- individual Actuators' throttle
The following services command the state changes in the flight controller:
- Arming toggle service
- Offboard trigger service
Data provided to the MRS UAV System
The following data can be provided by the API plugin
- GNSS
- GNSS data
- GNSS status
- RTK
- IMU
- Barometer
- Magnetometer heading
- Magnetometer's magnetic field
- Downwards-pointed rangefinder (height)
- AMSL altitude
- Position
- Velocity
- Orientation
- Angular velocity
- Ground truth
- RC Channels
- Battery state
- 3D odometry