servo/motor control questions out of left field

I have been browsing the site and the forum and have some questions. I am trying to make a robot that can be controlled through a WiFi or other wireless network. I know there are others out there who have wifi controlled robots but i am not impressed with what I see. I also thought about taking apart a pan tilt zoom wifi webcam and interfacing the motors to that...but they all seem cheesy and overpriced. I would like to have very precise servo control over the robots motions via a software interface possibly visual basic via the net. So far the only things I see on the store side are relay controllers.... I dont want to just turn something on or off, I want fluid motor/servo control without buying an existing wifi robot and tearing it apart/modding it...

The bot is going to be used to chart rough territory and drop wireless "beacons" as it goes. The beacons can be used to collect data, transmit it back, and to set up wireless "geo-fencing" for later use. I would like the "beacons" to act as a signal relay so this robot can go many miles with its "digital breadcrumbs".

My next concern is wifi range. I have worked with zigbee 802.15.4 wireless hardware and have seen units with ranges of up to 40 miles... what kind of 802.11 hardware is there to get a range like that... everything I find is in the form of a router or wireless relay that is for computers, not meant to interface with hardware like the zigbee stuff. If i cannot find 802.11 hardware to do this I want to use a redundant wireless system that uses both 802.11 and 802.15.4 protocol. I would rather spend more on the hardware than go with a cellular based system that has a monthly charge, but i have not ruled out anything yet...I have a few of these sitting around but it would mean a monthly charge to use them...

So here are my project requirements:

-Fluid motor/servo control with precise adjustments
-Operable by wifi, zigbee, or cellular, or a combo of each, with a nice user interface (which I could prob write in visual basic)

Any hardware suggestions? arduino?..... yea i know nothing like asking for the work on a platter right? I will most likely be working on this project for the next several years.

Other project requirements:
-video feed back over the wireless signal
-gps interface to transmit NMEA data back over the wireless network
-autonomous operation in the event of signal loss.

Thanks for any advice you may be able to give.

-Anthony

You're basically (more or less) describing the robot I am (slowly) building (nothing new under the sun). I am not that interested in precision, though, since my system is supposed to be an outdoor, off-road rugged system (in its ultimate form). I'm also not doing any breadcrumb dropping (likely I'll use GPS waypoints). I also figure that if I get to the point of fully autonomous, long distance operation, I will cross that road later (if you wanted to do this right, you would use sat-phone modems with GPS - airtime isn't cheap; neither are the modems).

As far as what I have (and have planned), my rolling beta platform is a PowerWheels H2 ride-on toy (12 VDC electrical system); I am building a custom high-torque steering servo using a Pittman gear motor, with a custom h-bridge (this may be traded out in final beta for an off-the-shelf driver). Rear drive motors will initially be controlled by a simple relay h-bridge using 40 amp Bosch automobile relays; I am also planning a swap-out of the plastic wheels for actual tires.

Control will be via an on-board custom Intel ATOM-based Mini ITX motherboard (running off a PicoPSU) - it will be running Ubuntu off dual hardware RAIDed 250 GB laptop hard drives (these may be switched to SSDs as prices come down). I think there's a gig of RAM on the mobo. This is connected to an 802.11g router (that was gutted - just the board now, added a custom antenna connector, too) via the ethernet interface. I am planning on setting up dual Logitech Orbit AF webcams (via USB - the board has a ton of USB ports), and run OpenCV with a python interface for computer vision usage. GPS will also be thru a USB receiver (most likely; or I might cobble something up with one of my GPS modules and an FTDI cable).

