Need help: GPS position hold algorithm?

Hi all,I'm just wondering how can we perform a position hold (within 10-20 cm, just like microdrone MD4-200 did ) with a GPS and IMU because I know that the accuracy of normal GPS is aroung 2m and can not achieve up to few cm level if we dont have DGPS. So I'm thinking of a Kalman fusion between GPS and IMU to give a more accuracy in position ? I'm not so clear about that, it has made me confused for a long timeThat's why I post this entry to get your inputAny idea are appriciated and welcome.I forget to post a link to you guy for easy imagination of GPS position hold.http://microdrones.com/en_mc_videos.phpthen looking for a video name "flight-performance md4-200, part 3", this is what it called "GPS positon hold"
E-mail me when people leave their comments –

You need to be a member of diydrones to add comments!

Join diydrones

Comments

  • Anthrax,

    I have seen position plots of GPS data while an aircraft was sitting stationary on the ground, and it was a ziz-zag all over the place with a small radius. I didn't try to measure the radius, but I'm sure it was around 2-4 meters (using WAAS). I have read of people modeling GPS errors as zero-mean with a Chi-squared distribution. There are some good works around the web that detail GPS errors.

    Tom
  • hi Caleb, it's alright for me to understand linear algebra, I'm waiting for your tutorial of KF and fixed gain observer :)
    @Tom Yochum : I did develovep Kalman filter before for my quadrocopter project to track bias of gyro and get pretty accuracy tilt (pitch and roll) infomation
    @all : I have a silly question regarding accuracy of GPS, please help me make it clear :
    if I hold a GPS and then read positon value from GPS , then i walk 30cm then record position value again . .the 2 value is the same or different? I just want to know that with a small difference in position of GPS , will GPS output the same data?
  • Tom Kent,
    Your idea about creating our own DGPS base station sounds great.I have Xbee for 2 ways data down link already . Its easy to send correction data back to the air .You should start an entry for that stuff.
  • You could use the IMU as a turn coordinator to do what we pilots call a procedural turn when assigned a holding pattern. The IMU would be very useful in providing the aircraft with a coordinated turn. Time, heading and standard rate turns will ensure that your autopilot holds the coordinate. Wow, this sounds like a heading indicator :)
  • You also need an inertial navigator if you want to do GPS/INS integration. It's not as simple as just integrating the raw values...

    Tom
  • Anthrax,

    I am working on a GPS/IMU tightly-coupled algorithm at the moment. It works in simulation, and we are hoping to collect some flight data soon to test it real world. The most difficult aspect of what you are trying to do (IMHO) is developing the IMU error model. There is a great derivation in the Journal of Guidance titled Control Theoretic Approach to Inertial Navigation Systems (Volume 11, 1988). You will probably have to purchase the paper ($25) but I highly recommend it.

    Have you developed Kalman filters before? If not, you may want to get your feet wet modeling something simple. That's how I learned!

    Tom
  • > "hi Caleb, regarding fixed-gain obsever you mentioned it sounds nice to me. Have you ever experienced that method in something ?can you share it ?"

    Yeah, I've used it a number of times when I needed a "quick and dirty" state estimator but didn't want to implement a full KF. Granted, it isn't optimal like a KF, but sometimes "good enough" is, well... good enough.

    I've been meaning to write a tutorial for implementing both a fixed-gain observer and a KF. How comfortable are you with linear algebra?
  • Since this community is heavily utilizing the uBlox GPS, maybe we should create our own DGPS base station that uses it....any interest?
  • hi Tom , DGPS is not a easy way in my location , there is no available base station for free.
  • Just out of curosity...you mention that the problem could be solved by using DGPS, why aren't you doing that? I believe that the new uBlox supports outputting the necessary data to roll your own DGPS, you just need one for a known base station and one of the onboard receiver, then a datalink to send the corrections up to the aircraft. Am I missing something?
This reply was deleted.