This is a Linksys WRT54GL wifi operated ROV. It is managed using one of the available serial ports of the router. It is connected to a 16f876 PIC wich controls telemetry, onboard nunchuck readings and manages servo position, laser and cannon firing sending data to a second PIC. both PICs and nunchuck are using the same I2C bus.
Onboard Nunchuck is used to turret tilt compensation, reading data by first PIC, and sending servo position to the second one.
A background running, cross-compiled C program for OpenWRT is used to communicate from router to PIC.
Laser pointer makes possible distance measurements. Another program, running in router, reads image data from IP Cam, decompress JPEG format, using libjpeg lib, locates the most bright pixed in a defined area, and estimates the distance by trangulation. Data is showed drawing a canvas HTML5 powered green cross on the web interface. You can view this in the attached video.
Remotely Operated vehicle via Wifi. Web interfaced, and distance measurement.
Hey tio! Claro que me acuerdo de ti!. Como estas?. Ese trofeo está en un lugar privilegiado de mi salón jaja. Te mando un privado con mi mail y me cuentas como te va.
Pachiiiiiiiii!
Hi! guy! Of course I remember you. How are you?. That trophy is on a privileged site of my living room!. I will send you a private message and tell me how about you.
My ROV uses a total of 4 18650 Li-Ion Batteries, in two groups. One of them powers the router, control board and IPCam. The other one powers the rest of the components.
Because of it doesn’t exist an affordable battery holder, I builded two, from battery protectors.You can see how I made in my blog:
Also it can be powered by a unique power supply, using a 100W/15V laptop adapter, and some diodes in serie to drop voltage.
Linksys WRT54GL can be powered from a wide range of voltage, it works internally at 3.3V, so it has a power regulator. 5 to 12V (even a bit more, but not tested personally!) power supply should be OK.
"Since we are all obsessed with the stuff. This router is fed with a DC power source. Officially it should get 12 V, but any voltage between say 7 and 15 Volt will do. The board has three DC-DC converters for three different voltages: 1.8, 3.3 and 5 V."
Correct, but take into account that each group gives 8,4 at full charge. Adv: Find the on-board protected batteries.
for BB guns you could try to buy them online but I have not much idea :(. Btw cheap bb guns (~=10€) are not specially armfull.
Mainly you take one of them, and cut every part that it is not necessary to shot, including ammunition loader :). You have to put a little tube to allow ammunition to drop into shot magazine. Cover the gun, and turn backward. You have now much more space for ammunition, and will drop into shot magazine at the same time you open fire. The higher voltage you provide, the faster will be the shooting.
I have builded a C program for OpenWRT and loaded it into WRT54GL. That program connects a socket to IPCAM and reads Motion-JPG stream. Using libjpeg decompresses the downloaded image frame, and reads RGB values for a predefined area. Then searches the most brigth pixel in that area (higher RGB value), an returns it’s position.
Reverse AJAX returns that position to web browser, and javascript function returns distance estimation. It has a predefined array that connects distances to pixel positions, maded by observation. Not defined values, are calculated by linear function, but it is also possible to make the job by triangulation, if you know the lens camera geometry.
Accuracy is ±5% but it will vary a lot if the laser o camera position has changed. (Caused by an impact or something). Note that if you choose the predefined points, accuracy will be 100% if real distance matches those points, and less if not.
To sum up, the most important thing is that hard job is done by router CPU and only cosmetic stuff is done by web browser. It is specially usefull if I want to implement some future IA behaviour, without a computer. Performance is about 2-4 FPS, and display delay 0,5-1 secs more or less.
Do you think that you could replace the camera and get a better refresh rate? I know the router is faster than 2-4FPS transfer rate, right??? I’ve been designing a very similar robot and think that offloading camera duties to the router is a must, what if you combined a gumstix CPU with the router and ditched the PICs, faster frame rate? or new router?
That’s tricky subject, no doubt, because video is intended to be sent using router wifi to a web browser. I have been breaking my brain with this problem for a long time
CPU router is not used to see the image on the web interface (the html points directly to IP camera using an iframe, inside control html). Tecnically there is no request to router web server to see the image, and fps are near factory specs. No problems at this point.
Problems start when I want to read image to estimate distances. I must make another http request to IP camera, this time done in background by router, and then, process the image data and send white dot position with the rest of the telemetry. In that case there are two guys accessing IP camera, me with firefox, and router searching the white dot.
You are right, using another camera, maybe simple rgb, and process signal by other ways we could achieve more fps, but we still have to solve the problem of viewing the image using only wifi and web.
Can you give me the plans how to build this vehicle? and when i went to the makers faire, i saw this rover base that had the sweetest suspension in the world. think about giving the vehicle a better suspention
Please give me the plans. i really want to use your idea thanks.