I have watched a most interesting video regarding the subject above and other interesting development.
A very impressive presentation from Bill Geyer there to see.
Please click on this link!
I have watched a most interesting video regarding the subject above and other interesting development.
@FRED_GOEDDERT thanks for the kind words. Just to manage expectations, implementing autotune for heli’s will not be something that will be done all that quickly. Maybe by this time next year, it could make it into master. But I have been thinking about it.
in the early Heli days for me ( APM FC from 3DR ) I lost 3 Helis ( TREX 450 two of them and a RJX500 ) over that time because of my poor tuning.
I learned flying Helies with the ALIGN 3GX Flybarless System. ( still have two of them in a box )
About 5 years ago I got a Quad-copter given to me. Replacing the guts I put in a Pixracer. At the end of altering I did the first time in my live a Auto Tune. The Quad copter was perfectly trimmed after few tuning runs. I also build a perfectly flying Hexa copter with AUTOTUNE recently.
I was reading that time RC Helicopters with Arducopter FW cannot be Auto tuned.
And now I have seen you talking in that video just the opposite. Heli Autotune can be done but not easy to implement.
BTW Since I fly the bigger Heli class ( 600 and 700 ) and since FW 3.3 and much better INFO in the WIKI for about 2 years I had not a single crash. Only one incident still on the ground during D-tuning.
Thanks again for all your work Bill.
Extremely hard to implement. The rotor system has two distinct stages of dynamics. One where it simply moves air mass equal to the mass of the machine in order to hover. The other where it flies like a fixed-wing.
Technically the attitude controller has to be tuned for the latter and manual tuning allows pilot bailout when the autopilot loses control in high speed cruise so it can be tweaked and try it again, and repeat until it works.
Most people think of tuning in hover, but that is really only the first stage if you want a helicopter that can cruise at 60kts in Auto. If the helicopter will be limited to multi-rotor performance, then the hover tuning is usually fine.
The attitude controller really has no implementation for the two distinct stages in rotor dynamic, except for I-gain handling. And it also does not handle articulated heads. All larger helicopters will have articulated heads even if it is a rigid-head design simply due to the length of the blades and blade flex in flight. Which can result in 6-8 deg of TPP change even with a rigid head.
So very hard to implement outside of the multi-rotor hover-style AutoTune. In fact, darn near impossible. They have never achieved it in FBW manned helicopters - they are incrementally tested at higher and higher speeds like I do with mine to identify the instability point, and then adjust for it. Occasionally a manned one will go out of control and crash during this testing, despite the best computer models. Sikorsky (now owned by Lockheed-Martin) crashed a S-97 prototype during this process that grounded the whole project for a year. You can expect the same thing with any sort of AutoTune. It is not even 100% successful in multicopters if the aircraft has flexible arms or something will cause an instability in high-speed flight.
Helicopters, by their very nature, have a flexible rotary wing.
No doubt that it will not be easy. I think I’ve learned enough to have the autotune conduct the basic process for the user. And it would be more accurate than what we are doing now. I will have to design it so that it recognizes instabilities and can back out before it loses control. This will have to be more of a frequency based tuning process for the P and D gains. Looking at gain changes between input and corresponding output.
Yes, the tuning completed in a hover with have to be checked and I may have to have an autotune for forward flight as well or at least a subset that checks the stability of the aircraft at higher speeds. The stability of the aircraft definitely changes as you get to higher speeds.
This is what I’m trying to fix with the shaping algorithms and accounting for time delay. So that it can handle softer rotor systems.
I don’t know why they would have an autotune for manned helicopters. It is not worth the time and effort. It would take an exorbitant amount of time to qualify software that would actively change gains in flight with enough reliability and safety for having humans in the aircraft. Doesn’t make sense.
Not sure what your point is here. The S-97 crash in 2017 was caused by an air/ground transition logic, not tuning the control system. I’m not sure what the computer model has to do with that. V-22 is a FBW aircraft and certainly had it’s share of accidents most due to factors not related to the tuning of the FCS or the computer model. In one case, the unfortunate crash in marana, AZ was due to the pilot getting to slow and got into Vortex Ring State, something they never intended the aircraft to fly into but is common for all rotorcraft. The recent crash of the Bell 525 occurred mainly because they got outside of the designed flight envelope (rotor speed too slow) and the rotor, aircraft fuselage and pilot coupled together driving the rotor unstable. Computer models are great because they can be used to design the helicopter for a large portion of the flight envelope but they have their limitations and the rest has to be done through flight test.
The challenging part of designing an autotune for tradheli is ensuring it can handle the range of helicopter sizes that are flown with ardupilot. No autotune will be fool proof. There are a lot of factors that can affect its ability to tune the aircraft well. The goal is to get users most of the way there in tuning their aircraft. Identify the proper VFF gain. Take some of the guess work out of determining P and D gains without risking losing the aircraft due to an instability. Another challenge will be the sensitivity of the tune to changes the user makes in weight, cg, rotor speed and I’m sure there are others. But this may be something that users need to understand about their helicopters so that if they want a tight tune, they may have to keep these things fairly constant.
I’m pretty confident it is possible to some degree.
The final NTSB report said it was a flaw in the control law switching that the computer model failed to identify. As a result the control input for the pilot was amplified something like 2.5x, which caused the helicopter to go into a severe roll oscillation. Even thought it is a rigid-head design the blades flexed enough to contact each other and the machine exploded.
So the point is, it was not the fault of the machine mechanically. It was the fault of the FBW system.
This is the difference between tuning a helicopter and a multirotor. A helicopter is statically stable, multirotors aren’t.
If an aircraft has an outside disturbance it will deviate from its attitude but then will immediately and without control inputs return to its original attitude. This is positive static stability. If it remains in the disturbed attitude unless corrected, it has neutral static stability. If it continues to deviate, it has negative static stability.
So with a helicopter in hover, for instance, and it is disturbed by wind. The disc will “flap” away from the gust and the helicopter will move with the gust. When the gust stops, the disk now experiences airflow from the opposite direction, since it is now moving sideways. The disk will flap back the other way and return to neutral. This does not mean the helicopter holds position all by itself, it just means it is inherently statically stable.
Any helicopter can be flown without any gyros or stabilization at all. No multirotor that I am aware can be flown without electronic stabilization. The instability you see in the helicopter is not the fault of the machine mechanically. It is the fault of the flight control/stabilization system since the machine does not need stabilization at all.
The helicopter is dynamically unstable due to pendulum effect of the fuselage. But articulated rotors even take of that in hover, and to a large extent in flight.
So when you “tune” the helicopter you are not tuning the machine itself. You are tuning the autopilot to match it. If the autopilot has a fixed model (desired rate) and that model does not match the machine (actual rate), even though you “tune” to get actual to match desired the control will not be “right” for that helicopter.
Put a pilot on that same helicopter who knows how it should handle and respond and he/she will tune the control to match it. And that “tune” will likely not match the “machine tune”.
None of my machines match what the autopilot “thinks” or what it says in the tuning wiki. They match what I think and how I know it should, and want it, to fly. That’s what makes autotune very difficult to do.
Sure there are many instances of flaws in flight control systems, but there are many successful examples of helicopters with FBW flight control systems. There are many things that FBW flight control systems can do to help the pilot and reduce their workload for many tasks. But I know that you are not a fan of fancy flight control systems and I’m happy just to disagree.
All of what you discuss regarding helicopter static stability are good points. Doesn’t mean that a flight control system couldn’t be used to improve the handling qualities of the vehicle. If helicopters were that easy to fly, then it wouldn’t take hours and hours of flight instruction and practice to learn how to fly them.
So there are many examples of how the flying qualities of a helicopter are improved by the flight control system. The unaugmented flying qualities are improved by either adding more damping or making the aircraft snappier in the response by adding lead filters or providing an attitude hold feature. In these cases you are not tuning the flight control system to the helicopter, you are modifying the helicopters response.
So let me just say that I’m not advocating that we’ll be able to take a helicopter and give it hummingbird like agility. There is definitely a limit to which the flight control system can push the aircraft. So if a user thinks that they can have the target response set to some insane rate then the autotune will not be able to get them there. Again all the work I’m doing to modify the shaping functions is to make them more realistic to how aircraft responds. The user will then need to understand their machine and set a realistic target response. If they don’t then the autotune will fail. The flight control system will then give the pilot a more predictable response and better handling qualities.
Definitely not a fan of them in airplanes. Never flown one that “got it right”.
I didn’t think they are that common in helicopters. I think the 525 was the first commercial model with FBW. And some UH-60’s have been retrofit but those are due to be retired (or least sold to civilian operators). But otherwise, as far as I know, they are just not that common. I have never seen one in person.
Of course our RC models are Fly-By-Wire with an autopilot. But I must say it was a very long time (until we fixed acro) before ArduPilot could match a good old naked flybar. Just an example of how FBW systems “don’t get it right” unless you get an engineer on the job that knows how it’s supposed to work.
FBW has been around for 30 years in airplanes. To this day it is a fight between what pilot’s think and what some engineer thinks. You have to search far and wide to find a pilot that will give a FBW system rave reviews. From the historic problems with the F-16, which was the first to have it, to the crash of Air France 447 pilots do not like FBW. They always blame it on “pilot error” but when the aircraft is impossible to fly due to poor design it must be realized by engineers that pilots learn to fly by “feel” of the aircraft and its controls and when that is disconnected it is a problem.
I guess I forgot to mention that this is what would worry me about an autotune for helicopters;
The UAV models that are typically derived from 3D applications are usually very rigid. However, with large models (that have flexible blades due to length) and/or have an articulated head there is a danger.
The rigid head model with smaller rotor can be driven to instability by rapid control input and it usually won’t hurt anything - it will just shake. De-tune it immediately and it recovers.
The articulated head model, if driven to instability by too-rapid control inputs (gains too high), will not recover once it goes unstable. For this reason I never “tune” anything larger than 700-class in hover. I do on the ground to find where the flight control drives it unstable, make a note of that and 50% of that setting is then the max. If it were in the air the blades would hit the tail boom. My 766’s have 6.25" static clearance from the blade tips to the tail boom. And yet one of them has a dent in the boom where the blades hit it from trying that (that one has a 806 rotor). It was only at ~2 ft off the ground but even after I quickly landed it it wouldn’t stop the wild instability until I cut the power. What happened is once the control started oscillating it the rotor went one way while the frame (what the control was sensing) went the other. The counter input from the control went the wrong way and made it worse. As a result the up and down flap action of the blades exceeded 12" (>6" from the plane perpendicular to the mast) and the rotor hit the boom.
Can that “safe” 50% max be detected without driving it to instability to prevent a catastrophic failure? I don’t know if it can. And I don’t know that I’d be willing to try it with a larger helicopter. My current trend in setting the rate controller is to not use any D-gain at all over 700-class and if it is bigger than 800 don’t use any P. Just I-gain. And shape the control input with the max accel and rate settings instead, with the main control input being driven by the feedforward instead of the rate PID.
Most of the tuning I do is with stiffer rotors but with my old 600 size JR Ergo I guess I wouldn’t really consider it that stiff anymore. The spindle move pretty easily within the head. That thing is every bit of 20 years old. My technique for determining the point of instability is to hover in alt hold which frees up one hand to turn the tuning knob. And I do pretty small sharp inputs to see the response. slowly increasing. If I get an oscillation that starts to build i immediately turn the tuning knob down, to zero if necessary. I’ve had other users tune larger helicopters looking for instability that way without incident.
I am pretty confident that it can be done. Essentially you are oscillating the aircraft at a constant freq up to a small roll/pitch angle (<10 deg). The frequency would be the rotor flap regressive freq for that axis. Then the P or D gain is increased until you see the output amplitude start to increase or you see the phase start to worsen. You would stop increasing the gain once either the phase gets more than 45 deg off or the output amplitude is more than twice the input request. In this way you are not, actually getting to the point of instability. You are approaching it and monitoring the response to determine when you start encroaching on the safe stability margins.
I’ve used Leonard’s SysId mode to identify a model for my 626 and since it models the rotor flapping modes then it should behave just like the real ones when the feedback gains are increased too much. I will use it to test the autotune feature. Once I’m happy with how it works in the sim then I will move to flight test.
One more comment about manned helicopter flight control development. There is no such thing as autotune because they will go out and conduct frequency sweeps or dwells in flight and then determine the stability margins of the aircraft. Which in turn also tells them how much more they can turn up a gain and still retain safe stability margins. I had done a flight test program on a variable stability H-60 and that is how we determined the range of gains that retained safe stability margins. The analysis helped us walk right up to the edge of the safe margin and verify the analysis was correct. Very different being in the helicopter while exciting the rotor modes.
My first choice would be to conduct the flight test (frequency sweeps) and analysis to determine the proper gains but our users don’t care to do that. So like I said, I think an autotune could be more accurate and safer than the current methods we employ to determine P and D gains.
That’s what I wondered as to the possibility of being able to do that.
That’s what I meant - it has never been accomplished even in airplanes. No sort of “adaptive tune” of the autopilot. In fact, I don’t think an autopilot would be certifiable if it had that. Even an autopilot is a pseudo FBW system (controls operated by servos and a computer) with manual pilot override built-in. And I’ve flown some of them where like the altitude capture gains are too high and the airplane will oscillate in altitude up and down by 50 feet. The old Bendix-King systems used in Lear’s used to have a thumb wheel to adjust the gain on-the-fly. Those are long gone. The modern ones, a tech rides in the jump seat with a laptop hooked up to it and adjusts it on a test flight. Once it is set, those settings are recorded in the log and not allowed to be changed except by a certified tech. It is all for accountability. If the airplane crashes or has an incident somebody has to be responsible for it for the airplane to be insurable. Defects in the autopilot itself are not allowed or you end up with a Boeing 737 Max-series fiasco. And that airplane will never fly again. Even if it is eventually re-certified, nobody will ride in it. All due to a defective design in an autopilot system that pilots complained about from the onset, but engineers ignored.
Just wanted to write with an update to this thread. I have been working on the autotune feature for helicopters. I have mainly been concentrating on the pitch and roll axes. A lot of work initially went into reworking the autotune library to address both multicopter and helicopter. I have finished the first two steps out of 5 steps I have planned for helicopter tuning. Here are the steps that I think will work best for heli tuning
- Determine VFF gain
- Tune Rate P gain
- Tune Rate D gain
- Tune Stabilize P gain
- Retune VFF gain
There may be a need to go back and repeat some steps but I will have to look at that after I get the rest of the steps implemented.
As I try to talk about in my video, what makes it difficult to tune heli’s is the fact that Rate P and D gains can cause feedback instabilities if they are turned up too high. So the test is designed to look for the frequency at which the aircraft will want to oscillate if the gain gets too high. Then the output rate is compared to the input rate and the gain is increased until the ratio of the two reach a specific value. Currently I am using 2.0 as the value for the ratio where it stops increasing the P gain. It will perform the same procedure to increase the rate D gain. There will still be a lot of work to be done. My biggest concern will be addressing how well it can tune real heli’s due to the vibrations (i.e. noise) in the responses.
So here is a video showing the initial steps of the heli autotune.
Bill I am thrilled to see that you have started and I like to see the progress. I am sure it is a slow and difficult process.
In the past I was told Auto Tune can not be done with Trad Helicopters. But I believe your first steps are amazing and you might be successful at the end.
I have done several AutoTune myself with drones and I understand a little bit what you are talking in that video.
Great work Bill !!!
The YouTube Link: https://www.youtube.com/watch?v=cYASQ91uqt0&feature=emb_logo
This is very exciting!
I can only agree to what Fred and Josh said. Autotune for traditional helicopters would be an AWESOME feature! But I’m sure, it’s very hard to make that actually work with all real world problems. Nevertheless it seems, you’re on a very good way to get there, Bill. Thanks for your great effort!
If you want to see the result of a manual tuning going wrong look at my short video from 2017 where my new Jet Ranger ( Align 700E) is trying to destroy itself by to much roll D value I had put in. A stupid mistake I know now for not using a knob!
Thanks for sharing @FRED_GOEDDERT. That hurts!
This is excellent news Bill! This represents such a huge leap forward for heli!
That does hurt to see Fred! Hopefully the damage was not too extensive.
The 3 bladed Align head was damaged and the tail needed a fix. The now more realistic looking 2 bladed head is working well and for 3 years now I had no more incidents with that Heli.
I’m really sorry, that you had this incident, Fred! I hadn’t thought that the oscillations would increase so much after you’ve set the helicopter back on the ground. It seems the decreasing rotor speed makes everything a lot worse…