weixin_39566773
weixin_39566773
2020-12-03 01:15

huge drift

hi, i've disabled the magnetometer, so in this way i'm able to upload the serial sketch in Arduino uno... but... both with Serial-calib, both with Yaw-pitch-roll sketch i have drift! in particular with Yaw-pitch-roll script i have a huge drift, more o less a degree per second!!!! what's wrong? thanks a lot in advance!

该提问来源于开源项目:mjs513/FreeIMU-Updates

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

38条回答

  • weixin_40009063 weixin_40009063 5月前

    Hi Tommaso,

    Here you go: Using a method based on zero velocity update (ZUPT) and zero angular rate update (ZARU) that can be found at http://www.ee.kth.se/php/modules/publ... http://www.ee.kth.se/php/modules/publications/reports/2008/XR-EE-SB_2008_013.pdf .

    If the link does not work let me know. I have a copy someplace. There are other references that I mention in video description.

    Mike

    From: liso88 [mailto:notifications.com] Sent: Thursday, August 28, 2014 2:08 PM To: mjs513/FreeIMU-Updates Cc: Mike S Subject: Re: [FreeIMU-Updates] huge drift (#3)

    Hi Mike, i'm trying to convert your Motion Detect code to arduino, and then i wanna make a header file for the library, just a question, where do you found the algorithm? do you have a paper, reference or something like that? i've to do a relationship on this work so if i've a way to cite some articles is better!

    grateful

    Tommaso

    2014-08-24 23:13 GMT+02:00 Mike S notifications.com:

    Just looked at the code again and you are correct – should be i<k_index. Will fix and post.

    From: liso88 [mailto:notifications.com] Sent: Sunday, August 24, 2014 1:49 PM To: mjs513/FreeIMU-Updates Cc: Mike S Subject: Re: [FreeIMU-Updates] huge drift (#3)

    i'm trying to understand better the algorithm! in my case i've always movement ! boh is very strange....i've added a line that displays the result of Motion Detect function and its alway 1! PS in the serial sketch there is a little error

    for(int i = 0; i < = k_index; i++) { //Initialize Kalman Filters for 10 neighbors

    it has to be without the equal becouse we setted KalmanFilter kFilters[4]; int k_index = 4;

    if you fix this part you'll able to run also in arduino uno!

    best

    Tommaso

    2014-08-24 17:50 GMT+02:00 Mike S notifications.com:

    Motion detect is independent of the attitude calculations. It is based on the calibrated acceleration and gyro values. So when the Zara/Zupt function detects zero motion you know that the IMU is not really moving even though you may be seeing yaw drift (typically pitch and roll is steady). One of the things that you would find if you do a web search long enough is that you will see the yaw drifting when the IMU is steady but when it is really in motion the angles would be correct. So in your application you could put a function in that if there is no motion ignore any changing readings and use the last reading when the IMU was in motion.

    If you do a google on zero velocity update you will find that it is used in pedestrian navigation. Read the reference link in the youtube video for more info.

    Hope this helps.

    Mike

    From: liso88 [mailto:notifications.com] Sent: Sunday, August 24, 2014 9:52 AM To: mjs513/FreeIMU-Updates Cc: Mike S Subject: Re: [FreeIMU-Updates] huge drift (#3)

    ok, perfect....but there is one thing that i don't understand...when do i use the motion detection function? when the sketch calculates Yaw Pitch and Roll, in

    ypr[0] = atan2(2 * q[1] * q[2] - 2 * q[0] * q[3], 2 * q[0]_q[0] + 2 * q[1] * q[1] - 1); ypr[1] = atan(gx / sqrt(gy_gy + gz_gz)); ypr[2] = atan(gy / sqrt(gx_gx + gz*gz));

    it use directly the result from arduino, infact q[] is the result of decodeFloat from the serial !

    void serialEvent(Serial p) { if(p.available() >= 17) { String inputString = p.readStringUntil('\n'); //print(inputString); if (inputString != null && inputString.length() > 0) { String [] inputStringArr = split(inputString, ","); if(inputStringArr.length >= 17) { // q1,q2,q3,q4,\r\n so we have 5 elements q[0] = decodeFloat(inputStringArr[0]); q[1] = decodeFloat(inputStringArr[1]); q[2] = decodeFloat(inputStringArr[2]); q[3] = decodeFloat(inputStringArr[3]);

    is right?

    how can i use motion detection?

    2014-08-24 15:14 GMT+02:00 Mike S notifications.com:

    Its in the MotionDetect.pde in in the exp1 GUI. On Aug 24, 2014 7:13 AM, "liso88" notifications.com wrote:

    yes, yes, excuse me, in the processing! wich is the tab ?

    2014-08-24 12:52 GMT+02:00 Mike S notifications.com:

    It’s in the processing GUI not in the library yet. Recommendation – depending on the noise in the system you may have to tweak the thresholds. Haven’t moved that over to the library yet. You will find it in one of the tabs.

    From: liso88 [mailto:notifications.com] Sent: Sunday, August 24, 2014 6:36 AM To: mjs513/FreeIMU-Updates Cc: Mike S Subject: Re: [FreeIMU-Updates] huge drift (#3)

    hi, just another little question....but in the library, which is the part that implement the zara/zupt filter?

    2014-08-23 12:32 GMT+02:00 Tommaso Lisini < tommaso.lisini.com>:

    Hi, i'm working on hand-gesture tracking...for this reason for me is very important the drift! i'll the new roll pitch yaw!

    2014-08-23 1:24 GMT+02:00 Mike S notifications.com:

    Hi again

    Just wanted to confirm that there is nothing over and above in the processing GUI to improve the drift. The only thing in there is the complimentary altimeter code that I have not moved over to the Arduino yet.

    I did a little update to the Yaw-Pitch-Roll processing sketch that adds the same zeroing options that are in the GUI. So if you run into too much drift just zero it out. Still working on the best scheme to do auto zero the gyro and q when I see zero motion.

    Never did ask but what are you working on, if you would care to share.

    Have fun.

    Mike

    From: liso88 [mailto:notifications.com] Sent: Friday, August 22, 2014 6:52 AM To: mjs513/FreeIMU-Updates Cc: Mike S Subject: Re: [FreeIMU-Updates] huge drift (#3)

    Hi mike! thanks! You're the best! i've a win32, so i've to downloaded a win32 processing2.0b7 and works great! ask me if you need it! just another simple question.... if i use Free-Imu-cube the result is excellent! if i read Yaw pitch roll angles the drift very slow...but if i use the Yaw-pitch-roll processing sketch the result is completely different. why?is there in Processing-cubo-odo a function to reduce the drift, ore processing-cubo is only a graphic interface?

    thanks, for all! tommaso

    2014-08-21 4:35 GMT+02:00 Mike S notifications.com:

    Hi Tom

    Will take a look at. Thought you would like to know that I found the version of processing that will work with the GUI without having to try and install opengl 2.0 that the new version of processing requires. The version in 2.0b7. I uploaded it Github if you want to give it a try.

    Mike

    From: liso88 [mailto:notifications.com] Sent: Wednesday, August 20, 2014 6:27 AM To: mjs513/FreeIMU-Updates Cc: Mike S Subject: Re: [FreeIMU-Updates] huge drift (#3)

    Hi, in FreeImu.cpp at line 180 you should add

    //used for BMP085

    if HAS BMP085

    long Temperature = 0, Pressure = 0, Altitude = 0;

    endif

    otherwise you can't use more than one IMUs because there are multiple definitions of Temperature, Pressure and Altitude! Tom

    — Reply to this email directly or view it on GitHub <

    https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-52758208>

    . <

    https://github.com/notifications/beacon/5366213__eyJzY29wZSI6Ik5ld3NpZXM6QmVhY29uIiwiZXhwaXJlcyI6MTcyNDE0OTYzOSwiZGF0YSI6eyJpZCI6Mzk2ODc0NTR9fQ==--42e7917a41fb076b4b8aa673cfe9216402c709ae.gif>

    — Reply to this email directly or view it on GitHub <

    https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-52871736>

    .

    — Reply to this email directly or view it on GitHub <

    https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-53047462>

    . <

    https://github.com/notifications/beacon/5366213__eyJzY29wZSI6Ik5ld3NpZXM6QmVhY29uIiwiZXhwaXJlcyI6MTcyNDMyMzkxMywiZGF0YSI6eyJpZCI6Mzk2ODc0NTR9fQ==--b3d1bce2fe23c03a38144a0886c576f7c37cccf5.gif>

    — Reply to this email directly or view it on GitHub <

    https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-53133591>

    .

    — Reply to this email directly or view it on GitHub <

    https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-53187456>

    . <

    https://github.com/notifications/beacon/5366213__eyJzY29wZSI6Ik5ld3NpZXM6QmVhY29uIiwiZXhwaXJlcyI6MTcyNDQ5NTc1OCwiZGF0YSI6eyJpZCI6Mzk2ODc0NTR9fQ==--54a36b2ae111726e81d0770e03e5a5a98e9640b3.gif>

    — Reply to this email directly or view it on GitHub <

    https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-53187953>

    .

    — Reply to this email directly or view it on GitHub <

    https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-53188577>

    .

    — Reply to this email directly or view it on GitHub < https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-53192425>

    .

    — Reply to this email directly or view it on GitHub < https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-53193757>

    . <

    https://github.com/notifications/beacon/5366213__eyJzY29wZSI6Ik5ld3NpZXM6QmVhY29uIiwiZXhwaXJlcyI6MTcyNDUwNzQ5MywiZGF0YSI6eyJpZCI6Mzk2ODc0NTR9fQ==--f8eb9ab9402e002556182d09af86e7a7e5f0b7f2.gif>

    — Reply to this email directly or view it on GitHub < https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-53197554> .

    — Reply to this email directly or view it on GitHub < https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-53201166> . < https://github.com/notifications/beacon/5366213__eyJzY29wZSI6Ik5ld3NpZXM6QmVhY29uIiwiZXhwaXJlcyI6MTcyNDUyMTczNCwiZGF0YSI6eyJpZCI6Mzk2ODc0NTR9fQ==--2f6499851d6ae3e812f7ee228a7021048e568cbd.gif>

    — Reply to this email directly or view it on GitHub https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-53209021 .

    — Reply to this email directly or view it on GitHub https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-53768933 . https://github.com/notifications/beacon/5366213__eyJzY29wZSI6Ik5ld3NpZXM6QmVhY29uIiwiZXhwaXJlcyI6MTcyNDg2ODQ5MCwiZGF0YSI6eyJpZCI6Mzk2ODc0NTR9fQ==--5f37704b39c99a1aec558e1659ac62e10cbff2de.gif

    点赞 评论 复制链接分享
  • weixin_39931101 weixin_39931101 5月前

    I'd like to throw in my 2c on this thread because I have the same problem...

    I looked at all the IMU code on github earlier in the year when I was working on my controller. It uses a 6050 and a 9150 to measure 6DOF.

    https://www.youtube.com/watch?v=dzHZrDXHiRk

    What I really wanted though was to use the magnetometer in the 9150 to solve this yaw drift problem but no one had written any code for it (that I could find)...

    I'm not working on a VR motion simulator and need to return to the problem, is there some obvious reason not to use the magnetometer that I'm missing....?

    New project : www.feelthree.com

    点赞 评论 复制链接分享
  • weixin_40009063 weixin_40009063 5月前

    Hi traveltrousers,

    No reason not to use the magnetometer. The problem being discussed with enabling or disabling the magnetometer was to get it fit on a Uno. With all the changes you need a little more memory than the Uno will provide. As for your other comment on the 9150 mag, if you look there are two AKXXXX libraries - one is for the mag on the 9150 and the second is for the 9250. So its available. Also, Kris Winer has written a version that could be used for the 9150 as well.

    Hope this helps Mike

    点赞 评论 复制链接分享
  • weixin_39566773 weixin_39566773 5月前

    Hi, i've another question....i looked into x-io web page and i found 2 algorithm: Mahony and Madgwick. What are the different between the two different algorithms? Why we use the Mahony's one? is it better? thanks Tommaso

    2014-08-30 0:42 GMT+02:00 Mike S notifications.com:

    Hi traveltrousers,

    No reason not to use the magnetometer. The problem being discussed with enabling or disabling the magnetometer was to get it fit on a Uno. With all the changes you need a little more memory than the Uno will provide. As for your other comment on the 9150 mag, if you look there are two AKXXXX libraries - one is for the mag on the 9150 and the second is for the 9250. So its available. Also, Kris Winer has written a version that could be used for the 9150 as well.

    Hope this helps Mike

    — Reply to this email directly or view it on GitHub https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-53937998 .

    点赞 评论 复制链接分享
  • weixin_40009063 weixin_40009063 5月前

    Hi Tommaso

    Funny you should bring this up at this point. Suggest you take a look at the discussion on the pull requests for the library. Having a discussion with someone over there on very topic. Getting ready to upload a new update that will allow you to use either the AHRS (this is the Mahoney DCM implementation in quaternion form) or the MadgwickAHRS which is a MARG implementation. From some additional readings it appears the AHRS is better for 6DOF and the MARG is better for when you have the magnetometer in the loop. Have a couple of references that you can check. Based on some quick tests that I ran looks like with the Magnetometer in the loop the MARG gives better results on the yaw drift issue.

    Should have an update later tonight

    Mike

    点赞 评论 复制链接分享
  • weixin_39566773 weixin_39566773 5月前

    Hi mike, thanks a lot for your suggestion! i've done the porting for Motion Detect from the processing to freeImu library, if you want i'll send you the file! in this file http://www.mdpi.com/1424-8220/12/5/5791/pdf there are many statistics test. in our test we use the angular rate without the average, is it correct anyway?

    2014-09-04 1:33 GMT+02:00 Mike S notifications.com:

    Hi Tommaso

    Funny you should bring this up at this point. Suggest you take a look at the discussion on the pull requests for the library. Having a discussion with someone over there on very topic. Getting ready to upload a new update that will allow you to use either the AHRS (this is the Mahoney DCM implementation in quaternion form) or the MadgwickAHRS which is a MARG implementation. From some additional readings it appears the AHRS is better for 6DOF and the MARG is better for when you have the magnetometer in the loop. Have a couple of references that you can check. Based on some quick tests that I ran looks like with the Magnetometer in the loop the MARG gives better results on the yaw drift issue.

    Should have an update later tonight

    Mike

    — Reply to this email directly or view it on GitHub https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-54383341 .

    点赞 评论 复制链接分享
  • weixin_40009063 weixin_40009063 5月前

    Hi Tommaso

    Not sure there is real right or wrong answer to using an average on the angular rate for the zero motion detect you would have to run some tests to see how it performs. However, with that said, from experience with noise in the sensors using an average would help you determine false positives in motion detection - at least that is what I have experienced. Also, it would help if you have any jitter in the system and not real motion. Suggest you look at the paper I posted in the docs.

    As to your other question, yes please send me the file, and will see about incorporating it into the library on github. I have just downloaded the paper your referenced and will take a look at it.

    PS. I did up the updates to the library that I mentioned yesterday.

    Mike

    On Thu, Sep 4, 2014 at 4:21 AM, liso88 notifications.com wrote:

    Hi mike, thanks a lot for your suggestion! i've done the porting for Motion Detect from the processing to freeImu library, if you want i'll send you the file! in this file http://www.mdpi.com/1424-8220/12/5/5791/pdf there are many statistics test. in our test we use the angular rate without the average, is it correct anyway?

    2014-09-04 1:33 GMT+02:00 Mike S notifications.com:

    Hi Tommaso

    Funny you should bring this up at this point. Suggest you take a look at the discussion on the pull requests for the library. Having a discussion with someone over there on very topic. Getting ready to upload a new update that will allow you to use either the AHRS (this is the Mahoney DCM implementation in quaternion form) or the MadgwickAHRS which is a MARG implementation. From some additional readings it appears the AHRS is better for 6DOF and the MARG is better for when you have the magnetometer in the loop. Have a couple of references that you can check. Based on some quick tests that I ran looks like with the Magnetometer in the loop the MARG gives better results on the yaw drift issue.

    Should have an update later tonight

    Mike

    — Reply to this email directly or view it on GitHub < https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-54383341> .

    — Reply to this email directly or view it on GitHub https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-54429476 .

    点赞 评论 复制链接分享
  • weixin_40009063 weixin_40009063 5月前

    Hi Tommaso

    Just took a quick and dirty look at the paper you sent. They seem to conclude that the SHOD method described in section 2.1.4 seemed to perform the best and was their selected method. If you look they combine both a angular and accel norm average - much like the method used in the Motion Detect in the Freeimu library which was based on the paper I referenced earlier and upload to Github.

    Hope this helps. Mike

    On Thu, Sep 4, 2014 at 9:26 AM, CyberMerln . cybermerln.com wrote:

    Hi Tommaso

    Not sure there is real right or wrong answer to using an average on the angular rate for the zero motion detect you would have to run some tests to see how it performs. However, with that said, from experience with noise in the sensors using an average would help you determine false positives in motion detection - at least that is what I have experienced. Also, it would help if you have any jitter in the system and not real motion. Suggest you look at the paper I posted in the docs.

    As to your other question, yes please send me the file, and will see about incorporating it into the library on github. I have just downloaded the paper your referenced and will take a look at it.

    PS. I did up the updates to the library that I mentioned yesterday.

    Mike

    On Thu, Sep 4, 2014 at 4:21 AM, liso88 notifications.com wrote:

    Hi mike, thanks a lot for your suggestion! i've done the porting for Motion Detect from the processing to freeImu library, if you want i'll send you the file! in this file http://www.mdpi.com/1424-8220/12/5/5791/pdf there are many statistics test. in our test we use the angular rate without the average, is it correct anyway?

    2014-09-04 1:33 GMT+02:00 Mike S notifications.com:

    Hi Tommaso

    Funny you should bring this up at this point. Suggest you take a look at the discussion on the pull requests for the library. Having a discussion with someone over there on very topic. Getting ready to upload a new update that will allow you to use either the AHRS (this is the Mahoney DCM implementation in quaternion form) or the MadgwickAHRS which is a MARG implementation. From some additional readings it appears the AHRS is better for 6DOF and the MARG is better for when you have the magnetometer in the loop. Have a couple of references that you can check. Based on some quick tests that I ran looks like with the Magnetometer in the loop the MARG gives better results on the yaw drift issue.

    Should have an update later tonight

    Mike

    — Reply to this email directly or view it on GitHub < https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-54383341>

    .

    — Reply to this email directly or view it on GitHub https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-54429476 .

    点赞 评论 复制链接分享
  • weixin_39566773 weixin_39566773 5月前

    hi mike, excuse me if I disappeared for a couple of week, but i was in trouble! I've completed the work and, by the way, i want to thanks you for the support! i attach the motion detection library re-write for arduino. It works i've added a parameter extern int motion_detection_on; and a couple of line in freeimu.cpp to enable or disable the algorithm.

    I hope that you find it helpful! grateful

    Tommaso

    2014-09-04 18:13 GMT+02:00 Mike S notifications.com:

    Hi Tommaso

    Just took a quick and dirty look at the paper you sent. They seem to conclude that the SHOD method described in section 2.1.4 seemed to perform the best and was their selected method. If you look they combine both a angular and accel norm average - much like the method used in the Motion Detect in the Freeimu library which was based on the paper I referenced earlier and upload to Github.

    Hope this helps. Mike

    On Thu, Sep 4, 2014 at 9:26 AM, CyberMerln . cybermerln.com wrote:

    Hi Tommaso

    Not sure there is real right or wrong answer to using an average on the angular rate for the zero motion detect you would have to run some tests to see how it performs. However, with that said, from experience with noise in the sensors using an average would help you determine false positives in motion detection - at least that is what I have experienced. Also, it would help if you have any jitter in the system and not real motion. Suggest you look at the paper I posted in the docs.

    As to your other question, yes please send me the file, and will see about incorporating it into the library on github. I have just downloaded the paper your referenced and will take a look at it.

    PS. I did up the updates to the library that I mentioned yesterday.

    Mike

    On Thu, Sep 4, 2014 at 4:21 AM, liso88 notifications.com wrote:

    Hi mike, thanks a lot for your suggestion! i've done the porting for Motion Detect from the processing to freeImu library, if you want i'll send you the file! in this file http://www.mdpi.com/1424-8220/12/5/5791/pdf there are many statistics test. in our test we use the angular rate without the average, is it correct anyway?

    2014-09-04 1:33 GMT+02:00 Mike S notifications.com:

    Hi Tommaso

    Funny you should bring this up at this point. Suggest you take a look at the discussion on the pull requests for the library. Having a discussion with someone over there on very topic. Getting ready to upload a new update that will allow you to use either the AHRS (this is the Mahoney DCM implementation in quaternion form) or the MadgwickAHRS which is a MARG implementation. From some additional readings it appears the AHRS is better for 6DOF and the MARG is better for when you have the magnetometer in the loop. Have a couple of references that you can check. Based on some quick tests that I ran looks like with the Magnetometer in the loop the MARG gives better results on the yaw drift issue.

    Should have an update later tonight

    Mike

    — Reply to this email directly or view it on GitHub <

    https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-54383341>

    .

    — Reply to this email directly or view it on GitHub < https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-54429476> .

    — Reply to this email directly or view it on GitHub https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-54503124 .

    点赞 评论 复制链接分享
  • weixin_40009063 weixin_40009063 5月前

    Hi Tommaso.

    Hope everything is alright now. I was glad it proved useful and that it has worked out for you. By the way - I don't see the attachment the attachment that you reference. Maybe it did not come over - you can try and send it to FreeIMU.com.

    Thanks for sending me those changes. Mike

    点赞 评论 复制链接分享
  • weixin_40009063 weixin_40009063 5月前

    Hey Tommaso

    Sorry for the delay but this time difference is a killer.

    Ok. Lets have some fun now.

    I just soldered up another freeimu v4 board and tested using the serial_calib sketch and the serial sketch on a mega 2560 board. Both sketches worked fine with no changes. Not sure why you are having a problem with the sketches since I cannot seem to duplicate the issue (I think I am using the same hardware as you) – make sure you are using the latest libs from githup. Forgot to mention that I changed coding to get a better gyro zero so on start up there may be a minute or so delay while it calibrates itself. If it seems too long then unplug and replug it back in most of the time I just wait.

    Both sketches have a “g” command which will re-set the gryo offset for you (best you can get is about 0.00x or so, will get absolute zero). The temp calibration is turned off by default because it will be imu board dependent. So my cal may not work with your imu even if it is the same chip (may be close).

    I had a hard drive crash so I installed Processing 2 but found out it only supports opengl v2 so the fancy gui’s don’t work any more – have to do some work to get it back together. However, with that said if you modify the exp1 gui by deleting the OPENGL in the size command will get the data you are looking for and will support the commands that I listed. Also make sure you change the lines that have the artificial horizon to the following:

    if(ArtHorFlg == 0) {

    
     NewHorizon();
    

    }

    To rehash:

    “1” = reset 6250

    “2” = reset q matrix

    “g” = re-zero gyro’s

    “f” = turn off temp calibration

    “t” = turn on calibration

    You can use the 1, 2, and g commands a few times to get things to settle out.

    I also re-uploaded the freeimu.h, freeimu.cpp and my freeimu calibration.h file for you.

    By the way – know you are using the mega 2560 or uno but to make sure what IMU are using (assumed freeimu v4). Also what IDE version are you using out of curiosity.

    Mike

    From: liso88 [mailto:notifications.com] Sent: Monday, August 18, 2014 11:51 AM To: mjs513/FreeIMU-Updates Cc: Mike S Subject: Re: [FreeIMU-Updates] huge drift (#3)

    This is the result with Arduino Due and Serial for Arm CPU as you can see there are non zero offsets for the gyro! http://youtu.be/g9gYp_xMvCk

    you 're my only hope! :)

    Tommaso

    2014-08-18 17:33 GMT+02:00 Tommaso Lisini tommaso.lisini.com:

    experimental cube works great with arduino DUE!!

    2014-08-18 17:02 GMT+02:00 Tommaso Lisini tommaso.lisini.com:

    i'm still using a serial-calib also in the Arduino mega, because the

    "serial" doesen't work! i don't know why! and the experimental script doesn't work! i don't know why...maybe they need full serial sketch....

    In the library i have done a little modify:

    // remove offsets from the gyroscope if(temp_corr_on == 1){ acgyro_corr[3] = acgyro_corr[3] + gyro_off_x; acgyro_corr[4] = acgyro_corr[4] + gyro_off_y; acgyro_corr[5] = acgyro_corr[5] + gyro_off_z; values[3] = (float) accgyroval[3] - acgyro_corr[3]; values[4] = (float) accgyroval[4] - acgyro_corr[4]; values[5] = (float) accgyroval[5] - acgyro_corr[5];

    like i wrote you earlier i've verified that with the temperature_correction we doesn't provide any offset reduction!

    what do you think?

    tommaso

    2014-08-18 16:08 GMT+02:00 Mike S notifications.com:

    Hi Tommas

    That may be a bug in the serial sketch you found. I will check when I get home tonight - in order to get it to fit on a uno i deleted a couple of options from the serial sketch and I may have missed commenting that line out. The line you deleted is used in Freeimu sketch for a 1d kalman filter on the accelerometer readings if you want to use that option from the GUI. Would suggest that you use the experimental GUI - works better with the new sketches.

    Let me know how it works out for you.

    Mike

    On Mon, Aug 18, 2014 at 4:08 AM, liso88 notifications.com wrote:

    Hi, thanks a lot! i'm gonna try your solution....but i've another problem! today i've found an arduino mega, so i'm trying to use Freeimu serial...but it doesn't works! i've correctly uploaded the sketch, but if for testing i send a "v" character, nothing happens it's very strange! the baud-rate and com port are correct! infact, if i remove this line kFilters[i].KalmanInit(qVal,rVal,5.0,0.5); the programm works, and if i send a "v" it answer me with the versione! i'm grateful for your attention!

    Tommas

    2014-08-15 1:09 GMT+02:00 Mike S notifications.com:

    Hi Tommaso

    This is what I posted on youtube for reference: A couple of suggestions off the top of my head: (1) make sure u have done a good calibration on the board - see a couple of links I already posted on how to do that, (2) make sure when u start up that the imu is steady, (3) try send a "q" command a couple of times with some time in between or a "r" command (note - just enter a r or q from the GUI, r will reset the quaternion matrix while q will send a reset command to the imitation, (4) I got my best results using a temp calibration. Also there is description file that I uploaded that explains some of the added commands. One other thing after using that calibration GUI make sure u move the file to the freeimu sketch folder and reload.

    There is an error in what I posted - if you look at one of my responses to the other posters on youtube it addresses some of these same issues: Here are a couple of things for you to try: (1) hit the "1" key - this resets the mpu, (2) hit the "2" key - this resets the q matrices, (3) unplug the arduino and replug it it and then start the processing sketch, (4) put the temp calibration in - who knows it may help, (4) before you start moving the MPU let it sit level of a minute while it goes through its start up process (5) i recalibrated a few times going very slowly around all the axes so recal doesn't hurt. Also, try using the experimental processing sketch. It does some plotting for you - you can change what is plotting in the tab for the rolling graph, right not that one uses the dynamnic acceleration.

    Hope this helps. Mike

    — Reply to this email directly or view it on GitHub <

    https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-52256842>

    .

    — Reply to this email directly or view it on GitHub < https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-52462828>

    .

    — Reply to this email directly or view it on GitHub https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-52496672 .

    — Reply to this email directly or view it on GitHub https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-52511698 . https://github.com/notifications/beacon/5366213__eyJzY29wZSI6Ik5ld3NpZXM6QmVhY29uIiwiZXhwaXJlcyI6MTcyMzk5NjI1MywiZGF0YSI6eyJpZCI6Mzk2ODc0NTR9fQ==--f8e243c555d87c7c388cf4a2960eb8759ba5729e.gif

    点赞 评论 复制链接分享
  • weixin_39566773 weixin_39566773 5月前

    don't worry! you're too kind! I use a little bit different hardware, a Drotek, 10DoF....i attach the link, but i've checked Drotek and FreeImu are equal, they 've the same components ..MPU6050, hmc5883 and MS5611 so the unique difference is the address,0x69 instead of 0x68... but.... now, i'll reset all: libraries, sketch..all and i'll restart and write down step by step all the passages i don't know how thanking you! you're a very kind person!

    Tommaso

    2014-08-19 3:05 GMT+02:00 Mike S notifications.com:

    Hey Tommaso

    Sorry for the delay but this time difference is a killer.

    Ok. Lets have some fun now.

    I just soldered up another freeimu v4 board and tested using the serial_calib sketch and the serial sketch on a mega 2560 board. Both sketches worked fine with no changes. Not sure why you are having a problem with the sketches since I cannot seem to duplicate the issue (I think I am using the same hardware as you) – make sure you are using the latest libs from githup. Forgot to mention that I changed coding to get a better gyro zero so on start up there may be a minute or so delay while it calibrates itself. If it seems too long then unplug and replug it back in most of the time I just wait.

    Both sketches have a “g” command which will re-set the gryo offset for you (best you can get is about 0.00x or so, will get absolute zero). The temp calibration is turned off by default because it will be imu board dependent. So my cal may not work with your imu even if it is the same chip (may be close).

    I had a hard drive crash so I installed Processing 2 but found out it only supports opengl v2 so the fancy gui’s don’t work any more – have to do some work to get it back together. However, with that said if you modify the exp1 gui by deleting the OPENGL in the size command will get the data you are looking for and will support the commands that I listed. Also make sure you change the lines that have the artificial horizon to the following:

    if(ArtHorFlg == 0) {

    NewHorizon();

    }

    To rehash:

    “1” = reset 6250

    “2” = reset q matrix

    “g” = re-zero gyro’s

    “f” = turn off temp calibration

    “t” = turn on calibration

    You can use the 1, 2, and g commands a few times to get things to settle out.

    I also re-uploaded the freeimu.h, freeimu.cpp and my freeimu calibration.h file for you.

    By the way – know you are using the mega 2560 or uno but to make sure what IMU are using (assumed freeimu v4). Also what IDE version are you using out of curiosity.

    Mike

    From: liso88 [mailto:notifications.com] Sent: Monday, August 18, 2014 11:51 AM To: mjs513/FreeIMU-Updates Cc: Mike S Subject: Re: [FreeIMU-Updates] huge drift (#3)

    This is the result with Arduino Due and Serial for Arm CPU as you can see there are non zero offsets for the gyro! http://youtu.be/g9gYp_xMvCk

    you 're my only hope! :)

    Tommaso

    2014-08-18 17:33 GMT+02:00 Tommaso Lisini tommaso.lisini.com:

    experimental cube works great with arduino DUE!!

    2014-08-18 17:02 GMT+02:00 Tommaso Lisini tommaso.lisini.com:

    i'm still using a serial-calib also in the Arduino mega, because the

    "serial" doesen't work! i don't know why! and the experimental script doesn't work! i don't know why...maybe they need full serial sketch....

    In the library i have done a little modify:

    // remove offsets from the gyroscope if(temp_corr_on == 1){ acgyro_corr[3] = acgyro_corr[3] + gyro_off_x; acgyro_corr[4] = acgyro_corr[4] + gyro_off_y; acgyro_corr[5] = acgyro_corr[5] + gyro_off_z; values[3] = (float) accgyroval[3] - acgyro_corr[3]; values[4] = (float) accgyroval[4] - acgyro_corr[4]; values[5] = (float) accgyroval[5] - acgyro_corr[5];

    like i wrote you earlier i've verified that with the temperature_correction we doesn't provide any offset reduction!

    what do you think?

    tommaso

    2014-08-18 16:08 GMT+02:00 Mike S notifications.com:

    Hi Tommas

    That may be a bug in the serial sketch you found. I will check when I get home tonight - in order to get it to fit on a uno i deleted a couple of options from the serial sketch and I may have missed commenting that line out. The line you deleted is used in Freeimu sketch for a 1d kalman filter on the accelerometer readings if you want to use that option from the GUI. Would suggest that you use the experimental GUI - works better with the new sketches.

    Let me know how it works out for you.

    Mike

    On Mon, Aug 18, 2014 at 4:08 AM, liso88 notifications.com wrote:

    Hi, thanks a lot! i'm gonna try your solution....but i've another problem! today i've found an arduino mega, so i'm trying to use Freeimu serial...but it doesn't works! i've correctly uploaded the sketch, but if for testing i send a "v" character, nothing happens it's very strange! the baud-rate and com port are correct! infact, if i remove this line kFilters[i].KalmanInit(qVal,rVal,5.0,0.5); the programm works, and if i send a "v" it answer me with the versione! i'm grateful for your attention!

    Tommas

    2014-08-15 1:09 GMT+02:00 Mike S notifications.com:

    Hi Tommaso

    This is what I posted on youtube for reference: A couple of suggestions off the top of my head: (1) make sure u have done a good calibration on the board - see a couple of links I already posted on how to do that, (2) make sure when u start up that the imu is steady, (3) try send a "q" command a couple of times with some time in between or a "r" command (note - just enter a r or q from the GUI, r will reset the quaternion matrix while q will send a reset command to the imitation, (4) I got my best results using a temp calibration. Also there is description file that I uploaded that explains some of the added commands. One other thing after using that calibration GUI make sure u move the file to the freeimu sketch folder and reload.

    There is an error in what I posted - if you look at one of my responses to the other posters on youtube it addresses some of these same issues: Here are a couple of things for you to try: (1) hit the "1" key - this resets the mpu, (2) hit the "2" key - this resets the q matrices, (3) unplug the arduino and replug it it and then start the processing sketch, (4) put the temp calibration in - who knows it may help, (4) before you start moving the MPU let it sit level of a minute while it goes through its start up process (5) i recalibrated a few times going very slowly around all the axes so recal doesn't hurt. Also, try using the experimental processing sketch. It does some plotting for you - you can change what is plotting in the tab for the rolling graph, right not that one uses the dynamnic acceleration.

    Hope this helps. Mike

    — Reply to this email directly or view it on GitHub <

    https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-52256842>

    .

    — Reply to this email directly or view it on GitHub <

    https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-52462828>

    .

    — Reply to this email directly or view it on GitHub < https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-52496672> .

    — Reply to this email directly or view it on GitHub < https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-52511698> . < https://github.com/notifications/beacon/5366213__eyJzY29wZSI6Ik5ld3NpZXM6QmVhY29uIiwiZXhwaXJlcyI6MTcyMzk5NjI1MywiZGF0YSI6eyJpZCI6Mzk2ODc0NTR9fQ==--f8e243c555d87c7c388cf4a2960eb8759ba5729e.gif>

    — Reply to this email directly or view it on GitHub https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-52578001 .

    点赞 评论 复制链接分享
  • weixin_39566773 weixin_39566773 5月前

    ok, i've found a FreeImu v4 i've re-downloaded a zip file from github : both scripts: Serial and serial-calib are ok! i've some problem with experimental cube_1 and processing 1 and processing 2 but it's not fondamental....there are some problem with rect and libraries (in processing 1) and with opengl (with processing 2)... i've calibrated freeimu with the gui from varesano (win32 executable) i've launched th serial-calib sketch, pressed 1, 2, f, g, and d for check of Yaw, pitch-roll....with settled board works great! if i move, or worse, shake the board the yaw component starts to drift, more o less a degree/3 seconds all of this without magnetometer! Tom

    2014-08-19 10:20 GMT+02:00 Tommaso Lisini tommaso.lisini.com:

    don't worry! you're too kind! I use a little bit different hardware, a Drotek, 10DoF....i attach the link, but i've checked Drotek and FreeImu are equal, they 've the same components ..MPU6050, hmc5883 and MS5611 so the unique difference is the address,0x69 instead of 0x68... but.... now, i'll reset all: libraries, sketch..all and i'll restart and write down step by step all the passages i don't know how thanking you! you're a very kind person!

    Tommaso

    2014-08-19 3:05 GMT+02:00 Mike S notifications.com:

    Hey Tommaso

    Sorry for the delay but this time difference is a killer.

    Ok. Lets have some fun now.

    I just soldered up another freeimu v4 board and tested using the serial_calib sketch and the serial sketch on a mega 2560 board. Both sketches worked fine with no changes. Not sure why you are having a problem with the sketches since I cannot seem to duplicate the issue (I think I am using the same hardware as you) – make sure you are using the latest libs from githup. Forgot to mention that I changed coding to get a better gyro zero so on start up there may be a minute or so delay while it calibrates itself. If it seems too long then unplug and replug it back in most of the time I just wait.

    Both sketches have a “g” command which will re-set the gryo offset for you (best you can get is about 0.00x or so, will get absolute zero). The temp calibration is turned off by default because it will be imu board dependent. So my cal may not work with your imu even if it is the same chip (may be close).

    I had a hard drive crash so I installed Processing 2 but found out it only supports opengl v2 so the fancy gui’s don’t work any more – have to do some work to get it back together. However, with that said if you modify the exp1 gui by deleting the OPENGL in the size command will get the data you are looking for and will support the commands that I listed. Also make sure you change the lines that have the artificial horizon to the following:

    if(ArtHorFlg == 0) {

    NewHorizon();

    }

    To rehash:

    “1” = reset 6250

    “2” = reset q matrix

    “g” = re-zero gyro’s

    “f” = turn off temp calibration

    “t” = turn on calibration

    You can use the 1, 2, and g commands a few times to get things to settle out.

    I also re-uploaded the freeimu.h, freeimu.cpp and my freeimu calibration.h file for you.

    By the way – know you are using the mega 2560 or uno but to make sure what IMU are using (assumed freeimu v4). Also what IDE version are you using out of curiosity.

    Mike

    From: liso88 [mailto:notifications.com] Sent: Monday, August 18, 2014 11:51 AM To: mjs513/FreeIMU-Updates Cc: Mike S Subject: Re: [FreeIMU-Updates] huge drift (#3)

    This is the result with Arduino Due and Serial for Arm CPU as you can see there are non zero offsets for the gyro! http://youtu.be/g9gYp_xMvCk

    you 're my only hope! :)

    Tommaso

    2014-08-18 17:33 GMT+02:00 Tommaso Lisini tommaso.lisini.com:

    experimental cube works great with arduino DUE!!

    2014-08-18 17:02 GMT+02:00 Tommaso Lisini tommaso.lisini.com:

    i'm still using a serial-calib also in the Arduino mega, because the

    "serial" doesen't work! i don't know why! and the experimental script doesn't work! i don't know why...maybe they need full serial sketch....

    In the library i have done a little modify:

    // remove offsets from the gyroscope if(temp_corr_on == 1){ acgyro_corr[3] = acgyro_corr[3] + gyro_off_x; acgyro_corr[4] = acgyro_corr[4] + gyro_off_y; acgyro_corr[5] = acgyro_corr[5] + gyro_off_z; values[3] = (float) accgyroval[3] - acgyro_corr[3]; values[4] = (float) accgyroval[4] - acgyro_corr[4]; values[5] = (float) accgyroval[5] - acgyro_corr[5];

    like i wrote you earlier i've verified that with the temperature_correction we doesn't provide any offset reduction!

    what do you think?

    tommaso

    2014-08-18 16:08 GMT+02:00 Mike S notifications.com:

    Hi Tommas

    That may be a bug in the serial sketch you found. I will check when I get home tonight - in order to get it to fit on a uno i deleted a couple of options from the serial sketch and I may have missed commenting that line out. The line you deleted is used in Freeimu sketch for a 1d kalman filter on the accelerometer readings if you want to use that option from the GUI. Would suggest that you use the experimental GUI - works better with the new sketches.

    Let me know how it works out for you.

    Mike

    On Mon, Aug 18, 2014 at 4:08 AM, liso88 notifications.com wrote:

    Hi, thanks a lot! i'm gonna try your solution....but i've another problem! today i've found an arduino mega, so i'm trying to use Freeimu serial...but it doesn't works! i've correctly uploaded the sketch, but if for testing i send a "v" character, nothing happens it's very strange! the baud-rate and com port are correct! infact, if i remove this line kFilters[i].KalmanInit(qVal,rVal,5.0,0.5); the programm works, and if i send a "v" it answer me with the versione! i'm grateful for your attention!

    Tommas

    2014-08-15 1:09 GMT+02:00 Mike S notifications.com:

    Hi Tommaso

    This is what I posted on youtube for reference: A couple of suggestions off the top of my head: (1) make sure u have done a good calibration on the board - see a couple of links I already posted on how to do that, (2) make sure when u start up that the imu is steady, (3) try send a "q" command a

    couple of times with some time in between or a "r" command (note

    just enter a r or q from the GUI, r will reset the quaternion matrix while q will send a reset command to the imitation, (4) I got my best results using a temp calibration. Also there is description file that I uploaded that explains some of the added commands. One other thing after using that calibration GUI make sure u move the file to the freeimu sketch folder and reload.

    There is an error in what I posted - if you look at one of my responses to the other posters on youtube it addresses some of these same issues: Here are a couple of things for you to try: (1) hit the "1" key - this resets the mpu, (2) hit the "2" key - this resets the q matrices, (3) unplug the arduino and replug it it and then start the processing sketch, (4) put the temp calibration in - who knows it may help, (4) before you start moving the MPU let it sit level of a minute while it goes through its start up process (5) i recalibrated a few times going very slowly around all the axes so recal doesn't hurt. Also, try using the experimental processing sketch. It does some plotting for you - you can change what is plotting in the tab for the rolling graph, right not that one uses the dynamnic acceleration.

    Hope this helps. Mike

    — Reply to this email directly or view it on GitHub <

    https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-52256842>

    .

    — Reply to this email directly or view it on GitHub <

    https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-52462828>

    .

    — Reply to this email directly or view it on GitHub < https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-52496672>

    .

    — Reply to this email directly or view it on GitHub < https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-52511698> . < https://github.com/notifications/beacon/5366213__eyJzY29wZSI6Ik5ld3NpZXM6QmVhY29uIiwiZXhwaXJlcyI6MTcyMzk5NjI1MywiZGF0YSI6eyJpZCI6Mzk2ODc0NTR9fQ==--f8e243c555d87c7c388cf4a2960eb8759ba5729e.gif>

    — Reply to this email directly or view it on GitHub https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-52578001 .

    点赞 评论 复制链接分享
  • weixin_40009063 weixin_40009063 5月前

    Not a problem - i am glad to help you out.

    The rapid movement and shaking is always an issue - it does settle out but it takes time for the algorithm to recover from the rapid movement from the time you stop movement and put it down. Two things on this (1) thats why I added the reset q matrix and imu commands to make to recover quicker, (2) eventually it will settle down and (3) if you start moving slowing again it will work correctly. Give it a try.

    The other thing I found with freeimu board is that Fabio did a great job on the design - alot of the other boards you get a lot of noise but with the freeimu it is acceptable

    As for the GUIs - i ran into that problem last night when I was testing with the new versions so I am going to work on that tonight and see if i can get a work around for it without having to rewrite the whole thing. Will keep you posted.

    Mike

    On Tue, Aug 19, 2014 at 4:21 AM, liso88 notifications.com wrote:

    don't worry! you're too kind! I use a little bit different hardware, a Drotek, 10DoF....i attach the link, but i've checked Drotek and FreeImu are equal, they 've the same components ..MPU6050, hmc5883 and MS5611 so the unique difference is the address,0x69 instead of 0x68... but.... now, i'll reset all: libraries, sketch..all and i'll restart and write down step by step all the passages i don't know how thanking you! you're a very kind person!

    Tommaso

    2014-08-19 3:05 GMT+02:00 Mike S notifications.com:

    Hey Tommaso

    Sorry for the delay but this time difference is a killer.

    Ok. Lets have some fun now.

    I just soldered up another freeimu v4 board and tested using the serial_calib sketch and the serial sketch on a mega 2560 board. Both sketches worked fine with no changes. Not sure why you are having a problem with the sketches since I cannot seem to duplicate the issue (I think I am using the same hardware as you) – make sure you are using the latest libs from githup. Forgot to mention that I changed coding to get a better gyro zero so on start up there may be a minute or so delay while it calibrates itself. If it seems too long then unplug and replug it back in most of the time I just wait.

    Both sketches have a “g” command which will re-set the gryo offset for you (best you can get is about 0.00x or so, will get absolute zero). The temp calibration is turned off by default because it will be imu board dependent. So my cal may not work with your imu even if it is the same chip (may be close).

    I had a hard drive crash so I installed Processing 2 but found out it only supports opengl v2 so the fancy gui’s don’t work any more – have to do some work to get it back together. However, with that said if you modify the exp1 gui by deleting the OPENGL in the size command will get the data you are looking for and will support the commands that I listed. Also make sure you change the lines that have the artificial horizon to the following:

    if(ArtHorFlg == 0) {

    NewHorizon();

    }

    To rehash:

    “1” = reset 6250

    “2” = reset q matrix

    “g” = re-zero gyro’s

    “f” = turn off temp calibration

    “t” = turn on calibration

    You can use the 1, 2, and g commands a few times to get things to settle out.

    I also re-uploaded the freeimu.h, freeimu.cpp and my freeimu calibration.h file for you.

    By the way – know you are using the mega 2560 or uno but to make sure what IMU are using (assumed freeimu v4). Also what IDE version are you using out of curiosity.

    Mike

    From: liso88 [mailto:notifications.com] Sent: Monday, August 18, 2014 11:51 AM To: mjs513/FreeIMU-Updates Cc: Mike S Subject: Re: [FreeIMU-Updates] huge drift (#3)

    This is the result with Arduino Due and Serial for Arm CPU as you can see there are non zero offsets for the gyro! http://youtu.be/g9gYp_xMvCk

    you 're my only hope! :)

    Tommaso

    2014-08-18 17:33 GMT+02:00 Tommaso Lisini tommaso.lisini.com:

    experimental cube works great with arduino DUE!!

    2014-08-18 17:02 GMT+02:00 Tommaso Lisini tommaso.lisini.com:

    i'm still using a serial-calib also in the Arduino mega, because the

    "serial" doesen't work! i don't know why! and the experimental script doesn't work! i don't know why...maybe they need full serial sketch....

    In the library i have done a little modify:

    // remove offsets from the gyroscope if(temp_corr_on == 1){ acgyro_corr[3] = acgyro_corr[3] + gyro_off_x; acgyro_corr[4] = acgyro_corr[4] + gyro_off_y; acgyro_corr[5] = acgyro_corr[5] + gyro_off_z; values[3] = (float) accgyroval[3] - acgyro_corr[3]; values[4] = (float) accgyroval[4] - acgyro_corr[4]; values[5] = (float) accgyroval[5] - acgyro_corr[5];

    like i wrote you earlier i've verified that with the temperature_correction we doesn't provide any offset reduction!

    what do you think?

    tommaso

    2014-08-18 16:08 GMT+02:00 Mike S notifications.com:

    Hi Tommas

    That may be a bug in the serial sketch you found. I will check when I get home tonight - in order to get it to fit on a uno i deleted a couple of options from the serial sketch and I may have missed commenting that line out. The line you deleted is used in Freeimu sketch for a 1d kalman filter on the accelerometer readings if you want to use that option from the GUI. Would suggest that you use the experimental GUI - works better with the new sketches.

    Let me know how it works out for you.

    Mike

    On Mon, Aug 18, 2014 at 4:08 AM, liso88 notifications.com wrote:

    Hi, thanks a lot! i'm gonna try your solution....but i've another problem! today i've found an arduino mega, so i'm trying to use Freeimu serial...but it doesn't works! i've correctly uploaded the sketch, but if for testing i send a "v" character, nothing happens it's very strange! the baud-rate and com port are correct! infact, if i remove this line kFilters[i].KalmanInit(qVal,rVal,5.0,0.5); the programm works, and if i send a "v" it answer me with the versione! i'm grateful for your attention!

    Tommas

    2014-08-15 1:09 GMT+02:00 Mike S notifications.com:

    Hi Tommaso

    This is what I posted on youtube for reference: A couple of suggestions off the top of my head: (1) make sure u have done a good calibration on the board - see a couple of links I already posted on how to do that, (2) make sure when u start up that the imu is steady, (3) try send a "q" command a

    couple of times with some time in between or a "r" command (note

    just enter a r or q from the GUI, r will reset the quaternion matrix while q will send a reset command to the imitation, (4) I got my best results using a temp calibration. Also there is description file that I uploaded that explains some of the added commands. One other thing after using that calibration GUI make sure u move the file to the freeimu sketch folder and reload.

    There is an error in what I posted - if you look at one of my responses to the other posters on youtube it addresses some of these same issues: Here are a couple of things for you to try: (1) hit the "1" key - this resets the mpu, (2) hit the "2" key - this resets the q matrices, (3) unplug the arduino and replug it it and then start the processing sketch, (4) put the temp calibration in - who knows it may help, (4) before you start moving the MPU let it sit level of a minute while it goes through its start up process (5) i recalibrated a few times going very slowly around all the axes so recal doesn't hurt. Also, try using the experimental processing sketch. It does some plotting for you - you can change what is plotting in the tab for the rolling graph, right not that one uses the dynamnic acceleration.

    Hope this helps. Mike

    — Reply to this email directly or view it on GitHub <

    https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-52256842>

    .

    — Reply to this email directly or view it on GitHub <

    https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-52462828>

    .

    — Reply to this email directly or view it on GitHub < https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-52496672>

    .

    — Reply to this email directly or view it on GitHub < https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-52511698>

    . <

    https://github.com/notifications/beacon/5366213__eyJzY29wZSI6Ik5ld3NpZXM6QmVhY29uIiwiZXhwaXJlcyI6MTcyMzk5NjI1MywiZGF0YSI6eyJpZCI6Mzk2ODc0NTR9fQ==--f8e243c555d87c7c388cf4a2960eb8759ba5729e.gif>

    — Reply to this email directly or view it on GitHub < https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-52578001> .

    — Reply to this email directly or view it on GitHub https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-52603525 .

    点赞 评论 复制链接分享
  • weixin_39566773 weixin_39566773 5月前

    Hi, in FreeImu.cpp at line 180 you should add

    //used for BMP085

    if HAS BMP085

    long Temperature = 0, Pressure = 0, Altitude = 0;

    endif

    otherwise you can't use more than one IMUs because there are multiple definitions of Temperature, Pressure and Altitude! Tom

    点赞 评论 复制链接分享
  • weixin_40009063 weixin_40009063 5月前

    Hi Tom

    Will take a look at. Thought you would like to know that I found the version of processing that will work with the GUI without having to try and install opengl 2.0 that the new version of processing requires. The version in 2.0b7. I uploaded it Github if you want to give it a try.

    Mike

    From: liso88 [mailto:notifications.com] Sent: Wednesday, August 20, 2014 6:27 AM To: mjs513/FreeIMU-Updates Cc: Mike S Subject: Re: [FreeIMU-Updates] huge drift (#3)

    Hi, in FreeImu.cpp at line 180 you should add

    //used for BMP085

    if HAS BMP085

    long Temperature = 0, Pressure = 0, Altitude = 0;

    endif

    otherwise you can't use more than one IMUs because there are multiple definitions of Temperature, Pressure and Altitude! Tom

    — Reply to this email directly or view it on GitHub https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-52758208 . https://github.com/notifications/beacon/5366213__eyJzY29wZSI6Ik5ld3NpZXM6QmVhY29uIiwiZXhwaXJlcyI6MTcyNDE0OTYzOSwiZGF0YSI6eyJpZCI6Mzk2ODc0NTR9fQ==--42e7917a41fb076b4b8aa673cfe9216402c709ae.gif

    点赞 评论 复制链接分享
  • weixin_39566773 weixin_39566773 5月前

    Hi mike! thanks! You're the best! i've a win32, so i've to downloaded a win32 processing2.0b7 and works great! ask me if you need it! just another simple question.... if i use Free-Imu-cube the result is excellent! if i read Yaw pitch roll angles the drift very slow...but if i use the Yaw-pitch-roll processing sketch the result is completely different. why?is there in Processing-cubo-odo a function to reduce the drift, ore processing-cubo is only a graphic interface?

    thanks, for all! tommaso

    2014-08-21 4:35 GMT+02:00 Mike S notifications.com:

    Hi Tom

    Will take a look at. Thought you would like to know that I found the version of processing that will work with the GUI without having to try and install opengl 2.0 that the new version of processing requires. The version in 2.0b7. I uploaded it Github if you want to give it a try.

    Mike

    From: liso88 [mailto:notifications.com] Sent: Wednesday, August 20, 2014 6:27 AM To: mjs513/FreeIMU-Updates Cc: Mike S Subject: Re: [FreeIMU-Updates] huge drift (#3)

    Hi, in FreeImu.cpp at line 180 you should add

    //used for BMP085

    if HAS BMP085

    long Temperature = 0, Pressure = 0, Altitude = 0;

    endif

    otherwise you can't use more than one IMUs because there are multiple definitions of Temperature, Pressure and Altitude! Tom

    — Reply to this email directly or view it on GitHub < https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-52758208> . < https://github.com/notifications/beacon/5366213__eyJzY29wZSI6Ik5ld3NpZXM6QmVhY29uIiwiZXhwaXJlcyI6MTcyNDE0OTYzOSwiZGF0YSI6eyJpZCI6Mzk2ODc0NTR9fQ==--42e7917a41fb076b4b8aa673cfe9216402c709ae.gif>

    — Reply to this email directly or view it on GitHub https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-52871736 .

    点赞 评论 复制链接分享
  • weixin_40009063 weixin_40009063 5月前

    Tommasso

    I actually uploaded 2.0b7 to a separate library on GITHUB if anyone needed it. But I see you already found it. As to your other question on the Yaw-Pitch-Roll processing sketch. Off the top i can not think of it but i will look at it tonight to see what the issue is. I ran it last night and it didn't seem too bad - it doesn't have the options that I built into the other sketches so you may have to just unplug and replug it back in.

    Mike

    On Fri, Aug 22, 2014 at 6:51 AM, liso88 notifications.com wrote:

    Hi mike! thanks! You're the best! i've a win32, so i've to downloaded a win32 processing2.0b7 and works great! ask me if you need it! just another simple question.... if i use Free-Imu-cube the result is excellent! if i read Yaw pitch roll angles the drift very slow...but if i use the Yaw-pitch-roll processing sketch the result is completely different. why?is there in Processing-cubo-odo a function to reduce the drift, ore processing-cubo is only a graphic interface?

    thanks, for all! tommaso

    2014-08-21 4:35 GMT+02:00 Mike S notifications.com:

    Hi Tom

    Will take a look at. Thought you would like to know that I found the version of processing that will work with the GUI without having to try and install opengl 2.0 that the new version of processing requires. The version in 2.0b7. I uploaded it Github if you want to give it a try.

    Mike

    From: liso88 [mailto:notifications.com] Sent: Wednesday, August 20, 2014 6:27 AM To: mjs513/FreeIMU-Updates Cc: Mike S Subject: Re: [FreeIMU-Updates] huge drift (#3)

    Hi, in FreeImu.cpp at line 180 you should add

    //used for BMP085

    if HAS BMP085

    long Temperature = 0, Pressure = 0, Altitude = 0;

    endif

    otherwise you can't use more than one IMUs because there are multiple definitions of Temperature, Pressure and Altitude! Tom

    — Reply to this email directly or view it on GitHub < https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-52758208>

    . <

    https://github.com/notifications/beacon/5366213__eyJzY29wZSI6Ik5ld3NpZXM6QmVhY29uIiwiZXhwaXJlcyI6MTcyNDE0OTYzOSwiZGF0YSI6eyJpZCI6Mzk2ODc0NTR9fQ==--42e7917a41fb076b4b8aa673cfe9216402c709ae.gif>

    — Reply to this email directly or view it on GitHub < https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-52871736> .

    — Reply to this email directly or view it on GitHub https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-53047462 .

    点赞 评论 复制链接分享
  • weixin_40009063 weixin_40009063 5月前

    Hi again

    Just wanted to confirm that there is nothing over and above in the processing GUI to improve the drift. The only thing in there is the complimentary altimeter code that I have not moved over to the Arduino yet.

    I did a little update to the Yaw-Pitch-Roll processing sketch that adds the same zeroing options that are in the GUI. So if you run into too much drift just zero it out. Still working on the best scheme to do auto zero the gyro and q when I see zero motion.

    Never did ask but what are you working on, if you would care to share.

    Have fun.

    Mike

    From: liso88 [mailto:notifications.com] Sent: Friday, August 22, 2014 6:52 AM To: mjs513/FreeIMU-Updates Cc: Mike S Subject: Re: [FreeIMU-Updates] huge drift (#3)

    Hi mike! thanks! You're the best! i've a win32, so i've to downloaded a win32 processing2.0b7 and works great! ask me if you need it! just another simple question.... if i use Free-Imu-cube the result is excellent! if i read Yaw pitch roll angles the drift very slow...but if i use the Yaw-pitch-roll processing sketch the result is completely different. why?is there in Processing-cubo-odo a function to reduce the drift, ore processing-cubo is only a graphic interface?

    thanks, for all! tommaso

    2014-08-21 4:35 GMT+02:00 Mike S notifications.com:

    Hi Tom

    Will take a look at. Thought you would like to know that I found the version of processing that will work with the GUI without having to try and install opengl 2.0 that the new version of processing requires. The version in 2.0b7. I uploaded it Github if you want to give it a try.

    Mike

    From: liso88 [mailto:notifications.com] Sent: Wednesday, August 20, 2014 6:27 AM To: mjs513/FreeIMU-Updates Cc: Mike S Subject: Re: [FreeIMU-Updates] huge drift (#3)

    Hi, in FreeImu.cpp at line 180 you should add

    //used for BMP085

    if HAS BMP085

    long Temperature = 0, Pressure = 0, Altitude = 0;

    endif

    otherwise you can't use more than one IMUs because there are multiple definitions of Temperature, Pressure and Altitude! Tom

    — Reply to this email directly or view it on GitHub < https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-52758208> . < https://github.com/notifications/beacon/5366213__eyJzY29wZSI6Ik5ld3NpZXM6QmVhY29uIiwiZXhwaXJlcyI6MTcyNDE0OTYzOSwiZGF0YSI6eyJpZCI6Mzk2ODc0NTR9fQ==--42e7917a41fb076b4b8aa673cfe9216402c709ae.gif>

    — Reply to this email directly or view it on GitHub https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-52871736 .

    — Reply to this email directly or view it on GitHub https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-53047462 . https://github.com/notifications/beacon/5366213__eyJzY29wZSI6Ik5ld3NpZXM6QmVhY29uIiwiZXhwaXJlcyI6MTcyNDMyMzkxMywiZGF0YSI6eyJpZCI6Mzk2ODc0NTR9fQ==--b3d1bce2fe23c03a38144a0886c576f7c37cccf5.gif

    点赞 评论 复制链接分享
  • weixin_39566773 weixin_39566773 5月前

    Hi, i'm working on hand-gesture tracking...for this reason for me is very important the drift! i'll the new roll pitch yaw!

    2014-08-23 1:24 GMT+02:00 Mike S notifications.com:

    Hi again

    Just wanted to confirm that there is nothing over and above in the processing GUI to improve the drift. The only thing in there is the complimentary altimeter code that I have not moved over to the Arduino yet.

    I did a little update to the Yaw-Pitch-Roll processing sketch that adds the same zeroing options that are in the GUI. So if you run into too much drift just zero it out. Still working on the best scheme to do auto zero the gyro and q when I see zero motion.

    Never did ask but what are you working on, if you would care to share.

    Have fun.

    Mike

    From: liso88 [mailto:notifications.com] Sent: Friday, August 22, 2014 6:52 AM To: mjs513/FreeIMU-Updates Cc: Mike S Subject: Re: [FreeIMU-Updates] huge drift (#3)

    Hi mike! thanks! You're the best! i've a win32, so i've to downloaded a win32 processing2.0b7 and works great! ask me if you need it! just another simple question.... if i use Free-Imu-cube the result is excellent! if i read Yaw pitch roll angles the drift very slow...but if i use the Yaw-pitch-roll processing sketch the result is completely different. why?is there in Processing-cubo-odo a function to reduce the drift, ore processing-cubo is only a graphic interface?

    thanks, for all! tommaso

    2014-08-21 4:35 GMT+02:00 Mike S notifications.com:

    Hi Tom

    Will take a look at. Thought you would like to know that I found the version of processing that will work with the GUI without having to try and install opengl 2.0 that the new version of processing requires. The version in 2.0b7. I uploaded it Github if you want to give it a try.

    Mike

    From: liso88 [mailto:notifications.com] Sent: Wednesday, August 20, 2014 6:27 AM To: mjs513/FreeIMU-Updates Cc: Mike S Subject: Re: [FreeIMU-Updates] huge drift (#3)

    Hi, in FreeImu.cpp at line 180 you should add

    //used for BMP085

    if HAS BMP085

    long Temperature = 0, Pressure = 0, Altitude = 0;

    endif

    otherwise you can't use more than one IMUs because there are multiple definitions of Temperature, Pressure and Altitude! Tom

    — Reply to this email directly or view it on GitHub < https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-52758208>

    . <

    https://github.com/notifications/beacon/5366213__eyJzY29wZSI6Ik5ld3NpZXM6QmVhY29uIiwiZXhwaXJlcyI6MTcyNDE0OTYzOSwiZGF0YSI6eyJpZCI6Mzk2ODc0NTR9fQ==--42e7917a41fb076b4b8aa673cfe9216402c709ae.gif>

    — Reply to this email directly or view it on GitHub < https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-52871736> .

    — Reply to this email directly or view it on GitHub < https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-53047462> . < https://github.com/notifications/beacon/5366213__eyJzY29wZSI6Ik5ld3NpZXM6QmVhY29uIiwiZXhwaXJlcyI6MTcyNDMyMzkxMywiZGF0YSI6eyJpZCI6Mzk2ODc0NTR9fQ==--b3d1bce2fe23c03a38144a0886c576f7c37cccf5.gif>

    — Reply to this email directly or view it on GitHub https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-53133591 .

    点赞 评论 复制链接分享
  • weixin_39566773 weixin_39566773 5月前

    hi, just another little question....but in the library, which is the part that implement the zara/zupt filter?

    2014-08-23 12:32 GMT+02:00 Tommaso Lisini tommaso.lisini.com:

    Hi, i'm working on hand-gesture tracking...for this reason for me is very important the drift! i'll the new roll pitch yaw!

    2014-08-23 1:24 GMT+02:00 Mike S notifications.com:

    Hi again

    Just wanted to confirm that there is nothing over and above in the processing GUI to improve the drift. The only thing in there is the complimentary altimeter code that I have not moved over to the Arduino yet.

    I did a little update to the Yaw-Pitch-Roll processing sketch that adds the same zeroing options that are in the GUI. So if you run into too much drift just zero it out. Still working on the best scheme to do auto zero the gyro and q when I see zero motion.

    Never did ask but what are you working on, if you would care to share.

    Have fun.

    Mike

    From: liso88 [mailto:notifications.com] Sent: Friday, August 22, 2014 6:52 AM To: mjs513/FreeIMU-Updates Cc: Mike S Subject: Re: [FreeIMU-Updates] huge drift (#3)

    Hi mike! thanks! You're the best! i've a win32, so i've to downloaded a win32 processing2.0b7 and works great! ask me if you need it! just another simple question.... if i use Free-Imu-cube the result is excellent! if i read Yaw pitch roll angles the drift very slow...but if i use the Yaw-pitch-roll processing sketch the result is completely different. why?is there in Processing-cubo-odo a function to reduce the drift, ore processing-cubo is only a graphic interface?

    thanks, for all! tommaso

    2014-08-21 4:35 GMT+02:00 Mike S notifications.com:

    Hi Tom

    Will take a look at. Thought you would like to know that I found the version of processing that will work with the GUI without having to try and install opengl 2.0 that the new version of processing requires. The version in 2.0b7. I uploaded it Github if you want to give it a try.

    Mike

    From: liso88 [mailto:notifications.com] Sent: Wednesday, August 20, 2014 6:27 AM To: mjs513/FreeIMU-Updates Cc: Mike S Subject: Re: [FreeIMU-Updates] huge drift (#3)

    Hi, in FreeImu.cpp at line 180 you should add

    //used for BMP085

    if HAS BMP085

    long Temperature = 0, Pressure = 0, Altitude = 0;

    endif

    otherwise you can't use more than one IMUs because there are multiple definitions of Temperature, Pressure and Altitude! Tom

    — Reply to this email directly or view it on GitHub <

    https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-52758208>

    . <

    https://github.com/notifications/beacon/5366213__eyJzY29wZSI6Ik5ld3NpZXM6QmVhY29uIiwiZXhwaXJlcyI6MTcyNDE0OTYzOSwiZGF0YSI6eyJpZCI6Mzk2ODc0NTR9fQ==--42e7917a41fb076b4b8aa673cfe9216402c709ae.gif>

    — Reply to this email directly or view it on GitHub < https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-52871736>

    .

    — Reply to this email directly or view it on GitHub < https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-53047462> . < https://github.com/notifications/beacon/5366213__eyJzY29wZSI6Ik5ld3NpZXM6QmVhY29uIiwiZXhwaXJlcyI6MTcyNDMyMzkxMywiZGF0YSI6eyJpZCI6Mzk2ODc0NTR9fQ==--b3d1bce2fe23c03a38144a0886c576f7c37cccf5.gif>

    — Reply to this email directly or view it on GitHub https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-53133591 .

    点赞 评论 复制链接分享
  • weixin_40009063 weixin_40009063 5月前

    It’s in the processing GUI not in the library yet. Recommendation – depending on the noise in the system you may have to tweak the thresholds. Haven’t moved that over to the library yet. You will find it in one of the tabs.

    From: liso88 [mailto:notifications.com] Sent: Sunday, August 24, 2014 6:36 AM To: mjs513/FreeIMU-Updates Cc: Mike S Subject: Re: [FreeIMU-Updates] huge drift (#3)

    hi, just another little question....but in the library, which is the part that implement the zara/zupt filter?

    2014-08-23 12:32 GMT+02:00 Tommaso Lisini tommaso.lisini.com:

    Hi, i'm working on hand-gesture tracking...for this reason for me is very important the drift! i'll the new roll pitch yaw!

    2014-08-23 1:24 GMT+02:00 Mike S notifications.com:

    Hi again

    Just wanted to confirm that there is nothing over and above in the processing GUI to improve the drift. The only thing in there is the complimentary altimeter code that I have not moved over to the Arduino yet.

    I did a little update to the Yaw-Pitch-Roll processing sketch that adds the same zeroing options that are in the GUI. So if you run into too much drift just zero it out. Still working on the best scheme to do auto zero the gyro and q when I see zero motion.

    Never did ask but what are you working on, if you would care to share.

    Have fun.

    Mike

    From: liso88 [mailto:notifications.com] Sent: Friday, August 22, 2014 6:52 AM To: mjs513/FreeIMU-Updates Cc: Mike S Subject: Re: [FreeIMU-Updates] huge drift (#3)

    Hi mike! thanks! You're the best! i've a win32, so i've to downloaded a win32 processing2.0b7 and works great! ask me if you need it! just another simple question.... if i use Free-Imu-cube the result is excellent! if i read Yaw pitch roll angles the drift very slow...but if i use the Yaw-pitch-roll processing sketch the result is completely different. why?is there in Processing-cubo-odo a function to reduce the drift, ore processing-cubo is only a graphic interface?

    thanks, for all! tommaso

    2014-08-21 4:35 GMT+02:00 Mike S notifications.com:

    Hi Tom

    Will take a look at. Thought you would like to know that I found the version of processing that will work with the GUI without having to try and install opengl 2.0 that the new version of processing requires. The version in 2.0b7. I uploaded it Github if you want to give it a try.

    Mike

    From: liso88 [mailto:notifications.com] Sent: Wednesday, August 20, 2014 6:27 AM To: mjs513/FreeIMU-Updates Cc: Mike S Subject: Re: [FreeIMU-Updates] huge drift (#3)

    Hi, in FreeImu.cpp at line 180 you should add

    //used for BMP085

    if HAS BMP085

    long Temperature = 0, Pressure = 0, Altitude = 0;

    endif

    otherwise you can't use more than one IMUs because there are multiple definitions of Temperature, Pressure and Altitude! Tom

    — Reply to this email directly or view it on GitHub <

    https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-52758208>

    . <

    https://github.com/notifications/beacon/5366213__eyJzY29wZSI6Ik5ld3NpZXM6QmVhY29uIiwiZXhwaXJlcyI6MTcyNDE0OTYzOSwiZGF0YSI6eyJpZCI6Mzk2ODc0NTR9fQ==--42e7917a41fb076b4b8aa673cfe9216402c709ae.gif>

    — Reply to this email directly or view it on GitHub < https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-52871736>

    .

    — Reply to this email directly or view it on GitHub < https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-53047462> . < https://github.com/notifications/beacon/5366213__eyJzY29wZSI6Ik5ld3NpZXM6QmVhY29uIiwiZXhwaXJlcyI6MTcyNDMyMzkxMywiZGF0YSI6eyJpZCI6Mzk2ODc0NTR9fQ==--b3d1bce2fe23c03a38144a0886c576f7c37cccf5.gif>

    — Reply to this email directly or view it on GitHub https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-53133591 .

    — Reply to this email directly or view it on GitHub https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-53187456 . https://github.com/notifications/beacon/5366213__eyJzY29wZSI6Ik5ld3NpZXM6QmVhY29uIiwiZXhwaXJlcyI6MTcyNDQ5NTc1OCwiZGF0YSI6eyJpZCI6Mzk2ODc0NTR9fQ==--54a36b2ae111726e81d0770e03e5a5a98e9640b3.gif

    点赞 评论 复制链接分享
  • weixin_39566773 weixin_39566773 5月前

    yes, yes, excuse me, in the processing! wich is the tab ?

    2014-08-24 12:52 GMT+02:00 Mike S notifications.com:

    It’s in the processing GUI not in the library yet. Recommendation – depending on the noise in the system you may have to tweak the thresholds. Haven’t moved that over to the library yet. You will find it in one of the tabs.

    From: liso88 [mailto:notifications.com] Sent: Sunday, August 24, 2014 6:36 AM To: mjs513/FreeIMU-Updates Cc: Mike S Subject: Re: [FreeIMU-Updates] huge drift (#3)

    hi, just another little question....but in the library, which is the part that implement the zara/zupt filter?

    2014-08-23 12:32 GMT+02:00 Tommaso Lisini tommaso.lisini.com:

    Hi, i'm working on hand-gesture tracking...for this reason for me is very important the drift! i'll the new roll pitch yaw!

    2014-08-23 1:24 GMT+02:00 Mike S notifications.com:

    Hi again

    Just wanted to confirm that there is nothing over and above in the processing GUI to improve the drift. The only thing in there is the complimentary altimeter code that I have not moved over to the Arduino yet.

    I did a little update to the Yaw-Pitch-Roll processing sketch that adds the same zeroing options that are in the GUI. So if you run into too much drift just zero it out. Still working on the best scheme to do auto zero the gyro and q when I see zero motion.

    Never did ask but what are you working on, if you would care to share.

    Have fun.

    Mike

    From: liso88 [mailto:notifications.com] Sent: Friday, August 22, 2014 6:52 AM To: mjs513/FreeIMU-Updates Cc: Mike S Subject: Re: [FreeIMU-Updates] huge drift (#3)

    Hi mike! thanks! You're the best! i've a win32, so i've to downloaded a win32 processing2.0b7 and works great! ask me if you need it! just another simple question.... if i use Free-Imu-cube the result is excellent! if i read Yaw pitch roll angles the drift very slow...but if i use the Yaw-pitch-roll processing sketch the result is completely different. why?is there in Processing-cubo-odo a function to reduce the drift, ore processing-cubo is only a graphic interface?

    thanks, for all! tommaso

    2014-08-21 4:35 GMT+02:00 Mike S notifications.com:

    Hi Tom

    Will take a look at. Thought you would like to know that I found the version of processing that will work with the GUI without having to try and install opengl 2.0 that the new version of processing requires. The version in 2.0b7. I uploaded it Github if you want to give it a try.

    Mike

    From: liso88 [mailto:notifications.com] Sent: Wednesday, August 20, 2014 6:27 AM To: mjs513/FreeIMU-Updates Cc: Mike S Subject: Re: [FreeIMU-Updates] huge drift (#3)

    Hi, in FreeImu.cpp at line 180 you should add

    //used for BMP085

    if HAS BMP085

    long Temperature = 0, Pressure = 0, Altitude = 0;

    endif

    otherwise you can't use more than one IMUs because there are multiple definitions of Temperature, Pressure and Altitude! Tom

    — Reply to this email directly or view it on GitHub <

    https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-52758208>

    . <

    https://github.com/notifications/beacon/5366213__eyJzY29wZSI6Ik5ld3NpZXM6QmVhY29uIiwiZXhwaXJlcyI6MTcyNDE0OTYzOSwiZGF0YSI6eyJpZCI6Mzk2ODc0NTR9fQ==--42e7917a41fb076b4b8aa673cfe9216402c709ae.gif>

    — Reply to this email directly or view it on GitHub <

    https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-52871736>

    .

    — Reply to this email directly or view it on GitHub <

    https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-53047462> . <

    https://github.com/notifications/beacon/5366213__eyJzY29wZSI6Ik5ld3NpZXM6QmVhY29uIiwiZXhwaXJlcyI6MTcyNDMyMzkxMywiZGF0YSI6eyJpZCI6Mzk2ODc0NTR9fQ==--b3d1bce2fe23c03a38144a0886c576f7c37cccf5.gif>

    — Reply to this email directly or view it on GitHub < https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-53133591> .

    — Reply to this email directly or view it on GitHub < https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-53187456> . < https://github.com/notifications/beacon/5366213__eyJzY29wZSI6Ik5ld3NpZXM6QmVhY29uIiwiZXhwaXJlcyI6MTcyNDQ5NTc1OCwiZGF0YSI6eyJpZCI6Mzk2ODc0NTR9fQ==--54a36b2ae111726e81d0770e03e5a5a98e9640b3.gif>

    — Reply to this email directly or view it on GitHub https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-53187953 .

    点赞 评论 复制链接分享
  • weixin_40009063 weixin_40009063 5月前

    Its in the MotionDetect.pde in in the exp1 GUI. On Aug 24, 2014 7:13 AM, "liso88" notifications.com wrote:

    yes, yes, excuse me, in the processing! wich is the tab ?

    2014-08-24 12:52 GMT+02:00 Mike S notifications.com:

    It’s in the processing GUI not in the library yet. Recommendation – depending on the noise in the system you may have to tweak the thresholds. Haven’t moved that over to the library yet. You will find it in one of the tabs.

    From: liso88 [mailto:notifications.com] Sent: Sunday, August 24, 2014 6:36 AM To: mjs513/FreeIMU-Updates Cc: Mike S Subject: Re: [FreeIMU-Updates] huge drift (#3)

    hi, just another little question....but in the library, which is the part that implement the zara/zupt filter?

    2014-08-23 12:32 GMT+02:00 Tommaso Lisini tommaso.lisini.com:

    Hi, i'm working on hand-gesture tracking...for this reason for me is very important the drift! i'll the new roll pitch yaw!

    2014-08-23 1:24 GMT+02:00 Mike S notifications.com:

    Hi again

    Just wanted to confirm that there is nothing over and above in the processing GUI to improve the drift. The only thing in there is the complimentary altimeter code that I have not moved over to the Arduino yet.

    I did a little update to the Yaw-Pitch-Roll processing sketch that adds the same zeroing options that are in the GUI. So if you run into too much drift just zero it out. Still working on the best scheme to do auto zero the gyro and q when I see zero motion.

    Never did ask but what are you working on, if you would care to share.

    Have fun.

    Mike

    From: liso88 [mailto:notifications.com] Sent: Friday, August 22, 2014 6:52 AM To: mjs513/FreeIMU-Updates Cc: Mike S Subject: Re: [FreeIMU-Updates] huge drift (#3)

    Hi mike! thanks! You're the best! i've a win32, so i've to downloaded a win32 processing2.0b7 and works great! ask me if you need it! just another simple question.... if i use Free-Imu-cube the result is excellent! if i read Yaw pitch roll angles the drift very slow...but if i use the Yaw-pitch-roll processing sketch the result is completely different. why?is there in Processing-cubo-odo a function to reduce the drift, ore processing-cubo is only a graphic interface?

    thanks, for all! tommaso

    2014-08-21 4:35 GMT+02:00 Mike S notifications.com:

    Hi Tom

    Will take a look at. Thought you would like to know that I found the version of processing that will work with the GUI without having to try and install opengl 2.0 that the new version of processing requires. The version in 2.0b7. I uploaded it Github if you want to give it a try.

    Mike

    From: liso88 [mailto:notifications.com] Sent: Wednesday, August 20, 2014 6:27 AM To: mjs513/FreeIMU-Updates Cc: Mike S Subject: Re: [FreeIMU-Updates] huge drift (#3)

    Hi, in FreeImu.cpp at line 180 you should add

    //used for BMP085

    if HAS BMP085

    long Temperature = 0, Pressure = 0, Altitude = 0;

    endif

    otherwise you can't use more than one IMUs because there are multiple definitions of Temperature, Pressure and Altitude! Tom

    — Reply to this email directly or view it on GitHub <

    https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-52758208>

    . <

    https://github.com/notifications/beacon/5366213__eyJzY29wZSI6Ik5ld3NpZXM6QmVhY29uIiwiZXhwaXJlcyI6MTcyNDE0OTYzOSwiZGF0YSI6eyJpZCI6Mzk2ODc0NTR9fQ==--42e7917a41fb076b4b8aa673cfe9216402c709ae.gif>

    — Reply to this email directly or view it on GitHub <

    https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-52871736>

    .

    — Reply to this email directly or view it on GitHub <

    https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-53047462>

    . <

    https://github.com/notifications/beacon/5366213__eyJzY29wZSI6Ik5ld3NpZXM6QmVhY29uIiwiZXhwaXJlcyI6MTcyNDMyMzkxMywiZGF0YSI6eyJpZCI6Mzk2ODc0NTR9fQ==--b3d1bce2fe23c03a38144a0886c576f7c37cccf5.gif>

    — Reply to this email directly or view it on GitHub < https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-53133591>

    .

    — Reply to this email directly or view it on GitHub < https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-53187456>

    . <

    https://github.com/notifications/beacon/5366213__eyJzY29wZSI6Ik5ld3NpZXM6QmVhY29uIiwiZXhwaXJlcyI6MTcyNDQ5NTc1OCwiZGF0YSI6eyJpZCI6Mzk2ODc0NTR9fQ==--54a36b2ae111726e81d0770e03e5a5a98e9640b3.gif>

    — Reply to this email directly or view it on GitHub < https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-53187953> .

    — Reply to this email directly or view it on GitHub https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-53188577 .

    点赞 评论 复制链接分享
  • weixin_39566773 weixin_39566773 5月前

    ok, perfect....but there is one thing that i don't understand...when do i use the motion detection function? when the sketch calculates Yaw Pitch and Roll, in

    ypr[0] = atan2(2 * q[1] * q[2] - 2 * q[0] * q[3], 2 * q[0]_q[0] + 2 * q[1] * q[1] - 1); ypr[1] = atan(gx / sqrt(gy_gy + gz_gz)); ypr[2] = atan(gy / sqrt(gx_gx + gz*gz));

    it use directly the result from arduino, infact q[] is the result of decodeFloat from the serial !

    void serialEvent(Serial p) { if(p.available() >= 17) { String inputString = p.readStringUntil('\n'); //print(inputString); if (inputString != null && inputString.length() > 0) { String [] inputStringArr = split(inputString, ","); if(inputStringArr.length >= 17) { // q1,q2,q3,q4,\r\n so we have 5 elements q[0] = decodeFloat(inputStringArr[0]); q[1] = decodeFloat(inputStringArr[1]); q[2] = decodeFloat(inputStringArr[2]); q[3] = decodeFloat(inputStringArr[3]);

    is right?

    how can i use motion detection?

    2014-08-24 15:14 GMT+02:00 Mike S notifications.com:

    Its in the MotionDetect.pde in in the exp1 GUI. On Aug 24, 2014 7:13 AM, "liso88" notifications.com wrote:

    yes, yes, excuse me, in the processing! wich is the tab ?

    2014-08-24 12:52 GMT+02:00 Mike S notifications.com:

    It’s in the processing GUI not in the library yet. Recommendation – depending on the noise in the system you may have to tweak the thresholds. Haven’t moved that over to the library yet. You will find it in one of the tabs.

    From: liso88 [mailto:notifications.com] Sent: Sunday, August 24, 2014 6:36 AM To: mjs513/FreeIMU-Updates Cc: Mike S Subject: Re: [FreeIMU-Updates] huge drift (#3)

    hi, just another little question....but in the library, which is the part that implement the zara/zupt filter?

    2014-08-23 12:32 GMT+02:00 Tommaso Lisini tommaso.lisini.com:

    Hi, i'm working on hand-gesture tracking...for this reason for me is very important the drift! i'll the new roll pitch yaw!

    2014-08-23 1:24 GMT+02:00 Mike S notifications.com:

    Hi again

    Just wanted to confirm that there is nothing over and above in the processing GUI to improve the drift. The only thing in there is the complimentary altimeter code that I have not moved over to the Arduino yet.

    I did a little update to the Yaw-Pitch-Roll processing sketch that adds the same zeroing options that are in the GUI. So if you run into too much drift just zero it out. Still working on the best scheme to do auto zero the gyro and q when I see zero motion.

    Never did ask but what are you working on, if you would care to share.

    Have fun.

    Mike

    From: liso88 [mailto:notifications.com] Sent: Friday, August 22, 2014 6:52 AM To: mjs513/FreeIMU-Updates Cc: Mike S Subject: Re: [FreeIMU-Updates] huge drift (#3)

    Hi mike! thanks! You're the best! i've a win32, so i've to downloaded a win32 processing2.0b7 and works great! ask me if you need it! just another simple question.... if i use Free-Imu-cube the result is excellent! if i read Yaw pitch roll angles the drift very slow...but if i use the Yaw-pitch-roll processing sketch the result is completely different. why?is there in Processing-cubo-odo a function to reduce the drift, ore processing-cubo is only a graphic interface?

    thanks, for all! tommaso

    2014-08-21 4:35 GMT+02:00 Mike S notifications.com:

    Hi Tom

    Will take a look at. Thought you would like to know that I found the version of processing that will work with the GUI without having to try and install opengl 2.0 that the new version of processing requires. The version in 2.0b7. I uploaded it Github if you want to give it a try.

    Mike

    From: liso88 [mailto:notifications.com] Sent: Wednesday, August 20, 2014 6:27 AM To: mjs513/FreeIMU-Updates Cc: Mike S Subject: Re: [FreeIMU-Updates] huge drift (#3)

    Hi, in FreeImu.cpp at line 180 you should add

    //used for BMP085

    if HAS BMP085

    long Temperature = 0, Pressure = 0, Altitude = 0;

    endif

    otherwise you can't use more than one IMUs because there are multiple definitions of Temperature, Pressure and Altitude! Tom

    — Reply to this email directly or view it on GitHub <

    https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-52758208>

    . <

    https://github.com/notifications/beacon/5366213__eyJzY29wZSI6Ik5ld3NpZXM6QmVhY29uIiwiZXhwaXJlcyI6MTcyNDE0OTYzOSwiZGF0YSI6eyJpZCI6Mzk2ODc0NTR9fQ==--42e7917a41fb076b4b8aa673cfe9216402c709ae.gif>

    — Reply to this email directly or view it on GitHub <

    https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-52871736>

    .

    — Reply to this email directly or view it on GitHub <

    https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-53047462>

    . <

    https://github.com/notifications/beacon/5366213__eyJzY29wZSI6Ik5ld3NpZXM6QmVhY29uIiwiZXhwaXJlcyI6MTcyNDMyMzkxMywiZGF0YSI6eyJpZCI6Mzk2ODc0NTR9fQ==--b3d1bce2fe23c03a38144a0886c576f7c37cccf5.gif>

    — Reply to this email directly or view it on GitHub <

    https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-53133591>

    .

    — Reply to this email directly or view it on GitHub <

    https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-53187456>

    . <

    https://github.com/notifications/beacon/5366213__eyJzY29wZSI6Ik5ld3NpZXM6QmVhY29uIiwiZXhwaXJlcyI6MTcyNDQ5NTc1OCwiZGF0YSI6eyJpZCI6Mzk2ODc0NTR9fQ==--54a36b2ae111726e81d0770e03e5a5a98e9640b3.gif>

    — Reply to this email directly or view it on GitHub < https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-53187953>

    .

    — Reply to this email directly or view it on GitHub < https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-53188577> .

    — Reply to this email directly or view it on GitHub https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-53192425 .

    点赞 评论 复制链接分享
  • weixin_40009063 weixin_40009063 5月前

    Motion detect is independent of the attitude calculations. It is based on the calibrated acceleration and gyro values. So when the Zara/Zupt function detects zero motion you know that the IMU is not really moving even though you may be seeing yaw drift (typically pitch and roll is steady). One of the things that you would find if you do a web search long enough is that you will see the yaw drifting when the IMU is steady but when it is really in motion the angles would be correct. So in your application you could put a function in that if there is no motion ignore any changing readings and use the last reading when the IMU was in motion.

    If you do a google on zero velocity update you will find that it is used in pedestrian navigation. Read the reference link in the youtube video for more info.

    Hope this helps.

    Mike

    From: liso88 [mailto:notifications.com] Sent: Sunday, August 24, 2014 9:52 AM To: mjs513/FreeIMU-Updates Cc: Mike S Subject: Re: [FreeIMU-Updates] huge drift (#3)

    ok, perfect....but there is one thing that i don't understand...when do i use the motion detection function? when the sketch calculates Yaw Pitch and Roll, in

    ypr[0] = atan2(2 * q[1] * q[2] - 2 * q[0] * q[3], 2 * q[0]_q[0] + 2 * q[1] * q[1] - 1); ypr[1] = atan(gx / sqrt(gy_gy + gz_gz)); ypr[2] = atan(gy / sqrt(gx_gx + gz*gz));

    it use directly the result from arduino, infact q[] is the result of decodeFloat from the serial !

    void serialEvent(Serial p) { if(p.available() >= 17) { String inputString = p.readStringUntil('\n'); //print(inputString); if (inputString != null && inputString.length() > 0) { String [] inputStringArr = split(inputString, ","); if(inputStringArr.length >= 17) { // q1,q2,q3,q4,\r\n so we have 5 elements q[0] = decodeFloat(inputStringArr[0]); q[1] = decodeFloat(inputStringArr[1]); q[2] = decodeFloat(inputStringArr[2]); q[3] = decodeFloat(inputStringArr[3]);

    is right?

    how can i use motion detection?

    2014-08-24 15:14 GMT+02:00 Mike S notifications.com:

    Its in the MotionDetect.pde in in the exp1 GUI. On Aug 24, 2014 7:13 AM, "liso88" notifications.com wrote:

    yes, yes, excuse me, in the processing! wich is the tab ?

    2014-08-24 12:52 GMT+02:00 Mike S notifications.com:

    It’s in the processing GUI not in the library yet. Recommendation – depending on the noise in the system you may have to tweak the thresholds. Haven’t moved that over to the library yet. You will find it in one of the tabs.

    From: liso88 [mailto:notifications.com] Sent: Sunday, August 24, 2014 6:36 AM To: mjs513/FreeIMU-Updates Cc: Mike S Subject: Re: [FreeIMU-Updates] huge drift (#3)

    hi, just another little question....but in the library, which is the part that implement the zara/zupt filter?

    2014-08-23 12:32 GMT+02:00 Tommaso Lisini tommaso.lisini.com:

    Hi, i'm working on hand-gesture tracking...for this reason for me is very important the drift! i'll the new roll pitch yaw!

    2014-08-23 1:24 GMT+02:00 Mike S notifications.com:

    Hi again

    Just wanted to confirm that there is nothing over and above in the processing GUI to improve the drift. The only thing in there is the complimentary altimeter code that I have not moved over to the Arduino yet.

    I did a little update to the Yaw-Pitch-Roll processing sketch that adds the same zeroing options that are in the GUI. So if you run into too much drift just zero it out. Still working on the best scheme to do auto zero the gyro and q when I see zero motion.

    Never did ask but what are you working on, if you would care to share.

    Have fun.

    Mike

    From: liso88 [mailto:notifications.com] Sent: Friday, August 22, 2014 6:52 AM To: mjs513/FreeIMU-Updates Cc: Mike S Subject: Re: [FreeIMU-Updates] huge drift (#3)

    Hi mike! thanks! You're the best! i've a win32, so i've to downloaded a win32 processing2.0b7 and works great! ask me if you need it! just another simple question.... if i use Free-Imu-cube the result is excellent! if i read Yaw pitch roll angles the drift very slow...but if i use the Yaw-pitch-roll processing sketch the result is completely different. why?is there in Processing-cubo-odo a function to reduce the drift, ore processing-cubo is only a graphic interface?

    thanks, for all! tommaso

    2014-08-21 4:35 GMT+02:00 Mike S notifications.com:

    Hi Tom

    Will take a look at. Thought you would like to know that I found the version of processing that will work with the GUI without having to try and install opengl 2.0 that the new version of processing requires. The version in 2.0b7. I uploaded it Github if you want to give it a try.

    Mike

    From: liso88 [mailto:notifications.com] Sent: Wednesday, August 20, 2014 6:27 AM To: mjs513/FreeIMU-Updates Cc: Mike S Subject: Re: [FreeIMU-Updates] huge drift (#3)

    Hi, in FreeImu.cpp at line 180 you should add

    //used for BMP085

    if HAS BMP085

    long Temperature = 0, Pressure = 0, Altitude = 0;

    endif

    otherwise you can't use more than one IMUs because there are multiple definitions of Temperature, Pressure and Altitude! Tom

    — Reply to this email directly or view it on GitHub <

    https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-52758208>

    . <

    https://github.com/notifications/beacon/5366213__eyJzY29wZSI6Ik5ld3NpZXM6QmVhY29uIiwiZXhwaXJlcyI6MTcyNDE0OTYzOSwiZGF0YSI6eyJpZCI6Mzk2ODc0NTR9fQ==--42e7917a41fb076b4b8aa673cfe9216402c709ae.gif>

    — Reply to this email directly or view it on GitHub <

    https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-52871736>

    .

    — Reply to this email directly or view it on GitHub <

    https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-53047462>

    . <

    https://github.com/notifications/beacon/5366213__eyJzY29wZSI6Ik5ld3NpZXM6QmVhY29uIiwiZXhwaXJlcyI6MTcyNDMyMzkxMywiZGF0YSI6eyJpZCI6Mzk2ODc0NTR9fQ==--b3d1bce2fe23c03a38144a0886c576f7c37cccf5.gif>

    — Reply to this email directly or view it on GitHub <

    https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-53133591>

    .

    — Reply to this email directly or view it on GitHub <

    https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-53187456>

    . <

    https://github.com/notifications/beacon/5366213__eyJzY29wZSI6Ik5ld3NpZXM6QmVhY29uIiwiZXhwaXJlcyI6MTcyNDQ5NTc1OCwiZGF0YSI6eyJpZCI6Mzk2ODc0NTR9fQ==--54a36b2ae111726e81d0770e03e5a5a98e9640b3.gif>

    — Reply to this email directly or view it on GitHub < https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-53187953>

    .

    — Reply to this email directly or view it on GitHub < https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-53188577> .

    — Reply to this email directly or view it on GitHub https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-53192425 .

    — Reply to this email directly or view it on GitHub https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-53193757 . https://github.com/notifications/beacon/5366213__eyJzY29wZSI6Ik5ld3NpZXM6QmVhY29uIiwiZXhwaXJlcyI6MTcyNDUwNzQ5MywiZGF0YSI6eyJpZCI6Mzk2ODc0NTR9fQ==--f8eb9ab9402e002556182d09af86e7a7e5f0b7f2.gif

    点赞 评论 复制链接分享
  • weixin_39566773 weixin_39566773 5月前

    i'm trying to understand better the algorithm! in my case i've always movement ! boh is very strange....i've added a line that displays the result of Motion Detect function and its alway 1! PS in the serial sketch there is a little error

    for(int i = 0; i < = k_index; i++) { //Initialize Kalman Filters for 10 neighbors

    it has to be without the equal becouse we setted KalmanFilter kFilters[4]; int k_index = 4;

    if you fix this part you'll able to run also in arduino uno!

    best

    Tommaso

    2014-08-24 17:50 GMT+02:00 Mike S notifications.com:

    Motion detect is independent of the attitude calculations. It is based on the calibrated acceleration and gyro values. So when the Zara/Zupt function detects zero motion you know that the IMU is not really moving even though you may be seeing yaw drift (typically pitch and roll is steady). One of the things that you would find if you do a web search long enough is that you will see the yaw drifting when the IMU is steady but when it is really in motion the angles would be correct. So in your application you could put a function in that if there is no motion ignore any changing readings and use the last reading when the IMU was in motion.

    If you do a google on zero velocity update you will find that it is used in pedestrian navigation. Read the reference link in the youtube video for more info.

    Hope this helps.

    Mike

    From: liso88 [mailto:notifications.com] Sent: Sunday, August 24, 2014 9:52 AM To: mjs513/FreeIMU-Updates Cc: Mike S Subject: Re: [FreeIMU-Updates] huge drift (#3)

    ok, perfect....but there is one thing that i don't understand...when do i use the motion detection function? when the sketch calculates Yaw Pitch and Roll, in

    ypr[0] = atan2(2 * q[1] * q[2] - 2 * q[0] * q[3], 2 * q[0]_q[0] + 2 * q[1] * q[1] - 1); ypr[1] = atan(gx / sqrt(gy_gy + gz_gz)); ypr[2] = atan(gy / sqrt(gx_gx + gz*gz));

    it use directly the result from arduino, infact q[] is the result of decodeFloat from the serial !

    void serialEvent(Serial p) { if(p.available() >= 17) { String inputString = p.readStringUntil('\n'); //print(inputString); if (inputString != null && inputString.length() > 0) { String [] inputStringArr = split(inputString, ","); if(inputStringArr.length >= 17) { // q1,q2,q3,q4,\r\n so we have 5 elements q[0] = decodeFloat(inputStringArr[0]); q[1] = decodeFloat(inputStringArr[1]); q[2] = decodeFloat(inputStringArr[2]); q[3] = decodeFloat(inputStringArr[3]);

    is right?

    how can i use motion detection?

    2014-08-24 15:14 GMT+02:00 Mike S notifications.com:

    Its in the MotionDetect.pde in in the exp1 GUI. On Aug 24, 2014 7:13 AM, "liso88" notifications.com wrote:

    yes, yes, excuse me, in the processing! wich is the tab ?

    2014-08-24 12:52 GMT+02:00 Mike S notifications.com:

    It’s in the processing GUI not in the library yet. Recommendation – depending on the noise in the system you may have to tweak the thresholds. Haven’t moved that over to the library yet. You will find it in one of the tabs.

    From: liso88 [mailto:notifications.com] Sent: Sunday, August 24, 2014 6:36 AM To: mjs513/FreeIMU-Updates Cc: Mike S Subject: Re: [FreeIMU-Updates] huge drift (#3)

    hi, just another little question....but in the library, which is the part that implement the zara/zupt filter?

    2014-08-23 12:32 GMT+02:00 Tommaso Lisini tommaso.lisini.com:

    Hi, i'm working on hand-gesture tracking...for this reason for me is very important the drift! i'll the new roll pitch yaw!

    2014-08-23 1:24 GMT+02:00 Mike S notifications.com:

    Hi again

    Just wanted to confirm that there is nothing over and above in the processing GUI to improve the drift. The only thing in there is the complimentary altimeter code that I have not moved over to the Arduino yet.

    I did a little update to the Yaw-Pitch-Roll processing sketch that adds the same zeroing options that are in the GUI. So if you run into too much drift just zero it out. Still working on the best scheme to do auto zero the gyro and q when I see zero motion.

    Never did ask but what are you working on, if you would care to share.

    Have fun.

    Mike

    From: liso88 [mailto:notifications.com] Sent: Friday, August 22, 2014 6:52 AM To: mjs513/FreeIMU-Updates Cc: Mike S Subject: Re: [FreeIMU-Updates] huge drift (#3)

    Hi mike! thanks! You're the best! i've a win32, so i've to downloaded a win32 processing2.0b7 and works great! ask me if you need it! just another simple question.... if i use Free-Imu-cube the result is excellent! if i read Yaw pitch roll angles the drift very slow...but if i use the Yaw-pitch-roll processing sketch the result is completely different. why?is there in Processing-cubo-odo a function to reduce the drift, ore processing-cubo is only a graphic interface?

    thanks, for all! tommaso

    2014-08-21 4:35 GMT+02:00 Mike S notifications.com:

    Hi Tom

    Will take a look at. Thought you would like to know that I found the version of processing that will work with the GUI without having to try and install opengl 2.0 that the new version of processing requires. The version in 2.0b7. I uploaded it Github if you want to give it a try.

    Mike

    From: liso88 [mailto:notifications.com] Sent: Wednesday, August 20, 2014 6:27 AM To: mjs513/FreeIMU-Updates Cc: Mike S Subject: Re: [FreeIMU-Updates] huge drift (#3)

    Hi, in FreeImu.cpp at line 180 you should add

    //used for BMP085

    if HAS BMP085

    long Temperature = 0, Pressure = 0, Altitude = 0;

    endif

    otherwise you can't use more than one IMUs because there are multiple definitions of Temperature, Pressure and Altitude! Tom

    — Reply to this email directly or view it on GitHub <

    https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-52758208>

    . <

    https://github.com/notifications/beacon/5366213__eyJzY29wZSI6Ik5ld3NpZXM6QmVhY29uIiwiZXhwaXJlcyI6MTcyNDE0OTYzOSwiZGF0YSI6eyJpZCI6Mzk2ODc0NTR9fQ==--42e7917a41fb076b4b8aa673cfe9216402c709ae.gif>

    — Reply to this email directly or view it on GitHub <

    https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-52871736>

    .

    — Reply to this email directly or view it on GitHub <

    https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-53047462>

    . <

    https://github.com/notifications/beacon/5366213__eyJzY29wZSI6Ik5ld3NpZXM6QmVhY29uIiwiZXhwaXJlcyI6MTcyNDMyMzkxMywiZGF0YSI6eyJpZCI6Mzk2ODc0NTR9fQ==--b3d1bce2fe23c03a38144a0886c576f7c37cccf5.gif>

    — Reply to this email directly or view it on GitHub <

    https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-53133591>

    .

    — Reply to this email directly or view it on GitHub <

    https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-53187456>

    . <

    https://github.com/notifications/beacon/5366213__eyJzY29wZSI6Ik5ld3NpZXM6QmVhY29uIiwiZXhwaXJlcyI6MTcyNDQ5NTc1OCwiZGF0YSI6eyJpZCI6Mzk2ODc0NTR9fQ==--54a36b2ae111726e81d0770e03e5a5a98e9640b3.gif>

    — Reply to this email directly or view it on GitHub <

    https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-53187953>

    .

    — Reply to this email directly or view it on GitHub < https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-53188577>

    .

    — Reply to this email directly or view it on GitHub < https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-53192425> .

    — Reply to this email directly or view it on GitHub < https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-53193757> . < https://github.com/notifications/beacon/5366213__eyJzY29wZSI6Ik5ld3NpZXM6QmVhY29uIiwiZXhwaXJlcyI6MTcyNDUwNzQ5MywiZGF0YSI6eyJpZCI6Mzk2ODc0NTR9fQ==--f8eb9ab9402e002556182d09af86e7a7e5f0b7f2.gif>

    — Reply to this email directly or view it on GitHub https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-53197554 .

    点赞 评论 复制链接分享
  • weixin_39566773 weixin_39566773 5月前

    ok, now works! the problem was in the settings of HAS_MS5611...i 've forgotten to add to myboard... now i want to disable the yaw computation while the motion is zero! do you think that is a good idea to refresh the quaternions only if the motion detect is 1?

    2014-08-24 19:48 GMT+02:00 Tommaso Lisini tommaso.lisini.com:

    i'm trying to understand better the algorithm! in my case i've always movement ! boh is very strange....i've added a line that displays the result of Motion Detect function and its alway 1! PS in the serial sketch there is a little error

    for(int i = 0; i < = k_index; i++) { //Initialize Kalman Filters for 10 neighbors

    it has to be without the equal becouse we setted KalmanFilter kFilters[4]; int k_index = 4;

    if you fix this part you'll able to run also in arduino uno!

    best

    Tommaso

    2014-08-24 17:50 GMT+02:00 Mike S notifications.com:

    Motion detect is independent of the attitude calculations. It is based on

    the calibrated acceleration and gyro values. So when the Zara/Zupt function detects zero motion you know that the IMU is not really moving even though you may be seeing yaw drift (typically pitch and roll is steady). One of the things that you would find if you do a web search long enough is that you will see the yaw drifting when the IMU is steady but when it is really in motion the angles would be correct. So in your application you could put a function in that if there is no motion ignore any changing readings and use the last reading when the IMU was in motion.

    If you do a google on zero velocity update you will find that it is used in pedestrian navigation. Read the reference link in the youtube video for more info.

    Hope this helps.

    Mike

    From: liso88 [mailto:notifications.com] Sent: Sunday, August 24, 2014 9:52 AM To: mjs513/FreeIMU-Updates Cc: Mike S Subject: Re: [FreeIMU-Updates] huge drift (#3)

    ok, perfect....but there is one thing that i don't understand...when do i use the motion detection function? when the sketch calculates Yaw Pitch and Roll, in

    ypr[0] = atan2(2 * q[1] * q[2] - 2 * q[0] * q[3], 2 * q[0]_q[0] + 2 * q[1] * q[1] - 1); ypr[1] = atan(gx / sqrt(gy_gy + gz_gz)); ypr[2] = atan(gy / sqrt(gx_gx + gz*gz));

    it use directly the result from arduino, infact q[] is the result of decodeFloat from the serial !

    void serialEvent(Serial p) { if(p.available() >= 17) { String inputString = p.readStringUntil('\n'); //print(inputString); if (inputString != null && inputString.length() > 0) { String [] inputStringArr = split(inputString, ","); if(inputStringArr.length >= 17) { // q1,q2,q3,q4,\r\n so we have 5 elements q[0] = decodeFloat(inputStringArr[0]); q[1] = decodeFloat(inputStringArr[1]); q[2] = decodeFloat(inputStringArr[2]); q[3] = decodeFloat(inputStringArr[3]);

    is right?

    how can i use motion detection?

    2014-08-24 15:14 GMT+02:00 Mike S notifications.com:

    Its in the MotionDetect.pde in in the exp1 GUI. On Aug 24, 2014 7:13 AM, "liso88" notifications.com wrote:

    yes, yes, excuse me, in the processing! wich is the tab ?

    2014-08-24 12:52 GMT+02:00 Mike S notifications.com:

    It’s in the processing GUI not in the library yet. Recommendation – depending on the noise in the system you may have to tweak the thresholds. Haven’t moved that over to the library yet. You will find it in one of the tabs.

    From: liso88 [mailto:notifications.com] Sent: Sunday, August 24, 2014 6:36 AM To: mjs513/FreeIMU-Updates Cc: Mike S Subject: Re: [FreeIMU-Updates] huge drift (#3)

    hi, just another little question....but in the library, which is the part that implement the zara/zupt filter?

    2014-08-23 12:32 GMT+02:00 Tommaso Lisini tommaso.lisini.com:

    Hi, i'm working on hand-gesture tracking...for this reason for me is very important the drift! i'll the new roll pitch yaw!

    2014-08-23 1:24 GMT+02:00 Mike S notifications.com:

    Hi again

    Just wanted to confirm that there is nothing over and above in the processing GUI to improve the drift. The only thing in there is the complimentary altimeter code that I have not moved over to the Arduino yet.

    I did a little update to the Yaw-Pitch-Roll processing sketch that adds the same zeroing options that are in the GUI. So if you run into too much drift just zero it out. Still working on the best scheme to do auto zero the gyro and q when I see zero motion.

    Never did ask but what are you working on, if you would care to share.

    Have fun.

    Mike

    From: liso88 [mailto:notifications.com] Sent: Friday, August 22, 2014 6:52 AM To: mjs513/FreeIMU-Updates Cc: Mike S Subject: Re: [FreeIMU-Updates] huge drift (#3)

    Hi mike! thanks! You're the best! i've a win32, so i've to downloaded a win32 processing2.0b7 and works great! ask me if you need it! just another simple question.... if i use Free-Imu-cube the result is excellent! if i read Yaw pitch roll angles the drift very slow...but if i use the Yaw-pitch-roll processing sketch the result is completely different. why?is there in Processing-cubo-odo a function to reduce the drift, ore processing-cubo is only a graphic interface?

    thanks, for all! tommaso

    2014-08-21 4:35 GMT+02:00 Mike S notifications.com:

    Hi Tom

    Will take a look at. Thought you would like to know that I found the version of processing that will work with the GUI without having to try and install opengl 2.0 that the new version of processing requires. The version in 2.0b7. I uploaded it Github if you want to give it a try.

    Mike

    From: liso88 [mailto:notifications.com] Sent: Wednesday, August 20, 2014 6:27 AM To: mjs513/FreeIMU-Updates Cc: Mike S Subject: Re: [FreeIMU-Updates] huge drift (#3)

    Hi, in FreeImu.cpp at line 180 you should add

    //used for BMP085

    if HAS BMP085

    long Temperature = 0, Pressure = 0, Altitude = 0;

    endif

    otherwise you can't use more than one IMUs because there are multiple definitions of Temperature, Pressure and Altitude! Tom

    — Reply to this email directly or view it on GitHub <

    https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-52758208>

    . <

    https://github.com/notifications/beacon/5366213__eyJzY29wZSI6Ik5ld3NpZXM6QmVhY29uIiwiZXhwaXJlcyI6MTcyNDE0OTYzOSwiZGF0YSI6eyJpZCI6Mzk2ODc0NTR9fQ==--42e7917a41fb076b4b8aa673cfe9216402c709ae.gif>

    — Reply to this email directly or view it on GitHub <

    https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-52871736>

    .

    — Reply to this email directly or view it on GitHub <

    https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-53047462>

    . <

    https://github.com/notifications/beacon/5366213__eyJzY29wZSI6Ik5ld3NpZXM6QmVhY29uIiwiZXhwaXJlcyI6MTcyNDMyMzkxMywiZGF0YSI6eyJpZCI6Mzk2ODc0NTR9fQ==--b3d1bce2fe23c03a38144a0886c576f7c37cccf5.gif>

    — Reply to this email directly or view it on GitHub <

    https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-53133591>

    .

    — Reply to this email directly or view it on GitHub <

    https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-53187456>

    . <

    https://github.com/notifications/beacon/5366213__eyJzY29wZSI6Ik5ld3NpZXM6QmVhY29uIiwiZXhwaXJlcyI6MTcyNDQ5NTc1OCwiZGF0YSI6eyJpZCI6Mzk2ODc0NTR9fQ==--54a36b2ae111726e81d0770e03e5a5a98e9640b3.gif>

    — Reply to this email directly or view it on GitHub <

    https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-53187953>

    .

    — Reply to this email directly or view it on GitHub <

    https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-53188577>

    .

    — Reply to this email directly or view it on GitHub < https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-53192425>

    .

    — Reply to this email directly or view it on GitHub < https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-53193757> . < https://github.com/notifications/beacon/5366213__eyJzY29wZSI6Ik5ld3NpZXM6QmVhY29uIiwiZXhwaXJlcyI6MTcyNDUwNzQ5MywiZGF0YSI6eyJpZCI6Mzk2ODc0NTR9fQ==--f8eb9ab9402e002556182d09af86e7a7e5f0b7f2.gif>

    — Reply to this email directly or view it on GitHub https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-53197554 .

    点赞 评论 复制链接分享
  • weixin_40009063 weixin_40009063 5月前

    Glad you got it working. That is definitely one approach you could take for your application. I would do a little testing.

    From: liso88 [mailto:notifications.com] Sent: Sunday, August 24, 2014 2:56 PM To: mjs513/FreeIMU-Updates Cc: Mike S Subject: Re: [FreeIMU-Updates] huge drift (#3)

    ok, now works! the problem was in the settings of HAS_MS5611...i 've forgotten to add to myboard... now i want to disable the yaw computation while the motion is zero! do you think that is a good idea to refresh the quaternions only if the motion detect is 1?

    2014-08-24 19:48 GMT+02:00 Tommaso Lisini tommaso.lisini.com:

    i'm trying to understand better the algorithm! in my case i've always movement ! boh is very strange....i've added a line that displays the result of Motion Detect function and its alway 1! PS in the serial sketch there is a little error

    for(int i = 0; i < = k_index; i++) { //Initialize Kalman Filters for 10 neighbors

    it has to be without the equal becouse we setted KalmanFilter kFilters[4]; int k_index = 4;

    if you fix this part you'll able to run also in arduino uno!

    best

    Tommaso

    2014-08-24 17:50 GMT+02:00 Mike S notifications.com:

    Motion detect is independent of the attitude calculations. It is based on

    the calibrated acceleration and gyro values. So when the Zara/Zupt function detects zero motion you know that the IMU is not really moving even though you may be seeing yaw drift (typically pitch and roll is steady). One of the things that you would find if you do a web search long enough is that you will see the yaw drifting when the IMU is steady but when it is really in motion the angles would be correct. So in your application you could put a function in that if there is no motion ignore any changing readings and use the last reading when the IMU was in motion.

    If you do a google on zero velocity update you will find that it is used in pedestrian navigation. Read the reference link in the youtube video for more info.

    Hope this helps.

    Mike

    From: liso88 [mailto:notifications.com] Sent: Sunday, August 24, 2014 9:52 AM To: mjs513/FreeIMU-Updates Cc: Mike S Subject: Re: [FreeIMU-Updates] huge drift (#3)

    ok, perfect....but there is one thing that i don't understand...when do i use the motion detection function? when the sketch calculates Yaw Pitch and Roll, in

    ypr[0] = atan2(2 * q[1] * q[2] - 2 * q[0] * q[3], 2 * q[0]_q[0] + 2 * q[1] * q[1] - 1); ypr[1] = atan(gx / sqrt(gy_gy + gz_gz)); ypr[2] = atan(gy / sqrt(gx_gx + gz*gz));

    it use directly the result from arduino, infact q[] is the result of decodeFloat from the serial !

    void serialEvent(Serial p) { if(p.available() >= 17) { String inputString = p.readStringUntil('\n'); //print(inputString); if (inputString != null && inputString.length() > 0) { String [] inputStringArr = split(inputString, ","); if(inputStringArr.length >= 17) { // q1,q2,q3,q4,\r\n so we have 5 elements q[0] = decodeFloat(inputStringArr[0]); q[1] = decodeFloat(inputStringArr[1]); q[2] = decodeFloat(inputStringArr[2]); q[3] = decodeFloat(inputStringArr[3]);

    is right?

    how can i use motion detection?

    2014-08-24 15:14 GMT+02:00 Mike S notifications.com:

    Its in the MotionDetect.pde in in the exp1 GUI. On Aug 24, 2014 7:13 AM, "liso88" notifications.com wrote:

    yes, yes, excuse me, in the processing! wich is the tab ?

    2014-08-24 12:52 GMT+02:00 Mike S notifications.com:

    It’s in the processing GUI not in the library yet. Recommendation – depending on the noise in the system you may have to tweak the thresholds. Haven’t moved that over to the library yet. You will find it in one of the tabs.

    From: liso88 [mailto:notifications.com] Sent: Sunday, August 24, 2014 6:36 AM To: mjs513/FreeIMU-Updates Cc: Mike S Subject: Re: [FreeIMU-Updates] huge drift (#3)

    hi, just another little question....but in the library, which is the part that implement the zara/zupt filter?

    2014-08-23 12:32 GMT+02:00 Tommaso Lisini tommaso.lisini.com:

    Hi, i'm working on hand-gesture tracking...for this reason for me is very important the drift! i'll the new roll pitch yaw!

    2014-08-23 1:24 GMT+02:00 Mike S notifications.com:

    Hi again

    Just wanted to confirm that there is nothing over and above in the processing GUI to improve the drift. The only thing in there is the complimentary altimeter code that I have not moved over to the Arduino yet.

    I did a little update to the Yaw-Pitch-Roll processing sketch that adds the same zeroing options that are in the GUI. So if you run into too much drift just zero it out. Still working on the best scheme to do auto zero the gyro and q when I see zero motion.

    Never did ask but what are you working on, if you would care to share.

    Have fun.

    Mike

    From: liso88 [mailto:notifications.com] Sent: Friday, August 22, 2014 6:52 AM To: mjs513/FreeIMU-Updates Cc: Mike S Subject: Re: [FreeIMU-Updates] huge drift (#3)

    Hi mike! thanks! You're the best! i've a win32, so i've to downloaded a win32 processing2.0b7 and works great! ask me if you need it! just another simple question.... if i use Free-Imu-cube the result is excellent! if i read Yaw pitch roll angles the drift very slow...but if i use the Yaw-pitch-roll processing sketch the result is completely different. why?is there in Processing-cubo-odo a function to reduce the drift, ore processing-cubo is only a graphic interface?

    thanks, for all! tommaso

    2014-08-21 4:35 GMT+02:00 Mike S notifications.com:

    Hi Tom

    Will take a look at. Thought you would like to know that I found the version of processing that will work with the GUI without having to try and install opengl 2.0 that the new version of processing requires. The version in 2.0b7. I uploaded it Github if you want to give it a try.

    Mike

    From: liso88 [mailto:notifications.com] Sent: Wednesday, August 20, 2014 6:27 AM To: mjs513/FreeIMU-Updates Cc: Mike S Subject: Re: [FreeIMU-Updates] huge drift (#3)

    Hi, in FreeImu.cpp at line 180 you should add

    //used for BMP085

    if HAS BMP085

    long Temperature = 0, Pressure = 0, Altitude = 0;

    endif

    otherwise you can't use more than one IMUs because there are multiple definitions of Temperature, Pressure and Altitude! Tom

    — Reply to this email directly or view it on GitHub <

    https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-52758208>

    . <

    https://github.com/notifications/beacon/5366213__eyJzY29wZSI6Ik5ld3NpZXM6QmVhY29uIiwiZXhwaXJlcyI6MTcyNDE0OTYzOSwiZGF0YSI6eyJpZCI6Mzk2ODc0NTR9fQ==--42e7917a41fb076b4b8aa673cfe9216402c709ae.gif>

    — Reply to this email directly or view it on GitHub <

    https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-52871736>

    .

    — Reply to this email directly or view it on GitHub <

    https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-53047462>

    . <

    https://github.com/notifications/beacon/5366213__eyJzY29wZSI6Ik5ld3NpZXM6QmVhY29uIiwiZXhwaXJlcyI6MTcyNDMyMzkxMywiZGF0YSI6eyJpZCI6Mzk2ODc0NTR9fQ==--b3d1bce2fe23c03a38144a0886c576f7c37cccf5.gif>

    — Reply to this email directly or view it on GitHub <

    https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-53133591>

    .

    — Reply to this email directly or view it on GitHub <

    https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-53187456>

    . <

    https://github.com/notifications/beacon/5366213__eyJzY29wZSI6Ik5ld3NpZXM6QmVhY29uIiwiZXhwaXJlcyI6MTcyNDQ5NTc1OCwiZGF0YSI6eyJpZCI6Mzk2ODc0NTR9fQ==--54a36b2ae111726e81d0770e03e5a5a98e9640b3.gif>

    — Reply to this email directly or view it on GitHub <

    https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-53187953>

    .

    — Reply to this email directly or view it on GitHub <

    https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-53188577>

    .

    — Reply to this email directly or view it on GitHub < https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-53192425>

    .

    — Reply to this email directly or view it on GitHub < https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-53193757> . < https://github.com/notifications/beacon/5366213__eyJzY29wZSI6Ik5ld3NpZXM6QmVhY29uIiwiZXhwaXJlcyI6MTcyNDUwNzQ5MywiZGF0YSI6eyJpZCI6Mzk2ODc0NTR9fQ==--f8eb9ab9402e002556182d09af86e7a7e5f0b7f2.gif>

    — Reply to this email directly or view it on GitHub https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-53197554 .

    — Reply to this email directly or view it on GitHub https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-53203063 . https://github.com/notifications/beacon/5366213__eyJzY29wZSI6Ik5ld3NpZXM6QmVhY29uIiwiZXhwaXJlcyI6MTcyNDUyNTczOCwiZGF0YSI6eyJpZCI6Mzk2ODc0NTR9fQ==--33ec673e467856a820ab79fb7a1e546eabe8a17a.gif

    点赞 评论 复制链接分享
  • weixin_40009063 weixin_40009063 5月前

    Just looked at the code again and you are correct – should be i<k_index. Will fix and post.

    From: liso88 [mailto:notifications.com] Sent: Sunday, August 24, 2014 1:49 PM To: mjs513/FreeIMU-Updates Cc: Mike S Subject: Re: [FreeIMU-Updates] huge drift (#3)

    i'm trying to understand better the algorithm! in my case i've always movement ! boh is very strange....i've added a line that displays the result of Motion Detect function and its alway 1! PS in the serial sketch there is a little error

    for(int i = 0; i < = k_index; i++) { //Initialize Kalman Filters for 10 neighbors

    it has to be without the equal becouse we setted KalmanFilter kFilters[4]; int k_index = 4;

    if you fix this part you'll able to run also in arduino uno!

    best

    Tommaso

    2014-08-24 17:50 GMT+02:00 Mike S notifications.com:

    Motion detect is independent of the attitude calculations. It is based on the calibrated acceleration and gyro values. So when the Zara/Zupt function detects zero motion you know that the IMU is not really moving even though you may be seeing yaw drift (typically pitch and roll is steady). One of the things that you would find if you do a web search long enough is that you will see the yaw drifting when the IMU is steady but when it is really in motion the angles would be correct. So in your application you could put a function in that if there is no motion ignore any changing readings and use the last reading when the IMU was in motion.

    If you do a google on zero velocity update you will find that it is used in pedestrian navigation. Read the reference link in the youtube video for more info.

    Hope this helps.

    Mike

    From: liso88 [mailto:notifications.com] Sent: Sunday, August 24, 2014 9:52 AM To: mjs513/FreeIMU-Updates Cc: Mike S Subject: Re: [FreeIMU-Updates] huge drift (#3)

    ok, perfect....but there is one thing that i don't understand...when do i use the motion detection function? when the sketch calculates Yaw Pitch and Roll, in

    ypr[0] = atan2(2 * q[1] * q[2] - 2 * q[0] * q[3], 2 * q[0]_q[0] + 2 * q[1] * q[1] - 1); ypr[1] = atan(gx / sqrt(gy_gy + gz_gz)); ypr[2] = atan(gy / sqrt(gx_gx + gz*gz));

    it use directly the result from arduino, infact q[] is the result of decodeFloat from the serial !

    void serialEvent(Serial p) { if(p.available() >= 17) { String inputString = p.readStringUntil('\n'); //print(inputString); if (inputString != null && inputString.length() > 0) { String [] inputStringArr = split(inputString, ","); if(inputStringArr.length >= 17) { // q1,q2,q3,q4,\r\n so we have 5 elements q[0] = decodeFloat(inputStringArr[0]); q[1] = decodeFloat(inputStringArr[1]); q[2] = decodeFloat(inputStringArr[2]); q[3] = decodeFloat(inputStringArr[3]);

    is right?

    how can i use motion detection?

    2014-08-24 15:14 GMT+02:00 Mike S notifications.com:

    Its in the MotionDetect.pde in in the exp1 GUI. On Aug 24, 2014 7:13 AM, "liso88" notifications.com wrote:

    yes, yes, excuse me, in the processing! wich is the tab ?

    2014-08-24 12:52 GMT+02:00 Mike S notifications.com:

    It’s in the processing GUI not in the library yet. Recommendation – depending on the noise in the system you may have to tweak the thresholds. Haven’t moved that over to the library yet. You will find it in one of the tabs.

    From: liso88 [mailto:notifications.com] Sent: Sunday, August 24, 2014 6:36 AM To: mjs513/FreeIMU-Updates Cc: Mike S Subject: Re: [FreeIMU-Updates] huge drift (#3)

    hi, just another little question....but in the library, which is the part that implement the zara/zupt filter?

    2014-08-23 12:32 GMT+02:00 Tommaso Lisini tommaso.lisini.com:

    Hi, i'm working on hand-gesture tracking...for this reason for me is very important the drift! i'll the new roll pitch yaw!

    2014-08-23 1:24 GMT+02:00 Mike S notifications.com:

    Hi again

    Just wanted to confirm that there is nothing over and above in the processing GUI to improve the drift. The only thing in there is the complimentary altimeter code that I have not moved over to the Arduino yet.

    I did a little update to the Yaw-Pitch-Roll processing sketch that adds the same zeroing options that are in the GUI. So if you run into too much drift just zero it out. Still working on the best scheme to do auto zero the gyro and q when I see zero motion.

    Never did ask but what are you working on, if you would care to share.

    Have fun.

    Mike

    From: liso88 [mailto:notifications.com] Sent: Friday, August 22, 2014 6:52 AM To: mjs513/FreeIMU-Updates Cc: Mike S Subject: Re: [FreeIMU-Updates] huge drift (#3)

    Hi mike! thanks! You're the best! i've a win32, so i've to downloaded a win32 processing2.0b7 and works great! ask me if you need it! just another simple question.... if i use Free-Imu-cube the result is excellent! if i read Yaw pitch roll angles the drift very slow...but if i use the Yaw-pitch-roll processing sketch the result is completely different. why?is there in Processing-cubo-odo a function to reduce the drift, ore processing-cubo is only a graphic interface?

    thanks, for all! tommaso

    2014-08-21 4:35 GMT+02:00 Mike S notifications.com:

    Hi Tom

    Will take a look at. Thought you would like to know that I found the version of processing that will work with the GUI without having to try and install opengl 2.0 that the new version of processing requires. The version in 2.0b7. I uploaded it Github if you want to give it a try.

    Mike

    From: liso88 [mailto:notifications.com] Sent: Wednesday, August 20, 2014 6:27 AM To: mjs513/FreeIMU-Updates Cc: Mike S Subject: Re: [FreeIMU-Updates] huge drift (#3)

    Hi, in FreeImu.cpp at line 180 you should add

    //used for BMP085

    if HAS BMP085

    long Temperature = 0, Pressure = 0, Altitude = 0;

    endif

    otherwise you can't use more than one IMUs because there are multiple definitions of Temperature, Pressure and Altitude! Tom

    — Reply to this email directly or view it on GitHub <

    https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-52758208>

    . <

    https://github.com/notifications/beacon/5366213__eyJzY29wZSI6Ik5ld3NpZXM6QmVhY29uIiwiZXhwaXJlcyI6MTcyNDE0OTYzOSwiZGF0YSI6eyJpZCI6Mzk2ODc0NTR9fQ==--42e7917a41fb076b4b8aa673cfe9216402c709ae.gif>

    — Reply to this email directly or view it on GitHub <

    https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-52871736>

    .

    — Reply to this email directly or view it on GitHub <

    https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-53047462>

    . <

    https://github.com/notifications/beacon/5366213__eyJzY29wZSI6Ik5ld3NpZXM6QmVhY29uIiwiZXhwaXJlcyI6MTcyNDMyMzkxMywiZGF0YSI6eyJpZCI6Mzk2ODc0NTR9fQ==--b3d1bce2fe23c03a38144a0886c576f7c37cccf5.gif>

    — Reply to this email directly or view it on GitHub <

    https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-53133591>

    .

    — Reply to this email directly or view it on GitHub <

    https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-53187456>

    . <

    https://github.com/notifications/beacon/5366213__eyJzY29wZSI6Ik5ld3NpZXM6QmVhY29uIiwiZXhwaXJlcyI6MTcyNDQ5NTc1OCwiZGF0YSI6eyJpZCI6Mzk2ODc0NTR9fQ==--54a36b2ae111726e81d0770e03e5a5a98e9640b3.gif>

    — Reply to this email directly or view it on GitHub <

    https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-53187953>

    .

    — Reply to this email directly or view it on GitHub < https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-53188577>

    .

    — Reply to this email directly or view it on GitHub < https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-53192425> .

    — Reply to this email directly or view it on GitHub < https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-53193757> . < https://github.com/notifications/beacon/5366213__eyJzY29wZSI6Ik5ld3NpZXM6QmVhY29uIiwiZXhwaXJlcyI6MTcyNDUwNzQ5MywiZGF0YSI6eyJpZCI6Mzk2ODc0NTR9fQ==--f8eb9ab9402e002556182d09af86e7a7e5f0b7f2.gif>

    — Reply to this email directly or view it on GitHub https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-53197554 .

    — Reply to this email directly or view it on GitHub https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-53201166 . https://github.com/notifications/beacon/5366213__eyJzY29wZSI6Ik5ld3NpZXM6QmVhY29uIiwiZXhwaXJlcyI6MTcyNDUyMTczNCwiZGF0YSI6eyJpZCI6Mzk2ODc0NTR9fQ==--2f6499851d6ae3e812f7ee228a7021048e568cbd.gif

    点赞 评论 复制链接分享
  • weixin_39566773 weixin_39566773 5月前

    Hi Mike, i'm trying to convert your Motion Detect code to arduino, and then i wanna make a header file for the library, just a question, where do you found the algorithm? do you have a paper, reference or something like that? i've to do a relationship on this work so if i've a way to cite some articles is better!

    grateful

    Tommaso

    2014-08-24 23:13 GMT+02:00 Mike S notifications.com:

    Just looked at the code again and you are correct – should be i<k_index. Will fix and post.

    From: liso88 [mailto:notifications.com] Sent: Sunday, August 24, 2014 1:49 PM To: mjs513/FreeIMU-Updates Cc: Mike S Subject: Re: [FreeIMU-Updates] huge drift (#3)

    i'm trying to understand better the algorithm! in my case i've always movement ! boh is very strange....i've added a line that displays the result of Motion Detect function and its alway 1! PS in the serial sketch there is a little error

    for(int i = 0; i < = k_index; i++) { //Initialize Kalman Filters for 10 neighbors

    it has to be without the equal becouse we setted KalmanFilter kFilters[4]; int k_index = 4;

    if you fix this part you'll able to run also in arduino uno!

    best

    Tommaso

    2014-08-24 17:50 GMT+02:00 Mike S notifications.com:

    Motion detect is independent of the attitude calculations. It is based on the calibrated acceleration and gyro values. So when the Zara/Zupt function detects zero motion you know that the IMU is not really moving even though you may be seeing yaw drift (typically pitch and roll is steady). One of the things that you would find if you do a web search long enough is that you will see the yaw drifting when the IMU is steady but when it is really in motion the angles would be correct. So in your application you could put a function in that if there is no motion ignore any changing readings and use the last reading when the IMU was in motion.

    If you do a google on zero velocity update you will find that it is used in pedestrian navigation. Read the reference link in the youtube video for more info.

    Hope this helps.

    Mike

    From: liso88 [mailto:notifications.com] Sent: Sunday, August 24, 2014 9:52 AM To: mjs513/FreeIMU-Updates Cc: Mike S Subject: Re: [FreeIMU-Updates] huge drift (#3)

    ok, perfect....but there is one thing that i don't understand...when do i use the motion detection function? when the sketch calculates Yaw Pitch and Roll, in

    ypr[0] = atan2(2 * q[1] * q[2] - 2 * q[0] * q[3], 2 * q[0]_q[0] + 2 * q[1] * q[1] - 1); ypr[1] = atan(gx / sqrt(gy_gy + gz_gz)); ypr[2] = atan(gy / sqrt(gx_gx + gz*gz));

    it use directly the result from arduino, infact q[] is the result of decodeFloat from the serial !

    void serialEvent(Serial p) { if(p.available() >= 17) { String inputString = p.readStringUntil('\n'); //print(inputString); if (inputString != null && inputString.length() > 0) { String [] inputStringArr = split(inputString, ","); if(inputStringArr.length >= 17) { // q1,q2,q3,q4,\r\n so we have 5 elements q[0] = decodeFloat(inputStringArr[0]); q[1] = decodeFloat(inputStringArr[1]); q[2] = decodeFloat(inputStringArr[2]); q[3] = decodeFloat(inputStringArr[3]);

    is right?

    how can i use motion detection?

    2014-08-24 15:14 GMT+02:00 Mike S notifications.com:

    Its in the MotionDetect.pde in in the exp1 GUI. On Aug 24, 2014 7:13 AM, "liso88" notifications.com wrote:

    yes, yes, excuse me, in the processing! wich is the tab ?

    2014-08-24 12:52 GMT+02:00 Mike S notifications.com:

    It’s in the processing GUI not in the library yet. Recommendation – depending on the noise in the system you may have to tweak the thresholds. Haven’t moved that over to the library yet. You will find it in one of the tabs.

    From: liso88 [mailto:notifications.com] Sent: Sunday, August 24, 2014 6:36 AM To: mjs513/FreeIMU-Updates Cc: Mike S Subject: Re: [FreeIMU-Updates] huge drift (#3)

    hi, just another little question....but in the library, which is the part that implement the zara/zupt filter?

    2014-08-23 12:32 GMT+02:00 Tommaso Lisini < tommaso.lisini.com>:

    Hi, i'm working on hand-gesture tracking...for this reason for me is very important the drift! i'll the new roll pitch yaw!

    2014-08-23 1:24 GMT+02:00 Mike S notifications.com:

    Hi again

    Just wanted to confirm that there is nothing over and above in the processing GUI to improve the drift. The only thing in there is the complimentary altimeter code that I have not moved over to the Arduino yet.

    I did a little update to the Yaw-Pitch-Roll processing sketch that adds the same zeroing options that are in the GUI. So if you run into too much drift just zero it out. Still working on the best scheme to do auto zero the gyro and q when I see zero motion.

    Never did ask but what are you working on, if you would care to share.

    Have fun.

    Mike

    From: liso88 [mailto:notifications.com] Sent: Friday, August 22, 2014 6:52 AM To: mjs513/FreeIMU-Updates Cc: Mike S Subject: Re: [FreeIMU-Updates] huge drift (#3)

    Hi mike! thanks! You're the best! i've a win32, so i've to downloaded a win32 processing2.0b7 and works great! ask me if you need it! just another simple question.... if i use Free-Imu-cube the result is excellent! if i read Yaw pitch roll angles the drift very slow...but if i use the Yaw-pitch-roll processing sketch the result is completely different. why?is there in Processing-cubo-odo a function to reduce the drift, ore processing-cubo is only a graphic interface?

    thanks, for all! tommaso

    2014-08-21 4:35 GMT+02:00 Mike S notifications.com:

    Hi Tom

    Will take a look at. Thought you would like to know that I found the version of processing that will work with the GUI without having to try and install opengl 2.0 that the new version of processing requires. The version in 2.0b7. I uploaded it Github if you want to give it a try.

    Mike

    From: liso88 [mailto:notifications.com] Sent: Wednesday, August 20, 2014 6:27 AM To: mjs513/FreeIMU-Updates Cc: Mike S Subject: Re: [FreeIMU-Updates] huge drift (#3)

    Hi, in FreeImu.cpp at line 180 you should add

    //used for BMP085

    if HAS BMP085

    long Temperature = 0, Pressure = 0, Altitude = 0;

    endif

    otherwise you can't use more than one IMUs because there are multiple definitions of Temperature, Pressure and Altitude! Tom

    — Reply to this email directly or view it on GitHub <

    https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-52758208>

    . <

    https://github.com/notifications/beacon/5366213__eyJzY29wZSI6Ik5ld3NpZXM6QmVhY29uIiwiZXhwaXJlcyI6MTcyNDE0OTYzOSwiZGF0YSI6eyJpZCI6Mzk2ODc0NTR9fQ==--42e7917a41fb076b4b8aa673cfe9216402c709ae.gif>

    — Reply to this email directly or view it on GitHub <

    https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-52871736>

    .

    — Reply to this email directly or view it on GitHub <

    https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-53047462>

    . <

    https://github.com/notifications/beacon/5366213__eyJzY29wZSI6Ik5ld3NpZXM6QmVhY29uIiwiZXhwaXJlcyI6MTcyNDMyMzkxMywiZGF0YSI6eyJpZCI6Mzk2ODc0NTR9fQ==--b3d1bce2fe23c03a38144a0886c576f7c37cccf5.gif>

    — Reply to this email directly or view it on GitHub <

    https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-53133591>

    .

    — Reply to this email directly or view it on GitHub <

    https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-53187456>

    . <

    https://github.com/notifications/beacon/5366213__eyJzY29wZSI6Ik5ld3NpZXM6QmVhY29uIiwiZXhwaXJlcyI6MTcyNDQ5NTc1OCwiZGF0YSI6eyJpZCI6Mzk2ODc0NTR9fQ==--54a36b2ae111726e81d0770e03e5a5a98e9640b3.gif>

    — Reply to this email directly or view it on GitHub <

    https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-53187953>

    .

    — Reply to this email directly or view it on GitHub <

    https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-53188577>

    .

    — Reply to this email directly or view it on GitHub < https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-53192425>

    .

    — Reply to this email directly or view it on GitHub < https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-53193757>

    . <

    https://github.com/notifications/beacon/5366213__eyJzY29wZSI6Ik5ld3NpZXM6QmVhY29uIiwiZXhwaXJlcyI6MTcyNDUwNzQ5MywiZGF0YSI6eyJpZCI6Mzk2ODc0NTR9fQ==--f8eb9ab9402e002556182d09af86e7a7e5f0b7f2.gif>

    — Reply to this email directly or view it on GitHub < https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-53197554> .

    — Reply to this email directly or view it on GitHub < https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-53201166> . < https://github.com/notifications/beacon/5366213__eyJzY29wZSI6Ik5ld3NpZXM6QmVhY29uIiwiZXhwaXJlcyI6MTcyNDUyMTczNCwiZGF0YSI6eyJpZCI6Mzk2ODc0NTR9fQ==--2f6499851d6ae3e812f7ee228a7021048e568cbd.gif>

    — Reply to this email directly or view it on GitHub https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-53209021 .

    点赞 评论 复制链接分享
  • weixin_40009063 weixin_40009063 5月前

    Hi Tommaso

    This is what I posted on youtube for reference: A couple of suggestions off the top of my head: (1) make sure u have done a good calibration on the board - see a couple of links I already posted on how to do that, (2) make sure when u start up that the imu is steady, (3) try send a "q" command a couple of times with some time in between or a "r" command (note - just enter a r or q from the GUI, r will reset the quaternion matrix while q will send a reset command to the imitation, (4) I got my best results using a temp calibration. Also there is description file that I uploaded that explains some of the added commands. One other thing after using that calibration GUI make sure u move the file to the freeimu sketch folder and reload.

    There is an error in what I posted - if you look at one of my responses to the other posters on youtube it addresses some of these same issues: Here are a couple of things for you to try: (1) hit the "1" key - this resets the mpu, (2) hit the "2" key - this resets the q matrices, (3) unplug the arduino and replug it it and then start the processing sketch, (4) put the temp calibration in - who knows it may help, (4) before you start moving the MPU let it sit level of a minute while it goes through its start up process (5) i recalibrated a few times going very slowly around all the axes so recal doesn't hurt. Also, try using the experimental processing sketch. It does some plotting for you - you can change what is plotting in the tab for the rolling graph, right not that one uses the dynamnic acceleration.

    Hope this helps. Mike

    点赞 评论 复制链接分享
  • weixin_39566773 weixin_39566773 5月前

    Hi, thanks a lot! i'm gonna try your solution....but i've another problem! today i've found an arduino mega, so i'm trying to use Freeimu serial...but it doesn't works! i've correctly uploaded the sketch, but if for testing i send a "v" character, nothing happens it's very strange! the baud-rate and com port are correct! infact, if i remove this line kFilters[i].KalmanInit(qVal,rVal,5.0,0.5); the programm works, and if i send a "v" it answer me with the versione! i'm grateful for your attention!

    Tommas

    PS. L3g library is missing!

    2014-08-15 1:09 GMT+02:00 Mike S notifications.com:

    Hi Tommaso

    This is what I posted on youtube for reference: A couple of suggestions off the top of my head: (1) make sure u have done a good calibration on the board - see a couple of links I already posted on how to do that, (2) make sure when u start up that the imu is steady, (3) try send a "q" command a couple of times with some time in between or a "r" command (note - just enter a r or q from the GUI, r will reset the quaternion matrix while q will send a reset command to the imitation, (4) I got my best results using a temp calibration. Also there is description file that I uploaded that explains some of the added commands. One other thing after using that calibration GUI make sure u move the file to the freeimu sketch folder and reload.

    There is an error in what I posted - if you look at one of my responses to the other posters on youtube it addresses some of these same issues: Here are a couple of things for you to try: (1) hit the "1" key - this resets the mpu, (2) hit the "2" key - this resets the q matrices, (3) unplug the arduino and replug it it and then start the processing sketch, (4) put the temp calibration in - who knows it may help, (4) before you start moving the MPU let it sit level of a minute while it goes through its start up process (5) i recalibrated a few times going very slowly around all the axes so recal doesn't hurt. Also, try using the experimental processing sketch. It does some plotting for you - you can change what is plotting in the tab for the rolling graph, right not that one uses the dynamnic acceleration.

    Hope this helps. Mike

    — Reply to this email directly or view it on GitHub https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-52256842 .

    点赞 评论 复制链接分享
  • weixin_39566773 weixin_39566773 5月前

    Hi, i've made a video of my situation! as you can see the problem is the gyro's offset! i've readen carefully the library FreeImu.cpp and (maybe i'm wrong, i'm a newbie) i noticed that if i use a temperature compensation i'm not use a gyro_offset values, infatct they are set equal to zero! how can i fix? thanks a lot

    点赞 评论 复制链接分享
  • weixin_40009063 weixin_40009063 5月前

    Hi Tommas

    That may be a bug in the serial sketch you found. I will check when I get home tonight - in order to get it to fit on a uno i deleted a couple of options from the serial sketch and I may have missed commenting that line out. The line you deleted is used in Freeimu sketch for a 1d kalman filter on the accelerometer readings if you want to use that option from the GUI. Would suggest that you use the experimental GUI - works better with the new sketches.

    Let me know how it works out for you.

    Mike

    On Mon, Aug 18, 2014 at 4:08 AM, liso88 notifications.com wrote:

    Hi, thanks a lot! i'm gonna try your solution....but i've another problem! today i've found an arduino mega, so i'm trying to use Freeimu serial...but it doesn't works! i've correctly uploaded the sketch, but if for testing i send a "v" character, nothing happens it's very strange! the baud-rate and com port are correct! infact, if i remove this line kFilters[i].KalmanInit(qVal,rVal,5.0,0.5); the programm works, and if i send a "v" it answer me with the versione! i'm grateful for your attention!

    Tommas

    2014-08-15 1:09 GMT+02:00 Mike S notifications.com:

    Hi Tommaso

    This is what I posted on youtube for reference: A couple of suggestions off the top of my head: (1) make sure u have done a good calibration on the board - see a couple of links I already posted on how to do that, (2) make sure when u start up that the imu is steady, (3) try send a "q" command a couple of times with some time in between or a "r" command (note - just enter a r or q from the GUI, r will reset the quaternion matrix while q will send a reset command to the imitation, (4) I got my best results using a temp calibration. Also there is description file that I uploaded that explains some of the added commands. One other thing after using that calibration GUI make sure u move the file to the freeimu sketch folder and reload.

    There is an error in what I posted - if you look at one of my responses to the other posters on youtube it addresses some of these same issues: Here are a couple of things for you to try: (1) hit the "1" key - this resets the mpu, (2) hit the "2" key - this resets the q matrices, (3) unplug the arduino and replug it it and then start the processing sketch, (4) put the temp calibration in - who knows it may help, (4) before you start moving the MPU let it sit level of a minute while it goes through its start up process (5) i recalibrated a few times going very slowly around all the axes so recal doesn't hurt. Also, try using the experimental processing sketch. It does some plotting for you - you can change what is plotting in the tab for the rolling graph, right not that one uses the dynamnic acceleration.

    Hope this helps. Mike

    — Reply to this email directly or view it on GitHub < https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-52256842> .

    — Reply to this email directly or view it on GitHub https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-52462828 .

    点赞 评论 复制链接分享
  • weixin_39566773 weixin_39566773 5月前

    i'm still using a serial-calib also in the Arduino mega, because the "serial" doesen't work! i don't know why! and the experimental script doesn't work! i don't know why...maybe they need full serial sketch....

    In the library i have done a little modify:

    // remove offsets from the gyroscope if(temp_corr_on == 1){ acgyro_corr[3] = acgyro_corr[3] + gyro_off_x; acgyro_corr[4] = acgyro_corr[4] + gyro_off_y; acgyro_corr[5] = acgyro_corr[5] + gyro_off_z; values[3] = (float) accgyroval[3] - acgyro_corr[3]; values[4] = (float) accgyroval[4] - acgyro_corr[4]; values[5] = (float) accgyroval[5] - acgyro_corr[5];

    like i wrote you earlier i've verified that with the temperature_correction we doesn't provide any offset reduction!

    what do you think?

    tommaso

    2014-08-18 16:08 GMT+02:00 Mike S notifications.com:

    Hi Tommas

    That may be a bug in the serial sketch you found. I will check when I get home tonight - in order to get it to fit on a uno i deleted a couple of options from the serial sketch and I may have missed commenting that line out. The line you deleted is used in Freeimu sketch for a 1d kalman filter on the accelerometer readings if you want to use that option from the GUI. Would suggest that you use the experimental GUI - works better with the new sketches.

    Let me know how it works out for you.

    Mike

    On Mon, Aug 18, 2014 at 4:08 AM, liso88 notifications.com wrote:

    Hi, thanks a lot! i'm gonna try your solution....but i've another problem! today i've found an arduino mega, so i'm trying to use Freeimu serial...but it doesn't works! i've correctly uploaded the sketch, but if for testing i send a "v" character, nothing happens it's very strange! the baud-rate and com port are correct! infact, if i remove this line kFilters[i].KalmanInit(qVal,rVal,5.0,0.5); the programm works, and if i send a "v" it answer me with the versione! i'm grateful for your attention!

    Tommas

    2014-08-15 1:09 GMT+02:00 Mike S notifications.com:

    Hi Tommaso

    This is what I posted on youtube for reference: A couple of suggestions off the top of my head: (1) make sure u have done a good calibration on the board - see a couple of links I already posted on how to do that, (2) make sure when u start up that the imu is steady, (3) try send a "q" command a couple of times with some time in between or a "r" command (note - just enter a r or q from the GUI, r will reset the quaternion matrix while q will send a reset command to the imitation, (4) I got my best results using a temp calibration. Also there is description file that I uploaded that explains some of the added commands. One other thing after using that calibration GUI make sure u move the file to the freeimu sketch folder and reload.

    There is an error in what I posted - if you look at one of my responses to the other posters on youtube it addresses some of these same issues: Here are a couple of things for you to try: (1) hit the "1" key - this resets the mpu, (2) hit the "2" key - this resets the q matrices, (3) unplug the arduino and replug it it and then start the processing sketch, (4) put the temp calibration in - who knows it may help, (4) before you start moving the MPU let it sit level of a minute while it goes through its start up process (5) i recalibrated a few times going very slowly around all the axes so recal doesn't hurt. Also, try using the experimental processing sketch. It does some plotting for you - you can change what is plotting in the tab for the rolling graph, right not that one uses the dynamnic acceleration.

    Hope this helps. Mike

    — Reply to this email directly or view it on GitHub < https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-52256842>

    .

    — Reply to this email directly or view it on GitHub < https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-52462828> .

    — Reply to this email directly or view it on GitHub https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-52496672 .

    点赞 评论 复制链接分享
  • weixin_39566773 weixin_39566773 5月前

    experimental cube works great with arduino DUE!!

    2014-08-18 17:02 GMT+02:00 Tommaso Lisini tommaso.lisini.com:

    i'm still using a serial-calib also in the Arduino mega, because the "serial" doesen't work! i don't know why! and the experimental script doesn't work! i don't know why...maybe they need full serial sketch....

    In the library i have done a little modify:

    // remove offsets from the gyroscope if(temp_corr_on == 1){ acgyro_corr[3] = acgyro_corr[3] + gyro_off_x; acgyro_corr[4] = acgyro_corr[4] + gyro_off_y; acgyro_corr[5] = acgyro_corr[5] + gyro_off_z; values[3] = (float) accgyroval[3] - acgyro_corr[3]; values[4] = (float) accgyroval[4] - acgyro_corr[4]; values[5] = (float) accgyroval[5] - acgyro_corr[5];

    like i wrote you earlier i've verified that with the temperature_correction we doesn't provide any offset reduction!

    what do you think?

    tommaso

    2014-08-18 16:08 GMT+02:00 Mike S notifications.com:

    Hi Tommas

    That may be a bug in the serial sketch you found. I will check when I get home tonight - in order to get it to fit on a uno i deleted a couple of options from the serial sketch and I may have missed commenting that line out. The line you deleted is used in Freeimu sketch for a 1d kalman filter on the accelerometer readings if you want to use that option from the GUI. Would suggest that you use the experimental GUI - works better with the new sketches.

    Let me know how it works out for you.

    Mike

    On Mon, Aug 18, 2014 at 4:08 AM, liso88 notifications.com wrote:

    Hi, thanks a lot! i'm gonna try your solution....but i've another problem! today i've found an arduino mega, so i'm trying to use Freeimu serial...but it doesn't works! i've correctly uploaded the sketch, but if for testing i send a "v" character, nothing happens it's very strange! the baud-rate and com port are correct! infact, if i remove this line kFilters[i].KalmanInit(qVal,rVal,5.0,0.5); the programm works, and if i send a "v" it answer me with the versione! i'm grateful for your attention!

    Tommas

    2014-08-15 1:09 GMT+02:00 Mike S notifications.com:

    Hi Tommaso

    This is what I posted on youtube for reference: A couple of suggestions off the top of my head: (1) make sure u have done a good calibration on the board - see a couple of links I already posted on how to do that, (2) make sure when u start up that the imu is steady, (3) try send a "q" command a couple of times with some time in between or a "r" command (note - just enter a r or q from the GUI, r will reset the quaternion matrix while q will send a reset command to the imitation, (4) I got my best results using a temp calibration. Also there is description file that I uploaded that explains some of the added commands. One other thing after using that calibration GUI make sure u move the file to the freeimu sketch folder and reload.

    There is an error in what I posted - if you look at one of my responses to the other posters on youtube it addresses some of these same issues: Here are a couple of things for you to try: (1) hit the "1" key - this resets the mpu, (2) hit the "2" key - this resets the q matrices, (3) unplug the arduino and replug it it and then start the processing sketch, (4) put the temp calibration in - who knows it may help, (4) before you start moving the MPU let it sit level of a minute while it goes through its start up process (5) i recalibrated a few times going very slowly around all the axes so recal doesn't hurt. Also, try using the experimental processing sketch. It does some plotting for you - you can change what is plotting in the tab for the rolling graph, right not that one uses the dynamnic acceleration.

    Hope this helps. Mike

    — Reply to this email directly or view it on GitHub <

    https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-52256842>

    .

    — Reply to this email directly or view it on GitHub < https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-52462828>

    .

    — Reply to this email directly or view it on GitHub https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-52496672 .

    点赞 评论 复制链接分享
  • weixin_39566773 weixin_39566773 5月前

    This is the result with Arduino Due and Serial for Arm CPU as you can see there are non zero offsets for the gyro! http://youtu.be/g9gYp_xMvCk

    you 're my only hope! :)

    Tommaso

    2014-08-18 17:33 GMT+02:00 Tommaso Lisini tommaso.lisini.com:

    experimental cube works great with arduino DUE!!

    2014-08-18 17:02 GMT+02:00 Tommaso Lisini tommaso.lisini.com:

    i'm still using a serial-calib also in the Arduino mega, because the

    "serial" doesen't work! i don't know why! and the experimental script doesn't work! i don't know why...maybe they need full serial sketch....

    In the library i have done a little modify:

    // remove offsets from the gyroscope if(temp_corr_on == 1){ acgyro_corr[3] = acgyro_corr[3] + gyro_off_x; acgyro_corr[4] = acgyro_corr[4] + gyro_off_y; acgyro_corr[5] = acgyro_corr[5] + gyro_off_z; values[3] = (float) accgyroval[3] - acgyro_corr[3]; values[4] = (float) accgyroval[4] - acgyro_corr[4]; values[5] = (float) accgyroval[5] - acgyro_corr[5];

    like i wrote you earlier i've verified that with the temperature_correction we doesn't provide any offset reduction!

    what do you think?

    tommaso

    2014-08-18 16:08 GMT+02:00 Mike S notifications.com:

    Hi Tommas

    That may be a bug in the serial sketch you found. I will check when I get home tonight - in order to get it to fit on a uno i deleted a couple of options from the serial sketch and I may have missed commenting that line out. The line you deleted is used in Freeimu sketch for a 1d kalman filter on the accelerometer readings if you want to use that option from the GUI. Would suggest that you use the experimental GUI - works better with the new sketches.

    Let me know how it works out for you.

    Mike

    On Mon, Aug 18, 2014 at 4:08 AM, liso88 notifications.com wrote:

    Hi, thanks a lot! i'm gonna try your solution....but i've another problem! today i've found an arduino mega, so i'm trying to use Freeimu serial...but it doesn't works! i've correctly uploaded the sketch, but if for testing i send a "v" character, nothing happens it's very strange! the baud-rate and com port are correct! infact, if i remove this line kFilters[i].KalmanInit(qVal,rVal,5.0,0.5); the programm works, and if i send a "v" it answer me with the versione! i'm grateful for your attention!

    Tommas

    2014-08-15 1:09 GMT+02:00 Mike S notifications.com:

    Hi Tommaso

    This is what I posted on youtube for reference: A couple of suggestions off the top of my head: (1) make sure u have done a good calibration on the board - see a couple of links I already posted on how to do that, (2) make sure when u start up that the imu is steady, (3) try send a "q" command a couple of times with some time in between or a "r" command (note - just enter a r or q from the GUI, r will reset the quaternion matrix while q will send a reset command to the imitation, (4) I got my best results using a temp calibration. Also there is description file that I uploaded that explains some of the added commands. One other thing after using that calibration GUI make sure u move the file to the freeimu sketch folder and reload.

    There is an error in what I posted - if you look at one of my responses to the other posters on youtube it addresses some of these same issues: Here are a couple of things for you to try: (1) hit the "1" key - this resets the mpu, (2) hit the "2" key - this resets the q matrices, (3) unplug the arduino and replug it it and then start the processing sketch, (4) put the temp calibration in - who knows it may help, (4) before you start moving the MPU let it sit level of a minute while it goes through its start up process (5) i recalibrated a few times going very slowly around all the axes so recal doesn't hurt. Also, try using the experimental processing sketch. It does some plotting for you - you can change what is plotting in the tab for the rolling graph, right not that one uses the dynamnic acceleration.

    Hope this helps. Mike

    — Reply to this email directly or view it on GitHub <

    https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-52256842>

    .

    — Reply to this email directly or view it on GitHub < https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-52462828>

    .

    — Reply to this email directly or view it on GitHub https://github.com/mjs513/FreeIMU-Updates/issues/3#issuecomment-52496672 .

    点赞 评论 复制链接分享

相关推荐