I have APM2. I tried to verify the location of my GPS.

What I found out is that at the same location GPS reading gives different value even though I am not moving my APM, it is just a static location. 

So, the problem comes when I want to calculate the distance from one point to another waypoint. It gives inaccurate reading. Any idea to overcome this problem ?

Views: 1372

Reply to This

Replies to This Discussion

Hi Barret,

I am not sure if PID is good enough to be able to generate steering controller with no jerk due to accuracy problem.

I don't know about the AGPS function. 

In the past i've sucessfully used PID to remove jerky motion in navigation on a very similar project. Increasing the accuracy of the GPS won't make it less jerky, in fact it might make it worse. 

Hi Barret, 

Do you have any rough idea how do you control it using PID? What is the steady state error are you trying to achieve ? From what you said, seems like PID could solve my problem. I would like to try it if this is possible. 

I used heading for my PID. So I calculated the heading i wanted to be going, and the heading that i actually was going. However I suppose you could use cross track error. It would be good for you to find a good tutorial on PID, because they are very easy to write, but can be rather tricky to tune. 


Would a differential gps option be possible using the gps on an android device, or external gps on a laptop (used as a base station with radio telemetry).  Here are the changes that would probably be needed in mission planner:

The software could show where the gps sensor is showing the position of the user's base station to be.  The user could then manually correct the location of the base station in the software by telling the system where the base station is actually located.  Mission planner could then use this error, and send it via telemetry to the ardupilot for a correction in the location of the rover.  

 Since the radio telemetry could easily get the current gps location from the rover, the laptop or android base station could compensate, and provide a more accurate gps reading for the rover.  



single point GPS is not suitable for this task,  you need differential GPS (SBAS, WAAS.) to get accuracy of 1m. then if you want the centimeter accuracy, you need RTK GPS. checkout our website: tersus-gnss.com; we are targeting low cost RTK for UAV. it's very stable and useful.

Reply to Discussion


© 2020   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service