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();
mapProcessorCurrentPos = new MapCurrentPos(Color.GREEN, 10, true);
mapProcessorHotspots = new MapHotspots(15, false);
mapProcessorFindLines = new MapFindLines(true);
defaultProcessors.add(mapProcessorCurrentPos);
defaultProcessors.add(mapProcessorHotspots);
defaultProcessors.add(mapProcessorFindLines);
mapProcessors = new MapProcessors(defaultProcessors);
This is the new admin view for them.
You can easily change size..:
..and colors:
I also made a change so that when you select a row in the dataview the timeline will jump to that frame (and if you drag/play the timeline, the dataview will jump to that frame):
Hopefully we will release a compiled version of the apps soon so you easily can download them and test them by yourself!
/Peter F
Hi Friends, your project is so interesting.
SvaraRaderaI send you some ideas to add more strategies for your explorer:
http://www.youtube.com/watch?v=bq5HZzGF3vQ
Thanks, I'm glad someone finds the project interesting!
SvaraRaderaThanks for the Youtube link! I had heard about some kind of automated vacuum cleaner from Samsung, but I hadn't had the time to look properly into it yet. There seems to be much interesting in it.
From a first glance the main difference seems to be that the vacuum cleaner works by mapping up clear area, our strategy has been (at least so far) to find the obstacles and then consider the remaining area clear. I can see pros and cons with both, and I'll see if I can learn more about this.