Tandem Helicopter PID Tuning

Oh, one important point about tandem helis: I believe what you have coded, is that the output of the Yaw PID loop, is differential cyclic pitch, right? The problem is, DCP does not by itself give you yaw torque. It’s the thrust vectors becoming angled which gives you yaw torque. The magnitude of the yaw torque, will depend on the angle of the disks, multiplied by the collective pitch thrust. The yaw controller should probably we aware of the amount of collective pitch thrust. If you were in a zero-G manoever, you would have no yaw control.

The really important point here, is that I would suggest the machine is built with compliant head dampers, such that the rotor disks can articulate. Modern FBL hobby helicopters tend to use very stiff dampers, which don’t allow articulation, and will give you problems with yaw.

Had a really quick look at the 3rd log file.

First, the Attitude PID tuning is not nearly good enough. Particularly in pitch.

Also, the IMU data is showing very significant aliasing on the IMU3. It’s basically useless. But even the vibration on IMU1 and 2 is quite high.

Try to change the INS_ACCEL_FILT and INS_GYRO_FILT from 20 to 10. This will clean it up digitally a bit. But I don’t recommend going beyond that. If it’s still too high, you will need to solve the problem mechanically.

Rob,
Thanks for the correction. I didn’t realize the values were dependent on heli size.

Well, they’re not directly dependent on heli size. But there’s a correlation. The larger the heli, the lower the angular acceleration rate should be.

The low values I use are to give a nice “feel” for customers who are not performance helicopter pilots.

Also great comment on the head and tip path plane tilt. Hadn’t even thought about the fact that scale heli heads are so much stiffer. You’d end up twisting the fuselage to get the thrust vectors to tilt.

Thanks Rob and Bill, great points here.

Okay, that makes sense. Just to read that back - the I term is trying to correct the error it sees, but with ILMI not high enough, the error never closes because the I is leaking?

Very good point - yaw control only works when there is thrust from collective. I haven’t seen any yaw-related issues yet, but that’s probably because I’m hovering at the same altitude using the same collective. Will keep this in mind to add.

So I assume that this is because the constant offset between Pitch and Desired Pitch is quite large, >5 degrees generally? Strangely enough, while I see this effect in the logs, I’ve never seen any problems with pitch in Loiter or Alt-Hold.

Okay, will try this!

Generally:
I was trying to work out some of these tuning procedures with @TianChang_Yonah on SITL, and you can see Learning Arducopter Control Chain Tuning with Xplane 10 for some of what we’ve learnt. We hope to apply these lessons to tune the tandem as well.

Yes, thanks for reminding me to use the correct terminology Bill. :wink: Yes, TPP

Sriram: I’ve tried to ask Philip what the acceptable vibration levels are for the PH2.1, but he doesn’t have a hard answer. I don’t know what to tell you, but I would not personally fly with vibrations like that. I think you are going to need to add external isolation to that machine if you can’t fix the source.

I see. The vibration hasn’t outwardly caused any issues, looks perfect in Stab and Alt-Hold, but it’s very possible that it’s also part of the problem regarding Loiter performance. I’ll give the filtering a shot, thanks Rob.

Don’t forget, it’s as much about the Tip Path Plane as it is about the Collective Thrust. That is the rotor disk tilt in layman’s terms. On this point, you should probably be using the softest head dampers you can get.

I haven’t looked yet if the vibration is causing problems with Loiter. I’m actually more concerned with the hardware failing. There’s a limit somewhere. I found it once, on a gas heli. But we don’t have a good measure.

The digital filtering won’t help Loiter I don’t think. It’s more for the Rate controllers. It will allow you to use more P and D term. Also change your ATC_RAT_RLL_FILT from 20 to 10. and the other two axes as well.

You’ll now have double 10 Hz LPF, which I understand helps the “roll-off” of the vibration frequency attenuation. This is what I normally do on anything that is not “sporty”.

On sporty things, I will sometimes increase the gyro frequency upwards, to 40. It all depends on the situation.

Okay, makes sense that changing the filter might allow for higher P/D gain.

Oh dear…

Bill also suggested something similar so that I can increase P/D, sounds good to me.

Ah yes, OK. Bill is experimenting with filtering levels I have not played with yet myself. Start at 10, and then reduce it step by step, see how it goes.

I have flown on 5 Hz once, years ago. I felt it made the helicopter less resistant to small disturbances. But it’s worth revisting.

@frizensami I hadn’t seen anything in the Blog or here. Was wondering how the project is going?

Hey there Bill,

We had to pause the 500x2 tandem tuning, but what we got near the end was an improving Alt-Hold performance by lowering ACCEL_Z_P and ACCEL_Z_I. We didn’t manage to test how Loiter performance was affected by this change, but our simulations indicate that ACCEL_Z should help significantly.

Nice timing though, we’re just about to test our gas-powered tandem heli on the ground in a few minutes :slight_smile: That’s what we had to prioritize over our 500 electric tandem. Bit too hectic around here right now to write something for the Blog, but I hope to do it someday!

Sriram,
Any more progress on the Tandem? I haven’t seen any news on the weekly Dev call regarding your project.

Hello Bill,

Still running through some engine testing on the ground, tuning the electronic fuel injection system. Hopefully we’ll get to flying soon! Any tips for working with these large gas helis?

No, I’ve only worked with nitro engines and I am moving away from that. Is this a dual engine system or a single engine with shafting to both main rotors? If it is dual engine are they just powering each main rotor or are they shafted to power the other main rotor as well?

It’s a single engine system that powers both rotors through a few belts and pulleys.

Sriram,
I haven’t seen any posts or updates in the developer meeting notes regarding your project. How are things going with it?
Bill

Hello Everyone, i am trying to build tandem heli using pixhawk, but i am not able to get servo motor connection to pixhawk from the blog or pixhawk website, can anyone tell me how to do the connections of the servo and main motor to pixhawk.
thanks in advance. i am sending a sample image which relate to my tandem design.


i am newbie. so dont know much about these. thanks

hi,frizensami .How is your tandem helicopter now?