Vehicle Lane Tracking Algorithm
-
I am working on an application that uses camera(s) to detect while lane lines on different surfaces adn track them, and eventually give directions to the vehicle (two wheeled robot) so that the vehicle stays in between the lines. So far I managed to write the program so it takes color video feed and converts it to black and white, and filters the edges so it detects the edges of the lanes. I don't know where to go from here. Any suggestions?
-
I am working on an application that uses camera(s) to detect while lane lines on different surfaces adn track them, and eventually give directions to the vehicle (two wheeled robot) so that the vehicle stays in between the lines. So far I managed to write the program so it takes color video feed and converts it to black and white, and filters the edges so it detects the edges of the lanes. I don't know where to go from here. Any suggestions?
Looks like a fun and interesting problem. Without knowing anything more regarding your app I would advice you to look a bit at AI and gaming AI for inspiration. First of all I would try to create perception layer whose purpose is to present the world in a a simpler format in which your robot knows its options and operate at full speed. This may also give you as a developer ideas of how to interpret robots world and to enhance your world parsing algorithm. Best of luck /U
What if the world was your spoon. What if was in your power to bend it to your liking. What if it could provide for you whatever you asked of it.
-
I am working on an application that uses camera(s) to detect while lane lines on different surfaces adn track them, and eventually give directions to the vehicle (two wheeled robot) so that the vehicle stays in between the lines. So far I managed to write the program so it takes color video feed and converts it to black and white, and filters the edges so it detects the edges of the lanes. I don't know where to go from here. Any suggestions?
I agree with Uffe Rask, this sounds like an interesting project. Now, I know very little about Robots, modern ones anyway, but I googled for line following robot algorithm and got lots of hits that sounded to me like they might be of help. Perhaps if you do the same (always assuming that you haven't already done so), you might find something that you can adapt.
Henry Minute Do not read medical books! You could die of a misprint. - Mark Twain Girl: (staring) "Why do you need an icy cucumber?" “I want to report a fraud. The government is lying to us all.”
-
I agree with Uffe Rask, this sounds like an interesting project. Now, I know very little about Robots, modern ones anyway, but I googled for line following robot algorithm and got lots of hits that sounded to me like they might be of help. Perhaps if you do the same (always assuming that you haven't already done so), you might find something that you can adapt.
Henry Minute Do not read medical books! You could die of a misprint. - Mark Twain Girl: (staring) "Why do you need an icy cucumber?" “I want to report a fraud. The government is lying to us all.”
What i was thinking, was to use the edges detected and a drawn ellipse. The app will calc the distance between the two lane edges and draw an ellipse in the center of the distanc of the two white lanes. Im just not sure how to make a fast algorithm that scans the binary bitmap for white at the top of the image and then calcs the distance. Im using AForge.NET as my vido processing library. Whats a good way to scan for pixels that is fast, i am doing this at 15 frames a second.
-
What i was thinking, was to use the edges detected and a drawn ellipse. The app will calc the distance between the two lane edges and draw an ellipse in the center of the distanc of the two white lanes. Im just not sure how to make a fast algorithm that scans the binary bitmap for white at the top of the image and then calcs the distance. Im using AForge.NET as my vido processing library. Whats a good way to scan for pixels that is fast, i am doing this at 15 frames a second.
As far as measuring distances, perhaps this article Range Finder[^], might have something useful. THe same guy has written a couple of other articles on Strereoscopy thet you might want to look at. For fast image processing try this one Fast Pointerless Image Processing in .NET[^]. If you go to the CodeProject Home Page and type fast image processing in the Search Articles box, you will get lots of hits, some of them deal with Edge Detection Methods, which you might also find useful. Good luck. :)
Henry Minute Do not read medical books! You could die of a misprint. - Mark Twain Girl: (staring) "Why do you need an icy cucumber?" “I want to report a fraud. The government is lying to us all.”
-
As far as measuring distances, perhaps this article Range Finder[^], might have something useful. THe same guy has written a couple of other articles on Strereoscopy thet you might want to look at. For fast image processing try this one Fast Pointerless Image Processing in .NET[^]. If you go to the CodeProject Home Page and type fast image processing in the Search Articles box, you will get lots of hits, some of them deal with Edge Detection Methods, which you might also find useful. Good luck. :)
Henry Minute Do not read medical books! You could die of a misprint. - Mark Twain Girl: (staring) "Why do you need an icy cucumber?" “I want to report a fraud. The government is lying to us all.”
-
Thanks a million bro...as always your a life saver! Thanks again to all who helped throughout the months on my project. Ill followup with my results and i might even post an article about lane tracking with robots and/or vehicles! :-D
sebogawa wrote:
i might even post an article about lane tracking with robots and/or vehicles
That would be really :cool:
Henry Minute Do not read medical books! You could die of a misprint. - Mark Twain Girl: (staring) "Why do you need an icy cucumber?" “I want to report a fraud. The government is lying to us all.”