PenemuNXT - A Lego Mindstorms NXT project

2010-03-11

Right now we are working on the project report that we are supposed to hand in to our teachers the next week. We will probably write a short summary of it and publish it in English as well.

I've recieved quite a lots of requests from people that want's to use the serverapp (PenemuNXTExplorerServer) to use with their own mapping robots. Of course is all code open source so it's free for everyone to download, change and use it for free. But I've understood that our project structure, and how to get the app to compile isn't that simple. The reason is that we use something called "linked source". It's an easy way to share the same code between two projects. We can't link the projects in this case, because we need to specify that the PC code shall compile with the leJOS pc classes and the NXT code shall compile with the leJOS client classes.

I will write more about how this works soon.

I will also try to make a more generic map application that shall be really simple to customize to fit for your map data. The code is already based on "modules" and "plugins" so it shouldn't be that hard to make this.

2009-12-06

The big news of today is map processors!!That's a new way we implement how the map is painted/processed.The idea is that you want to be able to add new ways to improve the map easily.What I did was to setup the interface IMapProcessor and basically it has some properties for color, name and description and a method to process the data.You can find the processors we have at the moment here.They all implement the IMapProcessor interface.

There are two main types of processors, SimpleData and CalculatedData.* SimpleData is processors that basically just paint dots. For example when the robot drive. It dosn't do any improvements to it.* CalculatedData is processors that combines different data to calculate different stuff, for example where walls and objects are.

You add all the processors you want to an instance of MapProcessors and call this every time you want to paint the map.

This is how it might look when you configure it: ArrayList defaultProcessors = new ArrayList();

About PenemuNXT

In the third year of Swedish Gymnasium (roughly equivalent to 4th year in high school) every
student has to make a project concerning at least one of the fields he/she studies. PenemuNXT is our
project.