But small pitch oscillation in GPS modes still exist. I'd try to lower pitch PIDs of GPS hold mode. Could you point me to them. Are they VelocityRoamHorizontalVelPID ?
VelocityRoamHorizontalVelPID is for VelocityRoam mode.
There are braking, landing, autotakeoff, and velocityroam mode PIDs that are for those exact flight modes (braking is done in GPSAssist modes I think).
Other GPS modes are supposed to be controlled by HorizontalVelPID. Make sure you adjust the one that affects the flight mode you are working on.
There is also HorizontalPosP.
Another thing that bothers me is altitude in OSD. What I see so far right after arming is that its error is about 1-2m in case ny GPS sees more than 11 sats. But in case number of sats is 9-10 altitude error reaches 20m. Why not to just zero it on arming and send to OSD altitude from baro?
The GPS ALtitude we get from the GPS is inaccurate. For my waypoint flights, I assume that one day to the next it could be as much as 4m difference in ALtitude. Two things you can do to make your GPS as accurate as possible:
- This one makes sure it isn't usually any worse than 4m. Let the vehicle sit and gather satellites for 12 minutes before the first flight of the day and 2 minutes for each flight after the first one. That gets good satellite fix and you won't be adding more satellites in mid flight. The tiny cheap GPSs that don't have memory to store today's almanac between batteries should use 12 minutes before every flight.
- This one can make it much better than 4m. For waypoint flight, make your flight plan relative to home (that is the default), and after 12 minute warm up and with vehicle sitting at exact place you want home location to be (must be the exact same place as when you made this flight plan), clear the Attitude-Settings->HomeLocation->IsSet. Within a few seconds the new Home Location will be set and you can press Save if you want it to be permanent. Now all the waypoint positions (including aLtitude) will be based on the current GPS drifts rather than yesterday's. Warning: you must set Home the exact same place each time if your waypoints are critical, such as if you fly between trees, etc.
And last. MWOSD displays ground speed only 0. Its developer says OSD receives all GPS data from FC including velocity. Would be good to clarify that. But it is a minor issue.
You need to use the correct OSD firmware and configure it correctly. Did you get the OSD firmware from LP wiki? I am not an OSD expert. I only have one and I have it bypassed right now (it was resetting because 12V was less than 12V).