Mean RPM difference of CW vs. CCW motors on coaxial multirotor

After flight testing our coaxial x8 octocopter, we noticed a mean difference between the PWM outputs to the CW motors and the PWM outputs to the CCW motors. This mean offset occurs constantly, whether or not the copter is yawing. All 8 of the motors and props are identical, aside from opposite-direction pitch between the CW/CCW props. See the motor configuration and spin directions below. Also note that the lower motors are upside-down and the upper are right-side-up.

Here is an example of the yaw imbalance:


Here is a link to the full flight log from which the above snip was taken:

We checked for tilted motors and any other source of mechanical yaw imbalance, but found none. Is there a feature in PX4 that deliberately sets a difference between the mean RPM of CW vs CCW motors?


That’s what I would have suggested as well. PX4 would not on purpose do something like that. Are you sure the assignment is correct a d it is not a front/rear left/right imbalance?

@bresch any idea?

Are all CCW props on the bottom, or all on top?

If yes that is not surprising because the bottom props are in the airflow of the upper props (downward + twisting airflow). Usually the bottom props need a larger pitch to compensate.
If this imbalance is an issue for you, for exemple if it takes too long for the yaw rate integrator to build up, let me know. It is possible to create a custom mixer that creates the imbalance from the start. A simpler fix is to alternate the CCW and CW props on top and bottom!

Good observation, but for a single direction, half of the props are on the bottom and half on the top. The exact arrangement is shown in the first picture I posted (ie. 2 is on the top and 5 is on the bottom).

OK then I do not know.

Having the rotors perfectly vertical is really hard and any little misalignment is visible, especially when the drone is large with large, efficient props. The efficient props have low pitch and this gives low yaw authority; since the yaw effect induced by a misalignment is given by thrust * sin(rotor tilt), this can rapidity require a lot of yaw control effort to counteract.

To avoid those problems, a good rule is to always slightly tilt the rotors in the direction where they increase the yaw authority by a few degrees (~5-10 degrees). With that increased overall yaw authority, a slight misalignment of a rotor will be easily cancelled by the controller.

Furthermore, even if the vertical thrust is reduced by cos(tilt), the overall power consumption is reduced because less energy is burned for yaw control.

1 Like