I wanted to share some results that I’ve seen a few times while flying a heavy copter. Sometimes if it’s out of balance, it runs 3 motors in the same direction (motors 2, 4, 5 in this case) a stronger than the others to compensate for yaw. What I find though, is that if I land the copter in such a way that the current location is not equal to the set point, then unless I disarm and arm again, taking off will lead me to lose control because the copter is overcompensating for yaw. I believe that this is because the integral term is building up over the landed time, and playing a significant role in control after take off.
I wanted to suggest that maybe if the controller realizes that it landed (zero throttle and change in altitude?) it resets it’s PID, as if it was disarmed and then armed again.
I can post this as an issue on Github if this is considered an issue, but I wasn’t sure if maybe there was a reason it’s like this?