Why is IMU?

All Marvelmind Beacons have a 6D Inertial Measurement Unit (IMU) that consists of a 3D accelerometer and a 3D gyroscope. There are only two exceptions in our products:

  • Beacon HW v4.9 – the least expensive and mature product with no IMU at all
  • Beacon HW v4.9-IMU – a mature product with 9D IMU inside (3D accelerometer + 3D gyroscope + 3D magnetometer)

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 figure out which direction it is facing even if it has a gyroscope onboard. But it can easily measure a 13.7-degree turn, for example, with very high resolution and 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: 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, IMU (gyroscope) does not provide a direction. It provides a change of direction. Very accurate, precise, stable, and 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 IMU – record 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 real direction, but:
  • It is pretty complex and cumbersome
  • One has to drive/fly some distance before establishing the direction. In many cases, it is simply undesirable/infeasible/impossible.
  • One needs to implement the ultrasound + IMU lock and constant calibration
 
Therefore, a recommended solution is to use Paired Beacons. 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 allowing a base between the mobile beacons >30cm. Yes, possible to try to use it even with a base of 10cm, but that may be pretty inaccurate and maybe even unstable
  • Additional mobile beacon

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