Can NAVIO+ and RPi run Arducopter and Arduplane simultaneously?

Hey all. Im working on a Multirotor/Fixed wing hybrid, and would really like to be able to run both arduplane and arducopter on the same board, allowing me to switch which “Autopilot” has control of the machine. I am unfamiliar with the capabilities and limitations of both Navio and RPi, but from what Ive gathered reading on here, it might just be possible.

The alternative that I have been using is two separate APMs with a bridge between them allowing me to remotely select which inputs(from the APMs) go on as outputs(controlling the actual machine).

So. 1) Is that possible? 2) Does anyone here know a better solution? 3) what would it take to do this?

Thanks in advance!


there is a VTOL firmware for the PX4/Pixhawk:

I can not say much about running two variations of APM at the same time, but I would expect problems with accessing the SPI/i2c devices. The APM that is startet first uses them and keeps the second APM out.
I also would say there might be problems with latency.
It might be easier to use another FC for the low level stabilty control and sending navigation input to it from the Navio. A KK2.x board with openaerovtol for example.


Sebastian is absolutely right, second APM process won’t get access to sensors.
The best way would be to merge ArduPlane and ArduCopter in one code with a software switch between the flight engines, but that would require a lot of heavy coding.

Thanks for the replies guys! I have checked out the VTOL software, but I dont think it would do very well handling what I need it to. What sensors would there be issues with? (just for my understanding). In a perfect world I would combine the aspects of each firmware into my own custom firmware, but like you said, it would be very intense coding. And while I have done some Arduino stuff, that level of programming is waaaay over my head, Im more of a concept-build-fly kind of guy…

Sebastian, how would one go about implementing the “Upper/Lower level” control systems? Would it be feasible to do? Secondly, how would I connect them and what modifications would be necessary? Is it as simple as running Ardu(copter)plane on a pixhawk and plugging the pixhawk outputs into the KK2 inputs? ( I dont think it would, but this is all new to me).

Thanks again for the help!

The Navios sensors are connected via SPI, when the APM executable is started, it uses the sensors exclusivly and no other running program can access them. So there would be an issue with all sensors.
Why do you think the pixhawks VTOL firmware would not be able to fly your design?
I know of the TBS Caipi dualcopter tailsitter, a quadcopter tailsitter (VertiKUL) from the netherlands and I think a design named wingcopter (quad tilt-prop) is flying with this firmware.
It is hard to imagine it can not fly your design, too.
I once used two flightcontrollers to fly a tailsitter (before openaerovtol).
I switched one of them to manual/passthrough, while the other controlled the aircraft and vice versa.
It flew without any navigation, just stabilizing and controlling it.
The KK2.x with openaerovtol provides two flightmodes, which make it possible to use two complete seperate sets of settings.
I would load Arduplane onto the pixhawk and set it up as a conventional plane, so the outputs provide throttle, aileron, elevator and rudder.
Those outputs go to the inputs of the KK2.0.
Switching the flighmodes is a little bit tricky. You will need 6 positions for the pixhawk and 3 positions for the KK2.0 with openaerovtol. Switching the pixhawk into manual would switch the KK2.0 into hover mode.
I would solve this with the programming options of my Taranis transmitter.
What I described above would mean you will have to start/land the aircraft manually, autonomous flight would only be possible in forward flight.