Let's Make Robots!

MY AGV development platform

 

I decided to do this as a blog as I plan for this to be a long term test platform as I mess around with different tech along the way.

OK I started by buying this RC truck chassis on eBay:

It uses a 7.2v NiMH battery and powers the motor using an ESC that delivers a few AMPs of 6v through a BEC to power a transceiver and the steering servo. Instead of a transceiver, I am hooking up an Arduino Fio and various components, housing them in a project box:

I said earlier that it uses an NiMH battery and you can see a LiPo here. that's because a smart charger and another NiMH battery are on their way and I am waiting to recharge the primary NiMH until I have the smart charger. On the right is a connector I made that can connect up to 3 servos or ESCs. It is connected to one ESC and one servo. Their data lines go to PWM pins on the Fio, the grounds are commoned (as are all grounds in all cases, so I will quit detailing that). The power line has voltage coming in because of the BEC on the ESC and it is 6v. It goes onto the the mini breadboard and is connected to VIN of the Fio. It also powers the "5v" power bus on the second breadboard by going through 2 diodes on the way there.

On the larger (but still fairly small) breadboard, I have a GPS powered at 5v and I run the Fio's 3.3v VCC to power a compass. I currently have a BluetoothMate that I plug into the FTDI on the Fio to receive some simple commands for RC operation so I can see that things work and it reports GPS locations. The compass is I2C and is currently not working. I need to swap it with an identical unit being used on another project to make sure it is good and then psych that out if so.

I have xBee modules that I will do some of my testing with, again wiring to FTDI on the Fio and I have some Nordic chips.  It's likely the breadboards will never go away on this unit.

Right now, it will move around as an RC vehicle. As soon as I get the compass working, I have code from another project I need to do some testing with which seeks a potentially changing GPS point (very similar to what Patrick did; in fact it would be even more similar had I found his before I started mine :) ).

Anyway this is my test ground vehicle. I will update as I try various things and hope to add a video as soon as it starts seeking...

Comment viewing options

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

It's another project in itself. That's a Mega 1280 with a LCD, GPS, joystick, compass (I have some ideas for "EZ RC" by mapping the joystick using the way the vehicle is pointed versus the remote) xbee and a little 434 MHz transmitter cause you can never have too many radios. :) Actually, that's not true because it doesn't work very well in there with all the other devices. there is also a beacon that is just a Pro mini, GPA and xBee where the 343 MHz radio will actually go, but for testing this unit is better because I can assume control remotely if things go wrong in autonomous mode.

 

I have mentioned that I am using this to emulate another project, a boat, that is doing GPS homing. Applying the logic from the AGV improvements I made recently to the USV (aka the boat), it turns out that it needs no other homing technology, but it needs some work in getting on the initial heading without too much starting, stopping and zig zagging. The problem is that pivoting a boat is much more dynamic than an RC car. Operating the car on a flat parking lot is practically like having gears connected to the ground as far being able to repeatably pivot at the same speed and have the same lag time for the steering servo. In other words, through testing yo can come up with a number N such that if you are pivoting and the bearing you want is N degrees away in the direction you are pivoting, setting the servo to point the wheels straight will result in a direction change that will put you on or very near the desired bearing every time (assuming normal power levels; motor speed does fluctuate as that drops). Because of wind, waves and current, this isn't possible for the USV.

So the next thing I am going to work on is allowing more variance from the desired bearing before I drop into the slow pivot mode.

 

 

Ears that are eyes:

A couple of hot glued foam blocks and plastic cover. I glued in wires soldered to a socket for the ping sensor. It is removable. It is fairly narrow beam, good from about 1' out to about 6' for curbs and similar street hazards. For wall, it is more like 1" to 7'. the only thing programmed in for it right now is detection; what to do about it comes next.