There's no specific date set yet I'm afraid. The issue is that for 2.8.1 we modified the rate controllers to work in the body frame and we may have broken the heli controls while we were doing that. The additional problem is that both Robert and my helis are out of action at the moment.
Robert Lefebvre is actually master of the heli code these days.
I am very pleased with what I have going and I thank the guys!
I was able to do a very stable flight today plus a very accurate altitude hold. I know there are some small adjustments that need to be made from 2.7 to 2.8 firmware including Alt Hold not holding altitude in fast forward flight and some of the waypoint logic. Hope to see 2.8.1 soon.
Sean, I tested the prototype for 2.8.1 yesterday. It went pretty well. I have some changes to push to my clone so that Randy can bring them into trunk.
Overall, I found the 2.8.1 transformed highly sporting flying in stability mode in the same way that it did for multi-rotors. Banking and Yanking feels much more responsive now, whereas before it was always mushy. I was having fun with the heli and even started getting the blades to "bark" in some manoevers for the first time, so it was being pushed and responded well.
However, when it comes, everybody needs to be prepared to do EXTENSIVE retuning of the PID's. You will not be able to fly with your old setup. Everything changes. Luckily, for the most part it is straight forward, and I can walk you guys through the conversion process.
So the only downside is I was having too much fun again, and did the same stupid mistake I've made before leading to a crash. I use the ESC control mode which drives my governor equiped ESC direct on Ch8 from the APM. This does not use any input channel. Soon as you arm it, and raise the collective off the bottom, it sends a preset PWM to the ESC. Soon as you drop the throttle, it shuts down.
I had made a mix in my Tx, where I could flick a switch which locked out the bottom 1% of the throttle range, which prevented an in-air shut-down. But, I was so busy tuning the PID's, that I forgot...
So I have to change this mode. It's too dangerous, I've done this twice now.
What I'm going to do is control the throttle off of Ch8 input.
Now, when will this all hit the downloads? I'm not sure.
Randy is looking to bring in his accelerometer augmented position hold, and then pushing the whole thing out as 2.9, but that might delay things a bit more. I could consider having a special push of 2.8.2 just with what I have now for Helis only.
But the only problem is, that I only have 3 flights on it before my crash. I'm not totally happy with that. So it depends on you guys, how you feel about it.
I tested hovering precision, high speeds, and full acrobatics (well, whatever you can do with only 45° in stab mode). I am a little concern about some weird imprecise feeling in Acro mode, but then you guys never had Acro mode before, so anything is better than nothing?
I just found that the control wasn't precise. But then, I don't have a lot of experience in acro or manual flying so... maybe it's just me. I have done a bit, in full-manual flybar mode in the past, it did feel fine. This new mode in Acro on a flybar... I'm not sure. Maybe it was just a bad day.
Anyway, the 600 is down for a while, I blew the ESC. I hope my 450 will be running again soon.
Oh, and as for Alt_Hold and high speed waypoints, that won't be coming with 2.8.1. That part is not improved.
I expect that if the accel-augmented Alt-Hold works for the helis, then it will help with this issue a lot. But we still have a serious problem with helis climbing and diving at high speeds when you pitch them. The current Alt_Hold model does not really work with the real aerodynamics of helis. I'm working on that, but I don't think it will be soon.
Ok guys, so I have a question for you. You can have input on the future code. ;)
Previously, Randy had a piece of code called "heli angle boost". Basically it was similar to what the multirotors have. It's a piece of code that attempts to increase the throttle (collective pitch) automatically whenever you lean the heli over, in order to give it enough throttle to maintain altitude. So, say you're leaned over 45°, it would increase collective by maybe 70%.
But I actually took it out of the program that I'm working on here for 2.8.1
Reason is, I am attempting to create a two-level collective pitch range. You get to set up a full range for acro mode, and then can have a reduced range in Stabilize mode. I had trouble integrating it with Heli Angle Boost.
Secondly, I'm not sure if Heli Angle Boost is really doing what we want. Theoretically it could work if you are doing all your manoevers at zero airspeed. But with a heli in particular, there are some really large aerodynamic effects that completely swamp any of these angle boost functions.
If you're flying foward at 50 km/h, and pull back on the elevator just a bit, the heli will climb far beyond anything than the collective could do. Simply put, you don't need Angle Boost at speed.
In fact, if you are going fast and trying to stop by "slamming on the brakes", it can actually fight you because in that case you need to dump collective pitch to avoid climbing, but the Angle Boost will be adding a bit of collective.
So what do you think? Leave it out, or try to figure out a way to keep it in?
I think leave it out.
The only problem we have is fast forward flight, when the collective (AltHold) can’t compensate for alt loss anymore. But this is different from heli type to heli type. The only way I guess to prevent this, is to limit the max pitch angle because we don’t measure air speed, only ground speed. Otherwise we could limit the max air speed.
I think AltHold does a good job, as long we operate in the limits of the collective. If we break from speed flight, AltHold will always compensate in its limits and that’s all we can do, like in the real Heli world, there you have your limits you shouldn’t exceed.
My thoughts on this:
Helis are set up pretty conservatively in terms of max collective pitch angles, to keep the heli from being to twitchy for a human to operate it.
So when it comes to fast forward flight, can we increase the max pitch angle to compensate for when the current altitude hold algorithms run out of room on the collective to keep the heli in the air?
This would be a good application for a fuzzy logic controller. If you guys can send me some data on when the controller starts to need more pitch, I can start roughing out fuzzy membership functions for a controller that modifies max pitch angle based on ground speed.
Heli’s have physical limits regarding collective, let’s say -3 to +12degr.
If you reach that maximum in fast forward flight you can’t keep altitude anymore, AltHold reached its limits.
And you always need a safety margin to get out of those downdrafts, so never push it to that limit in fast forward flight.
AltHold should use the full range of collective fit for the specific Heli type. You can’t go past that. I think AltHold does that already.
No code can change that, the only thing the code can do, is to keep the Heli within its limits.
Depends on the heli. The limits of what the servos can actually move to should be the limit the heli uses to implement its control in auto mode. Pilots can't use that much deflection because it's too twitchy, but the autopilot is fast enough to respond. We should consider that when we decide what limits we give the controller.
Yeah, those numbers may not quite be correct. I've seen typically -12 to +12 for the Align helis. Or +/-10 at least. On my Hobby King 600, I could only get 8 before the swash hits the guide pins, but this is fixable with the head setup if I wanted. I set it up for all arms at 90 when at zero pitch, but it ended up hitting those pins. I could cut the pins or move the linkage, I just never bothered.
The maximum amount of pitch/roll is also important. I can only suggest people use the numbers from their manufacturer's setup guide.
I still think AltHold does a good job, but the problem might be in the speed controller.
Imagine the Heli is on a 45degr forward pitch and you increase collective to compensate for alt loss you will also increase speed, because half of that energy is pointed forward. So you need to increase collective again... and so you will end up in a death spiral.
And I think that’s what Robert experienced.