LemLib Odometry with Multiple Inertial Sensors

Hey there, we just started up a new project with PROS and LemLib. On the LemLib instruction page here we realized that it only gives us room for one inertial sensor (aka IMU), but we would like to use two (averaging the values, just in case one goes temporarily haywire). How would we go about that? Is it as simple as adding a new line there with the ref of the second IMU?

Sorry for the late response. No, LemLib does not have support for multiple imus at the moment, but keep your eyes peeled, I suspect there may be an update today which adds that functionality :grin:

Thank you for the reply! Unfortunately, it comes too late to affect our season :sob: we’re not going to Worlds.

If I may, why were multiple IMUs not already a thing in LemLib? I would’ve thought that many high-level teams were using multiple…

I have not heard of a high level team using multiple IMUs.


I know that 1082R does :person_shrugging: and they’re #35 in world skills

Pretty sure 10B does do 2 inertial but they are flipped and stacked on top of each other with the idea of their drift cancels out.

My point was that adding IMUs can only hurt you, with the increased chance that one breaks and your program is ruined.

1 Like

That’s a bit of a hot take. Certainly more IMUs increases the complexity. It can also be the case that the increased complexity can provide redundancy and potential increased accuracy if implemented properly.

I have never used more than 1 on a robot- it’s not needed imo.

1 Like

2 intertials is worse than 1. Cause as Josh said, it increases your chance for error. Having 3 can help though as long as you have a program that checks for outliers and then ignores the values of that outlying intertial if it starts to break. That said, in my 6 years of VRC (4 using inertials) I’ve only had an intertial go haywire mid match 2-3 times.