Skip to main content
Version: 1.5.0

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

Example HW API Plugins