-
Notifications
You must be signed in to change notification settings - Fork 13.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[WIP] VTOL Transition Task: Control Z and Yaw Velocity to 0 #13136
Conversation
Thanks @MaEtUgR ! SITL tested, looks good there (though no change to master noticeable, real flight testing necessary). I think this is step in the right direction, though it doesn't solve that we still have big (step-like) change in velocity sp in this case (see plot below, flown with max vertical velocity in MC att control before transition). Would it be an idea to adapt vz over a time of a 1s or so from what it was before the transition to 0? Not 100% sure if we should also put the change from controlling yaw to only yaw velocity in here. Did we at some point encounter issues about controlling yaw during transition @RomanBapst ? |
Totally, let's do that. Maybe not fixed 1s but depend on an acceleration limit parameter.
I'm still assuming this also causes you a big step in motor speeds and that's why I switched there as well. You decide, I can quickly take it out. I think best would be a real world test together with limited acceleration. |
Perfect.
Got you. Yeah let's keep it in, let's put in the smooth vel_z breaking and then get in some flight testing. |
instead of setting an altitude setpoint and going full effort to exactly come back to it.
7fce337
to
6cc5b3c
Compare
Rebased for VTOL testing. |
@MaEtUgR testflight: https://review.px4.io/plot_app?log=3ad99d83-5347-418c-9d65-a32449370a3a It's slightly better than current master, but to really make a difference I think we really need to ramp down the velocity sp in vz from what it was prior the transition to 0 over some time. Should we base it on the acceleration parameter of MPC, MPC_ACC_UP_MAX and MPC_ACC_DOWN_MAX? |
This was done in #14405 as far as I can see. |
Describe problem solved by the proposed pull request
Hopefully fixes #13068
Describe your preferred solution
@sfuhrer showed and explained problems during transition to me and once thing I clearly saw in the logs he analyzed was that if you have any vertical speed the concept of just giving a fixed altitude setpoint to the multicopter position controller results in very high thrust fluctuations. This is because the controller goes full effort to that exact altitude and almost always overshoots, similar problem like breaking down when switching to hold mode from fast forward multicopter flight. Since the transition task is only ran for seconds during the transition to stabilize the vehicle from the multicopter side I think setting zero velocity is the best solution since it accounts for eventual initial overshoot in altitude. I applied the same concept to yaw since it can also result in strong actuation especially on VTOL.
Test data / coverage
Totally untested @sfuhrer please verify.