IMU

Overview

The target of the IMU application is to provide to the application user the inertial values as well as the possibility of consulting/changing the configuration properties of the device. Every value is provided by three inertial devices, accelerometer, gyroscope and magnetometer. The structure of the application is explained in the next figure:

imu_api.svg
IMU API

Main functionalities

As it can be shown in the figure, it basically provides:

  • To get the last inertial values: It allows the user to get a inertial message. This kind of message includes the sampled inertial values (every axe of each device) and the current status of each inertial device.
  • To subscribe the inertial values publication: It allows the user to subscribe to the service publisher in order to receive the information messages. This kind of message includes the sampled inertial values (every axe of each device) and the current status of each inertial device.
  • To unsubscribe the inertial values publication: It allows the user to unsubscribe to the service publisher.
  • To get a specific configuration: It allows the user to get the configuration properties. For example, it is possible to know its polling frequency, resolution, antialiasing frequency, etc. Also, it provides the power status of each inertial device.
  • To set a specific configuration: It allows the user to set a configuration property. For example, it is possible to change its polling frequency, resolution, antialiasing frequency, etc. Also, the availability of turning on/off each device.

Units:

  • X-axis
    • Accelerometer: micro g.
    • Gyroscope: micro degrees per second.
    • Magnetometer: micro Gauss.
  • Y-axis
    • Accelerometer: micro g.
    • Gyroscope: micro degrees per second.
    • Magnetometer: micro Gauss.
  • Z-axis
    • Accelerometer: micro g.
    • Gyroscope: micro degrees per second.
    • Magnetometer: micro Gauss.