Arduino Forum

Topics => Robotics => Topic started by: TiboJ on May 12, 2012, 04:42 pm

Title: Starting my first UGV project - need some starting help
Post by: TiboJ on May 12, 2012, 04:42 pm
Hello everyone,

I'm trying to start one of my first real Arduino robot project, but need some help.
It will be a unmanned ground vehicle, which I can control with a controller, and with an onboard camera that streams the video to a monitor.

Now this are my questions:

- Which is the best way to control the robot wireless? Radio Controlled? I think wifi isn't a good solution, because I'm going to use it in the woods with Airsoft games(there is no internet)

- Is streaming video signals from the camera to a monitor possible? Also, wifi isnt a good solution?

This is the very very first part of this project, I'm justing thinking how I should do it all.

Any help, advice and tips are welcome!

greets,
Tibo

Title: Re: Starting my first UGV project - need some starting help
Post by: otzi on May 12, 2012, 08:07 pm
Hi for controlling a robot I would use RC. You could just  mount a RC car on the front of your Robot and build your arduino circuit seperatly.
I don`t know how much money you want spend but an Rc car like this should be ok:
http://www.ebay.de/itm/RC-Auto-Amphibienfahrzeug-Land-Wasser-ferngesteuert-/330701815670?pt=DE_Allesf%C3%BCrKind_Spielzeug_FerngesteuertesSpielzeug&var=&hash=item4cff5d3f76#ht_7449wt_1072

Take the hood of the car tight it zip ties to your robot.
Title: Re: Starting my first UGV project - need some starting help
Post by: TiboJ on May 12, 2012, 08:14 pm
Thank you for the advice.

But, how do I make my arduino interact with it, so I can control the rc car with the transmitter?
And what about video streaming?
Title: Re: Starting my first UGV project - need some starting help
Post by: otzi on May 12, 2012, 08:20 pm
Do you want arduino to interact with the RC car or with the Remote control of the RC car?
Title: Re: Starting my first UGV project - need some starting help
Post by: TiboJ on May 12, 2012, 08:50 pm
I assume Arduino with the rc car, because I want the possibility to turn the camera.
I don't know what the best solution.

The most important is that I need the possibility to control the rc car, and stream a video to a monitor.
Title: Re: Starting my first UGV project - need some starting help
Post by: otzi on May 12, 2012, 09:13 pm
Well you can control the RC with the remote of the RC car and mount the Camera on a Servo to turn it. With the Video streaming im not so sure but maybe you can use a WiFly shield or an Xbee to communicate between two arduinos.
Title: Re: Starting my first UGV project - need some starting help
Post by: dxw00d on May 12, 2012, 09:20 pm
You can already buy RC Cars with video streaming built included. Get one of those, and look at interfacing the Arduino with it.
Title: Re: Starting my first UGV project - need some starting help
Post by: TiboJ on May 12, 2012, 09:39 pm
Okay, but for wifly shield i need wifi, and that is impossible in the woods?
And xbee has probably to less range i think(I need atleast 100m range).

I'll take a look for it tomorrow.
Thanks guys!
Title: Re: Starting my first UGV project - need some starting help
Post by: TiboJ on May 13, 2012, 10:22 am
The xbee looks interesting, the only limit is the range of 100m...
For the wifly shield, do I need internet for it?

About buying a ready made rc car with camera: I searched for some cars, but the transmit range is not enough.

Maybe it is a good idea to buy a FPV camera that they use with RC aircraft.
It has much more range...

I'll search more now.

EDIT: one more question: if I buy a robot chassis, is it possible to install a receiver on it, and control it with a transmitter?
The same way as RC aircrafts work.

Title: Re: Starting my first UGV project - need some starting help
Post by: TiboJ on May 13, 2012, 07:18 pm
I think this is what I want:

http://www.robotshop.com/dagu-wild-thumper-6wd-all-terrain-chassis-aluminum-34-1.html

Now I don't know which controller to take:

http://www.sparkfun.com/products/11057

or

http://www.dimensionengineering.com/products/sabertooth2x12rc

Can the sabretooth handel the motors?
Is it possible to let a led go on by pushing a button on a transmitter, because I don't see digital pins, but only pins for servo's?
Also, what does 75:1 or 34:1 gearbox mean?
Title: Re: Starting my first UGV project - need some starting help
Post by: TiboJ on May 14, 2012, 07:26 pm
I'm probably going to buy this robot chassis:
http://www.robotshop.com/dagu-wild-thumper-6wd-all-terrain-chassis-aluminum-34-1.html

There is a 75:1 and 34:1 gear ratio version, which one will be the best? Speed is not very important, but strength and carrying capacity is.
Can someone explain it?
Title: Re: Starting my first UGV project - need some starting help
Post by: Chagrin on May 14, 2012, 07:36 pm
I'd suggest the Sparkfun controller given the minor increase in cost and much larger quantities of features (battery charging, programmable Arduino). Also, the pins aren't really "pins for servos" but rather just handily arranged with a +, -, and signal for each output.

75:1 means that the motor rotates 75 times for each 1 rotation of the output shaft. This would of course be slower but stronger than the 34:1 ratio version.

Title: Re: Starting my first UGV project - need some starting help
Post by: TiboJ on May 14, 2012, 07:45 pm

I'd suggest the Sparkfun controller given the minor increase in cost and much larger quantities of features (battery charging, programmable Arduino). Also, the pins aren't really "pins for servos" but rather just handily arranged with a +, -, and signal for each output.

75:1 means that the motor rotates 75 times for each 1 rotation of the output shaft. This would of course be slower but stronger than the 34:1 ratio version.




Thanks for clearing that up!

I'll go for the sparkfun controller then, and a 75:1 ratio version.
Title: Re: Starting my first UGV project - need some starting help
Post by: TiboJ on May 14, 2012, 08:08 pm
If I want to control a pan/tilt camera on the UGV, will that be possible with a normal 6 channel transmitter like this?:

(http://www.chinatopwin.com/PIC/Futaba-6EX-2-4GHz-6CH-Transmitter-System-1411-538L.jpg)

It will be something like this:

-The right joystick is for going left or right with the UGV(horizontal control)
-The left joystick is for going forward or backward(vertical control)

Now I have only the following left to use:

-The right joystick(vertical control)
-The left joystick(horizontal control)
-Left switch
-Right switch

-So, would it be possible that when I put the left or right switch, the left joystick controls the camera, but doesn't control going left or right anymore?
I assume that the Arduino is the best way to do something like this, but then there is another problem: The Arduino should be able to remote control things on the UGV when the UGV is 500 meters away from me.
                   
I don't want to use the right switch to turn the camera right, and the left switch to turn the camera to the left, because I'll lose the switches for something else then.

Maybe am I thinking to difficult, and is there a much more easy way to control a pan/tilt system?
Or, maybe I should get a transmitter with more channels?
Title: Re: Starting my first UGV project - need some starting help
Post by: Chagrin on May 15, 2012, 12:27 am
Yes, it would be possible to utilize a switch to tell your Rover that the joysticks (speed and turn signals) control the camera. This would require additional programming on your part; you should look at the example code for the Wild Thumper Controller and make sure you understand it. in the RCMode() function you'll see it reading the speed/turn channels and here is where you'd have it read an additional channel to determine if those readings are for the camera or the wheel motors.

I'd suggest you also set the Rover's speed to zero whenever it detects you've flipped your switch to camera control.
Title: Re: Starting my first UGV project - need some starting help
Post by: keeper63 on May 15, 2012, 12:30 am
It might be better to have one joystick control the camera position (you may want this one to be non self-centering, if that is an option), and the other control the vehicle motion. Then, pass the signals from the receiver into the Arduino. Have the Arduino decode the signals, and pass them back to the ESC/steering servo, and servos for the pan/tilt (via the servo library); alternatively (and this would possibly be best), use a seperate serial servo-controller (such as from Pololu) commanded by the Arduino. Wire the output of the receiver channel for one of the switches to the Arduino as well. Use this as a "menu" function; add some kind of OSD video overlay controller, and pass the camera feed thru it before you pass it to the on-board transmitter. On this feed you could overlay things like compass readings, other sensor readings, perhaps GPS (might not work well in the woods?) - and also a menu; flip the button, get a menu, select the options with the joystick(s) and switche(s), exit back, continue on. This way, the number of possibilities (servos, "channels", etc) is almost unlimited.
Title: Re: Starting my first UGV project - need some starting help
Post by: TiboJ on May 15, 2012, 04:54 pm
Thank you very much for explaining that!


So this is basically how it will work:

Transmitter sends signal to receiver>> signal arrives at receiver >> servo cable from receiver to the Arduino >> Arduino serial cable to servocontroller >> servocontroller controls the servo's that I want.

I don't understand how the receiver can tell the Arduino to interact with the servocontroller.

I've got a few questions about it:

-Is the Wild Thumper Motorcontroller also a servocontroller? I can see it has outputs for servo's on it. Altough, I don't know if it is possible to control the servo-outputs with RC receiver?
-How can I connect a servo cable, from the receiver, to the Arduino?
-I'll use the Wild Thumper 15A motor controller, and it has an onboard Arduino(ATmega168) on it. So that means that I'll have to connect the Arduino from the motorcontroller to the servocontroller, to send the serial signals. I don't see a useable serial output on the motorcontroller? Maybe the USB?

Probably I'm not understanding it all.

Again, thanks for helping me!

Here is the Wild Thumper motorcontroller:
http://www.robotshop.com/dagu-wild-thumper-dual-15a-motor-robot-controller.html
Title: Re: Starting my first UGV project - need some starting help
Post by: keeper63 on May 15, 2012, 06:24 pm

Thank you very much for explaining that!

So this is basically how it will work:

Transmitter sends signal to receiver>> signal arrives at receiver >> servo cable from receiver to the Arduino >> Arduino serial cable to servocontroller >> servocontroller controls the servo's that I want.


Pretty much; note that I was thinking of something like the servo controller Pololu sells, which typically communicate using TTL serial (thus, you would use something like a software serial connection, or an Arduino that provided more than one hardware serial port).


I don't understand how the receiver can tell the Arduino to interact with the servocontroller.


Well - you have to decode the servo commands from the receiver; I know there are people who have done this (there may even be a library available). Essentially, you are converting the PPM signal from the receiver servo channels into a numeric value.


I've got a few questions about it:

-Is the Wild Thumper Motorcontroller also a servocontroller? I can see it has outputs for servo's on it. Altough, I don't know if it is possible to control the servo-outputs with RC receiver?


Looks that way to me; I think only the high-current DC motor outputs can be controlled by RC control, but I haven't looked at the manual (just basing this on what I read at the link and the image). You might be able to control the servo outputs via I2C or some other manner (meaning you might be able to connect this board to an Arduino using I2C for control of the servos). Note that it has a 168 on board, so it is essentially a basic Arduino itself.


-How can I connect a servo cable, from the receiver, to the Arduino?


You could use a stripped servo extension cable; you would only need to connect the ground and signal lines (not the power); run the signal line to a digital input (then use/build PPM interpretation code to decode the signal).


-I'll use the Wild Thumper 15A motor controller, and it has an onboard Arduino(ATmega168) on it. So that means that I'll have to connect the Arduino from the motorcontroller to the servocontroller, to send the serial signals. I don't see a useable serial output on the motorcontroller? Maybe the USB?


I believe that the motor controller is meant as a standalone device, meant to be controlled by some other means, whether an RC system or another microcontroller; while it might have spare code-space to be used as an integrated robot controller, the 168 is kinda limiting. While it doesn't have another serial port (no 168 or 328 based Arduino has more than one, which is "dedicated" to the USB connection), you can use a software serial port connection (via the digital pins - which on this controller are part of the servo pin block) to whatever serial device you want.

That said - since this controller is an "all-in-one" device - if you can live with the limitations of the 168 (memory, I mean) on board, then it probably has everything you need. I don't know if you get the source code to the software on it, but if you do, that code already is set up to decode the steering control inputs from an RC receiver, it looks like; so you could either modify it, or they may include/show how to use it with extra RC channels (each which would take up a spot on the servo output block, of course). If that is the case, then you have just about everything you need.

Unfortunately, I think the 168 might be too limited to allow you to implement anything like the OSD menu-type system for video like I noted earlier, unless you are able to write some very tight code; I really don't know. You would need both that tight code, and some kind of OSD board that used TTL serial or such for commands to draw the characters, with pass-thru for the video (camera->OSD->video transmitter).

Probably I'm not understanding it all.

Again, thanks for helping me!

Here is the Wild Thumper motorcontroller:
http://www.robotshop.com/dagu-wild-thumper-dual-15a-motor-robot-controller.html
[/quote]
Title: Re: Starting my first UGV project - need some starting help
Post by: keeper63 on May 15, 2012, 06:31 pm
I just looked at the Wild Thumper code and manual; it is very basic, easy to read - you should be able to use it to read extra channels if you want (it is only set up currently for two channels, but adding channels should be easy). The code doesn't look very big, so adding the OSD stuff might be doable. You could also use a separate Arduino if you wanted, and use it via I2C or serial TTL (and a software serial library) to act as the OSD piece. This is actually a nice bit of kit for a robot controller (though a bit pricey - you are essentially paying for the h-bridge).
Title: Re: Starting my first UGV project - need some starting help
Post by: TiboJ on May 15, 2012, 07:28 pm
Thanks for explaining again!



Quote
Pretty much; note that I was thinking of something like the servo controller Pololu sells, which typically communicate using TTL serial (thus, you would use something like a software serial connection, or an Arduino that provided more than one hardware serial port).


Good idea! I've also found a library for it:
http://arduino.cc/hu/Reference/SoftwareSerial

Quote

Well - you have to decode the servo commands from the receiver; I know there are people who have done this (there may even be a library available). Essentially, you are converting the PPM signal from the receiver servo channels into a numeric value.


I'll take a look at this, and search for some tutorials/library's.

Quote
Unfortunately, I think the 168 might be too limited to allow you to implement anything like the OSD menu-type system for video like I noted earlier, unless you are able to write some very tight code; I really don't know. You would need both that tight code, and some kind of OSD board that used TTL serial or such for commands to draw the characters, with pass-thru for the video (camera->OSD->video transmitter).


I think that is a limitation for me, the code is probably going to be big, so the 168 might have to less memory.
I'll think about it, and otherwise, there is an alternative:
http://www.dimensionengineering.com/products/sabertooth2x12rc

Should 2x12A be enough, as each motor requires 5.5A( 3 x 5.5A = 16.5A)?
Title: Re: Starting my first UGV project - need some starting help
Post by: keeper63 on May 15, 2012, 08:37 pm

Good idea! I've also found a library for it:
http://arduino.cc/hu/Reference/SoftwareSerial


Yeah, that's pretty much the standard library for software serial (or is it the NewSoftwareSerial?) - there are actually several such libraries out there, and I really forget which is the "latest" that is "standard" (maybe somebody here can help me out?). I do know there are a few out there that claim to have this or that improvements over the standard library for certain tasks; you might take a look around.

The point of using a separate servo controller is so you can "offload" the work of controlling the servos to another controller. Note that this is -exactly- what the WildThumper is doing; in its case, the controller is an ATMega168 using the Arduino libraries (specifically the Servo library).

So - if you wanted to - you could easily build your own "custom" WildThumper-clone using the code they provide, your own Arduino, and your own motor controller for the DC motors.


I'll take a look at this, and search for some tutorials/library's.


As I said above - the WildThumper does everything you need to do, it is just limited in memory; all of the code is published on the site (download it and read thru it - it is very basic and easy to understand, and commented well). The code already handles taking PPM input from the RC receiver, and decoding it for output to the motor driver.


I think that is a limitation for me, the code is probably going to be big, so the 168 might have to less memory.


If you do as I suggest above (with attention paid to what I note below), you could (in theory) use a 644 or 1284-based Arduino (though you might have to build that yourself) or Mega 1280/2560 as the controller and have room to spare. Or, you could use a pair of 328-based Unos. Or even a single Uno; it is difficult to say what you need or what you can use, without knowing your complete specs of what you plan to do ultimately. For simple RC control, etc - a single Uno would suffice; you could probably even get the OSD stuff I was talking about working as well. But, adding other things like GPS or other peripherals will expand memory requirements, and you might find yourself running low with a 328.


I'll think about it, and otherwise, there is an alternative:
http://www.dimensionengineering.com/products/sabertooth2x12rc

Should 2x12A be enough, as each motor requires 5.5A( 3 x 5.5A = 16.5A)?


That is, IIRC, just an h-bridge; it is unclear on the specs of the Thumper whether that 5.5A stall current is for the whole device, or per motor (there are 6 motors on that chassis, btw, not 3). If it is 5.5A per motor, then I would only consider using one h-bridge per set of motors (so you would need 3 of those sabertooth controllers). If it was in total (that is, 5.5A for all motors locked up, so 2.25 amps per each side), then the sabertooth would be extreme overkill, but you could use one. Unfortunately, that site does not give good enough information about the specs on the motors for the Thumper chassis to know what they mean (I would suggest emailing them for clarification and/or reading the manual for the chassis and/or motors).

Ah - reading on the controller page for the WildThumper controller indicates that indeed - it is 5.5A stall current for -EACH- motor; or 33A total for all motors stalled - so you could go with (at minimum) two sabertooth 2x12 controllers; one controlling 4 motors (two per side), the other controlling the remaining two - or use 3 sabertooths, one per pair of motors - or try to find a different suitable h-bridge to handle the motors (about 16.5A per side of 3 motors).

Of course, regardless of the above answer, you would have to build up your own "controller" as outlined before to control the h-bridge(s) involved (based on the WildThumper controller code).

To be honest, you would probably be better off sticking with the WildThumper controller, and using a separate Arduino for the extra peripheral stuff, communicating with it via the 168 on the WildThumper controller via software serial or I2C (or, have the serparate Arduino be the master, controlling the WildThumper using I2C or serial; your call).
Title: Re: Starting my first UGV project - need some starting help
Post by: TiboJ on May 15, 2012, 08:59 pm
Quote
As I said above - the WildThumper does everything you need to do, it is just limited in memory; all of the code is published on the site (download it and read thru it - it is very basic and easy to understand, and commented well). The code already handles taking PPM input from the RC receiver, and decoding it for output to the motor driver.


Nice!

Quote
it is difficult to say what you need or what you can use, without knowing your complete specs of what you plan to do ultimately. For simple RC control, etc - a single Uno would suffice; you could probably even get the OSD stuff I was talking about working as well. But, adding other things like GPS or other peripherals will expand memory requirements, and you might find yourself running low with a 328.


The UGV needs to be 'modular', so I can always remove or add accessories on it.
These are some accessories I'm thinking about:
-Video streaming
-Remote control Airsoft gun(for Airsoft games)
-Robot claw
-OSD overlay(with GPS)
-Spotlights
-...
So that will need some memory.

Quote
(there are 6 motors on that chassis, btw, not 3)

Indeed, but there are 3 motors on each side, and the sabretooth can handle 2x12A, so that means it can handle 12A on each side of the UGV?

Quote
Ah - reading on the controller page for the WildThumper controller indicates that indeed - it is 5.5A stall current for -EACH- motor; or 33A total for all motors stalled - so you could go with (at minimum) two sabertooth 2x12 controllers; one controlling 4 motors (two per side), the other controlling the remaining two - or use 3 sabertooths, one per pair of motors - or try to find a different suitable h-bridge to handle the motors (about 16.5A per side of 3 motors).


I'm not going to do that, that will be way to expensive cost, as 1 sabretooth is around $65.

Quote
To be honest, you would probably be better off sticking with the WildThumper controller, and using a separate Arduino for the extra peripheral stuff, communicating with it via the 168 on the WildThumper controller via software serial or I2C (or, have the serparate Arduino be the master, controlling the WildThumper using I2C or serial; your call).


I'll probably do it this way, altough I don't know much about using 2 arduino's, so I'll look up some information about it.
Again, I really appreciate your help!

Title: Re: Starting my first UGV project - need some starting help
Post by: keeper63 on May 16, 2012, 12:53 am

The UGV needs to be 'modular', so I can always remove or add accessories on it.
These are some accessories I'm thinking about:
-Video streaming


By "streaming" - what do you mean? You probably know you can't do this with an Arduino; but if you mean to use a wifi web cam or something, then there'd be no need to use an R/C transmitter; you could just control the robot/Arduino via wifi. If you intend to stick with an RC kit, then you probably want to use some kind of RF camera, with a transmitter on the robot. There's drawbacks and advantages for both methods, so keep them in mind (and think about what you intend to do, etc).


-Remote control Airsoft gun(for Airsoft games)
-Robot claw
-OSD overlay(with GPS)
-Spotlights
-...
So that will need some memory.


All of these items are doable, certainly - but they require not only more memory, but more pins - so you need to keep that in mind; you may want to go with a Mega for both. Just realize that if you intend to use shields, they may not all work with a Mega (depends on their functionality) as shields (though if you mount them seperately and jumper them together, most should work ok, with appropriate code bashing, too).


Indeed, but there are 3 motors on each side, and the sabretooth can handle 2x12A, so that means it can handle 12A on each side of the UGV?


Yes, but at 5.5A stall current per motor, that controller is way undersized for the task (since each side needs 16 amps).



I'm not going to do that, that will be way to expensive cost, as 1 sabretooth is around $65.


Then you're going to have to find another option for the motor controller; sticking with the WT controller might be the best option, as it was designed for the chassis anyhow. Use a Mega to control it (so you also have expansion options in the future).


I'll probably do it this way, altough I don't know much about using 2 arduino's, so I'll look up some information about it.


Well, the WT controller is already programmed to listen for another microcontroller (in this case, it would be your external Arduino), so you can just look at the code to see how it is using serial input to achieve this. On the Mega, there is already extra hardware serial ports, so you don't even need to use a software serial library (offhand, I am not sure how you control the extra hardware serial ports, but I am guessing it is fairly easy). You could modify the code on the WT controller to allow you to send commands over the serial connection to control the servos on the WT controller. You could also hook up servos and other things to your external Arduino (and control them with the Servo library). To read commands from the RC receiver, you just need to study how the WT controller is doing it for its motor control (very simple). Or - if you intend to use wifi control (say, with an ethernet shield or board, or via an modded WRT54G router, or something like that), you just need to parse the commands from the network and send appropriate command strings to the WT controller.

[/quote]
Title: Re: Starting my first UGV project - need some starting help
Post by: TiboJ on May 16, 2012, 02:14 pm
Quote
By "streaming" - what do you mean?


The camera will not be connected to an Arduino, but it will have his own circuit.
The only way it will be in touch with the Arduino is to remotely switch the camera on or off.
Also, the camera will have his own receiver and transmitter, like here is explained:
http://rcexplorer.se/Educational/FPV/FPV.html

Quote
you could just control the robot/Arduino via wifi


I assume I need a wifi connection to control the robot using wifi, and that isn't in the woods? And the range would be reduced very much.
So I'll stick with RC, as it got much more range.

Quote

All of these items are doable, certainly - but they require not only more memory, but more pins - so you need to keep that in mind; you may want to go with a Mega for both. Just realize that if you intend to use shields, they may not all work with a Mega (depends on their functionality) as shields (though if you mount them seperately and jumper them together, most should work ok, with appropriate code bashing, too).


Then it's probably a good idea to get an Mega. I'll take a look at this.

Quote
Well, the WT controller is already programmed to listen for another microcontroller (in this case, it would be your external Arduino), so you can just look at the code to see how it is using serial input to achieve this. On the Mega, there is already extra hardware serial ports, so you don't even need to use a software serial library (offhand, I am not sure how you control the extra hardware serial ports, but I am guessing it is fairly easy). You could modify the code on the WT controller to allow you to send commands over the serial connection to control the servos on the WT controller. You could also hook up servos and other things to your external Arduino (and control them with the Servo library). To read commands from the RC receiver, you just need to study how the WT controller is doing it for its motor control (very simple).


I also think this is going to be the best way. So I will take a look at code, and see how it does it all.

Thanks!
Title: Re: Starting my first UGV project - need some starting help
Post by: keeper63 on May 16, 2012, 06:19 pm

The camera will not be connected to an Arduino, but it will have his own circuit.
The only way it will be in touch with the Arduino is to remotely switch the camera on or off.


Ok, understood.


I assume I need a wifi connection to control the robot using wifi, and that isn't in the woods? And the range would be reduced very much.
So I'll stick with RC, as it got much more range.


Well, if you have the Arduino connected with the router in AP mode, and locked down to a specific mac address (that of your "remote station" - which could be a smartphone, a netbook, or a laptop), then that is really all you need. You could add WPA on top of that if you needed more security (and for even more security, an SSH tunnel on top of that).

As far as range is concerned, that might be an issue, but I would suspect that if it were, it would be the same for an R/C system (especially perhaps a 2.4 GHz spread spectrum radio), but then again, I don't really know. There are ways of boosting wifi as well (though some require a ham license); one way is to use a directional yagi antenna on the robot or the base station (sometimes both), and using GPS keep both pointed at each other. This is done for UAVs; I suppose it could work for a UGV as well (and I bet you could do it with an R/C radio, too; though an FM yagi I think will be a tad larger than a 2.4 GHz one - depending on what kind of radio kit you plan on using).

Personally, I would do some testing beforehand of each method (wifi, 2.4 GHz SS radio, and FM) in the environment you plan to be in (the woods), to see which is better or more suitable. Part of me thinks that the FM control system might be best, but that is just a guess that I wouldn't trust without testing.


I also think this is going to be the best way. So I will take a look at code, and see how it does it all.


Like I said, the code is really basic and commented well; it should be easy to understand. You should be able to use it to easily implement the R/C control decoding, if that is the control route you decide to use. Note, IIRC, that some 2.4 GHz SS radios - probably the more expensive ones - can also send a 2-way stream of data between the remote controlled vehicle and the base station; this is commonly used for telemetry from the remote vehicle, such as GPS, heading, temperatures, battery monitoring, etc - something to keep in mind and look into. You could also do a one-way data send, if you wanted, using an FM setup, by controlling a channel to send out two different "positions", then reading and interpreting that on the Arduino-side on the vehicle (it would be a low data rate, but possibly useful). If you put a transmitter on the vehicle (at a different frequency and/or channel), you could then set up a two-way communication path.
Title: Re: Starting my first UGV project - need some starting help
Post by: TiboJ on May 16, 2012, 06:51 pm
Nice explanation!
I'll use 2.4Ghz for controlling the UGV, because FM radio controlling can get disturbed by other radio signals, and that is not the problem with 2.4Ghz.
I'm going to make a summary of everything I know right now, and then see how I will put it all together.

I've read that I can't use 2.4Ghz on my camera receiver if I'm already using 2.4Ghz for the UGV receiver, I think that isn't true, because 2.4Ghz signals can't get disturbed, as I mentioned above?

Title: Re: Starting my first UGV project - need some starting help
Post by: keeper63 on May 16, 2012, 09:06 pm

I'll use 2.4Ghz for controlling the UGV, because FM radio controlling can get disturbed by other radio signals, and that is not the problem with 2.4Ghz.


Do you really expect this to be a problem out in the woods? I mean, at a landing field with multiple R/C planes, I could see the issue, but out in the middle of nowhere (unless these "woods" are closer to a population center than I am imagining?) I would think there would be little issue (not too mention the fact that this is a ground-based vehicle, so interference wouldn't likely cause destruction of the machine). Regardless, FM is pretty much phased out for most uses, from what I've gathered (over the weekend I found a 72 MHz FM aircraft transmitter at Goodwill for $15.00 USD; I'm in the process of getting a receiver and crystal off Ebay to try it out; it seems like FM radios are almost dirt cheap on the used market as everybody flocks to 2.4 GHz SS).


I'm going to make a summary of everything I know right now, and then see how I will put it all together.


Good plan.


I've read that I can't use 2.4Ghz on my camera receiver if I'm already using 2.4Ghz for the UGV receiver, I think that isn't true, because 2.4Ghz signals can't get disturbed, as I mentioned above?


TBH, I don't know; I've often wondered this myself. I would think it wouldn't be much of an issue if the R/C equipment is spread-spectrum (and I think they all are); that R/C kit would be hopping all over the place - if anything was to experience issues, it would be the video. Even so, it's a good question, and something to definitely research.
Title: Re: Starting my first UGV project - need some starting help
Post by: TiboJ on May 17, 2012, 07:49 pm
Quote
Do you really expect this to be a problem out in the woods? I mean, at a landing field with multiple R/C planes, I could see the issue, but out in the middle of nowhere (unless these "woods" are closer to a population center than I am imagining?

Yes, some airsoft terrains are close to population, and it's possible that someone uses a radio controlled UAV (mostly in milsim). :)
I just want to eliminate the risk of it being disturbed.

Quote
Even so, it's a good question, and something to definitely research.


Will do that.
Title: Re: Starting my first UGV project - need some starting help
Post by: DuaneB on May 17, 2012, 09:06 pm
Hi,

Lots about interfacing RC equipment to Arduino on my blog including a comparison of signal performance from a 2.4ghz system and older 27mhz am system -

Rcarduino.blogspot.com

Duane B
Title: Re: Starting my first UGV project - need some starting help
Post by: TiboJ on May 18, 2012, 10:24 am

Hi,

Lots about interfacing RC equipment to Arduino on my blog including a comparison of signal performance from a 2.4ghz system and older 27mhz am system -

Rcarduino.blogspot.com

Duane B


Nice blog! I've read some articles, and the 2.4Ghz is obviously the best.
Title: Re: Starting my first UGV project - need some starting help
Post by: TiboJ on May 19, 2012, 03:43 pm
Okay, I've took the time to think about everything, and this is how it will work:

TX  > 2.4Ghz  > RX > cable > WP controller  > Serial cable > Arduino

I'm not going to use a servo controller, as I can control servo's with Arduino, via the Servo library.


Now I have a few more questions:

- I've read the following about the WP controller: The default pins for RC mode are D0 and D1. As these are also the serial communications pins used for programming. You must disconnect cables connected to these pins when uploading a new program or usinging the serial port for diagnostics.
So I can't upload sketches with a USB?
I've read it here: http://sites.google.com/site/daguproducts/home/tutorials/understanding-wild-thumper

- With the software serial, is it possible to use any digital pin on the Arduino for serial communication?
- The receiver will be connected to the WP controller RC pins. If the receiver is connected to the RC pins(D0 and D1) on the WP controller, will everything we talked about be possible(use channels for spotlights, etc...)?
I'm not going to connect the receiver to the Arduino, but first to the WP controller.
This is what I mean:
(http://robosavvy.com/store/images/DAGU/wild-thumper-connection.jpg)
Title: Re: Starting my first UGV project - need some starting help
Post by: PaulS on May 19, 2012, 04:34 pm
Quote
- With the software serial, is it possible to use any digital pin on the Arduino for serial communication?

Any pins except the hardware serial pins.

Title: Re: Starting my first UGV project - need some starting help
Post by: TiboJ on May 19, 2012, 04:36 pm
Thanks for the answer!
Title: Re: Starting my first UGV project - need some starting help
Post by: TiboJ on May 19, 2012, 04:50 pm
I've add one more question in my post before the answer of PaulS
Title: Re: Starting my first UGV project - need some starting help
Post by: keeper63 on May 19, 2012, 08:38 pm

- I've read the following about the WP controller: The default pins for RC mode are D0 and D1. As these are also the serial communications pins used for programming. You must disconnect cables connected to these pins when uploading a new program or usinging the serial port for diagnostics.
So I can't upload sketches with a USB?
I've read it here: http://sites.google.com/site/daguproducts/home/tutorials/understanding-wild-thumper


That reads, and I quote:

Quote
Control and Communications:
The default settings in the sample code allow the controller to be controlled using a standard RC receiver. In this mode pulsewidths from the receiver are measured and converted to speed and direction for the two motors. The default pins for RC mode are D0 and D1. As these are also the serial communications pins used for programming. You must disconnect cables connected to these pins when uploading a new program or usinging the serial port for diagnostics. If you have spare I/O pins then you can redefine "RCleft" and "RCright" in the "IOpins.h" tab of the sample code. Other servos can be plugged directly into the RC receiver to create a fully radio controlled robot.


So - number one - if you want to hook that board up to your receiver as it is intended to be used (ie, pins 0 and 1 to the receiver), then in order to upload your own sketches to it via it's on-board USB port, you will have to disconnect the RC receiver from those pins -before- you do so. What this means is that you can't use the USB port -and- have the RC receiver connected at the same time. The main reasons for this is: If the receiver is on, you would likely get garbage sent to the bootloader when you tried to upload your sketch; furthermore (and more likely), you might damage your RC receiver when you uploaded a sketch because you would be driving the receiver's -outputs- with the HIGH/LOW signals from the serial converter, which would be a bad thing.

This is pretty standard fare whenever you code on the Arduino; if you need those extra two pins, you can use them, but you can't use the USB if you have something connected to them.

So - for the WildThumper board, what do you do if you want to use USB -and- use the RC receiver? Move the receiver pins to other pins! Note in the quote above, it reads:

Quote
If you have spare I/O pins then you can redefine "RCleft" and "RCright" in the "IOpins.h" tab of the sample code.


If you look in IOpins.h (I have it here open in front of me), you'll see that RCleft is defined as "0" (digital pin 0) and RCright is defined as "1" (digital pin 1); those are the two pins as currently defined. What you would need to do is instead use a couple of the "servo output" pins as "input" instead; you could either define outputs 0 and 1 for the inputs, or outputs 5 and 6, or some other combination (whatever you are comfortable with); just know that you can't use those headers on the WT board for servos any more, only for the R/C input (you could do you debugging this way, then switch it back later, too). So, for instance, IOPins.h could be modified like follows:

Code: [Select]
#define LmotorA             3  // Left  motor H bridge, input A
#define LmotorB            11  // Left  motor H bridge, input B
#define RmotorA             5  // Right motor H bridge, input A
#define RmotorB             6  // Right motor H bridge, input B

#define RCleft              2  // Taking over servo 0 for RC receiver input
#define RCright             4  // Taking over servo 1 for RC receiver input

//#define S0                  2  // Servo output 00 - NO LONGER AVAILABLE
//#define S1                  4  // Servo output 01 - NO LONGER AVAILABLE
#define S2                  7  // Servo output 02
#define S3                  8  // Servo output 03
#define S4                  9  // Servo output 04
#define S5                 10  // Servo output 05
#define S6                 12  // Servo output 06

#define A1                  1  // Analog input 01
#define A2                  2  // Analog input 02
#define A3                  3  // Analog input 03
#define A4                  4  // Analog input 04
#define A5                  5  // Analog input 05

#define Battery             0  // Analog input 00
#define RmotorC             6  // Analog input 06
#define LmotorC             7  // Analog input 07
#define Charger            13  // Low=ON High=OFF


...and that modification would now use servo pin 0 (digital pin 2) for RCleft and servo pin 1 (digital pin 4) for RCright, and you would connect your receiver to those pins instead. Does that make sense?
Title: Re: Starting my first UGV project - need some starting help
Post by: TiboJ on May 19, 2012, 08:58 pm
Thanks for clearing that up!
It is no problem for me to remove them when uploading a sketch.

Now I will have to think how I will code it all.

Now for exemple, I want to use a switch on my transmitter to put spotlights on, on the UGV.
Is this the right way to do it?:

TX switch on > RX receives signal that switch is on > cable goes from the switch channel on the RX to WP controller digital pin(set as input) > code on WP controller detects that the switch is high, and sends with serial communcation a command to the second Arduino to turn the spotlights on, that are connected, for exemple, on digital pin 5(on the second Arduino).

Am I thinking the right way about it?
Title: Re: Starting my first UGV project - need some starting help
Post by: keeper63 on May 20, 2012, 03:10 am

Thanks for clearing that up!
It is no problem for me to remove them when uploading a sketch.


You might also look into using compiler directives to selectively enable/disable the code as needed (so you can set this kind of thing up once, then only change one spot of code to put it into "dev mode" when you need to).

Now I will have to think how I will code it all.


Now for exemple, I want to use a switch on my transmitter to put spotlights on, on the UGV.
Is this the right way to do it?:

TX switch on > RX receives signal that switch is on > cable goes from the switch channel on the RX to WP controller digital pin(set as input) > code on WP controller detects that the switch is high, and sends with serial communcation a command to the second Arduino to turn the spotlights on, that are connected, for exemple, on digital pin 5(on the second Arduino).

Am I thinking the right way about it?


That would work (also remember that the digital and analog outputs of the 168 on the WT board are available; think of them as extra pins to use as well, if you need them), but you need to also ask yourself a couple of questions about what you are controlling:

1) Do I need programmatic control of this peripheral?
2) Will I need to change the pin assignments for this peripheral?

Both of these kinda boil down to what you are planning on doing; IIRC, you noted that you wanted your robot to be "modular"; allowing you to swap out functions, etc; and this reason alone may be enough to keep things under programmatic "indirect" control as you have indicated. You could also have some kind of menu (as I alluded to before) where you would need this kind of programmatic control in the event that you have fewer channels than you do peripherals (especially if you are already thinking of some kind of HUD overlay on the video).

If, however, you don't need programmatic control of the peripheral (ie - you just want to turn something on or off; you don't care about being able to customize the brightness, the color, whether it is flashing or whatever) - then it might be best in that case to bypass the added complexity of code and hardware interfacing, and just go with some kind of "R/C relay interface" module (which are sold by most R/C hobby supply places). Just something to keep in mind as another possible option.
Title: Re: Starting my first UGV project - need some starting help
Post by: TiboJ on May 20, 2012, 12:43 pm
Okay, I'm happy that I'm thinking right about!
Thanks!

Now, I do not really understand what you mean with "indirect" control?
Can you explain that a little more, please?

You mean the following? :

For exemple, I have currently connected a robot arm on channel 1. I'm not happy with it anymore, and I want to put an Airsoft gun on channel 1.
Now, all I will have to do is go in the "menu"(that is displayed on a LCD), and select there to use channel 1 for an Airsoft gun, instead for a robot arm.
Title: Re: Starting my first UGV project - need some starting help
Post by: keeper63 on May 21, 2012, 03:54 am

Okay, I'm happy that I'm thinking right about!
Thanks!

Now, I do not really understand what you mean with "indirect" control?
Can you explain that a little more, please?


What I meant by indirect vs direct control is:

Indirect: RX -> WT Controller -> Arduino -> Servo
Direct: RX -> Servo


You mean the following? :

For exemple, I have currently connected a robot arm on channel 1. I'm not happy with it anymore, and I want to put an Airsoft gun on channel 1.
Now, all I will have to do is go in the "menu"(that is displayed on a LCD), and select there to use channel 1 for an Airsoft gun, instead for a robot arm.


Yes, you could do that; that is also part of the "indirect" method, but what I was originally meaning was going from the receiver to the servo (or to an RC relay module - for a spotlight, for instance) as being a "direct" mode, whereas having the intermediate WildThumper/Arduino combo doing some pre-processing before sending the appropriate command to the servo as being an "indirect" mode.

Finally - you don't really need an LCD on the robot for your "changes", since you'll already have video; you just need a way to put text overlayed on top of the video signal. There are modules and shields that can do this very easily (for example, the Nootropic Design Video Experimenter shield - http://nootropicdesign.com/ve/index.html). If you go that route, then your television, hmd or whatever you are using to view the video at your "base" can act as your display for menus and other data.
Title: Re: Starting my first UGV project - need some starting help
Post by: TiboJ on May 21, 2012, 07:09 pm
Okay, now I understand it.
Thank you!

Can that shield be used as a OSD overlay? I mean, if I use that shield with the Arduino, will I be able to connect GPS and other OSD stuff on it?

I'm now going to continue to make a summary of everything.
Title: Re: Starting my first UGV project - need some starting help
Post by: jraskell on May 22, 2012, 03:10 pm

Nice explanation!
I'll use 2.4Ghz for controlling the UGV, because FM radio controlling can get disturbed by other radio signals, and that is not the problem with 2.4Ghz.
I'm going to make a summary of everything I know right now, and then see how I will put it all together.

I've read that I can't use 2.4Ghz on my camera receiver if I'm already using 2.4Ghz for the UGV receiver, I think that isn't true, because 2.4Ghz signals can't get disturbed, as I mentioned above?




Just want to note:  Higher frequency signals are more susceptible to physical interferences than lower frequency signals.  By physical interferences, I am referring to things like trees.  Since you have been talking about using this UGV in the woods, that should be taken into consideration.  You will likely find the range of your 2.4Ghz systems are noticeably reduced or have lower reliability in those kinds of environments.  Lightly wooded areas may be ok, but heavily wooded areas will  have a significant impact on the range of your system.  UAVs have the advantage of having essentially no physical obstructions impacting their range.

You may, in fact, find that a Wifi router/AP/bridge actually has better performance in these environments than an RC system, since these wifi devices have been designed to operate in environments with lots of physical obstructions (utilizing a technique known as beamforming).  Since RC systems generally assume line of sight, they just aren't designed to operate optimally in highly obstructed environments.
Title: Re: Starting my first UGV project - need some starting help
Post by: TiboJ on May 22, 2012, 06:25 pm
Yes, I already read something about it.
Thanks for let me think about it!

I've a few questions:

- How much will the range be recuced in a normal forest, with 2.4Ghz? Is it drastically?
- What will be the range when using Wifi router/AP/bridge?


I really need a good range of about 500m in the woods.
Title: Re: Starting my first UGV project - need some starting help
Post by: dxw00d on May 22, 2012, 07:27 pm
I'd be surprised if you could get 500m (1640ft) in clear air, let alone in a forest, but I'm not an expert, so if anyone knows better, I'd be interested to hear.
Title: Re: Starting my first UGV project - need some starting help
Post by: TiboJ on May 22, 2012, 07:42 pm

I'd be surprised if you could get 500m (1640ft) in clear air, let alone in a forest, but I'm not an expert, so if anyone knows better, I'd be interested to hear.

That would be no problem in clear air, as my RC airplanes have range of 1km+

If I use Nootropic Design Video Experimenter shield on my Arduino, will I be able to add GPS function to the Arduino?
I don't see a way to use a shield on top of the noobtropic shield. Are there other ways to add GPS? Modules?
Title: Re: Starting my first UGV project - need some starting help
Post by: dxw00d on May 22, 2012, 08:16 pm
Fair enough. That contradicts the results from googling 2.4ghz rc range, but like I said, I'm no expert. My Heli is on 35Mhz FM.
Title: Re: Starting my first UGV project - need some starting help
Post by: TiboJ on May 22, 2012, 08:45 pm
It also depends on transmitter and receiver.
So it can be less then 500m with some.
Title: Re: Starting my first UGV project - need some starting help
Post by: keeper63 on May 23, 2012, 12:42 am

If I use Nootropic Design Video Experimenter shield on my Arduino, will I be able to add GPS function to the Arduino?


I only suggested the Nootropic VE as what to look for; because it utilizes the TVOut library, it actually uses up a -ton- of RAM on the Arduino (and it won't work with a Mega); there are other devices out there that would probably be a better fit for your application, that would be more "standalone", in that they use their own on-board microcontroller or whatnot to work (look up "microcontroller", "video overlay", "OSD", "on-screen display", "arduino" to find other such devices).

Alternatively, use the Nootropic VE with it's own Arduino, and communicate with that Arduino via serial or SPI (at this point, you should use SPI, with the WT board as the master, and your other Arduinos as slaves with their own addresses).

Other than the memory usage, your only worry would then be what pins it needs, etc; if those interfere with anything else you plan to use and you can't use substitutes, then it probably won't work well.
Title: Re: Starting my first UGV project - need some starting help
Post by: TiboJ on May 23, 2012, 03:11 pm
Ok, I'll search some others and gather information.
Title: Re: Starting my first UGV project - need some starting help
Post by: TiboJ on May 23, 2012, 08:52 pm
I just found this:
http://shop.ciseco.co.uk/xrf-wireless-rf-radio-uart-rs232-serial-data-module-xbee-shape-arduino-pic-etc/

Seems that wifi can have excellent range! I will research this, because this will maybe be better then 2.4Ghz.

edit:
I also found the xbee module, and it can reach a range of 1500m outdoor, and uses 2.4Ghz.
Will the xbee module with 2.4Ghz have the same problems with obstacles as the 2.4Ghz transmitter has?
Or does the xbee use the special wifi technology, that eliminates the problem?
http://www.digiwireless-solutions.com/Bizit/store/product.php?id_product=186
Title: Re: Starting my first UGV project - need some starting help
Post by: TiboJ on May 27, 2012, 07:42 pm
I just ordered the Wild Thumper 6WD 75:1 Chassis, the WP controller and the WP high current switch.
Title: Re: Starting my first UGV project - need some starting help
Post by: TiboJ on Jun 06, 2012, 09:54 pm
I received it all and it is all nice working, expect the following:

I can control the wild thumper forward, backward, and right, but not left.

It is connected  up like here:
(http://robosavvy.com/store/images/DAGU/wild-thumper-connection.jpg)

The code that I'm using is the standard one:
http://www.exp-tech.de/service/Sample%20Code/Wild_Thumper_Controller.zip

The transmitter is a Futaba T6EX 2.4ghz and the receiver is also from futaba and 2.4ghz.


What could be the reason that I can't let the wild thumper go to the left?
If I change the Dual Rate on the transmitter to 0%, then the wild thumper can't even turn to the right...

Title: Re: Starting my first UGV project - need some starting help
Post by: TiboJ on Jun 07, 2012, 06:13 pm
I got it working now. Now I'm trying to control the motor with the right stick, but that seems to be not working.
Title: Re: Starting my first UGV project - need some starting help
Post by: TiboJ on Jun 07, 2012, 06:34 pm

I got it working now. Now I'm trying to control the motor with the right stick, but that seems to be not working.


Got it also working
Title: Re: Starting my first UGV project - need some starting help
Post by: TiboJ on Jun 09, 2012, 08:47 pm
The range of my UGV is now about +1km in line of sight.
How much will the range reduce in buildings?

If no one knows, I'll test it tomorrow or next week.
Title: Re: Starting my first UGV project - need some starting help
Post by: TiboJ on Jun 10, 2012, 11:08 am
I just tested the range of the UGV in a densely forested area, and it all did it right. The range that I just tested was about 100m.
After that, I tested the range at the other side of my house, and still everything did it good.

I'll do some larger  obstacle range tests soon, and see what the results are.

Title: Re: Starting my first UGV project - need some starting help
Post by: TiboJ on Jun 14, 2012, 07:25 pm
When I drive over the grass in my garden, and I turn left or right, then the Wild Thumper stops working;
the control over it has gone, and I need to disconnect and reconnect the battery to make it work again.
The Wild Thumper Motor Controller and my receiver doesn't go off, I just lose controls.

Is this because my 8.4V 4600mAh NiMh battery is to weak? Should a LiPo battery fix this problem?

The turning is by turning the wheels in opposite direction. So this problem only happens when I spin, but not when making a smooth turn.
And, the spinning works on flat surfaces. It only has problems on grass and other not-flat surfaces.

Can someone help me, please?

EDIT: I just saw that when the controls stop working, the battery led went off(led 5) on the WP motor controller. So it has probably something to do with the battery. I've tried about 5 different NiMh battery's, and all no luck.
Title: Re: Starting my first UGV project - need some starting help
Post by: cyclegadget on Jun 17, 2012, 07:21 am

It could be tripping a safety because of overload then resetting to operate again, or it could be a loose connection related to the battery circuit.
Title: Re: Starting my first UGV project - need some starting help
Post by: TiboJ on Jun 17, 2012, 11:33 am
Yes, at this time the controller shuts down the wild thumper if the voltage is around 6.3V.
Probably its the voltage drop of the wires and tamiya connectors that causes the controller to think the battery is at 6.3V.
I'll put some deans connectors and a lipo battery on it, instead of the tamiya connectors with a nimh battery.

Title: Re: Starting my first UGV project - need some starting help
Post by: DuaneB on Jun 17, 2012, 11:40 am
Hi,
    Another thing to look into is 'thermal shutdown', its 47 degrees in Dubai today and my ESCs are shutting down. This is a safety mechanism built into them which is designed to shut them down if the motors are stalled and too much heat builds up as a result.

In your case grass and particularly counter rotating on grass will put a lot of strain on whatever is driving the motors, if there is a thermal shutdown circuit it might be getting triggered.

Two solutions-

1) Add a fan
2) Cut your grass !

Duane B

rcarduino.blogspot.com (http://rcarduino.blogspot.com)
Title: Re: Starting my first UGV project - need some starting help
Post by: TiboJ on Jun 17, 2012, 11:52 am
Quote
In your case grass and particularly counter rotating on grass will put a lot of strain on whatever is driving the motors, if there is a thermal shutdown circuit it might be getting triggered.

The controller has 2 fuses, but they don't burned out. I think there isn't any thermal circuit.

Quote
1) Add a fan

It already has a heatsink. And the heat is not the problem I think, because the wild thumper controller and wires aren't hot when it shuts down
Quote

2) Cut your grass !

It's already cut and very short, so that isn't the problem.
It is an all-terrain vehicle :) But probably other tires will help alot.



Title: Re: Starting my first UGV project - need some starting help
Post by: TiboJ on Jun 17, 2012, 08:12 pm
Okay I did a few more tests today, and it is not only on the grass, but just always when the wild thumper get's 'resistance'.
With resistance I mean things like hills, turning on a carpet, going fast forward and backward,... so it's not just by turning.
I'll replace the tamiya's with deans when I receive my lipo battery, and lower the safety voltage at the controller.
Title: Re: Starting my first UGV project - need some starting help
Post by: TiboJ on Jun 18, 2012, 06:59 pm
I just tested a 9,6V 1600mAh battery, and that worked like a charm. All my 8.4V batteries does not work with the Wild Thumper, although, it works, but it can't spin on carpet, etc..., like I said in my previous post.

It was also very remarkable that the Wild Thumper drove much more powerfull and faster.

I'll lower my safety voltage and see what that does.
Title: Re: Starting my first UGV project - need some starting help
Post by: TiboJ on Jun 28, 2012, 10:05 am
It works now!
I've installed 4mm² wires and a 7.4v 2s 5000mAh battery and now it works great!

Here is a work in progress picture of it:
(http://img14.imageshack.us/img14/5563/20120627181537.jpg)
Title: Re: Starting my first UGV project - need some starting help
Post by: DuaneB on Jun 28, 2012, 03:12 pm
That does look the part. Does it steer or counter rotate ?

Heres a body shell idea for you, (not one of mine unfortunately) -

http://www.youtube.com/watch?v=F2TP-X_wrzQ&feature=relmfu (http://www.youtube.com/watch?v=F2TP-X_wrzQ&feature=relmfu)

Duane B
Title: Re: Starting my first UGV project - need some starting help
Post by: TiboJ on Jun 28, 2012, 03:24 pm
Counter rotates.

That bodyshell looks nice, and I'll do something 'military style' in the future.
First I'm going to tweak the fpv performance, and then I'll start with the extra things.
Title: Re: Starting my first UGV project - need some starting help
Post by: highrad on Jul 12, 2012, 04:02 am
Very cool TiboJ. I have just started working on a wild thumper project too except I am using the 4 wheel version with 75:1 motors. I am also using the WT Robot Controller. I have a Spectrum DXi6 radio.

This is also very new to me. I noticed you were going to add a pan and tilt unit at some time. Have you done that? I purchased the Lynxmotion unit. (http://www.lynxmotion.com/p-707-micro-pan-and-tilt-kit-black.aspx). I am struggling on how to control (code) the PT.

I like the switch method that Chargrin noted:


Yes, it would be possible to utilize a switch to tell your Rover that the joysticks (speed and turn signals) control the camera. This would require additional programming on your part; you should look at the example code for the Wild Thumper Controller and make sure you understand it. in the RCMode() function you'll see it reading the speed/turn channels and here is where you'd have it read an additional channel to determine if those readings are for the camera or the wheel motors.

I'd suggest you also set the Rover's speed to zero whenever it detects you've flipped your switch to camera control.


How did you connect yours and can you share your code? Thanks!
Title: Re: Starting my first UGV project - need some starting help
Post by: jraskell on Jul 12, 2012, 02:56 pm
If you're using a 4+ channel transmitter/receiver with two joysticks, there's no reason to use a 'switch' method.  You can set up one stick to control the rover and one stick to control the pan/tilt.

Doesn't even have to require any code modification either.  Just connect the pan and tilt servos directly to the appropriate channels on the receiver.  Voila, you have pan/tilt and rover control without any switching required.
Title: Re: Starting my first UGV project - need some starting help
Post by: TiboJ on Jul 12, 2012, 05:59 pm

Very cool TiboJ. I have just started working on a wild thumper project too except I am using the 4 wheel version with 75:1 motors. I am also using the WT Robot Controller. I have a Spectrum DXi6 radio.

This is also very new to me. I noticed you were going to add a pan and tilt unit at some time. Have you done that? I purchased the Lynxmotion unit. (http://www.lynxmotion.com/p-707-micro-pan-and-tilt-kit-black.aspx). I am struggling on how to control (code) the PT.

I like the switch method that Chargrin noted:


Yes, it would be possible to utilize a switch to tell your Rover that the joysticks (speed and turn signals) control the camera. This would require additional programming on your part; you should look at the example code for the Wild Thumper Controller and make sure you understand it. in the RCMode() function you'll see it reading the speed/turn channels and here is where you'd have it read an additional channel to determine if those readings are for the camera or the wheel motors.

I'd suggest you also set the Rover's speed to zero whenever it detects you've flipped your switch to camera control.


How did you connect yours and can you share your code? Thanks!

Hello highrad,

Nice to know that you're also working on a similar project!
As I'm now busy with tweaking the range of the camera and the controls, I'm not yet started with a pan/tilt mechanism.
I'll do that after the range tweaking.
As jraskell said, you just need to plug the servos into the right channel into the receiver, that's all.
The 'switch' method is nice if you don't have enough channels on your transmitter, for exemple:
if I want to control a pan/tilt system and a robot arm, but I only have one stick left on my transmitter that already is in use for the pan/tilt. So when I toggle a switch on the transmitter, then the Arduino will 'tell' to use that stick for the robot arm, but not anymore for the pan/tilt.
That is what I'm planning to do.

Let me know about your progress, I'll do that also ;)

Title: Re: Starting my first UGV project - need some starting help
Post by: highrad on Jul 13, 2012, 09:00 pm
Thanks for the help jraskell and TiboJ!

I was able to control WT and the PT using the radio. This will allow me to fine tune the WT platform.

Now my application will require the WT to operate in a very thick steel wall vessel about 100 feet away from the operator so to solve the radio wave penatration and multipath issues, I will have to go wired vs. wireless. Let me know if you have any insight in eliminating the radio receiver and connecting directly to the WT Controller with a cable. 

BTW, I will keep you up to date with my project too!
Title: Re: Starting my first UGV project - need some starting help
Post by: TiboJ on Jul 13, 2012, 09:32 pm
Are you sure that a good 40Mhz(don't know if it's legal in your country) transmitter and receiver can't penetrate it?
If not, or if not want to use wireless, then it would surely be possible to control the WT with a wired controller, like a ps2 controller.
I think you would need to use the serial pins on the WP controller, not sure. I never did something like that before ;)
I'm sure that there is people out here that know much about that.
Title: Re: Starting my first UGV project - need some starting help
Post by: TiboJ on Jul 28, 2012, 07:06 pm
I just bought a Futaba f-14 40mhz transmitter, but got a problem:
So, Digital pin 1 of the WP controller is connected to channel 2 on the receiver and it works good(forward and backward), although, digital pin 0(steering) doesn't work on any channel, it just doesn't react on any of the channels of my transmitter...
What is the problem here? I can't find it.
The strange thing is that it worked very good on my previous futaba t6ex 2.4ghz transmitter.

I'm still using the standard code:
http://www.exp-tech.de/service/Sample%20Code/Wild_Thumper_Controller.zip

Any help would be appreciated very much!

Title: Re: Starting my first UGV project - need some starting help
Post by: TiboJ on Jul 29, 2012, 09:25 am
I tried to change  digital pin 0 to digital pin 9 and that also didn't make it work.

EDIT: Got it working now, the problem was that the D9 was set as a servo output. Now it's strange that D0 doesn't work, probably it is broken.
Title: Re: Starting my first UGV project - need some starting help
Post by: TiboJ on Jul 30, 2012, 05:31 pm
Does anyone know if I can connect a servo to my 40mhz rc receiver?
I'm not sure because the servo consumes around 230mA and the receiver is powered by the pins of the WP controller like here:
(http://robosavvy.com/store/images/DAGU/wild-thumper-connection.jpg)

Can the WP controller deliver that current?
How much current can the WP controller deliver on that pins?

I'm talking about this servo:
http://www.servocity.com/html/hs-785hb_3_5_rotations.html
Title: Re: Starting my first UGV project - need some starting help
Post by: cyclegadget on Jul 30, 2012, 06:58 pm

The picture says you have a LM1084, 5V, 5 amp regulator on board. Given that I would think you have up to 5 amps available. Would need a datasheet to say anything more specific.
Title: Re: Starting my first UGV project - need some starting help
Post by: TiboJ on Jul 30, 2012, 09:40 pm


The picture says you have a LM1084, 5V, 5 amp regulator on board. Given that I would think you have up to 5 amps available. Would need a datasheet to say anything more specific.

I think you're right. A friend of me thought the same as you.
There is no datasheet available, but I've contacted the designer of the controller.
Title: Re: Starting my first UGV project - need some starting help
Post by: TiboJ on Aug 01, 2012, 11:07 am
I just got a reply of the designer, and you're right!
Title: Re: Starting my first UGV project - need some starting help
Post by: cyclegadget on Aug 01, 2012, 10:18 pm
$) Sounds good!
Title: Re: Starting my first UGV project - need some starting help
Post by: TiboJ on Aug 02, 2012, 02:06 pm
I reached 400 meters(with obstacles) in my test with the UGV yesterday XD! The video was perfect, but the 40Mhz steering was sometimes a bit buggy.
I'm sure it can reach much more!
Now I'm going to tweak the range of it a bit more.
Title: Re: Starting my first UGV project - need some starting help
Post by: esdad697 on Aug 11, 2012, 04:54 pm
Did you ever get video to work? What did you use?
Title: Re: Starting my first UGV project - need some starting help
Post by: TiboJ on Aug 11, 2012, 05:42 pm

Did you ever get video to work? What did you use?

Yes :) Last time I reached 800m without any bug on the video or steering. It was in an area with fields and a forest, with obstacles like houses and bushes.
For the video, I use a 1.3Ghz 850mW transmitter with a cloverleaf antenna, and a video receiver with helical antenna, but I'll post specs of it soon.

Here is a 'work in progress' picture:
(http://img834.imageshack.us/img834/6844/20120810174705.jpg)
Title: Re: Starting my first UGV project - need some starting help
Post by: TiboJ on Aug 20, 2012, 06:47 pm
Very strange: I've connected a transistor to digital pin 4 on the WP controller to turn on a IR led,  and when the pin goes HIGH, the IR led doesn't go on at all.
If I measure the voltage on the led it's only 0.2v.
If I use my seperate Arduino Uno it works good.
What can cause the problem?

I wrote this above the setup code:
int transistor = 4;

This in the setup code:
pinMode(transistor, OUTPUT);
digitalWrite(transistor,HIGH);
delay(8000); // to test that the IR led turns on for 8 seconds

The wiring  should be good because it works good with my other Arduino.

edit1: it seems that it also isnt working with my other arduino after a new test. I'll start another topic as this is not really the 'robotics'.

edit2: solved, gnd of the arduino needs to be connected to gnd of the power supply.
Title: Re: Starting my first UGV project - need some starting help
Post by: TiboJ on Aug 22, 2012, 08:00 pm
Installed IR leds for fpv'ing when it's night :)
(http://img225.imageshack.us/img225/412/20120822193845.jpg)
Title: Re: Starting my first UGV project - need some starting help
Post by: BlueJakester on Aug 29, 2012, 04:56 pm
Fantastic project TiboJ. Congratulations on all of the effort you put into it!

I'd like to build a 6-wheeled rover, but the cost of the Wild Thumper alone ($249) makes it cost prohibitive for me. :(

I'll keep researching though. Maybe I can find a less expensive way to go.
Title: Re: Starting my first UGV project - need some starting help
Post by: TiboJ on Aug 29, 2012, 05:35 pm
Thank you ;)
There should be other chassis out there, but I'm not sure.
This chassis is worth the price!
Keep me updated about your project :)

Here is a picture of my 'work in progress' ground station:
(http://img580.imageshack.us/img580/7070/20120828160757.jpg)
Title: Re: Starting my first UGV project - need some starting help
Post by: Far-seeker on Aug 31, 2012, 03:30 pm

Here is a picture of my 'work in progress' ground station:


Hmm, interesting idea mounting the display inside the case lid. What type of display did you use?  Have you run into any excess heating by surrounding it with foam after extended use?
Title: Re: Starting my first UGV project - need some starting help
Post by: TiboJ on Aug 31, 2012, 03:41 pm


Here is a picture of my 'work in progress' ground station:


Hmm, interesting idea mounting the display inside the case lid. What type of display did you use?  Have you run into any excess heating by surrounding it with foam after extended use?

It's a TFT-LCD monitor.
I didn't have use it for a long period yet, but if it becomes a problem, I'll just drill some holes in the back of the case.