Society of Robots - Robot Forum
Software => Software => Topic started 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
-
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.
-
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.
-
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.
-
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
-
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.
-
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
-
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.
-
thanks!