What is IMU?

All Marvelmind Beacons have a 6D Inertial Measurement Unit (IMU) that consists of a 3D accelerometer and a 3D gyroscope.

What is gyroscope?

Check Wiki definitions first: gyroscope.

Important to remember:

  • A gyroscope provides a change of direction – not a direction against the wall or stationary beacons. Thus, for example, your robot can’t determine its facing direction even if it has a gyroscope onboard. But it can easily measure a 13.7-degree turn, for instance, with very high resolution and with very high update rate, and low latency
  • Gyroscopes drift. With calibration – less

Demo

See live IMU performance: revolving cube – this functionality is for our R&D purpose and is not available in the Dashboard by default. But you can easily see the gyroscope and accelerometer graphs in the Dashboard:

  • Go to Dashboard => View (Tools) => Accelerometer data
  • Go to Dashboard => View (Tools) => Gyroscope data

Use Paired Beacons for direction

Notice that our beacons do not have magnetometers inside. However, it could be possible to quite easily connect them to a Super-Beacon via an available I2C or UART, or SPI interface.

We do not recommend using magnetometers indoors because of the high potential distortion of the Earth’s magnetic field by ferromagnetic metals, the ferromagnetic metal body of your mobile object, and the magnetic fields of currents of wiring indoors or on your mobile devices.

Instead, we recommend using the Paired Beacons configuration: you install two or more mobile beacons on your mobile objects with as large a base as your mobile object can provide and enjoy very accurate direction data even in static:

IMU does not give direction

To avoid confusion, let us stress again that the IMU (gyroscope) does not provide a direction. It provides a change of direction. It is very accurate, precise, stable, and has relatively low drift, even without calibration. But it is not a direction. It is a change of direction against some chosen direction.

GPS does not provide directions either. GPS gives just a location – not a direction.

It is possible to get directions with only a single beacon and IMU:

  • Lock current direction in the IMU – record the IMU readings
  • Drive/flight forward for 30-100cm in any direction. Keep it a line using IMU/gyroscope
  • Measure location using ultrasound positioning
  • Link IMU readings and ultrasound location readings that shall give a line as well
  • Calculate the location
  • Keep the ultrasound positioning constantly calibrating the long-term drift of the IMU while using IMU readouts purely to get data about quick changes in direction
 
Thus, indeed, it is possible to use only a single mobile beacon with IMU and to obtain the actual direction, but:
  • It is pretty complex and cumbersome
  • One has to drive or fly some distance before establishing the direction. In many cases, this is simply undesirable, infeasible, or impossible
  • One needs to implement the ultrasound + IMU lock and constant calibration
 
Therefore, a recommended solution is to use the Paired Beacons configuration when possible. Such an approach provides:
  • Direction in static
  • Ultrasound + IMU sensor fusion for direction already implemented and enabled: 100Hz direction update rate with ~10ms latency
 
Drawbacks for the Paired Beacons feature are pretty obvious as well:
  • It can be used for relatively larger objects that allow a base between the mobile beacons >30cm. Yes, it is possible to try to use it even with a base of 10cm, but the direction may be pretty inaccurate and maybe even unstable
  • Additional mobile beacon = additional weight and cost

Read more on the subject in our related blog post: How many mobile beacons do I need per drone?

Protocols and interfaces

You can get IMU data from:

  • Mobile beacon: 100Hz IMU data with ~10ms latency
  • Modem: IMU data along with ultrasound location update (typically, ~8Hz)
 
Notice that you get the same data from the mobile beacons and the modem, but the update rate for the IMU from the modem is significantly lower (~10 times), and latency is higher (~10 times) than that from the mobile beacon. Thus, if you need the highest update rate and the lowest latency for the IMU data, obtain it directly from the mobile beacon and “consume” it onboard your mobile device – not on the modem side.

IMU data includes:

  • Raw IMU data: 3D accelerometer and 3D gyroscope
  • Quaternion
  • Direction based on the Paired Beacons – effectively yaw of quaternion

Download the Protocol description for more detail.

Scroll to Top