I would like to have my robot find a ball (or box or something distinctive). I have a mobile platform that I can mount just about anything on. Eventually I want to put an arm on it that will pick up the ball. So, first step, how do I find the ball and then figure out how to get to it. I could go with a camera, but I don't know anything about image recognition or anything that would take a video image and process that into something the robot could translate into directions. I was also thinking about some kind of transducer that would send out an active ping, but again, I am not really sure how to get started on something like that. Also, once I figure out the direction to the ball, how will I figure out how far away it is?
Of course there would be a lot of constraints as to where the ball could be placed. I plan to keep it simple. The ball would be within a couple of feet at the same level so that the robot could easily drive to it.
For now I am only looking for an answer about getting to the ball, but if someone has any ideas for taking it to the next level (picking up the ball and then returning to where the rover started), that could only help.
In college, I made a robot that could rotate 360 degs and search for an object within a set range. If it found the object, it would drive over to it, grab it and bring it back to where the robot first was. Then, using encoders, we (team) were able to tell the robot where to actually bring the object. We could not use GPS, only encoders, distance sensors and color sensors. We got it to bring it one of us (while holding a color card), with the color sensor. Overall, we received an A.
@HazardsMind, how did you know how far to drive once you figured out the direction? Was the object big enough to be seen with ultrasonic sensors? In my mind, I figured the ball wouldn't be big enough to be seen by ultrasonic sensors when placed on the floor, but maybe there is something more accurate? Radar? Passive IR?
Maybe another constraint should be that there isn't anything else closer to the robot than the ball.
how did you know how far to drive once you figured out the direction? Was the object big enough to be seen with ultrasonic sensors?
I used a IR distance sensor (Ultrasonic works too), and just calculated the distance between the robot to the object (soda bottle), and I told the robot to continue to take measurements until the distance was about 3 inches. Once the robot measured 3 inches, it knew to close the claw.