WARNING to TradHeli users:
Do not attempt to fly AC3.3 until you hear otherwise from me. I have not even bench tested it yet, let alone test flown it. There are quite a lot of changes that have gone in that could be crash-o-matic for helicopters.
AC3.3 release for Tradheli is likely to be delayed.
This post will serve as the official release progress thread for TradHeli.
Warning: DO NOT FLY RC6! It has a critical bug that will likely end in a crash.
Warning for RC5:
RATE_YAW_FILT_HZ param will change defaults from 5Hz to 20Hz to be more suitable for helicopters. If you have never changed this parameter from 5 before, then it will automatically update the value to 20 without warning. This much faster filter will probably require reduction in your P and D terms, and the yaw may oscillate badly. Be prepared to retune these. As a safety measure, probably cut them in half for your first take-off.
Warning #2 for RC5:
I accidentally broke the Landing Detector. It will probably never trigger. You should land in Stabilize mode, or be prepared to shut down the motor as soon as it touches the ground in Alt_Hold, Loiter, Auto, etc.
Just an update to this.
I tried flying AC3.3 on my new Goblin 380 2 weeks ago, and did not have much luck. This machine has never flown on 3.2 and is brand new, so I wasn't sure if the problem was the code or the machine. Then I had ESC troubles, and today let the smoke out of the motor. :(
So today, I saddled up the old warhorse and flew AC3.3 RC3(ish) on my Trex 500 today. All went very well. Not really any problem at all. The only problem I had was that THR_ACCEL_P has changed to ACCEL_Z_P and I didn't notice so I flew on the default of 0.5 instead of setting it to 0.1. So first attempt at Alt Hold resulted in much bouncing. Fixed that and no other problems.
One thing to note, is we now have parameters for the Rate Filters (ie RATE_PIT_FF, RATE_ROLL_FF, RATE_YAW_FF). These were hard coded before. Previously they were 20, 20, 10. Now they default to 20, 20, 5. Be sure to change RATE_YAW_FF to 10, or probably 20. 5 probably won't be horrible... not sure, it didn't cause a crash, but I think it's way too low. Hard to say yet. Just be aware of these.
There's not really much new that is heli specific yet unfortunately, I haven't been flying helis much over the winter, but hope to get on it this summer. But all of the general improvements in AC3.3 (EKF default, better IMU code, better auto flight, etc) all apply.
Rob, I'm willing to fly 3.3 on my Trex 550 anytime. Just let me know what rc or build to use.
Yes, I'd say that it's probably ok for you to go ahead and try AC3.3 RC3 at this point if you'd like. Tridge has been flying it as well, and so far no issues.
I haven't tested Alt Hold and Loiter take-offs and landings yet, and I suspect there may be some differences there, so be careful with that.
Upon reviewing the code while trying to fix RCMap, something somewhat unrelated crossed my mind. Currently, it is possible to arm the copter and take off, with the H_Servo_Man set to 1, which would mean you have no stabilization, and the stick inputs pass through directly to the outputs. Similarly, you could set H_Servo_Man to 1 accidentally while in flight. Both situations would likely be catastrophic. I cannot think of any use-case, where a person would want to leave the servos in manual mode while armed.
Does anybody have a need for this? Maybe some sort of bench testing?
I'd like to make it such that, if ever you are armed, with Servo_Manual set to 1, it will immediately turn of Servo_Manual and return to stabilization. Any objections?
Secondly, I was wondering if it would make sense to just get rid of H_Servo_Manual parameter entirely, and make it such that, whenever disarmed, the radio inputs always pass through directly to the servos (but with CCPM mixing applied). I feel this might actually aid servo setup, and ground checking of servo movements. It would have two disadvantages that I see:
1) If you accidentally disarmed in the air, I'm not sure how, you would lose stabilization effect. Currently, you would still be able to auto-rotate down, but if I make this change, that would be very hard or impossible. But the likelihood of accidental mid-air disarm seems unlikely?
2) You lose the ability to check the PID operation while disarmed. I'm not sure if anybody does this. I kind of sort of do... but you would still be able to check it after arming, but before starting the motors.
As an alternative, and maybe this is the way to go, I could make it so that, on first booting up, every time, while disarmed, it would be forced into servo manual. Then, upon first arming, it would go into normal stabilization. After than, when disarming, it would remain in stabilization. This would allow checking servo movement on each bootup. It would also eliminate the risk of mid-air disarming loss of stabilization. And it would also allow disarmed ground-testing of servo stabilization action. You'd just have to arm, then disarm again.
The more I think about it, the more I think this makes sense. Anybody else have input?
I definitely favor disabling it on the first arming and leaving it disabled.
As for getting rid of the parameter...
Personally, I find a degree of comfort to feel/hear/see the stabilization as I carry my heli to the launch pad.
I'd prefer to set it manually, if needed, and then have it auto disabled on the next arming.
Thanks for discovering this.
Rob, I like the alternative method. Boots up in manual so you can check the range of your swash and tail. After first arming it goes into stabilization and stays there as long as the Pixhawk is powered.
But, What if someone had a momentary brown out for some reason at a high altitude? I know its far fetched, but if the Pixhawk had time to reboot before crashing, the servos would be in manual.
David R. Boulanger
I loaded up 3.3r3. I noticed a lot of Parameter changes.
ATC_ACCEL_RP_MAX has been replaced by ATC_ACCEL_R_MAX and ATC_ACCEL_P_MAX. They defaulted to 0 but I assume I should put my RP value in there.
I think I found how the thr params have been changed to z params.
I hope I caught any problems.
I just flew my Trex 550 with 3.3r3. I was able to takeoff and land in both stabilize and Loiter.
Stabilize was fine.
Loiter required increase in Pitch and Roll Ps and FFs. It is still has moments of loiter fore aft oscillation but I'm sure it just needs more retuning.
Cyclic works while disarmed. Collective doesn't. Is this by design or should I voice it? I like to see both working before arming.
I think I may have too much vibration, because I see some erroneous climb after landing. It worked with 3.2.1 but I didn't have EKF enabled. It'll take some work getting the heli balanced again and tuned for the EKF.
Brownout recovery, definitely a possibility, but I'm not sure we should worry about it. You're pretty screwed anyway, because the gyros won't calibrate while moving, and without them calibrating, stabilization will be hopeless. In fact, manual servos might be less wrong than bad stabilization.
I will look into making it so that the Servo_Man parameter could be set to 2, where 2 would cause it to boot in manual and revert on arming. 1 would be manual manual. 0 would be existing operation. How does that sound?
I don't know if I am the only one with this problem, but could you please make Ch7+Ch8 accessible with RC7(8)_Function=1 when these channels are not needed by the program.
I think manual mode is very important,and disarm is dangrous .