How to reduce tracking error when doing WPnav?

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?
Thanks for your suggestions!