Let's Make Robots!

MARS ROVER Autonomous Desert Roving Robot (Help Needed)

Autonomous Navigation Requirements

Guy's I'm completely new to this and just ordered my first prototype kit with the following components as a starting point.

1. Arduino UNO Rev3

2. Dagu Rover 5 4wd

3. Parallax PING

4. Motor shield kit

In sum, here are my project requirements.  I've been searching the web and LMR to find snippets of code that I might be able to use and am now reaching out to the forum to see if anyone has any interest in sharing some more specific code for my prototype.  My prototype is essentially to prove that I can wander a desert-type terrain (rocks, scrub brush, sand, inclines, declines, etc.), similar to the Mars Rover and cover the area like a lawnmower.  Obviously, the robot's ability to move through this terrain will be platform specific; however, for "proof of concept", I'm thinking to build this as if it's in my backyard and put some obstacles in the way.  I think these are some of the more specific basics that I haven't found yet. Can you point me I the direction for the additional components that would work well to accomplish the following tasks? Also, any snippets of code that would help would be tremendous!  

1. I need to be able to enter GPS coordinates and have the robot navigate to that point;

2. I need to be able to have the robot navigate around obstacles larger than say 6 inches, but over obstacles less than 6 inches. (obviously this is platform specific)  If the robot decides to go around the obstacle, it needs to stay within 12 inches of the obstacle as it completes a 360 degree turn around the obstacle. (Let me clarify, I'm only using 6 inches to illustrate a point.)

3. If the obstacle can not be navigated around, it needs to proceed as if it were a boundary (i.e. a big wall, like in a desert wash)

4. I need to be able to enter at least 3 or more GPS points and have the robot "fill in" the area like a lawnmower mowing the lawn.  So it'll need to know where it's been before so it doesn't necessarily cover the same path twice.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
Sorry, I'm using my iPad here. Tried to correct, but nothing seems to be working. I'll try to edit later tonight with my Mac when I get home. Apologies. It looks fine when I originally posted it and created it. Hmmmm....

As always, we'll give you the same advice as we give everyone. Make a LED blink.

There is no reason to even consider GPS or how bigga something we can climb over. You will need to master all of this first:

  • Assembly and wiring
  • Power requirements
  • Code for motor routines
  • Code to read one sensor
  • Code to read more than one sensor
  • Code to read the encoders (if used)
  • And finally a good chunk of time to learn how to put them all together

I don't want to be discouraging, but there will be no code you can simply "drop in" to your robot. You are going to have to learn each step and move up to your GPS. You'll get it.

Fair enough.  But I'll still leave this challenge for people:  I've seen a lot of autonomous rovers, lawnmowers, etc. but have yet to see someone come up with one that can "color between the lines" of at least 3 GPS coordinates in a fashion similar to mowing the lawn.  Anyone, anyone?  Bueller, Bueller? Ha!

Hey McGu, I just thought I would drop you a line and see if I could save you from yourself a bit here...

You are gettting very close to some dangerous territory, and I have seen it many many times before. Basically, the #1 worst sin you can make around here is to ask a question that one can easily find in the manual or via a google. The easier that info is to find, the more people will hate you for asking it. I am not joking. Your "4 smaller wires" question is kinda a perfect example of this.

We have also run in to sin #2 here as well. Asking about step 200 when you have not completed step 1,2 and 3. No one likes trying to explain complicated stuff to someone who skipped past all the fundamentals.

Really, dude. Like, really really, you need to forget about all your GPS stuff. You need to do fundamentals. Questions like, "are the 4 smaller wires for direction?" followed by, "how to I connect and code my GPS" is going to piss a lot of folks off, pretty quick.

Again, please understand I don't want to discourage --its just that I have seen this one, dozens of times.


suggestion for you, may be useful, may be rubbish:

seeing as the general consesus is that you are a little bit ahead of yourself, considering what you a trying to do i would scale it down in complexity, and go for the following project:

Lay out a "test area" on the floor, a flat square.

position 4 identical (very similar) desk lamps at the corners of the square, and point them all into the middle.

using some photoresistors to detect light levels, how about you build a robot, whos objective is to find the centre of the square, based on the 4 light sources. as you get too close to one, the light wil be brighter on the PR, so you should be able to calculate (very roughly) which direction it is to the middle!

how you mount the PRs is a decision for you. You could have one on each corner? one on each face (front back left and right) a combination of both (8 PRs) or even do it how i did it in my last light follower, and have ONE (that was an interesting challenge for a noob like you or me)

Point is, GPS (as far as i understand it) works in a similar kind of way, so this would get you SOME way to the objective that you want, but with much less cursing.

(i may point out that i am pretty CERTAIN than GPS units on arduinos do NOT work in this way, the timing of the satalite signals is the GPS units job).

Do you have a job for your rover. If not, if it is just a toy, scale it back for sure.

what do the panel think to my idea? (i might give it a go myself :p)