Taking image input from a USB webcam to help a robot "see"

Hi there!
I'm a newbie and its my first post here, looking for a way to start my project.

I am to make a robot rather an autonomous robot car, which uses a USB webcam to "see" and hence avoid obstacles on the move. I first thought of using an Arduino Ultrasound sensor I found on Amazon, but I thought it would be better if I use my spare webcam.

Now I understand that this method requires the implementation of an image processing algorithm which isn't going to be easy(that's why I'm excited about it! I'm passionate about coding/programming).

Inspired from :-2014 International Robot Racing Competition at Waterloo - YouTube

So I need help on the following guidelines:-

  1. How to take input from the webcam and send it to the board?
  2. Would it be better to use the ultrasound sensor rather than the webcam?
  3. How to program the board so that it avoids any obstacles in its way?
  4. How to make the robot stop at a red light, and go at green?
  5. How to make the robot differentiate between a red traffic light and a red stop signal and take appropriate action?
  6. What programming language is used for Arduino? I am confused between C and Java.
    [OPTIONAL] :-
  7. How to make the camera record a video at the same time?

Any help would be greatly appreciated.
Thanks

-YaddyVirus

Arduino has far too little memory and is too slow to handle images. At a minimum you need something like a Raspberry Pi for that.

Arduino is programmed in C/C++.

jremington:
Arduino has far too little memory and is too slow to handle images. At a minimum you need something like a Raspberry Pi for that.

Thanks for the quick reply,

What about an Intel Edison? I think that should work.
Anyways, I would use an Ultrasound sensor, but us there any way to differentiate between light sources (red lights) and normal objects(red stop sign) without using image processing?

The Edision is not an Arduino, but the Yun should be able to do the job.

Mark

holmes4:
The Edision is not an Arduino, but the Yun should be able to do the job.

Mark

Sounds interesting. I assume the usage is similar to UNO. As I'm still a beginner I don't want to run up into something very complicated on my first attempt.

BTW I know the Edison is not an Arduino, but it just seems to be a hell lot more powerful and with much more hardware capabilities.

Anyways.. How do I get started?

Anyways, I would use an Ultrasound sensor, but us there any way to differentiate between light sources (red lights) and normal objects(red stop sign) without using image processing?

You could use a sensor like this https://www.robotics.org.za/index.php?route=product/product&search=light+sensor&description=true&product_id=483

But I think this one can only see colors.

A raspberry pi, its camera or a webcam and opencv software should do the trick, its not that easy to start with but there are a lot of tutorials online.

You could also use a pixy cam cmu5 which cant see objects but has the ability to differentiate between color codes and it works with any arduino but if you want to avoid obstacles to will have to add ultrasonic sensors.

Anyways.. How do I get started?

Start reading up on the suggestions everyone is giving you.

M.....

As I'm still a beginner I don't want to run up into something very complicated on my first attempt.

I would suggest then that you pick another project. This is not simple or straightforward.
I would recommend a Raspberry Pi because it allows you to easily get to the complex bit.

Grumpy_Mike:
I would suggest then that you pick another project. This is not simple or straightforward.
I would recommend a Raspberry Pi because it allows you to easily get to the complex bit.

Can't do that... I am to make this robot for an event. Moreover, thanks to the Internet I now atleast have an idea of what to do and how to do.