Question

I am thinking about building a small robot that will drive around, judge distance to objects and avoid obstacles (hopefully it will) - nothing complex, just a home fun project.

I am planning on using two webcams to decide distances and track objects, and AForge.Net as the framework. I have never done anything AI and robotics related, so I have no idea where to start.

What sort of components would I need (wheels and engine, etc., that can be programmatically manipulated, programmable controller of some sort?) and where do I get all this stuff?

Overall, where do I start with this to make it happen? I am looking for a set of tools that would solve the basic problems and allow me to concentrate on programming of my robot.

Was it helpful?

Solution

For the robot if you don't have prior knowledge and know-how I'd recommend to buy a premade solution such as the Roomba.

The Roomba (certain models) comes with a hacking kit that will allow you to program it. Plus it will clean your floor when you are bored.

Also for the vision part, OpenCV is a good start.

Be warned that its not and "easy" project you are journeying in

OTHER TIPS

I think given this is your first time working with a robot, an out-of-the-box solution will be the best for you. The mechanical and electronical design of a robot is at least as taxing as the AI part, so if you want to start into the AI part, probably a premade robot solution will help you getting right into the action ;)

I think a Lego Mindstorms would be a great place to start. For the image processing, Martin Beckett has it right, OpenCV sounds the way to go :)

Good luck, and feel free to message me if you need further help or suggestions.

Since you have no prior experience, you could try Lego Mindstorms programmable robotics.

Personally, I think this is a complex project, though fascinating ;-)

I think the Roboard looks really nice and easy to use (can make any promises there as I don't own one, though). It packs a 1 GHz CPU, I2C, SPI (for extra peripherals), PWM (for servos), A/D (for your accelerometer and Sharp IR rangefingers :), USB host signals for your cheapo webcams and a mini-PCI slot to fit your WLAN card into! Apparently it comes with a library to use all that stuff too. A netbook/laptop or gumstix would probably do fine as well.

Add batteries, two motors with integrated quadrature encoders and a easy-to-use motor driver and voila!

Phidgets stock a lot of easy to use sensor, drivers etc. Check out SparkFun as well.

Of course you probably get a lot more bang for the buck if you get an iRobot Create and just stick your netbook/laptop on top of it.

I would think the roomba is a great introductory robot to use. Like mentioned above, all the mechanics and electronics have been done for you, and all you need to do is just provide it with some additional sensors and stuff.

If this were my project & since you would like to use some e-net cameras, I would probably go with just a few cameras and a wireless router. Connected to the wireless router I would plug in and ethernet based microcontroller that could send out serial commands.

There are a few other robotic devices I would also recommend - such as the lego mind-storm, however I think the roomba is going to have a lot of "realestate" for you to use. With a few cameras and a router / a microcontroller, and probably some batteries on there, you will need some hefty power to lug all those things around.

One thing to keep in mind is what you want to do your video processing. Video processing is really interesting. I've done some video stuff myself, and when you delve into it - it gets pretty complicated - but rewarding when you can make it work :). Anyways - keep in mind that with video processing you are going to have a "lag" time from when the camera records things to when you program can see it - to when your algorithm can decide what to do.

In addition to video, I would probably also have a few other sensors on the unit. I would probably use an ultrasonic sensor. They can detect fairly close distances (2-15ft) and would probably be good for use with your project. The roomba has a few more sensors you can take advantage of (touch, step, etc.), but again really any robot kit out there works well.

If you are looking for a super basic way to get a great introductory look into the world of robotics - I'd even go as far to mention a BASIC stamp, but that is very limited and you won't be able to do much more with that than ultra basic (no interrupts, etc.)

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top