Skip to content
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

Closed
wants to merge 1 commit into from

Conversation

MaEtUgR
Copy link
Member

@MaEtUgR MaEtUgR commented Oct 9, 2019

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.

@MaEtUgR MaEtUgR requested review from RomanBapst and sfuhrer October 9, 2019 08:57
@MaEtUgR MaEtUgR self-assigned this Oct 9, 2019
@sfuhrer sfuhrer added the Hybrid VTOL 🛩️🚁 Multirotor + Fixedwing! label Oct 9, 2019
@sfuhrer
Copy link
Contributor

sfuhrer commented Oct 9, 2019

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?

image

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 ?

@MaEtUgR
Copy link
Member Author

MaEtUgR commented Oct 13, 2019

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?

Totally, let's do that. Maybe not fixed 1s but depend on an acceleration limit parameter.

Not 100% sure if we should also put the change from controlling yaw to only yaw velocity in here.

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.

@sfuhrer
Copy link
Contributor

sfuhrer commented Oct 13, 2019

Totally, let's do that. Maybe not fixed 1s but depend on an acceleration limit parameter.

Perfect.

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.

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.
@MaEtUgR MaEtUgR force-pushed the vtol-transition-velocity-control branch from 7fce337 to 6cc5b3c Compare October 29, 2019 13:46
@MaEtUgR
Copy link
Member Author

MaEtUgR commented Oct 29, 2019

Rebased for VTOL testing.

@sfuhrer
Copy link
Contributor

sfuhrer commented Oct 30, 2019

@MaEtUgR testflight: https://review.px4.io/plot_app?log=3ad99d83-5347-418c-9d65-a32449370a3a

image

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?

@sfuhrer sfuhrer changed the title VTOL Transition Task: Control Z and Yaw Velocity to 0 [WIP] VTOL Transition Task: Control Z and Yaw Velocity to 0 Jan 28, 2020
@MaEtUgR
Copy link
Member Author

MaEtUgR commented Apr 19, 2020

This was done in #14405 as far as I can see.

@MaEtUgR MaEtUgR closed this Apr 19, 2020
@MaEtUgR MaEtUgR deleted the vtol-transition-velocity-control branch April 19, 2020 12:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

VTOL: MC throttle drops when front transition is initiated
2 participants