VTOL/TAILSITTER PX4 motors differ speed higher thrust settingt

Dear PX4’ler

basically I am working on a VTOL / Tailsitter, which is a bit more like a bicopter and tilting motors, with a elevon like setup. I got pretty much everything under control, except, yes now the but, for whatever reason the left motor is with increasing speed running faster (and generating more thrust) and hence, I have constantly a roll. At low thrust settings, it is possible to compensate by RC input, but only up to a certain degree.

  1. I checked the FC installation and configuration. The horizon turns correctly, the heading is good.
  2. I checked the configuration allocation matrix. This seems to be okay too.
  3. While in STABILIZED mode, I tilted and turned the bird, and the correct response is given. (If I roll left, the left motor speed increases, the right loweres, trying to compensate my movement).
  4. PITCH, YAW, ROLL from RC is correct.
  5. Reduced the MC_rollrate to 0.01 to remove the option of a constant failure, but this does not change anything.
  6. ESC, the ESCs don’t require calibration;

While testing this, it is fixed to ground. Due to the constant roll, it is unflyable.

This is the RC input:

Here are the motor outputs, the with increasing thrust clearly visible:

I asked chat gpt, got not a solution :smiley: Looked if the control surface CA are somewhat reasonable, and it is at least not bad (whatever I change it does not cause a different motor behaviour).

Here is one logfile:

I guess somewhere is a strange offset parameter I do not know :smiley:

Thanks for help, highly appreciated.

I think I got it solved.

  1. Recalibrated on all level surfaces (horizontal and vertical, all direction)
  1. Switched and switched back in the actuator control tab the CW and CCW of the motor.
  • RPMs are now near identical, but possible better testing procedure

I believe it is a coincidene, not causal and most likely (1) was the cause. But funny anyhow. The remaining difference is caused by the roll rate PID.

Does anyone has an idea to disable differential thrust in hover at all for VTOL and just use a rudder for roll instead? I mean, I can select a “rudder” as control surface, but does this automatically move all control authority from the motors to the control surface?

1 Like

I was going to say that it can be set using the “differential throttle” parameters such as VT_FW_DIFTHR_EN but these are for forward/fixedwing flight, so that’s not it.

I wonder if you could hack it just by adjusting the motor positions in the actuator configuration, by setting them all to 0, 0, thus without influence on roll/pitch.

@JulianOes Motor position! That would be a nice cheat - I give it a try, why not :smiley:

Else, I’ll need to dig into the code and hijack the VT_FW_DIFTHR_EN and change it to an VT_VT_DIFTHR_EN. I would anyhow also need a “roll” option for motor tilting. Currently only the available settings for tilt rotors are “pitch”, “yaw” and “pitch+yaw”, and I’d like to have the option “roll” too.