SLAM for Dummies Like Me!!!

Patrick, Mon Nov 19 2012, 02:33AM

since im neck deep in other threads at the moment, i decided to dedicate one whole thread to SLAM.

(I am in no measure an expert in Comp Sci or programming, but I'd be grateful for help from those who are)

For those of you who dont know what "SLAM" is, ill sum it up. The purpose of Simultaneous Localization And Mapping is to allow computers and robots to answer two questions, what does the world look like, and where am i in it?

Without being able to answer those questions even a super-computer could do little but command a robot to waffle about randomly.

thus i give us a starting point:
]mit_slam_dummies.pdf[/file]
PDF is 127 pages, but only the first 42 are expalining SLAM, the remainder is coded examples.

i predict in the near future, as cheap, fast, tiny 32bit MCU's (like the ARM Cortex and others), RPi's and beaglebones pop up, SLAM will start to find its way to the masses in high schools, colleges and Lego-like toys...
(but as of now, its pretty ugly to sort out and use.)


This will be my continually growing list of sources:

1.) OpenSLAM.org -> Link2


Things i must do list:
-- figure out which compiler to use.
-- Which slam to use, tinySLAM, GridSlam.
-- (before flight) try simulations of a working slam (generate pics hopfully)
-- make sure "loop closing", "landmark extraction" features work
-- last, get all this onto a sub 100 gram board for flight experimetns. (probly RPi),(dont know if a STM32F4 is possible)
Re: SLAM for Dummies Like Me!!!
Steve Conner, Mon Nov 19 2012, 11:26AM

Cheers Patrick, I didn't even know what SLAM stood for. =)
Re: SLAM for Dummies Like Me!!!
Patrick, Mon Nov 19 2012, 04:56PM

Steve Conner wrote ...

Cheers Patrick, I didn't even know what SLAM stood for. =)
well i havent even got one to work yet!

I really need a wheeled ground bot and or a BMP pic driven simulation, long before i can allow any SLAM model to fly.

EDIT: i plan to use RANSAC for line extraction, under the lanmark extraction requirement.






Re: SLAM for Dummies Like Me!!!
Patrick, Mon Aug 11 2014, 11:30PM

im trying to get things going again, between programming and the physical machine itself. to update and as for help on this thread i cite these links:

Link2 (TinySLAM)

Link2 (C code, from the above link)


They claim a SLAM program in 200 lines of C, but are there other requirements?
id like to avoid dragging a full sized laptop mainboard around the sky, but i dont see SLAMs that seem to work on Rasberry Pi pr better still a STM32 or similar.

keep in mind its been 10 years since ive done C++, so im trying to figure out some things, like if the 200 lines call other functions that are huge on a main x86 architecture that cant be done on a Rpi.

it seems like this would be really important and already solved for small ground bots, if it didnt have outrageous computing requirements.
Re: SLAM for Dummies Like Me!!!
Steve Conner, Tue Aug 12 2014, 09:16AM

I don't see anything too outrageous in this code. It should work on anything that has hardware floating point math and a reasonable amount of memory. They used a 2048*2048 array of 16-bit integers for the map, so that takes up 8MB of memory by itself, more than a STM32 has onboard, but no problem for a Raspberry Pi or Beaglebone Black etc.
Re: SLAM for Dummies Like Me!!!
Patrick, Tue Aug 12 2014, 08:30PM

Steve Conner wrote ...

I don't see anything too outrageous in this code. It should work on anything that has hardware floating point math and a reasonable amount of memory. They used a 2048*2048 array of 16-bit integers for the map, so that takes up 8MB of memory by itself, more than a STM32 has onboard, but no problem for a Raspberry Pi or Beaglebone Black etc.

Im pondering external memory, since ill need some other features too. ill need to track my machines current posistion and other moving objects, and theyre future vector.

the professors are really pushing mission 7, which is meant to do things simultaneously never done before, autonomously.