Controlling octa coax (8 arm / 16 motor)

How would one control an octo coax (8 arm, each with a coax setup, totaling 16 motors), given that pixhawk 4 mini and similar only have 8 motor outputs?

Would it work to treat each coax arm as one motor, and split the esc signal to the 2 motors? Or is the yaw authority not enough? (coax still has net torque, though less than half of 2 motors spinning the same direction)

To do it correctly you should add support for 16 motors in a lua script that confires the motor mixer outputs. There is a lua script example on how to do it. And you could use something like FETtec escs to controll all motors with a single wire. But it only supports 12 right now, so you need to expad that as well.

sounds like with pixhawk 4 mini, the only possible way is to control 2 motors with 1 esc. What exactly is wrong with this approach?

could the pixhawk 5, with 8 fmu pwm and 8 io pwm, be able to control 16 motors?

Is there even support for more than 12 motors (dodecahexa) even with a custom motor mixer?

@dkemxr AFAIK up-to 16 is already supported in the lua mixer.

ESC_Telemetry is limited to 12 and that needs mavlink changes to raise to 16 motors, accompanied by ardupilot changes to support the new mavlink message. But once that is done, it must work fine.

@lordvon The reality is that you have 16 motors. The octas do not use 2*4 configurations, they use 8 independent motors. So that once one fails, it can compensate accordingly, if you do not have that … well good luck if one motor goes out!! Two others will compensate causing more side effects than you want to deal with.

so redundancy is the issue? that seems orthogonal to the performance of the copter. and it should still compensate if one motor / esc goes out. why would it not be able to?

Yes, redundancy, reliability, safety.

It will use two motors to compensate for one motor. That can go a bit wrong. Like I said, YOU will have to deal with side effects.

you are being too vague. can you elaborate? what you are saying on its face is not convincing.

like, for example. one motor goes out. the drone spins out of control or what? how is that worse than a regular octo or hex with one motor going out?

To answer the original question, yes it would work to treat each coax arm as one motor, and split the ESC signal to the 2 motors. Treat it like a regular octo and just make sure both motors on each arm are turning the same way. Here is an example of running 8 motors from 4 outputs.

In a motor out situation that particular arrangement might not fare too well, but in your coax layout the throttle signal to the weakened arm would simply be increased and make the remaining motor work harder… I think. Assuming there is still enough throttle range for the remaining motor to cover for the missing one I don’t think you’d notice much behavior change, but it would sound quite different and hopefully alert you to the problem.

1 Like

Very nice, thanks for backing that up with a full model and flight demo. Although, my question has a component that is slightly different: counter-rotating props in coax formation. So your demo answers well the question “will splitting ESC work”, but still uncertain is if in the case of 1 motor out how well does it still control (e.g. top or bottom motor going out will adversely affect yaw). Though, I am confident that it will still work, as my guess is that it wouldnt be worse than the whole coax pair going out.

??? The shared-signal motors cannot be counter-rotating. In a multirotor yaw moment is created by making the CW props spin faster than the CCW props, or vice versa. If each pair of counter-rotating motors shared the same throttle signal you would have no yaw control whatsoever. Potential motor-out events would be the least of your worries :slight_smile:

ah, I forgot to mention that the motors can be tilted about 5 deg for negligible loss. so tilting would be employed. Plus, although they are counter-rotating, there is a power difference between the top and bottom rotors (spinning at same rpm) and there would be a net torque still (though probably not sufficient alone).

I feel like this extra info would have been useful as part of the original post. What you’re describing should be possible in theory, but I think it would be an absolute nightmare to set up and tune, and for what benefit I can’t really tell. Is there a reason to prefer counter-rotating? You could stagger the props by half a diameter if you don’t like having the lower one moving with the already spinning propwash from the upper one.

1 Like

no reason in particular to do counter-rotation; just need to control 16 motors with only 8 ports.

yeah staggering is a good idea. may come with vibration and noise problems though. will need to test it out.

i actually hadnt thought of staggering by prop radius, and i think that is a really good idea. thanks for bringing it up. seems like there would be 2 overlap areas on each lower prop; 1 with adverse swirl and 1 opposite. on the other hand, you will have a lot more non-overlapping area, relative to coax. my guess is this should be more efficient than coax.

however sound, vibration, and/or control might be issues. I am going to build a model to test this out. do you happen to have similar models / videos of such?

No, but this might be interesting

how many do you think would be the maximum number of ESCs you could connect in parallel to 1 motor output channel?