Some people have asked me about adding quadplane support for APM:Plane for OBC2016. I've started on the code for that, and last night got it to hover as a quad and smoothly transition to plane mode.
For anyone wanting to follow along with development, the tree I'm using is here:
There is a lot more work to go, but that should give you an idea of the rough structure I'm aiming for.
It's not at the stage of testing in real aircraft yet, though I hope it will be soon. For now I think virtual aircraft are the best bet.
Hey Tridge this is awesome! This has been on my wish list for some time now as you well know! ;-)
Will try, test, report and support as best as I can.
Already have two pusher quadplane airframes sitting here ready to go with successful flights in that config and am willing to put some serious flight hours in over Christmas holidays to make progress.
Sorry for re-posting this if you already have it, but I think it didn't post properly last time as I can't find it in my emails from this thread. I have added some new comments in italic at the end to avoid re-reading the whole thing. I would welcome your feedback if you have the time. Sorry for the lengthy description but I tried to add some detail on how I think it could work.
Thinking some more about this overnight I had some potential ideas regarding the control of the quadplane. With this new breed also comes different options for control and even flight.
Firstly, without being that familiar with the control systems used in the Ardupilot code, I was thinking that instead of "only" managing a transition from quad mode to plane mode and only being able to fly in one or the other, that it might be possible to more dynamically manage the thrust from the quad motors in either mode. In forward flight this could be used to avoid the plane from stalling, within the flight capabilities of the aircraft, and regardless of the control inputs of the pilot.
For example if the aircraft is flying in plane mode then a excessive pitch up command should not result in the aircraft simply stalling aerodynamically, but rather should invoke the quad motors to create lift to maintain attitude and altitude once the aircraft has slowed below wing stall. Following on from this would mean that normal racing quads could benefit from installing a pusher prop, and add some small wing surfaces or body for lift, to increase forward velocity, range, endurance and battery performance. The idea would be that such a racing quadplane could be highly maneuverable and efficient in forward flight using little energy from the plane control surfaces and in the aggressive corners could substitute the lack in required lift to make tight turns with the quad motors.
Essentially it could be a mix parameter that can be defined by the user to allow them to mix in control of either method of control surfaces, plane or quad, pending on the g-forces, attitude and velocity and the commanded input along with some setpoints to determine airframe capabilities. I'm also thinking that such settings could be helpful in tuning custom built quadplane configurations and their tuning with a higher bias towards quad control will ensure a certain level of flight capability even if the plane mode is dysfunctional or damaged etc.
Secondly it would be good to get a handle on how to configure the autopilot and RC for flying a VTOL. From my experience so far I have configured the pusher prop to be controlled purely manually via one of the Taranis side sliders. This allowed me to use the normal stick setup, including the normal throttle stick for quad throttle control. But the problem is that once converted to forward flight the stick movements don't correspond with the movement of the aircraft in quad mode. For example pitch forward on the quad is pitch down on the plane, so the pitch flight controls are out by 90degrees and the quad throttle stick becomes useless.
In the hours I've spent so far flying my pusher hex copter I've noticed that maintaining control is significantly different than flying with a quad or plane. It's not difficult per se, especially if one has some RC car drifting skilz (!), but it is the equivalent of driving an airbourne hovercraft in altitude hold mode. I suppose in fact that is exactly what it is! ;-)
Aerodynamically a quad plane only really has one method of efficient horizontal flight, unlike a quads four, and that is by using the pusher prop and wings. Using the quad to pitch forwards for forward flight produces excessive aerodynamic downforce loads as the wings are pitched down. This means that by default only very limited pitch or roll control should be able to be commanded and any command for forward flight should be translated into engaging the pusher motor instead. Further I think some roll command should be translated into yaw to give the required change in direction whilst in hover, upon which with increasing forwards momentum quad yaw would be faded out (similar to feeding in some rudder with the ailerons). I'm thinking a v-tail quad would yield the best yaw response for a quadplane to maintain directional stability.
This also benefits flying a quadplane in quad mode in windy conditions, by turning nose into the wind and using the pusher motor to maintain lateral position instead of quad roll/pitch. A method of "wind feathering" in stronger winds would potentially mean that the quadplane could use the lift generated by it's wings to "hybrid hover" over a certain location like a bird of prey. Maybe two separated airspeed sensors could be used to accomplish real time control and assist to maintain correct wind heading.
Flying like this means that the quad will need to predominately fly level and directional changes will require using mostly the rudder stick and once orientated correctly forward thrust can be applied using the pusher prop to move horizontally. A quad plane with large wing areas does NOT fly well in all directions at high angles! It simply can't cope working against a regressive feedback loop lift created by the wings. My point is that it simply does not fly like a "quad" could in quad mode, but it does fly like a plane in plane mode.
With wings the directional stability in forward flight is even more pronounced and it becomes more like flying an aircraft. Typically the "transition" is dictated by the point where plane airfoil lift is sufficient to maintain altitude. This leaves considerable scope to optimise the aircraft lift capability, that is to say to significantly reduce the lifting wing area of the aircraft, as the requirement for a slow stall wing for takeoff and landing can be neglected by using the VTOL capabilities of the quad. A small wing can therefore be optimized to run at a higher velocity in comparison, further reducing the level of forwards thrust required to maintain flight by also allowing the pusher motor and prop to be optimized for speed/range.
There is a problem in how to control these dynamics in a intuitive way using the RC sticks. From what I can tell maybe a variation and combination of stabilize and guided modes might provide a way to amalgamate the control interface, the question remains however which sticks should do what depending on the mode the aircraft is in, and if at all it needs to be switched from one "mode" to another. I'm hopeful that there might be opportunity now in this early stage to produce a quadplane specific RC layout that incorporates all of the potential flight characteristics described here into a "quadplane mode".
Upon further reflection I think there is a way to incorporate VTOL control into a standard 4CH stick setup without the need for extra controls to handle transitions. Essentially the 4 CH sticks suffice to command movement in any 3 dimensions, so if one can integrate the required modes and transitions into similar movements the result should be one seamless control method.
What I propose is to use a "Quadplane mode" in addition to stabilise etc. In the VTOL mode, upon takeoff, the quadplane would hover in place at an altitude (altitude hold) at say half stick throttle (throttle controls altitude). Once the airframe is orientated in the chosen direction the pilot then pushes the pitch stick forwards which pitches the quadplane forward slightly in the beginning but then predominately uses pusher prop throttle to increase forward velocity until transition to plane filght where throttle stick controls velocity instead. Note that throttle/yaw/roll sticks retain the exact same control regardless of flight mode, apart from some yaw/roll/throttle mixing of the output controls.
Once the quadplane has achieved enough forward airspeed the aircraft "transitions" by proportionally reducing the attitude controlled by the quad motors and by increasing the use of control surfaces (ailerons,rudder, elevator) until horizontal flight control is dominate. The reverse happens to transition to hover in that a reduction in airspeed results in the quad motors taking over more lift and attitude control the slower the aircraft becomes until it hovers. There is in fact NO aerodynamic wing stalling this way.
This same principal could also be used in reverse, with reverse thrust on the pusher prop, resulting in faster transitions to hover, and some limited backwards flying without needing to pitch. Which will be interesting to see! ;-)
Overall in this stick control method the transition only produces one discontinuity in flight control: as is typical in quad mode the forwards pitch in quad mode commands the aircraft to increase forward momentum using the pusher prop, BUT then changes to pitch attitude control using the elevator in plane mode.
There is one internal control output mix that needs to be incorporated, and that is to use throttle to maintain altitude in quad mode (in alt hold mode) but then in plane mode use throttle to control pusher prop thrust instead. This is of course dependent on the aircraft current airspeed and "transition" setpoint; read wing stall speed. In saying that increasing airspeed typically also increases altitude even in plane mode, so throttle response is similar in both modes although not as responsive.
I think using this RC control method would result in a seamless and fairly simple to learn control method for flight control using both manual and automatic modes of a quadplane, or any other hybrid aircraft of needing this type of control. I'm hoping to see some funny looking crazy designs that optimizes all these various features and possibilities.
In conclusion from my somewhat limited experience so far, a quadplane shouldn't be controlled like a quad in quad mode but can be controlled like a plane in plane mode and I think this will need to be addressed in how commands are translated into flight control. I hope this helps.