When trying to retrieve the yaw, pitch, and roll from a basic Pigeon IMU setup last night, we got some very strange results. Through the method getYawPitchRoll(ypr_deg), yaw returned fine. Pitch and roll seem to be misbehaving though.
Pitch would sit around -11 degrees, and when rotated about that axis, the value would jump between positive and negative 75 degrees (while near neither extreme). Roll seemed to return very small values but would also sometimes fluctuate wildly.
But, when self-test was run in the Phoenix tuner, the yaw, pitch, and roll values were accurate. Because of this, we know this issue is software related and not the result of a busted chip. This was tested on two different Pigeons, each running firmware version 4.13. The were alternately tethered to the same Talon SRX running firmware 4.11. One Pigeon was brand new, the other was used in 2018, and both exhibited identical behavior.
Has anyone else run into this issue, or can someone direct me to where I can get CTRE’s attention on resolving this sensor-to-code communication issue?
We also had issues while reading pitch and roll through the API, though our symptoms were different. For us, the values wrapped at +/- 10 degrees, meaning once we passed, say, 10 degrees of roll, the value reset back to zero and began counting up again. We also ran the self test in the tuner and found the values to be accurate.
2 Likes
We’ve been able to replicate the issue you’re observing.
The issue appears to be inside the low-level software API in our CCI library.
We’re working on a fix and have updated our testing to be more robust for these values.
Generally the fastest way to contact us is to send an e-mail to [email protected].
1 Like