Should I use the BNO085 for a model rocket?

The Rocketry Forum

Help Support The Rocketry Forum:

This site may earn a commission from merchant affiliate links, including eBay, Amazon, and others.

cjak

New Member
Joined
Sep 23, 2024
Messages
2
Reaction score
0
Location
Phoenix AZ
I'm going to build a high power model rocket and I'm wondering if I should use the BNO085 as the IMU. It has a pretty impressive profile and runs different firmware than the bno055, and I've heard the bno055 is kinda bad. So should I buy this sensor and use on a high power rocket? Or should I go with something like an ism330dlcx(another sensor I've been testing which I really like). My goal is to get accurate orientation data even under flight loads. Roll, pitch and yaw as well as quaternion rotation. I see that the bno085 does its own motion processing(which seems promising) and I'm wondering if that kind of firmware can handle flight loads on a high power rocket. If the bno085 isn't good for this purpose, is there another high-quality sensor I can use and then I can do my own sensor fusion from there? I'm aware of when the rocket is accelerating and in free fall, orientation data using accelerometer data is worthless. So could I just us a gyroscope only? I'm aware of the gyro drift problem too... And that's what I'm wondering about the bno085. Is the motion processing on the chip good enough to account for problems such as high vibrations, acceleration and free fall? Gyro drift?
 
I’m not familiar with those particular devices, but you might need to confirm that the accelerometer and gyro limits are good enough for your application. A high power rocket can have quite high acceleration and rotation rates.
I also haven't used them, but I believe they're only good to +- 8g acceleration. That really restricts you to very mild flight profiles. Most (affordable) 9 axis IMUs are generally configurable to +-16g and I'm not aware of anything (other than at the high end) that offer more acceleration range, although it's been a while since I last explored that.

TP
 
The BNO085 is designed for land service robots and quadcopter stability platforms. The sensor fusion processing for quaternion vectors is limited to the 4 G accelerometer range. You "will" need to calculate your own quaternion or Euler angles for vehicle orientation. The 16 G accelerometer range does limit your motor selection. I use the ICM-20649 and I'm testing the LSM6DSO32 for the slightly higher accelerometer range. I did some work with the LSM9DS1 using the magnetometers as secondary sensors to the gyros. It is doable, but not advisable.

I advise using a Cortex-M4 or M7 processor for quaternion and Euler calculations.
 
You "will" need to calculate your own quaternion or Euler angles for vehicle orientation.

I advise using a Cortex-M4 or M7 processor for quaternion and Euler calculations.
I think there are Arduino libraries that provide a fused solution that I've heard is reasonable, although I have no experience with them.

TP
 
I think there are Arduino libraries that provide a fused solution that I've heard is reasonable, although I have no experience with them.

TP
Yes, there are quaternion libraries. There are also a few shortcut methods. The M4 processors have built-in FPU and the M7 have FPU and >600MHz clocks for speed.

With my limited experience, a 1000Hz IMU data recorder will slow to ~220Hz with the addition of a quaternion library.
 
Yes, there are quaternion libraries. There are also a few shortcut methods. The M4 processors have built-in FPU and the M7 have FPU and >600MHz clocks for speed.

With my limited experience, a 1000Hz IMU data recorder will slow to ~220Hz with the addition of a quaternion library.
Which, to me, sounds like a reasonable low end solution (neglecting the show-stopping sensor limitations)

TP
 
Last edited:
Another potential option perhaps is the now/soon obsolete ICM-20649 (6axis not 9 - no mag). Used extensively in pixhawk cubes as (what I think is) the redundancy option for accelerations >16g. It's programmable to 30g which should be good for most HPR flight profiles I'd imagine. Lots of them around and they aren't expensive. 16 bit res.

what's more, there's modules and some libraries already available: https://cdn-learn.adafruit.com/down...de-range-6-dof-imu-accelerometer-and-gyro.pdf

TP
 
Last edited:
Interesting. So how can I get accurate orientation data? This is my first time making a L2 rocket and I'm just doing research right now. Gyros drift, accelerometers won't provide good orientation data under acceleration and free fall, and magnetometers are challenging in general with calibration and math. Is obtaining accurate orientation on a high power rocket even possible with hobby-grade IMUs? What do you guys suggest?
 
Interesting. So how can I get accurate orientation data? This is my first time making a L2 rocket and I'm just doing research right now. Gyros drift, accelerometers won't provide good orientation data under acceleration and free fall, and magnetometers are challenging in general with calibration and math. Is obtaining accurate orientation on a high power rocket even possible with hobby-grade IMUs? What do you guys suggest?
There are some 9 axis modules (pcbs) out there that will provide a processed solution as an Euler orientation... well, at least a flat plane bearing. I think they have a small processor on board that utilises, like, public domain libraries to crunch that. Not sure how fused that is with the mag units and I'm not entirely convinced about their usefulness in rockets (sensor limitations notwithstanding). But, as I said, it's been a few years since I explored that space and things can move quickly in that domain.
We do have experience flying the Xsens MTi7 as an INS (INS is basically an IMU fused to a GNSS receiver to provide dead reckoning capability) and they appeared to work well providing orientation info, but that's kinda moving away from the low end affordability. The MTis do allow multiple configurations of magnetometer fusion into either a euler or quaternion orientation solution ie. you can easily set the level of influence the magnetometer provides from a subtle sanity check of inertial drift right up to its use as a primary source of orientation.

Now for something that could actually be useful: https://www.rocketryforum.com/threads/question-about-sensor-filtering.179099/post-2414627

TP
 
Last edited:
Back
Top