Hello guys, I am quite new to fly a traditional helicopter with arducopter firmware, and I’m a little confused.
The helicopter is on the ground and interlocked. Then I move the collective pitch to the maximum position and leave it there without further action. The initial reaction of the swashplate is correct, but the swashplate tilts to left after several seconds looking from the back.
I am confused about this and want you help sincerely.
This will be normal in a static condition if the flight control is armed and running it without blades. Vibration running static will cause the attitude solution to drift. I suspect you are doing this in one of the autopilot modes like Stabilize or something. Switch it acro for ground running and then you will retain control of the attitude. And do not just stand there and watch it. Stay on the controls and correct the TPP of the rotor to keep it planted for ground running.
It is never safe to run a helicopter on the ground in any autopilot assisted mode (including Stabilize). The system can attempt to roll it over. This is especially important for piston-powered machines where the ground run may last 2 minutes or so for warmup. It is why there is a special acro mode for helicopters that multicopters do not have.
Thank you very much. As you say, we are in stabilize mode, and the flight control is armed without blades. I will switch it acro later to see if the swashplate reaction is right.
This is totally untrue. Stabilize is very safe to run for extended period on the ground. I am not sure why you say that it isn’t. I have combined hours of ground run in stabilize with no issues ever. I would go so far to say that it is safe to run in the assisted modes for extended periods. I don’t have as much time with these but I’m guessing that the concern is the GPS and EKF having issues is your concern with these modes. I would agree that if there was a problem with the EKF while in these modes then yes it would have bad effects on the aircraft. I agree with Chris that it is always a good idea to be on the controls even when the aircraft is in an assisted mode just in case there is an issue with the EKF.
@ChrisOlson I would appreciate if you add a little context to you opinions on the aircraft characteristics with the autopilot. Your broad statements do us no good to try and improve the software.
Because I’ve had the system try to roll a helicopter over before in Stabilize running on the ground. Depending on the amount of vibration and the helicopter’s reaction on the landing gear, it can make the EKF attitude solution drift. 30-35 degrees of attitude divergence will result in a blade strike with a large helicopter.
Once it tries to go into dynamic rollover the large cyclic input amplifies vibration, it clips the IMU’s when they peak at 16G and the system goes into a total meltdown.
I have provided both videos and logs of it in action. But I found it’s easier to blame it on the flight control mount than address the real problem.
However, if you use a flight mode that does not depend on self-leveling, then it is a total non-issue.
@hututu_duan when you use the acro mode make sure to turn off the “trainer” feature so it works properly. With the “trainer” on it is no different than stabilize, really.
You will find two settings, ACRO_BAL_ROLL and ACRO_BAL_PITCH. You can set these for amount of attitude decay you want. With both set to 2 or 2.5 you will find that when the swashplate tilts during your run you can bring it back with the cyclic and it will stay there. If it continues to drift, keep correcting it. You will be able to maintain a level attitude with it.
If any sort of self-leveling is turned on the system tries to go to what it “thinks” is level. If what it “thinks” as level is not really level, you have to fight it with the cyclic to prevent it from rolling over, which can result in a full-deflection input and still not able to bring it back to level.
The reason this happens is another topic of discussion. But for a pilot that doesn’t like an autopilot doing something it should not do, and is not able to over-ride it with control input, using the acro mode with leveling turned off will “fix” it. A pilot who knows how to fly helicopters does not require any sort of attitude controller, or self-leveling. They are perfectly able to fly just fine without any electronics at all. While the acro mode still does use an attitude controller, it is able to be over-ridden by the pilot and maintain control of the helicopter despite the attitude solution drifting around, which you will see when you try it.
Yes, I remember that issue that you had with the EKF and stabilize mode. But I think it’s an overstatement to say that the system is entirely unsafe in those modes. We have plenty of users that have successfully used both stabilize and auto pilot assisted modes with great success. I think it is OK to caution users regarding this issue. But I think it’s unfair to say that it’s unsafe to do ground runs in these modes.
Agreed. I’ll do it with a 500 or 600 class electric and not worry about. I will not do it with a $10,000+ piston 800. I think it all depends on your definition of acceptable risk, and how much it’s going to cost if the autopilot screws up.
The multirotor folks have 'em flip over on the ground all the time, then post “why did it do it”? It was one of the primary reasons we fixed the acro flight mode for heli’s and ground handling so we don’t have to depend on that stabilizing system. And it works. Better than anything heli has had since it was first supported in ArduPilot.
How the pilot applies or uses it is up to him or her. But you no longer see me complaining about it because we fixed it and I am thoroughly happy with the “fix”. While the autopilot is virtually flawless in the air, it has problems (due to the EKF) on the ground. All heli pilots who fly the system should be aware of it so they can make a decision on what is acceptable risk with an expensive machine.
But that is my opinion.
Hi, Chris!
When I use the acro mode and not turn off the “trainer” feature, it works as the stablize as you say. I think the change of ACRO_BAL_ROLL and ACRO_BAL_PITCH will have an effect.
When we fly in the air, the EKF has no prolem true. And the incorrect swashplate tilt only happens on the ground.
You say the EKF problem depends on the amount of vibration and the helicopter’s reaction on the landing gear. But when the stabilize control is armed and give no throttle signal to the motor, the confused swashplate tilt happens again. The motor is not running, and there is almost no vibration.
Hi Chris!
There is a link to show the confused swashplate tilt.
The EKF drifting while running on the ground is the dangerous one. Why it does that not running, I’m not sure. Obviously it is the EKF drifting. If you have a ground station hooked up it might show some EKF error that is causing it, or give a hint as to what it is doing. You will likely see the attitude indicator on the ground station tilt too.
Please post a log and your Params. You will have to enable the LOG_DISARMED parameter so you can show the full controller boot up and then what you are doing to show this behavior. It is most likely in your setup or this is an bad way to test the swashplate behavior. This control system is probably unlike any that you have used especially if all you have used in the past is 3 axis gyros.
It could be the GPS causing that too. If there is a window nearby, or something that lets it get a GPS signal, but the signal is corrupted due to reflection off floors or walls it might make it drift. I’ve had GPS position error of 20-30 meters cause a hard over swashplate tilt before in stabilized mode on the ground.
It’s also unclear if you have disabled the second EKF process. The system will switch from one to the other if it thinks the first one is bad. If the first one is bad, the second one is usually bad too, or worse. And it can cause that. I’ve had it go into “rapid EKF switch” before and the swashplate tilts back and forth all by itself like it has gone nuts. All due to the GPS picking up a corrupted multipath signal with the time stamp off.
Hi Bill!
Thank you for your interest in this question.
I’ll post the log and Params when I can get back to the office. I have to stay at home for several days.
Hi Chris!
Thank you for your reply sincerely. Your insights have inspired me a lot.
I’ll post the log and Params when I can get back to the office.
The EKF should give up on the GPS if that is causing it. I run only one EKF process in my heli’s. The normal sequence of events if the GPS initially has a good signal but then goes bad is that you get a “GPS Glitch” message. This can be logged for any number of reasons, but usually is due to multipathing of the signal. Sometimes the attitude drifts when it does this, sometimes it doesn’t.
If in acro when it does it, the pilot can’t really tell any difference. If in stabilize you may have to fight it with the cyclic for a bit because what the autopilot thinks is level is not really level. After a time it finally says something to effect of “IMU0 has stopped aiding” which I assume means it gave up on the GPS and it returns to normal. But no GPS position holding modes will work.
If there is two EKF processes then it will switch from one to the other. I do not like this system as it causes very bad upset to the handling. It is easier (for me) to deal with the bad EKF in acro where it really doesn’t affect it, and just have it give up after a bit because the helicopter remains flyable.
It’s been a very long time since I’ve had this happen during auto flight. But it can be induced by flying into a “gps shadow” - fly under a bridge, fly under HV powerlines, I’ve found I can induce it by flying outside and hover the helicopter into a large hanger with the bifold door open. As soon as the heli gets inside the hanger the “gps glitch” happens and if it were in Loiter it would take off and smash into the wall or something. In acro it is a total non-event. The heli might suddenly roll one way or the other but because I am actively flying it I automatically correct it and it doesn’t do anything bad. I would not want to try that in Stabilize, however.
When we modified the acro mode for heli’s it gave us the redundancy for bad EKF that we never had before. And it works very well. This is why I recommend doing ground runup, especially with piston machines, in acro mode. It is perfectly safe. Thru lots of testing and trying it under deliberate conditions where I whacked the EKF none of the other modes are 100% safe on the ground.
I am guessing this is what your log will show. I’ve duplicated it enough times during testing to establish procedure on how to make these machines 100% safe to fly under any condition, and spent hours looking at logs to figure out why it happens. It is almost always related to the GPS. But you could have a IMU that is still warming up and not stable too.
Our procedure for startup is to plug the heli into a GPU (ground power) and warm up the IMU’s for 5 minutes before we even bother to connect main power and start the engine. We use the GPU pack for warmup of the flight control because our machines are piston, they have a small flight power battery with generator on the engine. The GPU pack prevents discharging the flight power battery excessively before startup. We like to see 40C on the #1 IMU before we throw the master for main power and start it up.
All done to prevent attitude solution drift, and hours spent developing specific pre-flight procedure for startup of the autopilot system and heli.