after looking at the code, i think vrs etc is less likely with my drone. by design, if your drone has a thrust-to-weight ratio of under 2, it may be the case that your drone will always fall if max attitude rate is commanded (not sure if “enforced” here but the assumption seems to be expressed here):
there isnt really any physics dictating that a T/W ratio of, say, 1.8 is “bad”. in practice, it may be the case, because of such limitations by design…
what if the magic constant of 0.5f is parameterized?
A way around this limitation would indeed be a prioritized rescaling of the thrust applied.
This would enter into action once the total thrust demand is maxed out and rescale the thrust level to allow maintaining for instance pitch and roll attitude while loosing yaw rate at first.
That way the constrain constant could be increased, at the expense of progressively loosing yaw and maybe then roll / pitch on demanding attitudes corrections, instead of loosing thrust.
The issue with that is that it is not commanded by the operator nor the loosing of yaw is predictable.
It would be expected to happen at specific unusual situations, but I see to scenarios when this would not be desirable :
. when the multirotor is flown in an agressive way, say for acro / fpv flights
. on poorly designed / powered multirotors where this behavior could almost always enter into action, thus rendering the debug more complex (although with the appropriate verbosity it could be written in the logs)
Sorry for jumping into the topic / if my though is stupid. Love the facetmobile !
no its not stupid, i get what you are saying. my concern was the ramifications in other parts of code that make the same assumption. and for usability (assuming it just works to change this magic constant), i think this should be user-configured to match the actual T/W of their aircraft.
I don’t remember where I saw that, I think in the quadplane docs, it is recommended to have a T/W of at least around 2 in any case.
That empirical rule might be why this behavior is hard-coded in the attitude controller, maybe because at our scale with our crafts a T/W of much less than 2 is generally not working ?
Yes, the proprotors of the V-22 work exactly like a helicopter. It maintains a constant speed and collective/cyclic pitch are used to impart control forces/moments on the aircraft. The twist on the blades are designed to be more like a propeller with 45 deg of twist from root to tip. So aside from not using RPM to produce thrust. It is pretty close to a fixed pitch multirotor.
There is a big difference between VRS and an overweight/underpowered helicopter. VRS can happen to a helicopter at any weight. You just need to fly at the right conditions (forward/vertical speed combination conducive to VRS). Technically VRS is not really rotor stall. A helicopter that is underpowered is where you may hear the pilot say that they settled with power. I’ve done this with one of my RC heli’s. Approaching along a shallow glideslope to arrive at a hover, a large amount of collective is required to arrest the descent rate and maintain altitude. If you look at the power required for a helicopter (and this is even true for a multirotor but maybe not as pronounced), the power required in a hover is much higher than that to translate at a slow forward speed. So on the approach you are going from a low power required as you approach the hover point to a higher power required to hover at that point. and add to that the fact that you are arrest rate of descent as well. So this creates this settling with power situation. Completely different from VRS.
I guess you could look at it as you describe but in the case of VRS the second situation where you are on the edge of fully developed VRS can quickly become the first by changing the flight condition just slightly. Just not sure of the value of looking at it that way.