Making a "octoplane" octocopter + plane VTOL based on standard_vtol in SITL_GAZEBO

Hi! How it is possible to configure something like a standard_vtol to operate with 8 (4x4 coaxial) propellers + 1 pusher?
I tried as follows in gazebo simulator.

Adding one layer of 4 propellers and trying to control with 2 mixer files. One is standard VTOL controlling 4 upper layer of motors and pusher with aerodynamic surfaces. And one 4x for lower layer of propellers. I used mixer append command to add one more mixer file. With setup like this transition only occurs for upper layer of motors leaving bottom part operating during plane mode thus preventing from full transition leading to transition timed out.

Different approach I tried is to combine 8c geometry (substituting 4x in mixer file) with pusher and aerodynamics surfaces as presented in standard_vtol_sitl.main.mix. I did rearranged motors order in SDF file according to 8c configuration. But this setup does no fly at all. It looks like it turns control channels in improper order.

Where the logic for VTOL transition and operation is described? How to make it work correctly with 8 octocopter coaxial motors? To turn all of them on and off during transition?

So I found VT_MOT_COUNT parameter that seems like responsible for how many motors are used in mc mode. I set it to 8. Still no capable of flying.

If I substitute mixer file with coaxial octocoper (8c) it flies ok only in mc mode.

If I substitute R: 4x 10000 10000 10000 0 with R: 8c 10000 10000 10000 0 in standard_vtol sitl_gazebo model init script it can’t fly even in mc mode.

Any suggestions where to look for?

I am trying to implement the same concept, having the standard vtol but with 8 motors. But I could not get it to work so far.
I can fly with the drone while the MAV_TYPE is defined as the octo-copter but once I change it to the VTOL reserved mav_type it cannot fly.

Also, I dont understand why we have to combine two mixer together, why we cannot use only one mixer ? can you possibly explain more ?


If you are talking about simulator there is a hardcoded restriction on 4 MC motors + 1 pusher. If you have more than 4 MC motors than control signals would be applied incorrectly and model will not fly.

This PR supposed to deal with issue. Bit it is not merged. And not sure it works.

My quick fix is here. But it is a hack not a solution. And it works only for 1 push motor.

As for real RC models with 8 MC motors:
In my case I have MC motors working over UAVCAN and other motors/servos via PWM. So I have to use 2 mixers. And there are some issues with having more than 8 motors on a UAVCAN due to mixer groups size restrictions. But that’s a different story.

As for PWM motors most of pixhawks has at most 8 of PWM signals on MAIN and AUX. So you still have to split your mixer file on main and aux parts.

Thank you for your response
But in my case, the configuration is a bit different so I don’t have any pusher motor while my flipping the whole setup I will go for the fixed-wing flight mode.
So, the whole setup of mine is 8 motors + 1 rudder + 1 elevator.

So as long as I got it from your message I still, need to break the mixer. Is that right?

Does your fix is working with this configuration too?


Things depend on hardware you are using. Most pixhawks have 8 PWM on MAIN output and 6 or 8 on AUX output. So you have to use 2 mixers. Multicopter with 8 motors on MAIN mixer and 2 motors on AUX mixer.

You do not have to deal with any fixes in that case. This should work out of the box.

I am planning on doing something similar to the project you described above.
8 propellers for VTOL, 1 pusher, ability to transition between VTOL and plane mode.
As I will not implement more than one push/pull motor, your proposed quick fix should do the trick for me, am I right?

Were you able to fix your problems and get it to work in the end or were there more problems you had to deal with?
Best regards!