Internet Based Embedded Mobile Rover

Hello everyone,
I'm a new learner about arduino.
Recently I want to do a project. It aims to develop a low-cost Arduino-based Mobile Robot Network Camera using low cost consumer components and JPEG encoding CMOS cameras. Such a camera would be useful in home security for remotely monitoring a home over the Internet. The web interface could provide a set of controls for moving the rover and rotating the camera before a picture is taken.

As I just start doing it, there are many problems on my way.
1.How to remotely control a arduino-based robot? What kind of technology should I use?

2.How to control a 4wd robot move ?

3.How can the camera take pictures, how can I remotely monitor ?

Sorry, I am a really newer in this region, I hope I can get help here, thank you very much.

The below link has some routerbot ideas.

http://www.lynxmotion.net/viewtopic.php?f=20&t=6343

Look at the Foscam cameras, you can get them from Amazon for about $80. They're self-contained wifi cameras with pan and tilt. That reduces the problem to just an IP-controlled rover.

Thx for reply. Could you tell me the process of doing this project? I don't know how to connect,where to start...It seems I should use server side technology for remote control. What kind of technology would be appropriate?

You're asking a lot, but here's a brief summary of one way of doing it. For your video, use the Foscam camera I recommended earlier. On your Rover, you have an arduino, an ethernet shield, a motor controller shield (Adafruit Motor/Stepper/Servo Shield for Arduino kit [v1.2] : ID 81 : $19.50 : Adafruit Industries, Unique & fun DIY electronics and kits) and a wifi bridge -- something like a PepWave Surf 200.

To control the rover, there are four possible commands -- forward, back, left and right. You make a webpage that has four images, each one is a botton representing one of the four commands. Clicking and holding the button does the command, releasing stops it. The code for each button looks like this:

<img src="up.gif" onMouseDown="up_onmousedown()" onMouseUp="up_onmouseup()">

That is repeated four times, once for each button.

in this page there is JavaScript that looks like this:

rover_path="http://192.168.1.100" // or whatever the IP address of the arduino is
 
// this creates an invisible frame that you can load the results of an HTTP GET into:
<iframe name="action_zone" style="display:none"></iframe>

Then you have eight functions, one for each movement, that look like this:

function up_onmousedown(id) 
{

       action_zone.location=rover_path+"/UPSTART";
	
}

This webpage can be hosted anywhere -- on a server somewhere, on your desktop, even on the arduino, although I wouldn't recommend it because of the limited memory.

Your arduino is programmed to run as a server, and it has to handle eight possible GET requests, for the eight possible commands. For each command, it sends a signal to the motor controller to do the appropriate response. Take the server program in the Arduino sample code and modify it.

So in summary, there's four parts to this project:

  1. Build a rover with two motors.
  2. Assemble the arduino control components
  3. Program the sketch for the arduino
  4. Write the javascript for the control page.

An additional thought to follow on my previous post: as I laid it out you can very easily divide the problem into smaller pieces and get each piece working independently. For example, you could start with an Arduino and an ethernet shield. You could do all the programming for the sketch and debug it just using a browser directly, and then program the webpage. Once you have the webpage and sketch working together, you could add the motor shield and work on the motor control. Then add the wifi components. Then build your platform.

If this is all too daunting you could buy a Lego MindStorms kit, it has built-in bluetooth and everything you need.

DCContrarian:
You could do all the programming for the sketch and debug it just using a browser directly, and then program the webpage. Once you have the webpage and sketch working together, you could add the motor shield and work on the motor control. Then add the wifi components. Then build your platform.

Perfect answer! That's very kind of you! I was also considering accomplishing it step by step, all the materials are provided by school, so I don't have choice.
I tried to start it from simple, so I am trying to run the ethernet example using my arduino and ethernet shield in the first step, but it goes wrong,
it always can't connect rightly.

There're so many questions when I do this project, hope I can get help from you in the following days.

Hi guys,
I want to make this project wireless, and I'm considering to use a Xbee, I don't know which type will be the best, can anyone send me a link to order a Xbee for this project?