0

I'm an engineering student and i'm currently developing a quadrotor with an android nexus 5 as flight controller.

In order to perform autonomous flight I need to implement a suitable position controller and so a position estimator, here my question: it is already been proven with cheaper hardware that is possible to obtain a good position estimation through GPS and IMU mesuraments but for battery saving policy android compute GPS update at a very low frequency (1hz) so is possible to obtain higher frequency (20hz like)? If anybody has a better solution could please tell me?

edit:

my problem is not how fast i can get a fix (before deployment i can wait for a solid fix). The issue is the accuracy of the position estimation and, as i alredy sad, it is alredy been proven that with cheeper hardware (like ardupilot which use an arduino mega, the same imu as nexus 5 and a ublox gps) it is possible to obtain a very good accuracy that allow safe flight and very precise hovering.

even with the requestLocationUpdate() with min time set to 0 the gps data is updated only once every 1000ms

Thanks in advance Lorenzo

Lorenzo
  • 1
  • 2
  • The time constraint parameter of requestLocationUpdate() is only a hint. The device may or may not use this hint. – Stefan Oct 22 '14 at 08:42

1 Answers1

0

I think by frequency you mean how many times in a certain period the location is updated.

If this is the case you can obviously control this somewhat. However the more you request for location updates the heavier the strain on the battery there will be. The functions getLastKnownLocation() and requestLocationUpdates() can be used in conjunction to update the lat/long coordinates pretty fast. Read up on Location Manager.

However gps locking will take time. In my experience a location in open ground (no obstruction) can be provided every 10secs. Faster estimates can be provided if you have leeway in accuracy. Using Locations provided my network towers instead of gps can get the location in under 10secs/location. However I would expect atleast a 200ft error magnitude at least.

Lastly the fastest way to update a location is via wifi. If you can provide a solid wifi connection your location can update with almost definite accuracy within 5secs.

Also look into the google maps api. They have some cool functionality you can utilize to get your location even faster and even add a google map to your application.

SeahawksRdaBest
  • 868
  • 5
  • 17