Go Down

Topic: simultaneous localization and mapping (slam) (Read 2070 times) previous topic - next topic


I am trying for some time now to localize in a plane a mobile using ultrasonic time-of-flight (TOF). The mobile carries a circle of US emitters and US receivers are placed at two corners of the plane. Synchronization between US reception and emission is done through RF.
To improve the precision of this localization I would like to use a simple SLAM. For that I will add rotational encoders to the wheels. That is, the idea is to use the US as beacons allowing the "map" construction and the encoders will do the "localization" part.
Does someone has any experience with this type of approach?
I have read:
but I am still very far from being able to write a nice java code to do the job!


but I am still very far from being able to write a nice java code to do the job!

What would you do with the java code, if you had it?
The art of getting good answers lies in asking good questions.


Are you using the phone's java to interface with the arduino?
it's serial interface that's you're interessed in, the arduino's code is in C and will have to process some/all the data before sending them by serial  to your program, or send raw data to your program by serial.
This latter option adds delay to your processing. serial takes time.
The sampling rate of the arduino is not too great so do not expect super duper results.
You could try compressive sensing to deal with low sample rate
but all your calculations must then be done on relativly powrreful computer.



My idea is simple, the implementation can be impossible, though!
I would like to improve the precision of my position data beyond the simplest averaging that I am doing right now. I understood, from some readings, the best way to do that is to use a second set of data - in my case I would get encoder measurements of the wheels positions - on top of the US time-of-flights. Then, some appropriate statistical methods should allow me to optimize the measurements. I first thought about Kalman filter, but then SLAM seemed more adapted. Technically it is in the end a manipulation of several matrices -positions, velocities, errors -.
My question to the Arduino/Processing's experts is:
how to translate these statistical treatments of data (Kalman and/or SLAM) in Processing language (I thought it was some kind of Java, that is the reason why a refer to it)?
Does anyone ever tried to have an efficient statistical treatment of data coming out of sensors and going to a computer through an Arduino board?
If yes, please let me knoow what it was.

Go Up