|
|
|
![]() |
|
|||||||
|
||||||||
![]() |
| Thread Tools | Rate Thread | Display Modes |
|
#16
|
||||
|
||||
|
Re: Recommended gyros that can keep up with fast rotation?
We've been using the ADXRS453 since the 2015 season. I'm not sure how our code lines up against the WPILib code for this family of Gyros, but ours has multiple years of execution time on it... bug free. https://github.com/Team2168/2016_Mai...c/org/team2168. In our implementation, comms with the sensor runs in a separate thread from the main robot. So timed events, like calibrating, don't block main program execution.
We have code kicked off from Robot.java which automatically detects drift while the robot is disabled (prior to match start) so if you've got a bad calibration (robot powered on and then moved onto the field - not stationary during initial calibration) it will get a new zero. This code is orig. stolen/inspired from 245's 2013? code, and we've improved upon it over the years. Last year we also spent some time with the BNO055. This is an IMU that's in the $30 price range. https://github.com/jcorcoran/BNO055_FRC Definitely a favorite of mine. Both of these have more than acceptable performance over the duration of an FRC match. |
|
#17
|
|||
|
|||
|
Re: Recommended gyros that can keep up with fast rotation?
Quote:
Pigeon specs are similar to navX-MXP/navX-Micro for 6-axis performance from a yaw drift rate, make sense as they use the same chipset which performs the 6-axis fusion onboard. The navX-MXP/navX-Micro firmware for calibration has improved over the two years, but it's likely safe to assume the Pigeon orientation angle accuracy after calibration is similar (sounds like it, according to published specs). Pigeon update rate is 100hz, navX-MXP/navX-Micro are 200hz, so if you want faster update rate the latter is superior. 200Hz is great if you want to drive rapid PID loops that manage the orientation of multiple wheels on the robot. We will have to see if there's any CAN bus contention limits the Pigeon IMU from consistently achieving update rate at 100hz, CTRE should be able to say on that. At 1mbps w/the PDP, 4 talons and a PCM all chatting on the CAN bus, and 100hz Pigeon updates there may be some contention starting to arise - that remains to be seen. However, in the configuration to connect directly a Pigeon to a Talon this would likely not be a concern. From a software perspective, the Pigeon docs indicate it provides yaw, pitch and roll - however the navX-MXP/navX-Micro also (perhaps because it's not limited to the 8-byte CAN bus data payload sizes) provide synchronized quaternions and a sensor timestamp as well. Timestamped Quaternions (and the fact that navX-MXP/navX-Micro have multiple simultaneous communcation interfaces) are being used effectively in the Sensor Fusion Framework (SF2) to correct for video processing latency, and create timestamped orientation histories. As a contributor to SF2, I can say that more features along this line are coming. Software is key to enabling more autonomous features. For newer teams the number of examples, the training materials and the large community that support navX-MXP/navX-Micro and help each other too are awesome. So in addition to orientation accuracy specs which I believe are very similar, there are several system and software level capabilities to also consider. |
|
#18
|
||||
|
||||
|
Re: Recommended gyros that can keep up with fast rotation?
Quote:
. That's great info. Thank you.I believe the Talon srx update rate is at a default of 10 ms. So a matching update rate of the Pigeon at 10 ms means you'll be receiving 1 new sample per loop. I'm curious though how much the law of diminishing returns comes into effect when trying to run things at an update rate of 10 ms versus 5 ms. It's well beyond the scope of what I know how to do to measure the effect of that. You probably have more experience with that than I do since we rarely worry about update rates (except on shooters....). I suspect based on the maximum number of devices allowed on the Can Bus that the update rate will not become bottlenecked, but like you said we should know pretty shortly. We haven't seen a problem on ours with 13 srx's. Last edited by Tom Line : 08-02-2017 at 19:41. |
|
#19
|
||||
|
||||
|
Re: Recommended gyros that can keep up with fast rotation?
Quote:
Originally I was planning on using a different IMU chip entirely but then we couldn't source it in time, I had to switch. In so doing I just left all the timing the same as the previous IMU. If you guys think that's an important improvement, we'll add it to the list. In my testing the update rate seemed adequate so I didn't dig further. Quote:
Quote:
In my research none of teams seemed to care about time-synchronization. Maybe most teams just "aren't there yet". But if a bunch of teams start asking for it, we'll probably implement. Synchronizing signals across CAN frames is something we know how to do. All in all there are many options for good nav, including NavX [and Pigeon ].Inertial navigation has been a hole in our product line for a while, so I was eager to fill it. I think what makes Pigeon unique is the on-the-fly temperature compensation, multiple connection strategies, robustness against power-dips, fast boot-cal, price, and future features where our CAN devices work together. |
![]() |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|