[Dprglist] Compass heading using gyroscopes?
David Anderson
davida at smu.edu
Thu May 14 23:16:48 PDT 2020
Murray,
The gyros need calibration of a sort, basically to know what the rate is
when the robot is stationary. Requires sitting still for a few seconds
and measuring the rate. That's the value that seems to drift around
with temperature on the CH6 that I'm using.
On 05/14/2020 05:04 PM, Murray Altheim via DPRGlist wrote:
> Hi Doug,
>
> I believe the NDOF mode is the default for the device. By IMU mode I'm
> assuming
> you mean "IMUPLUS":
>
> OPERATION_MODE_IMUPLUS 0x08 Inertial Measurement Unit
> (Accelerometer and Gyroscope Sensor Fusion Mode)
> OPERATION_MODE_NDOF 0x0C 9 Degrees of Freedom Sensor Fusion
>
> The difference seems to be that the NDOF mode additionally "fuses" the
> other
> sensors into an improved measurement using some kind of Bosch secret
> sauce.
> The IMU mode uses only the accelerometer and gyroscope. I tried to
> locate any
> mention of the Kalman filters in the docs but couldn't. I dug around a
> bit on
> Kalman filters, which to my understanding reads a series of
> measurements over
> time and applies a filter to remove outliers and noise. That would
> seem to be
> particularly helpful for a small robot.
>
> One of the things I don't like about the BNO055 (though I understand
> the why)
> is that in order to get its calibration pin to set 'true' one has to
> wave the
> robot in the air for awhile. A guy wanted to mount one on his
> motorcycle, so
> this wasn't an option for him. My take is to have the sensor available
> on my
> I2C bus and have it send an event when it finally (due to the robot's
> motion)
> manages to get calibrated. But in practice this is difficult because
> my robot
> operates largely in 2D (the floor) so it never gets that Z axis motion
> that
> seems necessary for calibration. As has been noted, the BNO055 has a
> habit of
> falling in and out of calibration as well, which I've noted.
>
> I'm guessing that an accelerometer doesn't need calibration, maybe a
> gyroscope
> doesn't either (?), so David A's usage, though he gets drift, probably
> doesn't
> require him to pick up his robot and dance around with it. Though I
> guess that
> could be entertaining to the cat...
>
> I've collected some of my notes (including the complete table of
> modes) onto a
> wiki page at:
>
> BNO055 Absolute Orientation Sensor
> https://service.robots.org.nz/wiki/Wiki.jsp?page=BNO055AbsoluteOrientationSensor
>
> Cheers,
>
> Murray
>
> On 15/05/20 1:00 am, Doug Paradis wrote:
>> Murray,
>> Make sure you have the BNO055 in the right operation mode. I
>> like the "imu" mode for indoor robots which outputs the results of an
>> internal Kalman filter using the gyroscope and .accelerometer. It
>> sounds like you want to run in "ndof" mode. As I have stated before,
>> accurate magnetometer readings indoors on a mobile robot that will be
>> operating in different locations is going to problematic due to
>> non-constant hard iron distortions. You might find this link
>> informative, https://www.vectornav.com/support/library/magnetometer.
>>
>> Regards,
>> Doug P.
>>
>> On Thu, May 14, 2020 at 5:55 AM Murray Altheim via DPRGlist
>> <dprglist at lists.dprg.org <mailto:dprglist at lists.dprg.org>> wrote:
>>
>> Hi,
>>
>> I think we've discussed this subject a bit recently. Here's a few
>> papers I've
>> managed to find:
>>
>> Minimal-Drift Heading Measurement using a MEMS Gyro for
>> Indoor Mobile Robots
>> Sung Kyung Hong * and Sungsu Park
>> Dept. of Aerospace Engineering, Sejong University, Seoul,
>> 143-747, Korea
>> Sensors 2008, 8, 7287-7299; DOI: 10.3390/s8117287
>> www.mdpi.com/journal/sensors <http://www.mdpi.com/journal/sensors>
>> https://www.researchgate.net/publication/26551593_Minimal-Drift_Heading_Measurement_using_a_MEMS_Gyro_for_Indoor_Mobile_Robots
>> https://www.mdpi.com/1424-8220/8/11/7287/pdf
>>
>> Indoor Mobile Robot Heading Detection Using MEMS Gyro North
>> Finding Approach
>> November 2011, DOI: 10.7746/jkros.2011.6.4.334
>> Yuan-Long Wei, Min Cheol Lee, Chi yen Kim
>> https://www.researchgate.net/publication/271336529_Indoor_Mobile_Robot_Heading_Detection_Using_MEMS_Gyro_North_Finding_Approach
>>
>> Using Inertial Sensors for Position and Orientation Estimation
>> Manon Kok, Jeroen D. Hol and Thomas B. Schön (2017),
>> Foundations and Trends in Signal Processing: Vol. 11: No.
>> 1-2, pp 1-153.
>> http://dx.doi.org/10.1561/2000000094
>>
>> Pose Estimation of a Mobile Robot Based on Fusion of IMU Data
>> and Vision
>> Data Using an Extended Kalman Filter
>> Mary B. Alatise and Gerhard P. Hancke
>> https://www.mdpi.com/1424-8220/17/10/2164
>>
>> though the latter is a bit beyond what I'm looking for. There's a
>> *lot* of
>> articles on MDPI's website. I'm also happy to have found the
>> Sensors journal.
>>
>> What would be nicer than digging around for an algorithm would be
>> a Python
>> library that could give me a compass heading from a gyroscope
>> (and possibly
>> an accelerometer) measurement. I tried writing my own using just a
>> magnetometer and had limited success (but then again I gave up
>> too early).
>>
>> At this point I've got six (!) different boards (BNO055, LSM9DS1,
>> LSM6DSOX, LISMDL, ICM20948, LSM303D) that all do similar things
>> but all
>> seem to have issues and while the BNO055 does most everything, it
>> seems
>> to have the most issues, like not being particularly compatible
>> with a
>> Raspberry Pi (as one). All I *really* want is an accurate compass
>> heading
>> for an indoor robot (therefore no GPS). Pie in the sky?
>>
>> On a lighter note, my cat scanner now works pretty well. I'll
>> hopefully
>> post a video to my YouTube channel sometime soon.
>>
>> Cheers,
>>
>> Murray
>>
>> ...........................................................................
>> Murray Altheim <murray18 at altheim dot com> = = ===
>> http://www.altheim.com/murray/ === ===
>> = = ===
>> In the evening
>> The rice leaves in the garden
>> Rustle in the autumn wind
>> That blows through my reed hut.
>> -- Minamoto no Tsunenobu
>>
>> _______________________________________________
>> DPRGlist mailing list
>> DPRGlist at lists.dprg.org <mailto:DPRGlist at lists.dprg.org>
>> http://lists.dprg.org/listinfo.cgi/dprglist-dprg.org
>>
>
More information about the DPRGlist
mailing list