Obstacle avoidance with an UGV -HELP PLEASE-

I usually do testing outside, but given the season and the weather in New York, U.S., it's rather difficult to do that kind of testing---And I don't dare take those electronics outside unless everything is dry and the parts have been somewhat warmed up. The reason I want the longer ranged sensors as well is so I can work the code both inside and out, with accurate results. But the mainly they'll be used outside. And are there any good tutorials on how to get an arduino rc car to work the way I want it to with a GPS? I've definitely seen tens of hundreds of AGV's, but no real tutorials on how to get an AGV from point "a" to "b"

I suspect the longer-range Sharp IR rangers will do even less well than the shorter
range ones with a moving/turning robot, for the reasons mentioned = triangulation
and 50-msec sampling times with multiple samples. OTOH, sonars should do a little
better, especially if you get the ones with larger beam patterns. Check out Maxsonars.

It does all seem to be flight based that's for sure. But can you define your parameters a bit better, when you say navigate via gps do you mean move from known starting point to a known waypoint ? Or from a known start point to a waypoint that is identified by a system other than gps coordinates ?

If it is the 1st option try this link http://letsmakerobots.com/node/19554 you may have found it already but there is some useful info there.

And are there any good tutorials on how to get an arduino rc car to work the way I want it to with a GPS?

First, explain how the GPS will see any satellites when indoors? Do you have several satellites on your ceiling?

Sorry--I'm not planning on using the robot indoors, only to test the IR sensors. I wish I had that kind of money to install satellites in my ceiling :stuck_out_tongue:

But seriously, are there any tutorials for OUTDOOR use and what I explained earlier?

rgallant:
It does all seem to be flight based that's for sure. But can you define your parameters a bit better, when you say navigate via gps do you mean move from known starting point to a known waypoint ? Or from a known start point to a waypoint that is identified by a system other than gps coordinates ?

Sorry--didn't see your post!

what do you mean flight based? And navigating for starters will consist of the Arduino knowing its current position and the coordinates of the goal it want to get to. Later programming might involve other waypoints, but right now I'm sticking with going from point "a" (current position) to "b" (another, known position--but not the current position)

Also a next revision is probably going to include GPS differential, but that's a bit out of my reach currently

Sorry that was badly worded most of the examples are for some form of aircraft. But that link I added should give you a start on navigating from waypoint to waypoint.

I cannot tell you how much this is really going to help me!! The GPS library is the same one I use, but for a different GPS, and I have the same digital compass! Thanks a bunch!! But back to the obstacle avoidance---any advice/ ideas to get me going?

I have some ideas, but currently I have just started playing with ping sensors ,the mail man was good to me today.

I will play around a bit and see what I can come up, I want to build an autonomous tank so it fits in.

The big issue I see with the small servo movements, is sort of a constant left/right turn effect if the the range and time is too small.

If your current code gets you down halls pretty centered then perhaps the problem is more defining a minimum distance. So if we are with in X distance on the left side adjust to steer right a bit and move forward. You have a forward arc set up it should be possible to tweak the settings to curve away from or around obstacles. Which is what you want to accomplish in general terms.

Let me put some thought into this, I need to scrawl some stuff on paper and scan it so it makes sense. I can see in my mind what you want to do, but it is the end of a long work day and I keep coming up the gibberish.

Do a search on "robomagellan" for background material on GPS and
outdoors travel.

So the whole reason I started this project was for a program in my high school called the Authentic Science Research Program. I'm not sure if you've heard of it or not--we apply to the Intel talent search senior year. I'm currently a junior. Currently, I want to do a study on something in the robotics category, but it looks like I'm going to study obstacle avoidance. Does anyone have any ideas for a research topic for me? I need some sort of "question" that hasn't been answered or something that has never been done before. Maybe create a new obstacle avoidance method, I'm not sure---but any ideas?

For algorithms, consider using a Braitenberg "algorithm" for you avoidance mechanism. This works well as a "background" always on behaviour.

Also consider Potential fields - might work better with your multiple sonar setup:

http://www.cs.mcgill.ca/~hsafad/robotics/index.html

I've seen the potential field method before, and it seems to have its various drawbacks. Maybe improving one of these methods might make a good research topic.......also, would I have to use interrupts to make the GPS tell the car to go from point "a" to "b" and have the car avoid obstacles along the way?

also, would I have to use interrupts to make the GPS tell the car to go from point "a" to "b" and have the car avoid obstacles along the way?

Do you understand what interrupts are? A ringing phone is an interrupt. It occurs at random times, needs pretty much immediate attention, and is externally caused. Which of those attributes applies to you (not the the GPS) telling the car to go from point a to point b? How will you define point b? All the the GPS does is tell the car where it currently is. It still needs to figure out where point b is in relationship to where it is now, and make the appropriate turn(s) to move in the direction of point b, until "here" is point b.

For background on pathfinding, look up the A* Algorithm.

something that has never been done before.

Good luck. Do you know how many grad students there have been at MIT and CMU
trying everything and its cousins in regards robotics. Zillions upon zillions.

OTOH, to me, to a large extent robotics bogged down in the 90s, when a lot of people
started using subsumption and really went nowheres. AI-robotics kind of stalled, although
there have been some "minor" advances in the 2000s. For many years, people in robotics
clubs did little more than build line-followers and mini-sumos. At least robot soccer and
robomagellan were a huge step up.

If you're interested in following up robotics in your future education, learn AI and apply it
to robotics. There are too many dumb robots around.

PaulS:
Do you understand what interrupts are? A ringing phone is an interrupt. It occurs at random times, needs pretty much immediate attention, and is externally caused. Which of those attributes applies to you (not the the GPS) telling the car to go from point a to point b? How will you define point b? All the the GPS does is tell the car where it currently is. It still needs to figure out where point b is in relationship to where it is now, and make the appropriate turn(s) to move in the direction of point b, until "here" is point b.

Yes, I understand interrupts and I created a program which was originally going to use interrupts for the car, but stopped because I needed the algorithm and GPS code first. I thought I would have to use interrupts to constantly check the IR sensors, and when they detect something within a certain range, avoid the obstacle, then get back on course. Point a is the starting location and point b is the goal location. I didn't mean use interrupts in the GPS literally---maybe my wording is just bad.......but I thought in order to read from sensors and go to a place, I would need interrupts. Does this still hold true?

oric_dan(333):
If you're interested in following up robotics in your future education, learn AI and apply it
to robotics. There are too many dumb robots around.

I'm sorry but just for clarification AI is artificial intelligence right? Just want to make sure---and what exactly would it do for robots? I'm not fully understanding what you mean.... :-/

but I thought in order to read from sensors and go to a place, I would need interrupts. Does this still hold true?

I don't think so. If the car/robot/UGV is moving at 60 mph, you might. At more reasonable speeds, polling is usually good enough.

So just run through a loop of checking GPS data, updating servo, check IR sensors(in a while loop), and if there is a "problem" (ie--obstacle in the way) avoid the obstacle, then go back to the gps?

I'm not fully understanding what you mean

AI is about intelligence. Most robots are not very intelligent.