Wandering Mapping Robot
Posted: 13 Oct 2012, 06:03
A little background first - I've developed a robot that works pretty good at roaming around my house and not getting stuck. Primarily it uses the US sensor on a servo to sweep the area in front of it. If it sees an obstacle it stops, looks left & right and then turns into the direction with the most "freedom". Also, as the US sensor is sweeping, there's a PID loop to sort of steer the robot along into the path of least resistance. This limits the number of times that it stops because it's constantly correcting it's course into the path of least resistance. Finally, as a back up there is a front bumper incase the US sensor doesn't see something and the robot actually runs into something. In this case it will stop and back up, then look left & right then move in the path of least resistance.
It's been pretty cool seeing how well the robot works so far. Sometimes (as I keep tweeking this gets less and less) it does eventually get stuck, either it gets into a place where it turns left, then right then left, etc or it gets physically stuck on something.
One thing I'm wondering about is if there is some kind of way to program some intelligence into the robot so that in a sense it can map out it's path and if it ever finds it self really stuck then it would know where to back up to to start again. I've looked around a bit and I found the post about the A* algorithm. I thought there could be something I could use out of the A* algorithm, but upon wikipedia reading it sounds like this is very well suited to a setup maze with a defined target of where to go. I'm trying not to tell my robot where to go (or how to get there, lol) so I don't know if this would work.
Does anyone have any insight into what I might try? Should I try to implement the A* algorithm, but if I do, what would I do with not defining a goal/target destination?
Thanks!
legofoote
It's been pretty cool seeing how well the robot works so far. Sometimes (as I keep tweeking this gets less and less) it does eventually get stuck, either it gets into a place where it turns left, then right then left, etc or it gets physically stuck on something.
One thing I'm wondering about is if there is some kind of way to program some intelligence into the robot so that in a sense it can map out it's path and if it ever finds it self really stuck then it would know where to back up to to start again. I've looked around a bit and I found the post about the A* algorithm. I thought there could be something I could use out of the A* algorithm, but upon wikipedia reading it sounds like this is very well suited to a setup maze with a defined target of where to go. I'm trying not to tell my robot where to go (or how to get there, lol) so I don't know if this would work.
Does anyone have any insight into what I might try? Should I try to implement the A* algorithm, but if I do, what would I do with not defining a goal/target destination?
Thanks!
legofoote