GPSRover 1.0.

Well this is GPSRover 1.0. its not my first robot but it is my first on LMR.

    So far all it does is move between different saved waypoints but im thinking of maybe adding some obstacle detection/avoidance and possibly some kind of mapping using processing.

    Im using 1/16 scale rc tank, that i found on ebay for 40euro, as a chassis and an arduino mega as the brains. Im also using a TextStar serial lcd (http://www.coolcomponents.co.uk/catalog/product_info.php?cPath=45_71&products_id=428) from cool component which unbelievably easy to use.

    At the moment, to save a waypoint, the robot has to be carried the location, the coloured buttons and a menu on the lcd is used to save that position (not ideal i know). When all the waypoints are saved the robot navigates between them.

    A lot of my code, which ive attached, is very similar to Patrick McCabe's code, i adapted his PD control for my differential track drive too which seems to work very well. My code definitely isnt pretty so i would welcome any suggestions people might have to improve it, i also havent been able to test it fully because the 7.2v battery for the drive motors stopped working and im waiting for a new one to arrive, but in the tests i have done it seems to work ok.

 

 

navigates using GPS

  • Actuators / output devices: TEXTSTAR serial lcd, Pololu duel MC33887 motor driver
  • CPU: Arduino Mega
  • Operating system: Mac OSX
  • Power source: 7.2V NiMH, 4x1.2v AA
  • Programming language: Arduino C++
  • Sensors / input devices: EM-406 GPS module, I2C compass
  • Target environment: outdoor

This is a companion discussion topic for the original entry at https://community.robotshop.com/robots/show/gpsrover-1-0

Looking good! Cant wait to

Looking good! Cant wait to see what you add to it. I also have plans for adding obstacle detector sensors and mapping features. Something you might like is the ability to upload waypoints to eeprom using the ardupilot config tool, thats how i do it (Thanks to Bill Porter again). Make sure your not getting any wacky compass readings, i have to double check every time i move my compass to a different position because even placing it near metal was causing me problems. 

batteries

Hi, I’ve seen you’re using two different batteries, I suppose 7,2V for the motors and 1,2Vx4 for the logic. I’m planning to use the same setup for my robot because I’ve suffering from voltage drops when under so much load and it makes the logic reset.

I’m using, just like you are, an arduino mega. How have you connected the batteries to the mega? I suppose you’re connecting the batteries directly to the +5V pin of the board. I’ve searching in the datasheets and read that the atmega1280 can run up to +6V but there is also a ft232 that it’s on the board, and it’s also connected to the +5v rail. The 4x1,2V pack, when it’s fully charged it’s very close to 6V (4x1,4V). Is this the way you have connected it? Are you using a zener to keep the voltage under 6V?

The tank looks awesome!

I had it connected to 5v but

I had it connected to 5v but i thought, if i accidentally connect the wrong battery, it could cause problems so i changed it to Vin, it seems to work fine either way.

 

I had it connected to 5v but

I had it connected to 5v but i thought, if i accidentally connect the wrong battery, it could cause problems so i changed it to Vin, it seems to work fine either way.

 

yeah, as soon as i get the

yeah, as soon as i get the new battery ill test the whole thing properly. Thanks for your help with the code by the way!