Flight control for tiltrotor

I have this new airframe and the following controls
Main outputs: 8 VTOL motors
Aux outputs:
1 elevator
2 aileron
1 rudder
1 aux for 4 tilt motors

Because the motors will tilt the leading edge rotors, I’m wondering how to modify pixhawk software flight control so that it is aware of tilt motors and takes care of transition from VTOL to cruise and back.
On my RC, I have one toggle switch to signal transition. What I’m struggling with is how to correctly modify pixhawk flight control software?
I’m using pixhaw 2.4.8.
Any help on flight control is appreciated.
@LorenzMeier @bresch Could you please share your expert opinion?

Thanks for all your help.

Let me share the way, I think I will implement it. Please correct me if I’m wrong.

When the transition switch is toggled, the aircraft starts to transition from MC to fixed wing flight. I know the airspeed at which the tilt motor should be powered to tilt the leading edge rotors for forward flight. Using an airspeed data, software can send a command to tilt motors and switch of trailing edge rotors off. This can happen for both VTOL transitions
mode::TRANSITION_TO_FW and mode::TRANSITION_TO_MC in the VtolAttitudeControl::Run() method.

My doubt is about the mixer generated based on geometry because it is generated for one position of rotors when they are vertical. How will the thrust components be resolved and handled during forward and reverse transition? What I’d like to see is a smooth transition without pitch up or down during transitions.
Please help!

Hi, @gkashyap I think your airframe isn’t really different from a standard tiltrotor (such as the Convergence). Isn’t it working using the usual tiltrotor airframe config + mapping the outputs properly?

Just in case, @sfuhrer is more up-to-date with the current tiltrotor code.

Hi @gkashyap, as @bresch mentions your setup doesn’t strongly differ from other tiltrotor systems that are officially supported by PX4 - like the Convergence. The mixing problem you mention (roll/yaw coupling) is absolutely correct - though normally it doesn’t prevent the vehicle from doing stable transitions.

  • Front-transitions: Due to the nature of tiltrotors, you have a lot of possible forward thrust that accelerates the vehicle quite fast to an airspeed region that starts providing aerodynamic stability, such that actually little control actuation is needed to keep it stable (make sure that your vehicle is aerodynamically well designed)
  • Back-transitions: motors are immediately tilted upwards, without tilt - thus no problem here.

While the static mixer doesn’t really prevent stable transitions on most vehicles, we still are currently working on adapting the control pipeline to replace the mixers with a dynamic control allocation. Any contributions/flights testing there would be highly appreciated! https://github.com/PX4/Firmware/pull/13351. With that in, we could also e.g. support a hybrid flight mode where the user can fly the vehicle with any motor tilt.

Thanks for pitching in @bresch @sfuhrer. I agree with you. I was a concerned because I didn’t want to lose my aircraft again.
I did some digging into the code last night and I saw that there is a Tiltrotor class. I’ll start my work from there and adapt the code to my needs.
Sure, I’ll be happy to contribute to the control allocation development. Let me first go through and analyze the code and will start when I develop a good understanding.
Thanks for your time. :smiley:

Kind regards,