[Feasibility] Multiple web controlled robots by camera view

Hi all,

I'm totally new to robotics so please pardon me for my mild understanding.

I'm researching on a project that will allow different people from around the world to control different robots. The users would be controlling the robot on a web browser with its' camera view. All these robots is restrict within the same area, controlled by wi-fi or radio. There's a few ending points, so at the end of the controlled period, the system would need to know which ending point the robot is at.

A example would be a maze with different entrance & exits, all the robots will be controlled by different users to solve the maze.

The main concern I have is: Is it possible to control multiple robots individually within the same area? Online with video streaming. Could the system detect the end point of the robot? To make it easier, I could add things such as QR code or a color/number board to have the camera face it in the end point. Would this help in making things simpler?

I'm not really sure which hardware, APIs and things to look into. Would appreciate greatly for any guides and pointers to making my research fruitful.

Thanks a lot for reading.

Everything you want to do is possible (provided you have the bandwidth to host it) - but I would first look into getting a simple robot up and running, then adding a camera (if you want to do it as easily as possible, an IP camera is what you'll want to use).

Of course, the Arduino won't be doing any of the video processing, but you can set up the robot to have a wireless RF interface to communicate with it. The server could be set up in any number of ways, but essentially there would be a process on it that would listen on a port, then forward commands via the RF interface to the Arduino on the robot, which would control the motors (or, if you are interfacing to something like an iRobot Create or such, it would send the commands on to the robot's CPU). The camera, meanwhile, would just be streaming video back over 802.11g/n to the web server, which would incorporate it into the user's browser view. The web server would serve up the GUI pages for control of the robots to the browsers, and would forward commands from the browser (GET/POST) to the port on the controller server (you might be able to combine the servers as well).

That's a very bare-bones basic outline; it doesn't cover recognizing end-points - though something like a QR code would work OK - basically, you'd have to intercept the stream from the camera on the web server, and send the frames to something to process them and interpret the QR code - look into OpenCV (multi-platform and free):

http://opencv.willowgarage.com/wiki/

or RoboRealm (for Windows only):

http://www.roborealm.com/index.php

There are other options as well - but those two are the most common.

For now though - work on getting a simple robot connected and controlled by the Arduino - then work on expanding it bit by bit to support the camera and such; then controlling it thru a web browser. Taking it to the next step of multiple machines will be simpler, then...

:)

Hi cr0sh,

Thanks a lot for your input.

I have been reading on the parts and setup guides to understand more.

It's quite a dilemma, to grab a simple robot kit to jump start or learn about the different parts. I see the boards on http://arduino.cc/en/Main/Hardware but not the motors and base. Is all base workable with Anduino board? Such as http://www.sparkfun.com/products/10336. Do you have any recommendation or online guide to choosing the parts?

The more I read, the more I wish to hands on, but I won't wish to spend too much to start.

Cheers!