Thursday, January 8, 2009

Beta Version of the MCL Released

Here is the Beta Version of the Monte Carlo Localization project that I have been working on. You can find all of the source code in the table at the end of this post. Here is an example of the output one gets. Further testing is needed in more complicated maps. If you should find any bugs, I will sincerely appreciate it if you report any bugs to adcaine@gmail.com.



NXT Program



Robot.java
This is the program that should be uploaded onto the brick


Ordinary Java Classes



Tester.java
Run this class to initiate the GUI


Localization.java
This class is reponsible for putting the main window on the screen.


BTCommPC.java
Responsible for maintaining communication between the PC and the NXT


CommandPanel.java
Defines the command panel portion of the GUI.


ConnectPanel.java
Defines the connection panel portion of the GUI.


DisplayPanel.java
Defines the display panel portion of the GUI.


EventHandler.java
Handles all action events fired by the GUI's panels.


Gaussian.java
Defines a Gaussian function used in particle weighting.


Line.java
Defines a line, used for boundaries in the map.


MCL.java
Defines the routines used in the Monte Carlo Localization


Point.java
Defines a point as used in the map, lines, and poses.


Pose.java
Defines a pose as used in the particle set


Statistics.java
Defines the statistics panel of the GUI.

4 comments:

esmetaman said...

Hi Allan,

I really like the project.
Nice Work!

Besides in NXJ side, I like the way to process the commands.

Juan Antonio BreƱa Moral
www.juanantonio.info

Tim said...

Hi,
just what I was looking for! I am just getting into localisation and mapping after starting to learn lejos last October. Can't make any comments yet though, since I've just found you...
Tim

Tate said...

You should also compile the classes into two JAR files, one for the NXT, and one for the computer...

Tim said...

Thanks!