View Single Post
  #1   Spotlight this post!  
Unread 08-01-2016, 23:40
Richard100 Richard100 is offline
Registered User
FRC #0836 (RoboBees)
Team Role: Mentor
 
Join Date: Nov 2009
Rookie Year: 2008
Location: Southern Maryland
Posts: 78
Richard100 is a splendid one to beholdRichard100 is a splendid one to beholdRichard100 is a splendid one to beholdRichard100 is a splendid one to beholdRichard100 is a splendid one to beholdRichard100 is a splendid one to behold
Got Sensor Fusion?

The RoboBees release a sophisticated Inertial Measurement Unit (IMU) based Attitude and Heading Reference System (AHRS), written in LabVIEW.

Based on interest regarding a simple IMU based AHRS released last year, see http://www.chiefdelphi.com/forums/sh...d.php?t=131823 … this year we are making code available designed around the new Bosch BNO055 Intelligent 9-Axis Absolute Orientation Sensor, which is available on a breakout board by AdaFruit.com. The product ID is 2472, and runs about $35 (no affiliation). It is powered by 5 VDC (or 3.3 VDC) and interfaced over the I2C bus (roboRIO compatible). Mentioned elsewhere on CD, the board should be available via virtual KoP Product Voucher through Digi-Key, for free.

A key difference distinguishing this IMU is that the BNO055 contains an integrated microcontroller, (high speed Cortex-M0 based processor) running a sensor fusion algorithm, which is designed to constantly self-calibrate in real-time, after an initial manual calibration process has occurred. The on-board fusion algorithm, although unspecified, is likely a Kalman filter variant. The filter fuse’s the three sensors into a single composite sensor which provides accurate and stable orientation indications in all 3 dimensions (Roll, Pitch, and Yaw). This LabVIEW code runs on the roboRIO with last year’s version of LabVIEW, and should easily port once FIRST releases this season’s LabVIEW version.

The IMU is calibrated by simply moving it in a prescribed manner. Once this is done the fusion algorithm will continue to update the calibration as a background process. The LabVIEW code simplifies the calibration process by providing guidance and real-time status feedback, as well as functionality to save and restore previous calibrations, allowing the sensor to become ready for use upon power-up. A flash drive is required to be installed in one of the roboRIO's USB ports.

The IMU code modules are patterned after the familiar WPI sensor VIs. Once again, there’s no coprocessor to integrate or assembly required, beyond soldering some pins. The concept behind the released demonstration project is to have you up and running by simply plugging in the IMU and supplying your FRC Team number to the LabVIEW Project file.

The files have a bunch of comments for how the code works to understand this unique sensor. As always, bug reports are welcome!

Good luck to all FRC teams this season, the RoboBees will see you at STRONGHOLD!

The RoboBees FRC Team 836
Attached Files
File Type: zip AdaIMUOrient.zip (949.1 KB, 130 views)

Last edited by Richard100 : 08-01-2016 at 23:52.
Reply With Quote