Archive for February, 2015

Significant bug fix

Monday, February 9th, 2015

New updates, new bugs.

In test­ing the updated code at the end of last week I expe­ri­enced some strange behav­iour. It turned out to be a sub­tle issue with the manip­u­la­tion of the process sequence. The result was poor ini­tial (first time after power on) per­for­mance for the dead reck­on­ing. In the worst case sce­nario it could give errors in the order of a meter for the first steps. The bug had been around since the revi­sion from 16th of Jan. Now it’s fixed in revi­sion 15f969 and I rec­om­mend to upgrade if you are using the dead reck­on­ing com­mand (0x34).

I’ve also made a few other updates. The only impor­tant one from the user per­spec­tive is that I’ve moved the func­tions which read data from the IMUs to the process sequence. This is to get more flex­i­bil­ity, and really there is noth­ing spe­cial about this func­tion so it fits bet­ter in the process sequence than beside it. The imu_read() func­tion is in the process sequence by default and it has been added to all com­bined com­mands. Con­se­quently, from the user inter­face per­spec­tive, the dif­fer­ences are small. How­ever, if you are man­u­ally manip­u­lat­ing the process sequence, you will have to take into account that the imu_read() func­tion should prob­a­bly reside in the first slot in the sequence.

The plan is to spend part of this week on test­ing, revis­ing and refac­tor­ing the code so more updates may come. How­ever, the revi­sion of the com­mu­ni­ca­tion pro­to­col was a one-time thing and I do not plan on mak­ing any sig­nif­i­cant changes there.

New and improved calibration script

Friday, February 6th, 2015

A new and improved cal­i­bra­tion script is avail­able below. First of all, you do not longer have to man­u­ally ver­ify data from each side of the cal­i­bra­tion body. Con­se­quently, the pro­ce­dure is much faster. Sec­ondly, the script is adapted to the recent updates to the embed­ded code. If you change the com­mands and the pars­ing mex-file to those of the old script pack­age, you could use it with an old mod­ule with­out repro­gram­ming it, but then it’s prob­a­bly bet­ter to sim­ply repro­gram your mod­ule. Thirdly, it comes with a brief instruc­tion video:



Zip-file with cal­i­bra­tion script pack­age. Down­load and run main.m.


(Note: if you do not use 64-bit win­dows you will have to com­pile the .cpp file with mex com­man in Matlab)

(Note: Your mod­ule will work with­out any cal­i­bra­tion. How­ever, it will pos­si­bly work bet­ter with it.)