Trad Heli Wiki Tuning Update

Follow the wiki settings. We have tested the initial settings and found them to provide a good flying helicopter to start the tuning process.

I set up my heli using your settings and it is quite flyable. You guys are amazing!

I accidentally posted a PM message to this thread that had the same topic line, so removed it. Bill is right - it’s best to start with the recommended settings. But Mission Planner will try to be “helpful” and prevent you from making the settings. That’s because it’s designed more for multi’s than heli’s, and multi’s don’t have VFF settings and depend totally on the rate PID loop. So a multi would be totally uncontrollable with starting helicopter settings. Mission Planner, being more multi-centric, tries to prevent people from doing that.

But it still should let a person make the settings from the full parameter list or tree for a helicopter.

1 Like

Well, I have hit a wall. I just need some clarification on the last steps.

Adjusting I-gains For High-Speed Autonomous Flight
Prepare a mission with your ground station software that will fly the helicopter, preferably in a figure-8 pattern to make both right and left turns, at a speed of 6 m/s. Fly the helicopter on this mission, pull the logs from the microSD card and look at the AHRS desired (Is this AHR2 Pitch?) vs actual pitch (Is this ATT Pitch, desPitch, or Rate, or something else?) roll and yaw attitudes in dynamic flight. They should track within 1-2 degrees. If they do not, increase the ATC_RAT_xxx_I value for that axis until they do.

___T_hanks,
Dave

Dave,
You are comparing ATT.DesPitch (desired/commanded Pitch) to ATT.Pitch (actual aircraft pitch attitude).
Compare the same parameters for the roll and yaw axis. Does that make sense. You are just verifying the controller has sufficient control authority to keep the actual aircraft attitude tracking to the desired/commanded attitude.

Bill

Yes, the AHRS (Altitude Heading Reference System) actual attitude information is found in ATT Pitch, desPitch, etc…

I see Bill already answered this…

Thanks. I have to start the process over. Somehow my actual vs desired graphs are way off. I need to pull the logs each time I make a change to see if I have unintended consequences.

Dave, is the desired vs actual off in dynamic flight, or hover? In hover mine are normally “off” some. In dynamic flight they are right on. If they are off in dynamic flight by the same amount all the time it indicates a problem with the AHRS trim. Bill and I have been having a discussion on that and I don’t necessarily agree with adjusting AHRS trim to stop the heli from drifting. I like to leave AHRS trim values at what is actual frame angle and adjust servo trims to fine tune swash level to prevent drifting.

If they are off by actual seeming to bounce around different from desired, and not tracking it at all, then it indicates a problem with the commanded rate. Flybar helis use only rate control and will track perfectly in dynamic flight. So getting the rate right with the VFF is pretty important. I think a lot of folks feel the heli gets too snappy as VFF is increased to where it actually matches desired rate using aggressive stick inputs. So I consider that to be a common mistake, setting VFF too “soft” and then the heli doesn’t respond fast enough to control requests either from the pilot or autopilot.

On the other hand, if in dynamic flight the actual seems to sort of track but varies on either side of desired (appears “sloppy”) it is indication that I gain is too low for dynamic flight. Even flybar heli’s like some rate I. Seeing a BIN log would help to see what you have.

Chris and Bill, thank you for your help.

That makes lots of sense. I can tune the VFF parameters so that it actually responds nicely in flight, and matches up pretty closely on the graph which I am pitching or rolling hard, but seem to be quite a bit off in hover. Attached are the files from this morning.

My values are tiny, by the way. My ATC_PIT_VFF = 0.08. At 0.15 it is really wild. At 0.03 it becomes sluggish.

Files from this morning (no wind)

10-16-2017 0826.param (13.6 KB)
2017-10-16 08-21-52.bin (908 KB)

Also, with my ATC_RAT_PIT_D and RLL_D at 0.001, the heli does sporadically wobble. The only way I can keep it from happening is to set it to 0.

For anyone else who sees this, I am tuning a micro heli with a PixRacer…

