cancel
Showing results for 
Search instead for 
Did you mean: 

STM32F407 based MEMS IMU/INS for industrial Indoor-Navigation

ersan
Associate II
Posted on June 13, 2013 at 03:19

Hi Guys,

the last times I had so many technichal questions and I'm glad that it ended in a good way. My Project is finshed now and I would like to share the results with you and the sucess story with choosing STM32F4 for this application!

I'm presenting you my MEMS based INS/IMU with a dual-source Kalman-Filter for much more accuracy and dynamic noise filtering (mainly for Indoor-Navigation with position estimation over double integration of velocity data).

The hardest part was the FreeRTOS with FPU, MPU and the I2C DMA optimized FreeRTOS driver.

0690X00000602olQAA.jpg 

0690X00000602oqQAA.jpg

0690X00000602ovQAA.jpg

I founded a Startup last year with a my mate with the focus of MEMS based INS for motion and tracking applications.

With the STM32F4 and Matlab, I could directly port my algorithms and models into code that I can easly integrate into the target. The most important thing is that this application has much benefits by the FPU & DSP Lib optimized code generation.

yep... if you want to know more please ask :)

kind regards,

E

ps. Please don't be mad of me... im just very happy that I finished it ...after all this months.

 

#ins #mems #mems #stm32 #matlab #imu #curiosity #no-time-no-money #bluetooth-ce
7 REPLIES 7
jpeacock2399
Associate II
Posted on June 13, 2013 at 15:52

How good is the repeatability and over what distance?  How many axes are you using, 3 for gyros, plus 3 for accelerometer, plus magnetic for bearing?

How well does the Kalman filter work for filtering background noise, like footsteps or passing cars?  I've been researching something similar, measuring motor vibration with an accelerometer and using a Kalman filter to find resonance points.

  Jack Peacock
ersan
Associate II
Posted on June 13, 2013 at 21:08

The Kalman-Filter is using 2x 3D Accel + 2x 3D Gyro  + 2x Mag  but the Mag is just for the secular Information-Fusion (simplified without going to deep into the algorithm: ''Hey I'm sensing your motion and it's might be the same direction you are walking or driving three seconds ago'').

From time to time I'm correcting the velocity-model which boosts the position accuracy significant.

The Drift over time is for an hour @1.5° which affects the localization-accuracy with +/- 1.5-3 meters without any re-referencing - which is a quite impressive achievement for a 80$ system.  I wish I had more ressources to work more on the algorithm side, but I can't do everything by my own (hardware and software).

We recently ported the algorithm into a Tablet you can watch the tech-demo on youtube if you want to: http://www.youtube.com/watch?v=0C2G__suPgg

jzawadzk
Associate II
Posted on June 14, 2013 at 19:09

Really nice project Emilio. I wonder if you have already gone through any kind of certification process (CE/FCC)? I ask because I use (probably) identical Bluetooth module in my project and according to its manufacturer (Wavesen) the modue itself is not certified (or at least the person I contacted was not able to provide me with any useful information). It looks like I have to certify it myself (use of the radio spectrum) and I wonder if you could provide me with any kind of information regarding certification.

sebastien
Associate II
Posted on June 25, 2013 at 17:59

Hi,

Very impressive work ! I'm working on this kind of project but the result is quite bad. I managed to get an algo to calculate the yaw, pitch and roll and it works fine but when I double integrate the acceleration the position is just awful. I filtred the acceleration signal to delete the offset and the high frequencies (> 6Hz) but i don't know what to do more to improve the precision. Do you use kalman filters to get the card stability only or for the position calculation also? On which consideration do you correct the velocity model ?

Thanks for his informations ! 

sanjib
Associate III
Posted on March 20, 2014 at 06:20

HI Emilio

Nice work. Firstly I am very happy that I have find some one whom I can ask about my doubts regarding IMU. I am a fresher. I am working on similar kind of project.

Let me say you what I have to do, I have to find the boat position with the help of IMU. For this I am using MPU-9150 and the board is stm32f030. I don't have any idea about this. Please help me in doing this. I mean if you can guide me with proper docs and the logic so that I can write the code. The communication between stm32f030 and MPU-9050 is i2c . Please help me.

Thanks in Advance
chen
Associate II
Posted on March 20, 2014 at 10:44

Hi

''The Drift over time is for an hour @1.5° which affects the localization-accuracy with +/- 1.5-3 meters without any re-referencing - which is a quite impressive achievement for a 80$ system.''

That is amazing accuracy!

I worked on a research project to implement a INU for a commercial unman-ed plane. We were getting 1.5 to 3 meter drift each second!

I guess a plane is traveling faster and we were using an older ARM7TDMI @72Mhz (so the Kalman filter had to be simpler)

but we had the luxuary of a GPS reciever.

sanjib
Associate III
Posted on March 21, 2014 at 06:10

hi Emilio

Please help