ardupilot
ardupilot copied to clipboard
Plane: fixed ramp of motors on back transition in tilt quadplanes
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
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.
I suspect we could remove the tilt-rotor
motors_activeconcept 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
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
This looks OK to me, at least it's better than duplicating the ramp up code in the quadplane code.
I flew this on a GriffinPro today, no issues
This is a fix for the tricopter motor indexing thing. https://github.com/ArduPilot/ardupilot/pull/26313