Hi Greg (Sorry I’m replying to myself which I can’t edit for some reason)
So it depends on the conditions a bit as well and if there’s wind.
In little wind for takeoff it’s QLoiter > FBWA and back to quad with QHover first then QLoiter. The reason for that is flying fixed wing at 100kmh gives the aircraft a massive amount of inertia that Qloiter will try to brake. This is not necessary at all and is likely to result in the propulsion system failing prematurely. So switching to QHover for a few seconds, depending on your speed, slows it down before it position holds with Qloiter, which is much kinder to the airframe.
In wind only the method changes, in that we use QHover or QStabilise to takeoff or land depending on how extreme the conditions are, then once a meter or two above the ground we switch to QLoiter. The reason for this is that QHover can be a bit erratic in keeping altitude whilst in ground effect, and QLoiter trying to position hold near the ground leads to the airframe coming in contact with the ground in a uncontrolled way. There should really be a smart “Takeoff” and “Landing” mode that takes care of these common problems as well. (Another thing I should finally do something about).
So for aircraft testing purposes, like for a maiden, we like to add one control system at time. So always start in QStabilise for testing attitude control, then if everything is good try QHover at altitude to test altitude control, then QLoiter to test navigation control. This also means you should be able to recover back to a former state safely should there be an issue. (Baro blocked or in prop wash, GPS hasn’t got enough Satellites after it leaves the ground etc.) A pre-flight is strongly recommended of course
Maybe we should start a discussion thread to talk about QP/VTOL control alternatives instead of filling this thread with it?
Once we’ve figured it out we can then point to it for a feature request that way. BTW I’m not saying we should get rid of the current modes (yet!) rather that a VTOL specific FBW should be added, especially for new users etc. The RC itself has 4 sticks that can be used to place the aircraft in 3D space, even if only one axis is controlled by one stick at a time, instead of changing them around whilst in flight.
The critical part to “design out” of the user control, is to seamlessly automate throttle control throughout all modes of operation. Throttle control of a quad can only be achieved by the FC to maintain attitude control anyway, so adding FBWB from foward flight, seems like a logical addition for VTOLs. There would be no roll, pitch, throttle and altitude coupling in user control this way.
Primarily the control method I envisage would essentially be a FBWQ mode, where the pilot only commands the rate at which the aircraft accelerates in a certain direction using the RC sticks, and otherwise the aircraft maintains the previous state if there is no user input. For RC control this would be similar to flying a quad in qloiter, where:
RC Pitch stick controls acceleration in direction of the aircraft longitudinal axis, so forwards and backwards. Centering the stick in hover brings the craft to a stop and QLoiter. If in forward winged flight, centering the stick will maintain the current forward airspeed, which will always be safely above the wing stall speed and this airspeed will be maintained regardless of the other RC stick inputs (climb/decent/roll/yaw), until the user actively decreases velocity with the pitch stick so that it transitions to hover flight. This RC “Pitch” stick never affects aircraft altitude however, and the aircraft will always maintain altitude determined by point 3. below.
RC Roll stick controls acceleration in direction of the lateral axis, being sideways left and right. Centering the stick brings the aircraft back to level flight. This RC “Roll” stick never affects aircraft altitude however, and the aircraft will always maintain altitude determined by point 3. below.
RC Throttle stick controls acceleration in the direction of the vertical axis or altitude. Centering the stick holds the current altitude, and maintains any required throttle, be it for QP hover or forward flight. This is dictated by the current aircraft flight state instead, where the airspeed determines the source of lift and can vary the throttle settings seamlessly between them to maintain the desired altitude or climb/descent rate. It does no longer vary the rate of turn using the Roll stick or the forward backward speed of the RC Pitch stick like when flying a quad.
RC Yaw stick controls the orientation around the Yaw axis, so rotating the aircraft heading left or right. Centering the stick holds the current aircraft heading. Once again this does not change altitude, however it can be mixed in with roll control in forward winged flight, so that the aircraft uses both rudder and aileron to turn as determined by the aircraft flight state, but without necessitating user interaction.
With flight states, being either in hover or forward flight mode, this would be (is) determined by the transition airspeeds between hover and winged flight. The RC user control inputs don’t change very much with flight state, however the FC control outputs change with flight state so it uses the most effective and efficient method for aircraft flight control and managing the appropriate lift to carry out a steady aircraft state.
The beauty of this layout is that the system is not limited to just QP VTOLs but can also be used to easily fly fixed wing and is virtually identical to what people are used to with other brands of quad like DJI, except the addition of the forward flight control using the pitch stick instead. This includes belly or tailsitters as well, and can be used in ROV’s or rovers alike. (ROV could actually do with an extra 5th axis btw)
This technique looks similar to what we do in copter testing as well. My interest is more in the behavior of QLoiter. When using the pitch stick, does it use the forward flight motor to move forward? Or only use the forward flight motor to maintain position?
The bit that I find problematic in this control scheme is the pitch stick handling. It seems you want the pitch stick to control speed, but also to behave differently depending on what the speed is. That seems very strange to me.
do you really mean acceleration? Or do you mean velocity? Or attitude?
If you really mean acceleration, then you mean that holding half-roll input would hold constant acceleration? That would mean the velocity would increase to infinity, which doesn’t make sense.
do you mean it controls yaw rate? Or do you really mean orientation as an angle in degrees?
With the pitch stick control, it is typical that centering the stick on a multicopter brings the aircraft to a halt. I think it also makes sense that a VTOL in hover is controlled the same way, as typically on a VTOL the hover is used for navigation in areas without much room to maneuver, or to land and takeoff. Forward flight on the other hand is a bit different in that in order to stay aloft on the wings it requires a minimum forward airspeed to stay in that flight mode.
One could have the same stick center function, that the aircraft transitions back to hover and comes to a stop, but this is not really helpful I believe, seeing with forward flight there is an expectation to fly forwards somewhere when it is already moving like that. For example when flying a normal aircraft one typically sets the throttle to cruise airspeed and leaves it there for most of the flight. In FBWB it will maintain sufficient throttle to climb or descend. It also is difficult to hold the pitch stick in the correct position all the time for exact cruise airspeed, and after a while it’s likely to become somewhat annoying to do so for forward flight. One could maybe have an option to either throttle hold or transition to a halt when the pitch stick is released.
With the RC Roll stick I actually meant velocity/attitude. Sorry, I was lazy and copy pasted instead of thinking properly about what I wrote. So moving the stick sideways would result in the aircraft banking and either holding that sideways velocity in hover mode or holding that roll angle in forward winged flight mode.
(EDIT: In this case typical flight control would be to use yaw for heading, throttle for altitude and pitch stick to adjust forward velocity - roll in forward flight is essentially neglected in that yaw and roll would do the same thing to change course. This is similar to how commercial/GA autopilots work, where airspeed, heading and altitude are controlled by the pilot/user and the FC does the rest and modulates rudder, aileron and elevator outputs accordingly)
With the Yaw stick I think the best way is to maintain a route course for this type of auto mode. So moving the stick left or right changes the course (regardless of crosswind effects or flight mode etc) and the amount of stick input changes the yaw rate until the desired user course is achieved.
For the sake of discussions, what type of VTOL aircraft are you imagining? A traditional quadplane? A tiltrotor?
this still suffers from a vague definition of when it is in fwd flight and when in hover. If the plane is 500m away so you can’t easily make out its speed, the pilot won’t know what mid-stick will do. What if the aircraft gets hit by a gust and slows down a bit in fwd flight? Will mid stick suddenly mean hold zero speed and the plane will come to a halt?
ok, but which one do you mean? Velocity != attitude
so its velocity when slow and attitude when fast?
so you mean yaw rate with heading lock, like in CRUISE?
It really sounds like you are trying very hard to make two modes into one, but why? If there are really two flight conditions, then why not make them two modes? It sounds like it matches QLOITER and CRUISE pretty well.
If I follow (and I may not), you are basically asking for Pitch to be a forward rate controller, Roll to be a lateral attitude controller, Yaw to be a rate controller, and Throttle to be an altitude rate controller. Transition then isn’t commanded as such by the pilot, but simply occurs as the demanded forward velocity shifts above/below stall / QAssist speed? Is that close?
From a user perspective, if I were to pickup a RC control for the first time today, I wouldn’t be burdened by heritage of how things used to be controlled or why. As a user I’d be interested in making the aircraft move as I would desire in a intuitive and easy to understand way. I’m not saying this way is the best, only that I would like to see a RC control method that can accommodate various platforms, especially the emerging ones, that don’t yet have dedicated control methods.
There’s enough dimensions on the RC sticks to achieve that. This is not a “flight control system” as so much a “user input” profile. In the end the user doesn’t care if it changes course because of yaw induced roll, or aileron bank and yank (either of which effect altitude and throttle to maintain airspeed as well). The idea was to improve the user experience, not to create unnecessary or complicated RC modes.
Ideally the user interface would be something that they can operate to create the desired effect with nearly no knowledge of the platform, apart from that quad motors make it hover when it’s slow, and wings make enough lift in forward flight. I think as a “emerging technology” there’s an opportunity to make a standardised interface that newcomers can learn, without having to jump through the hurdles of learning the old ones. A classic example would be to use the 6 DoF 3D connexion type controller as a user interface, but I think for field use there should be a better way to us the RC sticks for control as well. Most BT/wifi joysticks, come with centered throttle sticks as well, and the Parrot Disco uses the same type of throttle control in flight.
As for the vehicle type I think any vehicle could be controlled in this type of method. But VTOLs, like QP or tail/belly sitters would benefit most. There’s also an opportunity to add some airspeed specific behaviour in this type of control. For example if in fwd flight the aircraft could use reverse thrust to slow down, or use the forward motor for forward and reverse flight in hover.
Being a “Auto mode” the aircraft flight state (like forward/hover) should only change if the user’s commands to do so regardless of the aircraft conditions. This would mean that a gust of air or crosswind should not affect the user’s intended flight path or command. In this case the QP aircraft at 500m would not change from it’s current flight mode (hover or forward) and airspeed would dictate what it’s current flight mode is. Should it be in forward flight mode it would maintain forward flight by ensuring the minimum forward flight airspeed is kept even when the pitch stick is centered.
Yes. So velocity in hover and attitude in forward winged flight.
It should really be yaw rate with course lock not a compass heading lock. The user is largely oblivious to the flight conditions of the aircraft, and is navigating visually from the earth frame, so from the user’s perspective it’s important that the aircraft proceed along the desired course regardless of if the aircraft is being blown of course by a crosswind etc. which requires the heading to be adjusted.
I hope what I’ve written makes sense.
(And sorry Greg for taking up the build thread space!)
That is nearly there I think. From what I understand atm, the Pitch would be a forward and reverse rate controller (using reverse thrust as well to slow down from forward flight, and some limited reversing in hover maybe), the Roll would be a lateral velocity controller in hover and attitude in fwd flight, Yaw a rate controller that maintains course, and Throttle to be an Altitude rate controller (which could also be terrain following).
You’re correct in that the idea is to remove the transition from the user interface of this mode and leave that up to the flight controlled to translate according to the flight conditions and desired user input.
I finished my mini Talon just enough to try an initial hover test in my backyard and I was very pleased with the results. I only changed the Q_A_RAT_PIT_P and Q_A_RAT_RLL_P parameters from their defaults of 0.25 to 0.20 and the MT hovered nicely. I still need to add a security anchor to the rear bar where it attaches to the body (see front bar for final ply cover painted white) and anchor the front FPV pod better. I used a rubber-band up front for my initial test.
The motors and ESCs felt just warm after a several minute hover. In QStabilize mode, I have nice control in all directions. These will get tested further when I have more room to check the QHover and QLoiter modes. I’m using a 4s 6AH Turnigy Nano-Tech pack. It was a nice start!
Wow Greg. Looks good!
She looks very composed and ready for action!
The motor tilt gives a good attitude and stance.
Remember for forward flight it needs to stay over 16 m/s, ideally around 19-20, and a bit more in wind. How much is the MTOW? 2kg ish?
Can’t wait to see in flight videos!
Greg, what weight/size is the forward flight motor in your MT? I use a LDPower 2814 (other brands would call it 3534 I think) and it weighs 102g. I tried to balance my MT with a single 4000mAh 4s and it was tailheavy. With two of the lipos, I think I got the CoG right, but it had a strong urge to nosedive during todays testflight and elevator response was weak.
I will try to put the CoG a bit back for the next flight.
Thanks for the tip on the motor tilt. I just eyeballed about 5 degrees so it seems to be ok. The mount allows me to change it easily. My MT weighs 1.93kg (4.25lbs) and the 4s 6AH battery weighs 0.624kg (1.375lbs). I just happened to have the battery and it seems to balance around 55mm when placed fully forward.
The first post above has links to all my components. I’m using a Cobra 28/14/16 1050kv motor like the Mozzie.
I checked the CoG and it is already further back than the manual says. I then checked nav_pitch in FBWA in MissionPlanner and it read -2.0 with sticks neutral. After recalibrating RC, it is at 0 again. I think, this explains why the MT tried to fly itself into the ground.
Sorry for not getting back sooner, but we’ve started an internal project around the RC control method today instead of a ad-hoc approach, to iron out some kinks within our group before re-presenting the method for comment and development. We’re quietly confident there’s some good solutions in what is being proposed, and have taken your comments under advice to guide the solution.
Hopefully we’ll be able to document and illustrate something more concrete in the next few weeks, which we will then post in it’s own thread in the developers discuss and send you a link, and link to it here as well for reference.
Thanks for the input.
(P.S. I was unaware that guided had course lock - good to know, I’ll have to try it )
Greg it’s 18 on ours, which is fairly high, but we have 2.5kg and stall around 16. I can fly pretty silly and nothing of consequence happens.
I’d start with 18 until everything is tuned and settled in to be safe. Then provided your arms and quad propulsion can deal with it, do some high altitude stall tests to find out your particular stall speed. Have QHOVER ready, if possible on it’s own switch as the default recovery mode. If you can’t pull out of the stall (Nose down throttle up) with the wing, then flick it to QHOVER and try again.