Society of Robots - Robot Forum

Software => Software => Topic started by: fosk on July 30, 2011, 10:16:43 AM

Title: stereo vision slam
Post by: fosk on July 30, 2011, 10:16:43 AM
hi,
I'm trying to implement online stereo vision slam from a published paper (http://www.ai.sri.com/conf/iros2007/4.pdf (http://www.ai.sri.com/conf/iros2007/4.pdf)), but i seriously lacking theoretical knowledge necessary to implement such algorithm.
so basically i want to know
 what tools should i use?, what info should i read? and how much do i need to know in order to implement it?
or
if u know of an alternative simpler to implement stereo vision slam algorithm?
or
is there an already implemented open source stereo vision slam algorithm ?

thanks :)
roi
Title: Re: stereo vision slam
Post by: corrado33 on July 30, 2011, 10:27:08 AM
I'm not trying to dissuade you, but have you built a robot before?  What is your experience level? 

Robotic vision is NOT a beginner project.  Stereo robot vision is definitely not a beginner project.  SLAM is NOT a beginner project.  Both of those techniques alone are hard to master. 

So, with that said, what are you trying to build?  Do you have something you are trying to implement this IN?  A robot perhaps?  How is whatever you're trying to build controlled? 

We need a ton more information before we can help you. 
Title: Re: stereo vision slam
Post by: fosk on July 30, 2011, 10:41:30 AM
hi,

we don't have a robot yet, and I'm not targeting the algorithm for a specific robot.
my input is three images left right and disparity,and the command given to the robot.
Title: Re: stereo vision slam
Post by: corrado33 on July 30, 2011, 05:16:44 PM
Without knowing what you're trying to do (track a blob, make waypoints etc) you won't be able to get any "general" examples that'll work for you. 
Title: Re: stereo vision slam
Post by: fosk on July 31, 2011, 04:14:39 AM
hi,
thanks for the response.

i don't really understand why does it matter. what i need to do is to "land" in a certain environment (indoor,outdoor... ) and while moving in this environment to draw a map and pinpoint my location in the map, i don't need to track anything or to find a specific object.

BTW: forgot to mention I'm a programmer and that's it, I've got nothing to do with the robot hardware.

thanks,
roi
Title: Re: stereo vision slam
Post by: rbtying on July 31, 2011, 08:44:53 AM
Your first goal is to use the left/right/disparity images to create a three dimensional point cloud of obstacles.  Thereafter, you will have to write an algorithm to track the relative movement of points in the next image, so on and so forth. Once you have figured this out, you can just plug in your sensor inputs into a Monte Carlo algorithm and get an increasingly accurate idea of your position.

From the software standpoint, it's definitely not an easy thing to do - and you're hurting yourself severely by not taking it slowly.  Work on the math involved first - your attach paper is good for that - and just get point tracking, then move on to visual odometry. And once that's reliable, you can think about SLAM.
Title: Re: stereo vision slam
Post by: fosk on July 31, 2011, 10:21:08 AM
hi,

my main problem right is insufficient understanding of the paper(probability) and as a result(hopefully it's just this) inability to implement the algorithm.
if u know a good site to explain the necessary theoretical/math knowledge for this paper, or a similar paper regarding stereo vision (that maybe simpler to implement), that will help a lot.

edit: forgot to mention, i also have a distance map(a greyscale image where each value represent a certain ditance).

thanks,
roi
Title: Re: stereo vision slam
Post by: georgeecollins on August 02, 2011, 02:43:03 PM
Since you are a programmer, maybe it would help if you looked at some example code that implements this.  Sometimes I can learn how to do something better from someone else's code then from a paper. 

I see that someone has implemented SLAM for ROS.  You can get the code here at:
http://www.ros.org/wiki/vslam_system (http://www.ros.org/wiki/vslam_system)

There is also a wiki with some documentation, and probably people you could ask questions to there who are reasonably knowledgeable. 

Since this would be your first robot, and you are comfortable with software, a good hardware platform might be a Bilibot
http://www.bilibot.com/ (http://www.bilibot.com/)

That runs ROS and has a pretty good three dimensional perspective from its Kinect. 
Title: Re: stereo vision slam
Post by: fosk on August 04, 2011, 02:26:08 PM
thanks!