Control Problem with the Pitch Axis of a Tiltrotor VTOL

Dear All,

I am trying to build a Tiltrotor VTOL in bicopter configuration with no control surfaces.
Just have two motors and two tilt servos attached to the wing tips.
I am fairly new with the PX4 autopilot and tried a quick configuration to see what can I possibly achieve with this great firmware.

I am doing some test runs in altitude mode, indoors, without propellers and the problems I am having:

  1. I arm the vehicle and increase throttle stick. If I turn the vehicle in the yaw axis by using my hand, the tilt servos move to counteract the movement. If I move the vehicle in the roll axis, again with my hands, the thrust of the motors change to counteract the movement. However, if I move the vehicle in the pitch axis, the servos does not move, remain still in contrast to my expectation.
  2. If I move the elevator stick forward, the tilt servos lean forward as expected. But If I move the stick backward, the two motors increase throttle and the servos do nothing.

Here is a screenshot of the Actuators view:

I am attaching my parameters and an example log file.
Log: log_0_UnknownDate.ulg - Google Drive
Parameters: params.params - Google Drive

PX4 Version: 1.14.3

If you are able to take a quick look and advice, I would be grateful.
Best wishes.

I think you’re having the same issue as here: Differential Pitch - #3 by JianWei
“pitch by tilt” is supported for multicopters, but not for VTOLs afaik. Would you be interested in developing it yourself? Here you have a starting point: PX4-Autopilot/src/modules/control_allocator/ActuatorEffectiveness/ActuatorEffectivenessTiltrotorVTOL.cpp at bb0210ecd7028a14e7aaed850f4091fb5b9487da · PX4/PX4-Autopilot · GitHub
Otherwise, if you do not want to make a full VTOL state transition (hovering ↔ forward flight) then you maybe can make it work by not selecting a VTOL airframe but actually a multicopter with tilts (AUTOSTART=14001).

1 Like

Thank you very much for the clarification.

Installed a development environment and trying to get familiar with the codebase. Let me see what I can do.

I have managed to hover my vehicle with “pitch by tilt” control. I will create a pull request hopefully soon.

I’m really interested in how you managed to solve this issue with the “pitch by tilt” control. If it’s not too much trouble, could you kindly explain how you approached it and what changes you made in the PX4 code? I’d love to learn more about the solution. Thank you!