Hi,
I am using the UC3-Xplained board with Inertial 2 sensor board. While running the teapot demo, the initial drift takes too long to settle (Takes more than 10 minutes).
I checked the python Debug messages and noticed a strange thing. Here take a look at the Debug message;
-main:Q: +0.7022 -0.0538 -0.0199 -0.7097 (+1.0000)
-main:GC: +0.49 -5.62 -3.05
-main:AC: -0.03 -0.06 +0.97
-main:T: +30.32
-main:gb: +0.34 -5.77 -3.11
-main:gts: +0.00 +0.00 +0.00
mldl:inv_set_offset(fffffff5, 00bd, 0066); from fff5, 00bd 0066
mldl:inv_set_offset(fffffff5, 00bd, 0066); from fff5, 00bd 0066
mldl:inv_set_offset(ffffffea, 0173, 00ca); from fff5, 00bd 0066
-setup:umplMotionCallback: INV_NO_MOTION
-main:Q: +0.6993 -0.0539 -0.0196 -0.7125 (+1.0000)
-main:GC: +0.37 -5.62 -3.11
-main:AC: -0.03 -0.06 +0.97
-main:T: +30.35
-main:gb: +0.67 -11.32 -6.16
-main:gts: +0.00 +0.00 +0.00
-main:Q: +0.6991 -0.0514 -0.0164 -0.7130 (+1.0000)
-main:GC: -0.06 -0.06 -0.12
-main:AC: -0.03 -0.06 +0.97
-main:T: +30.27
-main:gb: +0.67 -11.32 -6.16
-main:gts: +0.00 +0.00 +0.00
-main:Q: +0.6994 -0.0468 -0.0107 -0.7131 (+1.0000)
-main:GC: +0.00 +0.00 -0.06
-main:AC: -0.03 -0.06 +0.97
-main:T: +30.19
-main:gb: +0.67 -11.32 -6.16
-main:gts: +0.00 +0.00 +0.00
-main:Q: +0.6996 -0.0441 -0.0073 -0.7131 (+1.0000)
-main:GC: +0.06 -0.06 +0.00
-main:AC: -0.03 -0.06 +0.97
-main:T: +30.14
-main:gb: +0.67 -11.32 -6.16
-main:gts: +0.00 +0.00 +0.00
-main:Q: +0.6998 -0.0404 -0.0027 -0.7132 (+1.0000)
-main:GC: +0.00 +0.00 -0.12
-main:AC: -0.03 -0.06 +0.97
-main:T: +30.31
-main:gb: +0.67 -11.32 -6.16
-main:gts: +0.00 +0.00 +0.00
-main:Q: +0.6999 -0.0381 +0.0001 -0.7132 (+1.0000)
-main:GC: +0.06 -0.06 -0.06
-main:AC: -0.03 -0.06 +0.97
-main:T: +30.16
-main:gb: +0.67 -11.32 -6.16
-main:gts: +0.00 +0.00 +0.00
-main:Q: +0.7001 -0.0350 +0.0037 -0.7132 (+1.0000)
-main:GC: +0.00 -0.06 -0.06
-main:AC: -0.03 -0.06 +0.97
-main:T: +30.20
-main:gb: +0.67 -11.32 -6.16
-main:gts: +0.00 +0.00 +0.00
-main:Q: +0.7002 -0.0332 +0.0060 -0.7132 (+1.0000)
-main:GC: +0.06 +0.00 -0.06
-main:AC: -0.03 -0.06 +0.97
-main:T: +30.25
-main:gb: +0.67 -11.32 -6.16
-main:gts: +0.00 +0.00 +0.00
-setup:umplMotionCallback: INV_MOTION
mldl:inv_set_offset(fffffff5, 00bd, 0066); from ffea, 0173 00ca
mldl:inv_set_offset(fffffff5, 00bd, 0066); from fff5, 00bd 0066
mldl:inv_set_offset(fffffff5, 00bd, 0066); from fff5, 00bd 0066
-main:Q: +0.6992 -0.0327 +0.0068 -0.7142 (+1.0000)
-main:GC: +0.24 -5.62 -3.05
-main:AC: -0.03 -0.06 +0.97
-main:T: +30.20
-main:gb: +0.34 -5.77 -3.11
-main:gts: +0.00 +0.00 +0.00
mldl:inv_set_offset(fffffff5, 00bd, 0066); from fff5, 00bd 0066
mldl:inv_set_offset(fffffff5, 00bd, 0066); from fff5, 00bd 0066
mldl:inv_set_offset(fffffff5, 00bd, 0066); from fff5, 00bd 0066
You can see that there was initial drift in the gyro values, which was corrected when the state changed to No Motion. But then a change of state was falsely detected and the drift came back (the device was still at rest on top of the table actually). From what i understand the umplmotioncallback() is a fuction registered with inv_set_motion_callback(), which should only be called when a change of state has been detected. So, why is it being called when the state is not changing?
Kindly advise me if something is wrong here. Thanks
Omer
- Log in to post comments
phpbb Topic ID
13857