NIA IMU issues.

Frequent questions asked online, offline, in forums are answered here
Post Reply
Posts: 2
Joined: Tue Mar 16, 2021 11:13 pm

NIA IMU issues.

Post by Ryan »


I'm working on setting up an NIA system with 4 super beacons and a roaming hedgehog. I am struggling with getting IMU data via uart on the modem. I'll get 0x05 packets without positional or accel data, and a totally nonsensical quaternion. Positions from 0x0001 packets are good, I'm plugging those directly into unity and moving things around in coherent ways. I have some questions:

1) Do I need to calibrate the IMU's before they'll send good data?

2) If this is true, can you guys elaborate a little bit on section 9.10 of the manual? That interface is tough to interpret, it seems like maybe it's set up on a timer or something that senses when the device has rotated and then advances? I can't get it to register anything other than a value on one axis, which has my k value around .10, which might be filling my quaternion with junk.

3) Do the IMU's need to be calibrated frequently?

Firmware version is v6.240, Modem is HW 4.9. Beacons are all Super Beacon 2's. I've successfully flashed all the hardware with the NIA version. I'd be happy with trying to roll the firmware back, or try IA or something. A cursory search showed a couple folks with similar issues but no resolution was posted.

Things I've tried:

- Pulling fusion packets off the Hedgehog : same data, rapidly rotating junk quaternion, no position no velocities no accel.
- Swapping the Hedgehog role between beacons : same result on 3 of them.
- Checking and unchecking all of the IMU via modem options one at a time, the only boolean that seems to matter is IMU fusion quaternion.
- Changing checking and unchecking all of the options under interfaces on both hedgehog & modem one at a time.
- In the dashboard, when I look at accel data and gyro data I have one axis that is way above the others, which again leads me to think this is a problem with calibration.

Thanks in advance, as an embedded px4 developer, I'm really impressed with what you all have created here. Right now I'm just prototyping and seeing what's possible, but the commercial applications seem really expansive with a good 3d overlay.


PS: How's the API coming? Also any plans to create an OSX hook?

Posts: 2
Joined: Tue Mar 16, 2021 11:13 pm

Re: NIA IMU issues.

Post by Ryan »

Ahh, I think I figured it out!

Calibration menu behaves kind of unpredictably with multiple beacons plugged into the same usb bus. The menu could use some hand holding still, but it works about like I figured it would have to.

Bet this fixes whatever kalman filter you're using and then starts spitting out good data. This is such a cool system!

Posts: 368
Joined: Sat Feb 06, 2016 4:03 pm

Re: NIA IMU issues.

Post by smoker77 »


In current version of software for Super-Beacons IMU fusion position, speed and acceleration are still not available.
It was working for HW4.9 beacons, but this functionality is not yet implemented for newer beacons, we are working on it.
Currently you can get raw acceleration and gyro data from data packet 0x0003 and quaternion data from packet 0x0005.

The quaternion describes orientation angles, you can recalc it to angles as described here: ... ler_angles
We recommend to use quaternion with paired beacons, to suppress yaw gyro drift and get an angle related to Marvelmind coordinate system.
With single mobile beacon, quaternion gives 'some' angle.

API is mostly developed by desires of the users.
What functions do you want to see in the API?

We have not tested API under OSX, but maybe linux version of the API can run under OSX.
Some console example developed for Linux were successfully used under OSX by some of our customers as I remember.

Post Reply