# Best way to determine the speed relative to the ground?

Hello! I'm in a group at Chalmers University of Technology that are working on a self stabilized quadcopter with position hold, see picture.

We've got a little problem: We need to know the speed relative to the ground in x, y and z. What's the best way to handle this?

THANKS!

Views: 3014

### Replies to This Discussion

There's a couple of ways to go about this. The simplest is just to differentiate the latitude and longitude given by GPS, and that'll give you your x and y. GPS altitude isn't really accurate enough to give a z, so for that you need an airspeed, from something like the pressure sensor sold on this site. Then just compare the airspeed, which is sqrt(x2 + y2 + z2) to the groundspeed, which is just sqrt(x2 + y2), and from the difference between the two you can get your z velocity.
That's a pretty good idea! But how good will the measurements of the speed be, calculated by GPS?
Most gps chip sets will give you ground speed and course.. Easy to get x and y from that. GPS altitude may not be sensitive enough for what you want for z (depends on how tight you want your altitude hold to be). If not then look at absolute pressure or ultrasonic sensors.
You need to combine the absolute measurements of the GPS with relative measurements of your accelerometers through a Kalman filter (for example) to get a reasonably stable reference.
But what I'm afraid of is when measuring small velocities. When I read in the data sheet for some GPS:s they say that they have an error smaller then 3 m.

I've drew some pictures to illustrate how the error can occur and I wounder which one is the right one, the upper or the lower? Attached below

If it's the upper one then my quadcopter can stand still in reality but "thinks" that it's moving...
Attachments:
But what I'm afraid of is when measuring small velocities. When I read in the data sheet for some GPS:s they say that they have an error smaller then 3 m.

I've drew some pictures to illustrate how the error can occur and I wounder which one is the right one, the upper or the lower? Attached below

If it's the upper one then my quadcopter can stand still in reality but "thinks" that it's moving...
Attachments:
While the absolute error for GPS chips can be quite big, their drift in the short term (minutes) is very small. So for distances relative to the start point, they are pretty good. You need to be outdoors and have very good sat readings.

That said, you're reqs are probably pretty tight and for testing you will need a system that will work indoors (for testing at least). Then it is pretty much image flow that you need to use, like the parrot quad copter (at CES). They use a downward facing camera and process the image into, I think, 16 sectors. They then find edges or other distinctive features in the image and compare XY positions of those from frame to frame to determine orientation and movement.

Works indoors (using horrible carpet with nasty designs) and outdoors. Needs a fair bit of processing power, but small arm boards should do it. http://designsomething.org/leopardboard/default.aspx

Look up optical flow in google

Great looking platform you have. Any info on specs, etc

Cheers

Diarmuid
Do you know anyone who has done this? Code samples? I've a Kalmanfilter to calculate the angle in x and y that works great but I don't have too much knowledge in this area...

We have decided to control our quadcopter with position (not velocity) using GPS, an absolute pressure sensor and a magnetometer.

Hi Doug,

Would u please advice how to get ux,uy,uz from ground speed and course.

I am sorry if my question is too simple, actually am very new in this area.

Best,

Ali

1

2

3

4

5

6

7

8

## Groups

45 members

1472 members

282 members

470 members

• ### 3D Models

57 members

Season Two of the Trust Time Trial (T3) Contest
A list of all T3 contests is here. The current round, the Vertical Horizontal one, is here