Author Topic: Bit Mapping  (Read 2624 times)

0 Members and 1 Guest are viewing this topic.

Offline Ro-Bot-XTopic starter

  • Contest Winner
  • Supreme Robot
  • ****
  • Posts: 1,431
  • Helpful? 25
  • Store: RoBotXDesigns.ca
    • Ro-Bot-X Designs
Bit Mapping
« on: April 09, 2008, 02:42:28 PM »
I had this idea of building a map of the room as a 16 bit (or more) greyscale bitmap. Different grey shades will represent objects with different atributes, height being one of them. Say we develop a method of measuring in reasonable margins the size and height of the objects from the robots point of view. First, the robot will treat the map as a 2D map with no regard for the grey shade. It will look around building a temporary map of lines (smaller, up to the limit of the measuring distance). Then it will try to overlap the temporary map on the main one untill the lines will match (for a certain percent, because they will never be perfect match). Then the robot will know it's location on the map. Now if the robot can't find a match, it will get more data and give shades of grey for the objects it can detect and mark them on the temporary map, then compare again. For instance, a chair may have been moved, so it will not match, but by determining it's height and other properties (4 legs...) it can be marked accordingly and not taken into consideration when compareing. I think this will help localization of the robot on the map and also localization of objects that are over or under other objects.

Do you think this would be a good idea or not? Supose the robot uses an array of sensors for faster measurements and external memory for map storage, will it work on a microcontroller based robot?
Check out the uBotino robot controller!

Offline benji

  • Supreme Robot
  • *****
  • Posts: 830
  • Helpful? 0
Re: Bit Mapping
« Reply #1 on: April 09, 2008, 03:00:15 PM »
what are the sensors you are planning to use to aquire the 3d map?

microcontrollers will work if your algorithm is not that complicated or big, cause in such algorithms you need speeed
,,memories can be handeled by interfacing into external ones but cpu freq is the issue here.
i did implement the A star algorithm on my computer but the algorithm now is more than just A* , its bigger, for a map of 6 meters by 6 meters
it will take 4 seconds for the matlab to find the path
my computer has a dual core processor which runs at 3.2 Ghz and 2 GegaRAM, now imagine running such algorithms on a microcontroller
that operates at 16 Mhz ,,,,,,, !!!!! with ram not over 16kbyte !!!
good ol' BeNNy

Offline DomoArigato

  • Full Member
  • ***
  • Posts: 54
  • Helpful? 1
Re: Bit Mapping
« Reply #2 on: April 09, 2008, 10:46:30 PM »
If I understand what your proposing.  It sounds like an occupation map that uses objects hights to increase landmark variability.  I think occupation maps have been highly successful.  Perhaps if you wanted to augment your map with height you could start with say 3 bits. 0 = empty, 1 = eye level, 2 = high.  This way you could test your idea with only 2 rangefinders, and see if the extra information you've gathered will help you localize/reduce sensor error.

Offline Admin

  • Administrator
  • Supreme Robot
  • *****
  • Posts: 11,703
  • Helpful? 173
    • Society of Robots
Re: Bit Mapping
« Reply #3 on: April 24, 2008, 06:55:39 PM »
Its been done, and I can see it working. However it'll require a ton of processing power.

Basically, your algorithm must analyze chunks of pixels in your map and determine statistical similarity. Then try to match those chunks next to each other.

Or a simpler way would be to just lock onto objects of one particular height as 'landmarks' . . . I'd probably go this route due to its simplicity.