ROBOTC.net forumshttp://www.robotc.net/forums/ Kalman Filter for nxt?http://www.robotc.net/forums/viewtopic.php?f=1&t=714 Page 1 of 1

 Author: Ford Prefect [ Fri Sep 05, 2008 6:37 am ] Post subject: Kalman Filter for nxt? hi, has anyone already seen or written a Kalman Filter for NXT?http://rsbweb.nih.gov/ij/plugins/kalman.htmlhttp://robotics.stanford.edu/~ang/paper ... ations.pdfhttp://www.youtube.com/watch?v=M-QUkgk3HyE

 Author: elemes [ Thu Sep 11, 2008 12:29 pm ] Post subject: Re: Kalman Filter for nxt? I am planning one but first I have to blow the dust from my NXT.It is not about Kalman filter for NXT -- it is about Kalman filter in general.That is the key point: you have to prepare a considerably correct model of your system, maybe simulate the model (just to see if it matches the reality) then fill in the matrices needed for Kalman filter, optionally test your filter in simulation and then build your robot to amuse professionals (most of audience will not appreciate the Kalman filter).

Author:  Neoaikon [ Wed Jan 14, 2009 5:04 pm ]
Post subject:  Re: Kalman Filter for nxt?

 elemes wrote:That is the key point: you have to prepare a considerably correct model of your system, maybe simulate the model (just to see if it matches the reality) then fill in the matrices needed for Kalman filter, optionally test your filter in simulation and then build your robot to amuse professionals (most of audience will not appreciate the Kalman filter).

Not true! This only holds for Second Order Kalman filters , which can handle Non-Linear Filtering. Even then, if your Markov behaves in a Linear fashion then a Second Order Kalman will show little difference. A control system for a helicopter would almost certianly have to be a Second Order KF, due to the Non-Linearity of controlling something in 3D space. The model for such a controller would filter random changes to orientation and acceleration revealing exactly how the human controller is trying to fly the helicopter.

http://www.techsystemsembedded.com/Kalman.html , here's a link to a Matlab FOKF and SOKF example. I used this to learn how to use these filters, since 90% of the PDF's I read we're far too academic for my understanding, and I do better with examples anyways.

 Quote:...amuse professionals (most of audience will not appreciate the Kalman filter).

Corrupt 50% of the Ultrasonic Sensor readings on a wall-following robot, and show them the difference the filter can make. Unless the audience isn't into robotics, they'd be sure to appreciate it.

 Author: elemes [ Thu Jan 15, 2009 11:51 am ] Post subject: Re: Kalman Filter for nxt? Yes, you are right. I am continuously keeping in mind my own robot plans (actually, final goal is a balancing robot that is capable to estimate the weight put on its top, based on the answer to balancing movements) and the mechanical model of it is quite complex. At present.

 Author: Neoaikon [ Mon Jan 19, 2009 12:11 pm ] Post subject: Re: Kalman Filter for nxt? I can see how you'd have to fuse sensor data to estimate the weight and balance accordingly. I'd love to make a balancing robot but I'm still grappling with the first order KF's. The real problem with the KF's is that there's no set in stone equation, you have to derive the equations, thats what I think a lot of confusion comes from with these. I was never able to find a tutorial that showed how to derive the equations properly, mostly I looked at the source code for about 20 filters to derive the general structure, if someone found/wrote a tutorial like that it'd open this up to more people.

 Author: RoyLB [ Sat Feb 14, 2009 3:38 pm ] Post subject: Re: Kalman Filter for nxt? I'm also interested in a good Kalman tutorial (in general). I may write one - as soon as I figure it out!Here are two sites using NXT Both have some background info, as wellhttp://www.convict.lu/Jeunes/RoboticsIntro.htmhttp://naba.blogspot.com/2008/07/kalman ... s-nxt.htmlThis is one of the better general sites:http://www.cs.unc.edu/~welch/kalman/Wikipedia has some good info and links as well. Nothing on NXT, but there are some links to parallax propeller implementationshttp://en.wikipedia.org/wiki/Kalman_filterFinally, this professor implemented a particle filter on the NXT, which is a related algorithm to the Kalman (he also has info on the mindsensors NXT cam)http://www.itee.uq.edu.au/~wyeth/NXT/ Good luck!Roy

Author:  Ford Prefect [ Sat Mar 07, 2009 9:13 am ]
Post subject:  Re: Kalman Filter for nxt?

hi,
I'm really curious how the Calman actually works, and your spreadsheet maybe could help me a lot. Is it to be downloaded somewhere, or could you send it attached to an email?

BTW: As you may have read, the compass sensor values had been a problem also to Gordon Wyeth who's written another Filter system based on the statistical/stochastical Monte Carlo Method ("Particle Filter") http://www.itee.uq.edu.au/~wyeth/NXT. Those values had been so unreliable, that he completely gave it up trying to use it for navigation:
 Gordon Wyeth wrote:If I mapped magnetic field, I could probably add it in, but there's no straightforward way to use it for localisation. So, there is nothing wrong with the compass per se, but there are well known limitations with using the compass for navigation indoors.

EDIT:

a problem using the Kalman Filter for compass sensor values is that the Kalman Filter uses just a linear processing model with normally (standard) distributed measurement errors. The magnetic fileld indoors, anyway, is supposed not to be normally distributed, so it's likely that non-linear filters will be needed. Maybe you speak a little German, that's what you can read in the German Wikipedia on this subject:

 Wikipedia wrote: Sequenzielle Monte-Carlo-Methode http://de.wikipedia.org/wiki/Sequenziel ... lo-MethodeFür den Fall eines linearen Prozessmodells und unter Annahme normalverteilter Störgrößen und Messfehler wurde 1961 das kontinuierliche Kalman-Filter von Kalman und Bucy eingeführt, um den wahrscheinlichsten Zustand rekursiv aus den vorhergehenden Schätzungen und den erhaltenen Messwerten zu bestimmen. Im Falle, dass das Prozessmodell wesentlich nichtlinear ist oder die Störeinflüsse nicht als normalverteilt angenommen werden können, kann nicht von einer Normalverteilung des zu schätzenden Zustandes ausgegangen werden. Es muss weiter u.a. in Betracht gezogen werden, dass die Wahrscheinlichkeitsdichte mehrere Maxima aufweist, d.h. die gemachten Beobachtungen zu mehreren inneren Zuständen kompatibel sind. Ein gitterbasierter Ansatz zur Lösung dieses erweiterten Problems besteht in der Transformation der Systemdynamik in eine Dynamik der Wahrscheinlichkeitsdichte auf dem Zustandsraum (s. Stochastische Differentialgleichung). Die Lösung der dabei entstehenden partiellen Differentialgleichungen mittels Finite-Elemente-Methoden ist im Allgemeinen recht aufwendig.

maybe you find this interesting, too: http://www.cs.cmu.edu/~minerva/tech/mosaic.html

 Page 1 of 1 All times are UTC - 5 hours [ DST ] Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Grouphttp://www.phpbb.com/