Inertial frontend

Last week, I finally fin­ished and pushed some updates/new devel­op­ment of the soft­ware onto Source­Forge. What has been con­structed is what I call an iner­tial fron­tend. The basic idea is:

In words it’s a pro­cess­ing block (group of rou­tines together with some state vari­ables) which pack­age and per­forms all the pro­cess­ing prior to the iner­tial nav­i­ga­tion, i.e. cal­i­bra­tion com­pen­sa­tion (and fusion of array data), test sta­tis­tics cal­cu­la­tion and thresh­old­ing for the ZUPTs, and some online bias esti­ma­tion. This is pro­cess­ing which is tightly con­nected with the IMU and rather inde­pen­dent of the iner­tial nav­i­ga­tion. The most sig­nif­i­cant attrib­utes of the fron­tend is that it’s com­pletely imple­mented with inte­gers arith­metic (so that it could poten­tially be placed in a pro­cess­ing unit embed­ded with the IMU) and the test sta­tis­tics is imple­mented in a recur­sive form (which makes the com­pu­ta­tion sig­nif­i­cantly less expen­sive to start with and also inde­pen­dent of the win­dow size). This far it seems to be work­ing great. We’ve used a crude ver­sion of it since april last year so I don’t expect any larger prob­lems with it but be aware that it’s not been thor­oughly tested yet. This far the code and the under­ly­ing the­ory is pretty much only doc­u­mented in var­i­ous tech­ni­cal notes on my com­puter but hope­fully I will have time to gather it in a paper soon. Any­way, now you know roughly what the 400-line block of obscure code is doing.

Comments are closed.