IMU

All Marvelmind Beacons have 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:

  • Gyroscope provides you with 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 purposed 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, though, 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 indoor, because of potential high distortion of the Earth magnetic field by ferromagnetic metals indoor, by the ferromagnetic metal body of your mobile object and by the magnetic fields of currents of wiring indoor or your mobile devices.

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

IMU does not give direction

Just for avoiding confusion, IMU (gyroscope) does not provide a direction. It provides a change of direction. Very accurate, very precise, pretty stable and with rather low drift even without a calibration. But it is not a direction. It is a change of direction against some chosen direction.

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

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

  • Lock current direction in IMU – record IMU readings
  • Drive/flight forward for 30-100cm to any direction. Keep it really a line using IMU/gyroscope
  • Measure location using ultrasound positioning
  • Link IMU readings and with ultrasound location readings that shall give a line as well
  • Calculate the location
  • Keep the ultrasound positioning constantly calibrating the longer term drift of the IMU, while using purely IMU readouts to get data about quick changes in direction
 
Thus, indeed, it is possible to use only a single mobile beacons with IMU and to obtain the real direction, but:
  • It is pretty complex and cumbersome
  • One has to drive/fly some distance before the direction can be established. 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 the 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:
  • Can be used for relatively larger objects allowing a base between the mobile beacons >30cm or so. Yes, possible to try to use even with the 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 with along with ultrasound location update (typically, ~8Hz)

Notice that you get the same data from the mobile beacons and from 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 highest update rate and the lowest latency for the IMU data, obtain it directly from the mobile beacon and “consume” it onboard of 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 a yaw of quaternion

Download Protocol description for more detail.

If anything is unclear, contact us via info@marvelmind.com