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.
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?
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.
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.
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:
Recalibrate ESCs.
Re-check CA_ROTOR_ params to make sure the distances are defined correctly.
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.
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?
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. .
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.
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.