Quick notice: @ChrisOlson ‘s wiki update is out (http://ardupilot.org/copter/docs/traditional-helicopter-tuning.html#traditional-helicopter-tuning)
It’s a great contribution, but the wiki is a ‘living’ document, so new PR’s always welcome :slight_smile:

1 Like

Dave, yes I agree that the rate, and response looks pretty good. Your rate commands are falling short though when you really hammer on the cyclic. Keep in mind micro’s are notorious for being extremely quick and responsive. I can snap my little MCPx in like three complete tumbles before you can even blink and it darts around like a house fly. I used to terrorize the cat with it in the living room until I crashed it into the lamp shade one day and got banned from flying it in the house (wife problem).

A bigger helicopter isn’t quite that nimble. So the starting setting of .15 on the VFF was probably pretty close to how those little micros were designed to handle. However, taming it down a little by setting the VFF lower is not going to hurt much on a little heli like that, except it may get a little “loose” in the wind with the rate cranked down.

However, you are carrying zero I gain in hover. So you can’t really expect it to track desired vs actual attitude in hover. Loiter flight mode would tell more than Stabilize, as stabilize is pretty much a manual flight mode that has a self-leveling feature.

Remember that helicopters are different from multi-rotors in that helicopters carry no I gain in hover unless you have the ILMI params set to a value that prevents all the I gain from leaking off. The helicopter has to be moving at 5 m/s for more than 2 seconds for the I gain to “kick in” and stop leaking off. So you would need to fly the heli manually in figure 8’s (or some such), or fly it with an auto mission to see how well the attitude is going to track. And fly it at least 12-15 mph to make sure the leak stops.

Since this is a micro and micro’s are notorious for really snapping handling I’d set I gain at least .15, and set the ILMI to maybe .05 or .06. The I gain can store up the error and cause the heli to want to tip on the ground or during takeoff. If you’re familiar with most FBL units it’s a no-no to start making stick inputs on the ground during spoolup because they’ll flip right over. ArduPilot goes one better and that’s the reason the integrator has a leak in it - to prevent that in Stabilize. In Acro, however, it’s just like a FBL unit - move the cyclic around and it stores up the commands and even with the stick centered the heli is going to try to achieve the attitude of the “ghost aircraft” where ever you last left it at when you moved the cyclic.

So turning on the ILMI prevents all the I gain from leaking off in hover, just be aware if you set it too high you got somewhat the same thing you got in Acro with rate-mode only control. And if the heli is tipped or something the integrator error can build up to the point where you have the ILMI set to.

I gain of .15 should be enough for a slow speed (~12 mph) flight to see how it tracks. But most heli’s like way more than that in high speed flight. Typically in the low to mid 0.3’s.

So basically, I don’t see where you need to start over at all. You’re just not done tuning it yet.

I also don’t know why you have your yaw accel set to 720 deg/s/s
ATC_ACCEL_Y_MAX,72000

That baby should do some SERIOUS piro’s!

  1. Until 30 minutes ago, I had no idea that my DIYD account had migrated to here, and that I was using two different accounts. I thought I was going crazy.
  2. This https://www.rcgroups.com/forums/showthread.php?2879132-Taigen-Panzer-III-with-FPV-and-OSD#post37430238 is banned at my house for shooting my wife with the airsoft BB turret while she ran around in her night gown. I didn’t do any property damage though.

As far as rates, if I understand you correctly, it is okay if the P.des overshoots the P because it is a micro? At 0.15 it does overshoot it. I was trying to get the graphs to line up when I was yanking and banking.

As far as the piro rate, it’s still sluggish at 72000. Does RC_FEEL affect this as well? If I increase RC_FEEL to 75, will it increase the piro rate?

Thanks again!

No, it shouldn’t overshoot. You’re the first I’ve seen fly a ArduPilot-based system on a micro, which is really cool. And being they’re snappy little things it probably doesn’t take much change to get a big response.

I forgot you have a DDFP tail too. So that would make sense. You’re probably at the limit of thrust on the tail for piro speed one direction. And at the limit of torque reaction the other way.

At any rate it’s pretty cool to see a Pixracer on a micro heli! Even the weight of the GPS/compass unit on the tail boom has to be a big load that a micro was never designed to carry :grinning:

It’s nice to know I’m not the only one banned from stuff in the house too. In my case it wasn’t the helicopter that tipped over the lamp. It was the cat in hot pursuit that tipped it over. When my wife arrived on the scene the cat was sitting innocently on the sofa and the helicopter was crashed on the floor. So the helicopter got blamed.

1 Like

Dave,
As far as I understand the function of RC_FEEL, it is intended to provide more of an initial response (acceleration) than rates. So it would make the response feel more crisp/snappy initially. From what I remember of increasing this parameter more than 50, it makes the aircraft more jittery. You can experiment with it but you really want to match the desired and actual rates using VFF.
Chris might have more to add with his experience.

Bill

Thanks, Bill.

I will try it and let you know. I do like the piro rate to be quick, but I’m no 3D guy. More than anything I like to be able to get the tail turned about if I get into trouble.

Another question. My ATC_RAT_PIT_D (and RLL_D) are at .001 but I do get a little bit of jitter on a hard roll. At 0.002 it is a constant fast wagging. Should I set it at 0, or try .0005? Will it recognize a value at 4 decimal places?

At any rate it’s pretty cool to see a Pixracer on a micro heli! Even the weight of the GPS/compass unit on the tail boom has to be a big load that a micro was never designed to carry :grinning:

I have it stripped down as far as I am comfortable, and it is (almost) balanced:

I also added a RMRC 25mW FPV camera/transmitter to the nose, which helped with balance, and the video is pretty amazing.

I really hope that Randy and the devs push out the support for the mRobotics micro GPS and compass.. It is supported in Plane and works in the master branch for copter, but hasn’t been released as stable yet. :crossed_fingers:

A big thanks to you and Bill for investing so much time in a project with no tangible value, except to make (we) nerds laugh. I’m having a blast with this.

Yes you can enter values for ATC_RAT_XXX_D to the 4th decimal place. Since it appears that your gain values are lower than gains for 500 and larger size helis, it probably is worth going to 4 decimal places. I think any D gain can be valuable even if it seems small.

I think so too. If it wags hard at .002, shows a bit of a tendency to wag at .001, the actual point where it started to wag is probably more closer to .001 and cutting that in half should work well.

I’ve never played much with RC_FEEL. For the most part I leave it at 50 and adjust the other parameters to my liking. A long time ago I set it to the extremes to see what it does and it seemed to make the heli act like it was flying thru some thick medium at a low setting. I don’t like excessively sensitive, and don’t like excessively slow either. So 50 has pretty much always worked for me. With a micro it might make sense to play with it a bit and see if it makes it more like a big one with a lower setting.

I like Dave’s project here. They don’t all have to have a practical purpose and a micro with a Pixracer is just plain cool and fun. Generally a 450 is about as small as you can go with a full-size Pixhawk. With ArduPilot running on so many boards now it’s cool to see some of the micro controllers like Pixracer on a heli. I got a Pixhawk Mini on my 696 and I like that controller too for heli’s. It’s basically a PixFalcon with updated sensors in it but the remote servo rail makes it nice for installation on a heli to keep servo wiring away from radios. And it’s about 1/3 the size of a full-size Pixhawk and fits nicely on the FBL unit tray. Very robust as far as handling vibration too.

Excellent doc. I do have a suggestion. When it talks of trimming it does not mention that there is a cool way to do so using channel 7. The CH7_OPT can be set to SAVE_TRIM. Then the roll/pitch trim can be used to get the heli to hover. Later channel 7 can be used to transfer the trim values to the AHRX_X/Y. Of course the user then needs to undo the trims in the radio.

I apologize for getting off topic, but I saw in another build that FrSky makes an SBUS to PWM converter that gives you four extra servo outputs, which would be ideal for the Pixracer. It’s also $12, and I think would be ideal for adding a gimbal or some other functionality to a a Pixracer.