Machine Vision path finding experiment bot, is this idea even possible?
rwgast_logicdesign
Posts: 1,464
Ok so I scanned through this thread a bit
http://forums.parallax.com/showthread.php?118634-Autonomous-robot-s-navigation
Very cool stuff but a bit over my head at the moment, I was also reding up on how curosity works, it uses stero vision takes a picture and runs a bunch of algorythms to help find the shortest safest path. All of this kind of stuff would be great in my final bot but im sure its going to take alot of hardwork and learning to get there even if im not writing the actual vision algorithms myself, im hoping theres software out there to do this for me, My bigger bot will be navigating the same kind of terrain found on mars. There are all kinds of ways to navigate from point A to point B and on earth we have GPS yay, but there are still alot of big obsticales out here to navigate around and I dont thing a ping sensor and laser is going to be enough.
This robot is really an inspiration to this project too http://www.robotroom.com/StreamHawk-Wireless-Explorer-Robot.html as far as it freely exploring the house. I was thinking I need to start small on this, I also want the bot to be very quiet and roam at night. Im waiting on my motors in the mail currently, I got four electric screw drivers for the rover and then two of these http://www.goldmine-elec-products.com/prodinfo.asp?number=G16279 I have no idea how much load these things are going to carry I doubt theyll carry a can this size of the robot above though, especially with all those electronics packed in.
So my idea is to use an Attiny, or even a propeller if n Attiny wont cut it. Get a cheap cmos camera and some wireless connectivity. The bot would traverese the house sending pictures back to my computer wirelessly the computer would run the images through robo realm or whatever software I need to do path finding and then the computer would tell the robot where to drive without hitting things. My biggest concerns here are will an attiny be able to handel this amount of work while controlling the motors etc, a have no problem with a prop its just bigger, I want to run on liPo button cells, if these motors are as weak as i think. And secondly how fast would the wireless be whats a good option, I would like to use the cheap bluetooth dongles but considering there serial connections im not sure how fast this would be. Im thinking the cmos images have to be fairly small though. I could go wifi with either a wiznet or ENC chip and a dlink wifi to ethernet bridge deal for the xbox but once again that kind of small.
So all in all the thing needs to be capable of motor control using a feedback system PID algorythms etc, it needs to be able to take pictures and read a few other sensors. It needs to be able to perform all those functions while sending the pictures out and excuting commands recived from the PC based on the data it sent.
http://forums.parallax.com/showthread.php?118634-Autonomous-robot-s-navigation
Very cool stuff but a bit over my head at the moment, I was also reding up on how curosity works, it uses stero vision takes a picture and runs a bunch of algorythms to help find the shortest safest path. All of this kind of stuff would be great in my final bot but im sure its going to take alot of hardwork and learning to get there even if im not writing the actual vision algorithms myself, im hoping theres software out there to do this for me, My bigger bot will be navigating the same kind of terrain found on mars. There are all kinds of ways to navigate from point A to point B and on earth we have GPS yay, but there are still alot of big obsticales out here to navigate around and I dont thing a ping sensor and laser is going to be enough.
This robot is really an inspiration to this project too http://www.robotroom.com/StreamHawk-Wireless-Explorer-Robot.html as far as it freely exploring the house. I was thinking I need to start small on this, I also want the bot to be very quiet and roam at night. Im waiting on my motors in the mail currently, I got four electric screw drivers for the rover and then two of these http://www.goldmine-elec-products.com/prodinfo.asp?number=G16279 I have no idea how much load these things are going to carry I doubt theyll carry a can this size of the robot above though, especially with all those electronics packed in.
So my idea is to use an Attiny, or even a propeller if n Attiny wont cut it. Get a cheap cmos camera and some wireless connectivity. The bot would traverese the house sending pictures back to my computer wirelessly the computer would run the images through robo realm or whatever software I need to do path finding and then the computer would tell the robot where to drive without hitting things. My biggest concerns here are will an attiny be able to handel this amount of work while controlling the motors etc, a have no problem with a prop its just bigger, I want to run on liPo button cells, if these motors are as weak as i think. And secondly how fast would the wireless be whats a good option, I would like to use the cheap bluetooth dongles but considering there serial connections im not sure how fast this would be. Im thinking the cmos images have to be fairly small though. I could go wifi with either a wiznet or ENC chip and a dlink wifi to ethernet bridge deal for the xbox but once again that kind of small.
So all in all the thing needs to be capable of motor control using a feedback system PID algorythms etc, it needs to be able to take pictures and read a few other sensors. It needs to be able to perform all those functions while sending the pictures out and excuting commands recived from the PC based on the data it sent.
Comments
http://forums.parallax.com/showthread.php?134199-Skynet-is-Tracking-16-Bogeys&highlight=ExDiv
Take a look and consider PM-ing ExDiv with questions.
http://www.leafproject.org/
Options for the vision libraries include OpenCV and RoboRealm, and if you're familiar with it, you can use a low-level framework like Windows DirectShow to sample frames as they come in from a camera. The frames are converted to conventional bitmaps, where the pixels are in rows and columns. You then use various algorithms (many in open source land, and detailed in places like CodeProject) to detect outlines, track colors, create maps, and so on. While the larger computer does the image crunching, a microcontroller operates the robot.
-- Gordon
i know a ucontroller isnt going to get me far prcessing images. what im trying to figure out is what would be an optimal set up to have the controller send the data to a pc for processing, and the pc send back navigation data to the ucontroller. im definately no looking to write direct draw based vision i want something thats easy to use but with advanced capabilities. all the micro is there for is motor control and to wirelessly send and recive data, including sending video
Which part?
as i said this is a small indoors guy no bigger thqn 3 by 4 inches, and and i view it as a precouser to the vision nav id like to put on my 4 wheel outdoors rover wich will have an onboard atom or pi. What i really need to know is if a small cmos cam would work on the little guy like the one on parallax, hanno suggests a 10 dollar black and white cam, in his simpler tutorials, but i think i will need two color cams to do depth perception and navigation. the next challenge is finding out what kind of ucontroller power is needed to take 5 to 10 pics a second and then send them wirelessly, while dealing with sonar, lidar, accelarometer, and clodsed feedback motors. the more i think about it the more i think ill need a prop with an sram chip.
We're going to start with something simple, but our initial assessment is that the prop alone is a wee bit too small for a vision system on a bot. So were going to leave the prop to control the bot, and off load the vision to another part. If you have success on the prop alone, I will surely try to duplicate the result, and save myself the hassle. It will be interesting to see the progress on both options.
ive been looking at duanes index lately and saw a few projects using a wii mote ir cam, some of this stuff looks like it may be a really good option for distance/depth measurement and object detection.
id really like the bot to be able to see "dogs" im thinking itd have to detect motion if there is motion then measure tempature, if its warm enough then try to grab some demensions and see if there pet size, if so its an animal and not a human
They do but the video is very compressed and it takes a lot of computer power to compress it.
Even with a 160 x 160 image, that's 25,600 pixels. I assume you want more than 8-bits per pixel which very quickly puts you past the memory of a uC.
You still have the issue of capturing the image. I have a "Machine Vision" section in my index with some of the ways a Propeller can capture and image.
I think the easiest way of getting an image to a PC would be to use a wireless IP camera that takes care of the image capture, compression and transmission for you. Then just use the uC to control motors to drive the wheels and maybe servos to point the camera.
I think a uC based video capture and transmission project would be very cool. I toyed with a few methods myself. I don't know of any wireless solutions of getting video from a camera sent to a PC using a uC. There are several wired solutions but I think they are all for black and white images (Phil has a cool color capture process but it's slow).
I think the suggestion of using a 900MHz video link with the video capturing being done by the PC might be a good compromise solution.