Waypoint flight route.How to fly along the line?

hi, everyone!

I met some problems about tracking error during way point flight in auto mode.

I’m using a qudurotor to do a task about WPnav flight indoor recently. The its actual flying route is bad. Compared with the desired route,the tracking error is a little large. the drone flied along a curve obviously,but not a line.the curvature is a little large caused by the tracking error.

The picture below shows the detail about actual flight test.

I want to reduce the tracking error, what can I do? do something about PID parameters? or ?
Thanks for your help!

If you are flying indoors, you will not get good GPS readings.
Run the same test outdoors.

If the distance of travel in each direction is only 1 metre, you will not get anywhere close to 100% accuracy.

I did fly indoors. The vehicle‘s position information is got from the indoor Motion Capture System, where the estimation error is centimeter level even better.

I have run the same test outdoors with the good GPS, the error is worse.

therefor, I guess something about improving its tracking approach or PID parameters may reduce the tracking error.

I did a test later , the distance was longer than before,
and no other different condition in the experiment. It is also a indoor test.