ardupilot icon indicating copy to clipboard operation
ardupilot copied to clipboard

Plane: fixed ramp of motors on back transition in tilt quadplanes

Open tridge opened this issue 1 year ago • 4 comments
trafficstars

this removes the special case for SHUT_DOWN state of the motors in tilt quadplanes. The old code seemed to assume that the output_motor_mask() doesn't work in SHUT_DOWN state, but in fact it does, so we can get proper spoolup behavious on back transition just by removing the special case

this PR builds on https://github.com/ArduPilot/ardupilot/pull/26248 to give us a quadplane-tilt frame for testing

tridge avatar Feb 18 '24 00:02 tridge

I suspect we could remove the tilt-rotor motors_active concept all together, the only other user is here: https://github.com/ArduPilot/ardupilot/blob/1d08662c726a794190e49211f56550ea25c16e9e/ArduPlane/quadplane.cpp#L2090

I would like to do the same for tailsitter, then it remove the special case completely. But that can wait for a new PR.

get_desired_spool_state is used quite a lot, so that might give a different result now, but since SLT's don't have a problem I don't think it will be a issue.

IamPete1 avatar Feb 18 '24 15:02 IamPete1

I suspect we could remove the tilt-rotor motors_active concept all together, the only other user is here:

I think we need to keep that user though, or throttle suppression could break for tilt rotors

tridge avatar Feb 18 '24 20:02 tridge

Alternately we could add a "has mask override" method that would skip setting the actuator in the shut down case. I suspect that will allow us to get the best result, but it does mean were leaking QP logic into motors a bit. But it might be a nice path have the slew limits applied in motor test for example.

I've implemented that in the PR

tridge avatar Feb 21 '24 05:02 tridge

This looks OK to me, at least it's better than duplicating the ramp up code in the quadplane code.

rmackay9 avatar Feb 21 '24 07:02 rmackay9

I flew this on a GriffinPro today, no issues

tridge avatar Feb 24 '24 06:02 tridge

This is a fix for the tricopter motor indexing thing. https://github.com/ArduPilot/ardupilot/pull/26313

IamPete1 avatar Feb 24 '24 14:02 IamPete1