Let's Make Robots!

Some questions before i get started!

Hello

First of all, sorry if there is some misspelling or funny terms in this post, but English is not my first language. 

I have had an idea for a robot for a while and now seems to be the time to begin to work on it. I want to build a model tank. I want this tank to have two separate video feeds, one from the hull of the tank and one from the turret. I want these cameras to be connected to a microprocessor or a signal processor, and I also want this processor to be the one controlling the steering of the tracks on the tank, the turning of the turret and the firing of the gun.

I also want this tank to be wireless. I am thinking about using wifi, because Bluetooth would be to slow for one video feed, not to mention two. My idea is to connect the tank to a tablet and get the two video feeds directly in an app. I think this may require the processor to function as a router or something like that.

So with this description, what are your recommendations for using as the processor? For interface between the cameras and the processor I am thinking about using i2c, so it should be a processor that can handle two of these connections or maybe have some hardware to multiplex the two signals together if that’s possible to do.

To start with I am focusing on making the tank, so I can use it from a computer, when the tank is up and working I can begin to program the app for the tablet.

Any ideas for the kind of hardware I would need for this project? I have not yet worked with either video or wifi, so I am also doing this to learn about video processing and communication over wifi.

To sum up, the main questions in this post is:

What processor could do this for me?

What kind of interface should the cameras have?

What kind of wireless technology should connect the tank with the tablet? (computer in first attempt)

Thanks in advance for your answers and yes i know this is a really (really) big project! :) 

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Thx for the answer! I have considered the pi, but i was not sure how i would connect a micro controller to it. But i am definitely going to investigate how to hook it up to a microcontroller so i can control the rest of the tank. And yes i thought about making it an access point but I am not so sure about the protocol and the possibilities so i did not mention those thoughts. To make it internet controlled is my back up plan i think if i cannot get the tablet to connect directly to the tank. 

Thx again for your post, the rasperry pi sounds like the obvious choice now :) 

Oh it should have been a reply for "Fellow Noob" 's excellent comment..

I would start with a simple uC like a Arduino or Picaxe. I would add a small breadboard, LED and resistor. Then I would attempt to write a program to make that LED blink.

I have plenty of experience with programming, i could fairly easy make a robot that i would be able to control via rs232, maybe make it wireless with a xbee. The problem with a xbee is the data rate, it would not support a video feed let alone two, therefore i think i need to use a wifi connection if there isn’t anyone that has a better idea.. 

I ask these questions because i haven’t worked in these fields yet and i hoped there would be someone who had who would point me in the right direction, so i could start to learn about these fields.. 

Although I am yet to build robots or even get the parts yet I also have a large programming background with .NET (C#, VB.net and iron python, VB.net I have also used under mono on linux), Python (other than iron) and have dabbled with assembly, ruby and lua.

But I can see that plenty of experience in programming for desktop applications isn't going to map well to a microcontroller. Got to do the microcontroller equivelant of the hello world first I'm afraid.

 

Anyway, this is how I would do it, this is a plan that might differ from someone with experience though.

Rasberry pi, 700mhz ARM 256mb RAM, twin USB ports and onboard ethernet. Cheap too (but short supply). Seen it powered through battery packs for RC cars already (through a regulator of course). It can't give much current over its USB's so most people use an external 4 port hub that has its own power adaptor (which I have also seen hacked to run off the same battery as the pi). With a setup like that it should be able to boot into linux while mounted to the tank. It can deal solely with the webcam streaming through the USB's. Then you have a choice of ethernet or adding a usb wifi adaptor to the hub. The GPIO strip of a pi includes logic level serial connectors suitable for hooking to a microcontroller of your choice. The micro controller would just have to read the serial line and adjust motor speeds on the tank itself, doesn't even have to touch the webcams or wifi. The pi would run an app that simply reads commands off of either the ethernet or wifi and then passes them onto the serial port (to the microcontroller) resulting in the tank moving, at the same time it would stream the webcam feeds back over the network aswell. Should work nicely. It runs linux so you get a huge choice of programming language, mono and java both work, pythons included, C++ works everywhere etc etc.

 

EDIT, To interface to the tablet, some wifi adaptors can act as accesspoints, so maybe the app on the tablet connects to the pi's wifi "accesspoint" and then the app takes it from there??? Or the pi could be connected to the internet not LAN and internet controllable, might be easier to get the tablet to connect then.