Communications with an Arduino via USB (again) to control drive and steering motors; a separate Pololu Micro Serial Servo board will control a standard servo-based pan-tilt mechanism (on which the cameras will be mounted; they already have a pan/tilt system that works OK, but it isn't rugged enough). It won't be very accurate (probably better than what the Orbit AF has natively, though), but I can make it more rugged, and later upgrade or build something much better (maybe base it off some digital serial bus servos?).

Control initially will be via line-of-sight 802.11g connection over an encrypted WPA2 mac-address filtered link; the onboard PC will be running a LAMP server system - as long as I can hit it with a web browser, there will be my interface (nothing custom to install, nearly any web browser should work OK). As work progresses (and funds increase, hopefully) I will think about other non-line of sight control
methods (the aforementioned sat-phone modem would be perfect).

As far as the 802.11 stuff that gets 40 miles distance; that is most likely line-of-sight with a very accurately servo-positioned high-gain antenna set on both ends (and likely neither is moving) - likely at powers that would require licensing (you would need at a minimum some kind of ham license to play in this arena) and a fair bit of money for the components (definitely not likely a typical hobbyist thing).

Good luck!

:slight_smile:

My next concern is wifi range. I have worked with zigbee 802.15.4 wireless hardware and have seen units with ranges of up to 40 miles... what kind of 802.11 hardware is there to get a range like that...

Perhaps you can show us where you saw the 40 mile range setup.

... I have worked with zigbee 802.15.4 wireless hardware and have seen units with ranges of up to 40 miles ...

I'd like to see that too.

I do know folks who have got 600km from 433MHz, but that was in a balloon at over 100,000 feet, i.e. line of sight, to a highly directional aerial, using about 10 baud.

GB

XTend 900 1W RPSMA - 40 Mile Range
XTend 900 1W RPSMA - 40 Mile Range - WRL-09411 - SparkFun Electronics

The "reality check" comment from the sparkfun link below. I think the "wifi shootout" record is ~125 miles line of sight per google search. Anyhow, this appears to be a very optimistic project that is probably doable but won't necessairly be easy or inexpensive. Use of cellular systems probably would be the best bet for extended range capability.

Should perhaps also be noted that 40 miles LINE OF SIGHT is not exactly the simplest thing, due to the curvature of the earth. For connecting a 6' tall person to another antenna, you'll need an 800 foot tower. Two 300' towers would be able to talk to each other 40 miles apart.

XTend 900 1W RPSMA - 40 Mile Range
XTend 900 1W RPSMA - 40 Mile Range - WRL-09411 - SparkFun Electronics

I'd like to add ...

The spec for that radio says:

Transmit power output (software selectable): 1mW - 1W

In the UK (and probably EEC countries) that much power needs a license or a special circumstance (like part of a physical manufacturing plant, and you own the land).

I believe there is an inverse law about data rates, which is roughly half the data rate and double the distance (for the same transmitter power and receiver sensitivity), so design to the lowest baud rate feasible. The 600km was, I think, about 10-12 baud, with a few mW (to stay legal)

I agree with zoomkat, cellular would be straightforward for those sorts of distances (certainly in the UK) and relatively cheap with a good mobile phone plan.
(ponder ... I don't know if the old pager network is still available, but that was very low cost in the UK in the early/mid 90's).

HTH
GB

Communications with an Arduino via USB (again) to control drive and steering motors; a separate Pololu Micro Serial Servo board will control a standard servo-based pan-tilt mechanism (on which the cameras will be mounted; they already have a pan/tilt system that works OK, but it isn't rugged enough)

You should consider using the pan tilt zoom electronics and replacing the existing motors with servos, that way you don't need a serial controller.

As far as my preliminary setup I am thinking about this:

I think that will get me up and running, if you see anything wrong with my diagram/thinking let me know. I could also use a simple to use Visual basic interface that looks something like this:

I might be able to program something like this but does anyone have an existing program? It would save me some time. The serial controller I am looking to use is here:

http://www.lynxmotion.com/Product.aspx?productID=395

but I am not sure how to interface it with the visual basic program. Other serial servo controllers have a windows DLL file to interface to other programs as seen here:

http://www.seetron.com/ssc_an1.htm

I've got both the minissc-II and the ssc-32. I suggest the ssc-32 as it has more features for about the same price. As for the control programming, you can skip the VB programming and make a simple web interface like I have below to control the servos. I operated it tonight using a friend's Iphone, and got a video frame update rate of one frame every two seconds on the Iphone.

http://web.comporium.net/~shb/wc2000-PT-script.htm

I've got both the minissc-II and the ssc-32. I suggest the ssc-32 as it has more features for about the same price. As for the control programming, you can skip the VB programming and make a simple web interface like I have below to control the servos. I operated it tonight using a friend's Iphone, and got a video frame update rate of one frame every two seconds on the Iphone.

I like the idea of a web interface however I need a frame rate of at least 15-30 frames per second. There are going to be two sets of servos, one for coarse adjustment, and ones for fine adjustments. The fine servo adjustments need to be tenths of degrees. I may even build a gear box to further reduce the servos motion for fine adjustments. And I think I am going with the SSC 32. much higher resolution of control. If that web interface could be refined some more i would consider it...

Your high video frame rate is for you to figure out as the arduino does not handle streaming video. As to servo resolution, from my experiments with standard servos, the standard servo is only capable of making 425 descrete movements in its ~190 degree rotation, which equates to ~5us actual resolution. Web servo controls can be made to generally to fit what ever resolution one wants to shoot for. As for non web controls, you can have the servo controller directly connected to the pc (wired or wireless) and have joystick control of pan/tilt servos and such.

As to servo resolution, from my experiments with standard servos, the standard servo is only capable of making 425 descrete movements in its ~190 degree rotation, which equates to ~5us actual resolution. Web servo controls can be made to generally to fit what ever resolution one wants to shoot for. As for non web controls, you can have the servo controller directly connected to the pc (wired or wireless) and have joystick control of pan/tilt servos and such.

I am thinking about using a 360 degree continuous rotation servo. as seen here:

especially if I am going to gear it down further, I don't want to hit the limit of the servos range of motion. But I may just get a servo with the torque/speed characteristics I need and pull the potentiometer out of it to get the same effect.