andrew bae

A simple question for the GPS (orientation sensor?)

I'm trying to use  the ardupilot setup to control an unmanned ground vehicle :D:D:D:D:D:D!

 

I was going through much of the documentation but still couldn't find the answer to a little question of mine.

 

Does the robot not need to know it's orientation to the World (north, west, south, east)?

 

I mean, hypothetically, if the robot goes North to approach its waypoint and the next waypoint is say 300 ft to the East, doesn't it have to know where East is?

 

If so, which hardware lets the robot know it's "orientation"? the GPS module? An stand-alone orientation sensor? The ardupilot board? eeeek!

 

Thank in advance guys, this stuff is off-the-walls.

Views: 46

Reply to This

Replies to This Discussion

It'll either need a magnetic sensor (compass) or get its orientation from the GPS by subtracting two positions and calculating the heading vector from that.
GPS provides heading when in motion (which is almost always the case for a plane). For ground vehicles and helis, which are often stationary, people usually add a magnetometer.
thanks for the quick replies. Darn, a magnometer, eh? I was wondering, does the code on the google code repository (i think it's the one written by jordi?) familiar with using a magnometer to calculate its heading, or will I have to write the code myself?

Does anybody know of anybody who has used an "often-stationary" gps navigates robot? Hopefully a car? :)

Maybe a blog?
another thing to add. is it absolutely neccessary to use a magnometer? Or might the GPS-heading-vector be calculation be sufficient?
Is your carbot going on pavement or bouncing around off road?. If its the former, you could use odometer
data and steering input to calculate a projected turn to a new heading, or use the GPS heading when it's available(when moving). GM's Onstar system uses this to fill in the gaps for spotty GPS reception in big city metal canyons.
Andrew,

I have used a single gyro and a GPS, without magnetometers, to steer and navigate an R/C truck. In fact, that is how I got started in this hobby, it was my first "baby step". There is a neat bit of logic to make it work.

If the truck is not moving, it does not matter that you do not know which way it is pointed. Once it starts moving, you will know soon enough.

So, here is what I did with my first project: I used a single gyro to provide negative yaw rate feedback. This stabilized the steering, and kept the truck from turning too fast, and smoothed over the errors from GPS. Then, I used course over ground information from the GPS to steer the truck. When the truck was not moving, the wheels would twitch back and forth. But once it started rolling, the gyro would smooth things out, and the truck would steer just fine.

I still have the truck, and the first board that I made, with one gyro and a GPS, and I take it out once in a while in the summer to the parking lot of a local community college. It is programmed to trace an ellipse. Its fun to watch it start up, it starts in a random direction, but once it gets moving a little bit, it straightens right out, and goes racing around.

The ellipse is defined by two points, which I choose to be the locations of a couple of street lights.

Best regards,
Bill
Thanks for the reply Will. Alright, gyros to calculate negative yaw.

I'm beginning to get a hold of how all this works. The robot begins to move because it's "lost" two gps coordinates are used by the gps module to calculate heading.

The gps will tell the robot to go, let's say "25 degrees to the right from current heading" or "North 25 degrees South" for 60 ft or so.

Then the gyro is used to calculate those actual 25 degrees, or neg yaw, rather than have the robot just randomly turn and go.

Here's the next question.

How can I integrate the new hardware (gyro) with Jordi's Arduopilot 25 code?!

Might you have some source code that I can study?

Also. Is the gyro absolutely necessary? Can't the robot ever-so-randomly turn NorthEast and go, then auto correct itself by the new (yet slightly incorrect) heading?

I'm way in over my head :)

Thanks a bunch though.
Andrew,

The code that I have that controlled my truck with just a GPS and a gyro is in assembly language, I do not recommend it for you.

It would be very difficult to control the truck with just the GPS, because of the low update rate and the latency. If you try to "close the loop", you will have difficulty to maintain stability. You also need either a gyro or a magnetometer to achieve stability.

Regarding Jordi's code, you will have to talk to Jordi about that, but I know that he has an IMU based autopilot, that should work just fine on the ground.

Best regards,
Bill

RSS

Groups

© 2012   Created by Chris Anderson.

Badges  |  Report an Issue  |  Terms of Service