Helicopter Starts Rotating Rapidly when Switching into AltHold Mode

This is my first Ardupilot project after having flown traditional RC helicopters for approx. 5 years. I have put many flights on this helicopter using a standard FBL system before I converted it to ardupilot.

After establishing OK flight performance in Stabilize and Acro Mode, I wanted to get the helicopter to fly in Althold mode. On the bench I made sure the swash plate moved minimally when switching from stabilize to Althold mode. Collective stick position in this bench test was chosen based on previous flights where the helicopter was hovering stable.
H_COL_XXX parameters are shown here:

For the Althold test I let the helicopter climb to an atitude of ~35 m in stabilize mode, then switched to Althold.

After a short moment the helicopter started rotating (=yawing) rapidly on its own and I switched back into stabilize but could not stop the fast rotations.

There was a loud ‘bang’ in the air, but I cannot say anymore whether that ‘bang’ happened before or after I switched back into stabilize. I am quite certain the helicopter suffered a massive boom strike and crashed badly.

May be somebody can help me understand what happened. Although this helicopter is totaled, I have another mechanic that I am ready to dedicate to this project, if I can figure out what went wrong.
Here is the zoomed in portion of the PIDA parameters from the log file when the heli was in Althold Mode.

I have the complete log file, but it has a size of ~80MB and cannot be posted here. Will upload it if somebody, tells me where and how.

Thank You for any insight, anybody may be able to provide.

This TREX has the 600 boom and is tail heavy. Therefore, PIDP has an offset but apart from that PIDP.T and PIDP.A are tracking albeit with a phase delay.

Setup:
Radio: FrSky Horus
OS: OpenTX-x10express; Vers: 2.3.14-otx
Receiver: FrSky R4 Archer
TREX 550E DFC
CubePilot Orange
Ardupilot V4.3.0
Mission Planner 1.3.79

@StefanL Sorry that your flight ended in a crash. I noticed immediately that your set up is not correct which could have contributed to this crash but I need to see the log file to be sure.

These parameters were not set correctly
H_COL_ANG_MAX
H_COL_ANG_MIN

You need to follow the set up instructions in the wiki for these parameters. They are very important and affect how the software determines whether the aircraft is landed in modes like ALT_HOLD and LOITER. This could be why the heli started spinning as when they determine that the aircraft is landed then the controllers may not actively resist yaw rotation. But I am just guessing. I will need to see the log to be sure.

Sign up for a google drive or drop box account. Upload the log to that account and then post a link to the file here.

@StefanL
hello Stefan,

sorry for the heli.

H_COL_ANG_MAX and _MIN is far outside the allowed ranges. _MAX is your maximum collective pitch up and _MIN, the maximum collective pitch down. For a 3D heli, this would be +12 to -12 degrees, for example. For a non-3d heli, that would be +10 to -3 degrees.

You have set +90 and -80 degrees.

That will probably be the cause, just as Bill says.

Are you from Germany? Your first name makes me think so?

BR

Heri

First of all, let me thank both of you for responding to my post. It is very helpful, and I am glad to connect with you. Yes, my name is German, but I am in the USA.

Here is the link to the bin file:

https://drive.google.com/file/d/1ta_V0G7KdLK0Q2Y9iXtNMol42SmtvgHg/view?usp=sharing

After inspecting the crashed helicopter in more detail, I am now certain that there was a boom strike. One of the rotor blades has the matching marks and the way the boom is bent aligns with the angle how the blade would hit it. The blade that hit the boom split open, but it did not break. This blade splitting may have happened when the bladed was deformed so much that it could hit the boom.

Although I was aware of the parameters H_COL_ANG_MAX and H_COL_ANG_MIN, I must admit that I did not study and adjust them as carefully as I should have, my rationale being: if it does not work, the heli is up high enough that I can recover. But that obviously did not work. Although I could switch back correctly from AltHold to stabilize mode (see log file), the helicopter never stopped spinning and I never regained control. If anything, the rotation speed increased. This makes me wonder whether the boom strike occurred BEFORE the helicopter started spinning.

How could that happen? When I heard the ‘bang’ the helicopter was approximately 150-200m away from me and must have made several rotations by then. That means that based on the speed of sound versus speed of light, the helicopter may have started rotating ~0.6sec before I heard the ‘bang’.

If you, Bill or Heri or somebody else, could have a look at the log file and help me understand what happened, that would be great. Here is what I am looking for in particular:

  1. Did the swash plate abruptly go to the most negative position when I switched into AltHold Mode or back into Stabilize Mode?
  2. Is there a way to tell whether the boom was struck before the fast rotations started?
  3. What was the rotation speed after switching into AltHold mode?
  4. If the boom strike did not destroy the tail right in the beginning of this sequence of events, did the APM stop yaw control and if so why?

My goal is to build an autonomously flying helicopter and learn as much from this flight/crash experience as possible. If H_COL_ANG_MAX and H_COL_ANG_MIN are the only incorrect parameters, I am pretty close.

Thank You again for your help. It is greatly appreciated.

Stefan

Stefan,
So you are the second user that I have seen somehow setup the collective stick to match the movement of the swashplate up and down. However in the code, the autopilot has the movement reversed, meaning that when you increase the collective, it thinks you are decreasing the collective. The other user did not speak English as their first language so I thought it was somewhat due to the language barrier. So I need to know how you went about setting up the heli and whether you followed the wiki when doing the swashplate set up. If you didn’t use the wiki then I would like to know whether that would have guided you correctly in setting up the swashplate. Here is a link to the wiki in case you hadn’t seen it.
https://ardupilot.org/copter/docs/traditional-helicopters.html
There is a link to the swashplate setup with a video to guide you through the setup.

I will look more at your log but I think it is safe to say that this was the cause of your crash. I don’t think it much matters regarding when the tailboom strike occurred however I would have thought that if you suffered a tailboom strike in flight that it would look like it was falling to the ground, tumbling on the way down. if it came down perfectly level with the aircraft just yawing in the opposite direction, then I would say that you didn’t have a tail boom strike in flight. But it doesn’t much matter since your setup was such that the autopilot thought up collective was in fact down.