PX4 / PX4-Autopilot

PX4 Autopilot Software
https://px4.io
BSD 3-Clause "New" or "Revised" License
8.5k stars 13.51k forks source link

VTOL tiltrotor tilt ("pusher") support in hover #13779 #14915

Closed pbecchi closed 3 years ago

pbecchi commented 4 years ago

I have a custom design Vtol that i am actually testing as a quadrotor multicopter. The design is asimmetric: 2 small rotor forward and 2 main rotor on main wing that may tilt 90 ° As soon as it flight stable as a quadcopter i want to start tilting the wing and moving forward, keeping the aircraft horizzontal. I think this should be feasible with the new feature of beta 1.11. This feature is undocumented ....can somebody tell me how to activate it? In addition my wing actuator (a powerfull servo) has a total stroke of 180° that through a linkage move the wing 90°. Linkage and servo arm are aligned at 0° and 90° wing angle, therefore the pwm value is strongly nonlinear with the angle value . There is any way to give a curve to the actuators output? Like the one you can give to an RC transmitter? I coud not find anything that show me that possibility.....if not possible, i think i will use and external mcu board that convert actuation value to the necessary pwm values.

Anyhow this feature, if do not exist, will be highly appreciated!

sfuhrer commented 4 years ago

So you want to use the tilt of your wind to move forward in hover, did I get that correctly? Then you need to set VT_FWD_THRUST_EN=4 to have it in auto, position controlled and altitude controlled modes. And probably set VT_DWN_PITCH_MAX smaller than it is now. Then it should be enabled, and you can tune it via the param VT_FWD_THRUST_SC . Note that this is purely for hovering, there is different code that handles the transition part of a tiltrotor VTOL. About the non-linear PWM and tilt: afaik this is not possible atm, but you could also add it in a customized PX4 firmware.

pbecchi commented 4 years ago

Thanks! I will test wing tilt as soon as i finish PD parameters optimisation! Regarding Vtol this is my understanding:

For the non linear servo drive, i will make a simple dirty solution with an external mcu that read PWM out of PX4 and generate to correct PWM following a curve.

sfuhrer commented 4 years ago

@pbecchi atm PX4 only supports static mixers, but we are hoping to improve that soon with a dynamic control allocation, something that's been started with https://github.com/PX4/Firmware/pull/13351. Any help for that is ofc appreciated! About the current transition handling: It is mainly defined by an airspeed threshold (if you have a sensor). The motors are tilted to some angle (default is 45° I think), and they stay at this tilt until an airspeed threshold is reached.

stale[bot] commented 4 years ago

This issue has been automatically marked as stale because it has not had recent activity. Thank you for your contributions.

sfuhrer commented 3 years ago

FYI, the core algorithms for dynamic control allocation is now merged https://github.com/PX4/PX4-Autopilot/pull/16528