Hi there, I had a thought about a potential way to implement VTOL in arducopter and I thought I'd open it for discussion so you guys can tell me how off base I am.
Some background just in case: I'm talking about aircraft like these, a flying wing with a multirotor setup so it can fly like an airplane or hover like a helicopter. Unlike a tiltrotor, there are no moving parts besides the motors. I like the simplicity in that. I've been wanting to make one for a long time, but I am the furthest thing from a coder and can't code in support myself.
So here's my proposal: make forward flight a modifier like simple and super simple mode. Flip channel 7 or 8, and now your stabilize is stabilize forward flight. Or your auto mode now is auto with forward flight. Basically any mode except loiter (and even that could be made forward flight and circling like a plane, but I prefer hovering.)
The change is mostly a matter of changing what the copter thinks is "up" and how it steers.
Pitch: unchanged. Except now stab should aim for keeping the craft at 90 degrees form vertical. It should keep it horizontal like a plane. Motors 3 and 1 still speed up to pitch up, and motors 2 and 4 still speed up to pitch down.
Roll: roll is now achieved via conservation of momentum: the way yaw used to be for a copter. To roll right, motors 3 and 4 speed up.
Yaw: yaw is now achieved the way roll used to be for a copter. To yaw left, motors 1 and 4 speed up.
Throttle: no longer tied to altitude. Now it controls forward speed, like on an airplane. This is a bit trickier.
Altitude: it is no longer controlled by throttle. It is now tied to pitch. To gain altitude, the craft needs to pitch up like a plane.
What does this mean for flight modes?
Stabilize: the craft now stabilizes to a horizontal forward flying position instead of vertical, nothing else changes. This one is low hanging fruit.
Alt hold: Like stabilize, but now the craft's pitch is needed to control altitude. Also: the desired altitude should no longer be tied to the throttle stick. For a copter, the putting the throttle stick up sets a desired climb rate. Now, that function should be assigned to the pitch stick.
Loiter: could go two ways. Either it stays as a hover behavior like the copter, or it circles like a plane.
Auto: Not changed that much. Alt hold works as described above. Target velocity is now set via throttling. Keeping yaw facing the next waypoint is now mandatory. Also you can't stop because you're a plane.
I suppose there could be some kind of mixing based on velocity. Like, at low velocity it behaved like a copter, and at high velocity it behaves like a plane. But that sounds hard.
Well I guess those are my thoughts. I'd like to see who else is interested in VTOL support. And hear from devs about how hard it is. I think VTOL craft look really fun, and easier to use than normal planes.