Pitch/Roll control issues on X500 with Pixhawk 6X (PX4 v1.17)

Hi,

I’m having trouble with pitch and roll control on an X500 frame running Pixhawk 6X with PX4 v1.17 (stable). Details below — any pointers appreciated.

Hardware/firmware

  • Frame: X500

  • Flight controller: Pixhawk 6X

  • PX4: v1.17 (stable)

  • Radio: RadioMaster TX16S (configured in QGroundControl)

  • Calibrations: Radio and all sensors completed in QGC

Problem

  • Throttle and yaw respond normally.

  • Pitch and roll do not respond to stick inputs.

  • I’ve checked RC calibration in QGC; sticks map correctly in the Radio Calibration screen.

I can upload a representative flight log and the full parameter file if that helps. Thanks in advance for any guidance — I’m happy to provide more details or run suggested tests.

Thank you,

Mustafa

Mustafa bey it would be great if you could upload a log.

Hello @farhang Please see the latest log from PixHawk.

Mustafa

How heavy is this frame? Seems the hardware is carrying more than it is supposed to. I can see that your thrust is saturated. There is a stick input but roll and pitch cannot be applied. Could you try in stabilized mode as well?

The drone weighs 1.87 kg. The propeller measurement from tip to tip is 25 cm.

Mustafa

Yes I was able to use the right sticks with stabilized mode. The downside is that my left thumb must constantly make minor micro-adjustments to the throttle.

It will not execute an automatic brake or hover in a fixed spot when I center the right joystick. It drifts freely.

Mustafa

Ok. Can I ask what motors you are using?
The reason stabilized attitudes works is the thrust is not staurated.
Your hardware usually needs to be capable of hovering at only 50% of thrust which seems not the case here and it is hovering with 100%. My recommendation is to reconsider your hardware capability either motors or bigger battery like from 3S to 4S.

Hi @farhang

Thank you for your recommendations.

I will try to upgrade to the motor to a slightly lower KV one, using higher current rating ESCs, and using 6S batteries to gain higher thrust.

For example, here is a motor with lower KV. Currently I am using 920 KV.

Mustafa

Going 6S and that very low KV motor will be very off. I would not recommend that. What I would do first before changing hardware since your hardware seems ok:

  1. Recalibrate ESCs.
  2. Re-check CA_ROTOR_ params to make sure the distances are defined correctly.
  3. Check your Hover Thrust param, it is 0.5 now.

I pulled your ULG and went through the log in detail, and here is what I found:

Your thrust setpoint is clipping at -1.0 (full throttle) for about 63% of the flight. The control allocator is reporting unallocated thrust for 82% of the flight, meaning the system is constantly asking for more than the motors can deliver. Your hover thrust estimator climbed to 0.636 mid-flight, which means MPC_THR_HOVER at 0.5 is too low and the altitude controller is always playing catch-up.

The bigger issue is MC_AIRMODE = 0. With airmode disabled, when thrust saturates at the upper bound the mixer scales down your roll/pitch torque demands instead of allowing a thrust reduction to maintain attitude authority. This is exactly why you are seeing altitude prioritized over attitude. Your log shows unallocated roll torque peaking at 0.22 and yaw torque at 0.40 during saturation, meaning the attitude controller is asking for corrections it cannot get.

Also THR_MDL_FAC = 0.0 means PX4 assumes a perfectly linear motor response, which is wrong for PWM. This makes the altitude controller work harder than it needs to.

On top of that there is a significant motor imbalance. Left side motors average 0.637 vs right side at 0.439. That is a 0.20 spread which points to a CG offset or a weak motor/prop on the right side. Motor 1 (rear-left) is working the hardest at 0.678 while Motor 3 (rear-right) is the lightest at 0.368.

Here is what I would change in order of priority:

  • MC_AIRMODE = 1 (fix the altitude over attitude priority)
  • MPC_THR_HOVER = 0.55 (match what the estimator actually sees)
  • MPC_THR_MAX = 0.85 (reserve 15% headroom for attitude mixing)
  • THR_MDL_FAC = 0.3 (correct the nonlinear PWM to thrust mapping)
  • Fix CG / check right side props and motors for damage

Do a short hover test after these changes and post the new log. If hover thrust settles in the 40-50% range and motors are not clipping anymore, your 920 KV setup on 4S with 10 inch props should be fine for 1.87 kg. If it is still saturating after the param fixes, then we can talk hardware.

Hi @farhang Could you please check the logs.px4.io? I was unable to upload the log file. It failed at first time and now I am getting 504 error.

Mustafa

Hi @farhang I was able to upload the latest hover test.

https://logs.px4.io/plot_app?log=dc9a6cc6-7fb3-4f0d-b033-b5b407bfb6c9

Mustafa

Hi @farhang Here is another hover test.

https://logs.px4.io/plot_app?log=b2d0b254-0484-4ce6-9102-7b1fdb9582d9

Mustafa

I guess it is ok now? Could you try with Altitude mode also?

I guess it is ok now?

I still wasn’t able to use right sticks. At least it did not seem the vehicle was responding.

Thank you,

Mustafa

Can I ask why your collision prevention is enabled? Do you have any sensors for collision prevention?
Please make
CP_DIST = 0
and CP_GO_NO_DATA = 1 and try flying again in different modes.
Also why BAT1_SOURCE is -1? Did you choose your power source?

Hi @farhang

Success — I was able to use the right sticks after setting CP_DIST and CP_GO_NO_DATA (I likely set them while assembling the drone).

Please review the latest flight log:
https://logs.px4.io/plot_app?log=3c4c2f7a-7670-4c2b-8c52-16f6c7c6445e

Could you confirm whether motor 4 needs replacement? Do you see any other issues that stand out?

Thanks for your help,
Mustafa

Glad you solved it.

Before being suspicious, I would check the calibration of ESCs, Pixhawk, and correct battery settings.
There is a test you could do: remove props, arm in stabilized mode, and roll and pitch the drone with your hand; motors must respond linearly. Any motor that is off this behavior must be the culprit. .

Hello @farhang

Could you please review the latest flight log? I performed the manual stabilized mode pitch and roll by hand.

When I roll the drone, it seems two of the motors are slowing and two of the motors were speeding. It alternates depending on the roll position. I suspect that is expected. I really cannot tell for sure.

Mustafa

Hello @farhang

The suggested solution resolved my original issue. Per your request, I performed the specific test and uploaded the flight log for review.

Could you please take a look and let me know if you have any further inputs or recommendations?

Thanks again for your help.

Best,
Mustafa

I can only recommend for now to choose your battery reading param so you dont get the error. Also You cant still roll much, which I suggest doing a new flash with new calibration for sensors and ESCs.