Please help on Heliquad setup

Ok. Say that I find good values on IM_STAB_1, 2, 3, 4. How do I translate these to the H_COL_MIN and H_COL_MAX so that I get it for all modes?

The H_COL_MIN and MAX is the absolute minimum and maximum pitch settings. The IM_STAB_COL’s are a subset of that. The H_COL’s must be set first, then you can fine tune it to what you want in stabilize with the IM_STAB_COL’s.

I see. But I don’t quite understand how to set the H_COL’s. It says to select the PWM for the swash plate at MIN, MID and MAX, where MID is 0 pitch (no lift)? Where is the H_COL_ for hover? Which PWM should I look at? My servos has different PWM at the same throttle from the RC. Should I look at the RC input?

I’ve got the same “problem” as the owner of the thread. My pitch has the possibility of becoming negative and I want to make sure that the system never uses the negative pitch. Is this done with H_COL, or IM_STAB?

If you want no negative pitch, then set the H_COL_MID to zero pitch. Set H_COL_MIN to the same value as H_COL_MID. Set H_COL_MAX to the maximum pitch you want. Set IM_STAB_COL_1 to 0 and IM_STAB_COL_4 to 1000 and you will have the same pitch range in all flight modes, and no negative pitch in the setup.

Thanks a lot. I think this is exactly what I needed to know.

Hopefully my last question. I haven’t really noticed the dropdown menu for parameter lists. I’ve then used this one on all my frames: 3DR_Iris+_AC34.param

Which one should I be using on a heliquad? Can I use 3DR_Iris+_AC34.param but modify the parameters to fit the heliquad?

I’m sorry for all the questions but this is extremely confusing for me. I’m trying to set up my H_COL_MIN, H_COL_MID and H_COL_MAX. It just doesn’t seem to work for me. I’m setting my Heliquad to 0 pitch at H_COL_MIN and H_COL_MID. However, trying to limit the H_COL_MAX only seem to increase my minimum pitch rather than the maximum (or both in some cases).

Am I missunderstanding something drastically?
UPDATE:
Here is my parameter file. The max/min of the collective seem to work but the biggest problem now is that I dont’ get any YAW authority at 50 % throttle… Under 40-50 % YAW works fine. Above 60 % YAW also works fine…

I can’t tell what’s wrong. Any ideas?

ParametersHeliQuad.param (14.2 KB)

So when you set the H_COL_MID, for instance, are you setting that first setting H_SV_MAN to 3? Then set H_SV_MAN to 4 to set the H_COL_MAX?

What flight mode are you using to set it in and test it? What is the maximum pitch you are using in degrees?

I am not familiar with CP Quads but it is possible they don’t work without negative pitch. They rely on differential collective for yaw control, roll and pitch control.

These things are more related to a multicopter than they are a helicopter, the only reason they got into the heli category is because they use the helicopter’s throttle control system (make the distinction between what throttle is and what collective is in a helicopter). Collective and throttle are two different things. You are using MODE 1 throttle control, which is RC passthru. But at this point it is not clear how you are controlling the throttle or headspeed because your RC8 MIN is set to 1500 pwm and I don’t know how that possibly initializes the throttle.

Your RC7 min and max is 1500 and 1501 respectively. And you have that assigned to arm/disarm. I don’t understand how that can work either. It looks like the normal control channels want to calibrate from ~1000 to ~1995 or so. But RC3, which is the collective, is different and the max on that one is only 1906.

Did you calibrate all the channels on the RC? Or do you have some strange mixes in the RC?

I do like the fact that ArduPilot has RC Passthru throttle control in the first place. I would like to remove it. But you don’t have something strange going on in the RC like a mix between the collective and throttle, do you?

This might be an instance where seeing if you can make a video of the phenomenon and post it on YouTube or something might be helpful, so we can see what’s happening.

Thank you for the support. I have not set H_SV_MAN to anything but the default.

I’m testing in stabilize currently. But with the new H_COL settings it doesn’t seem to work so I think I will change back to the standard for HELIQUAD and simply change the IM_STAB to get the correct mid throttle hover. It worked very well the other day. I just thought I would set the H_COL as well, but maybe the H_COL for heliquad is different from the traditional helicopter.

There is no mixing from the RC transmitter. The RC8 is connected directly to the throttle/headspeed motor which runs at 1800 PWM for correct rotor RPM.

The RC7 isn’t used any more. I use throttle/collective down and right to arm.
I did change the RC3 range from 1000 to 2000 with 1500 trim.

I think I will set it up as it was when it was flying well in all modes. I hope that leaving the H_COL settings as they are as standard causes no potential problems.

Ah, OK. This is not a supported setup. It can be flown in Stabilize this way without even being armed, Which based on the settings I see in the params is likely what’s happening. And, of course, it won’t work. There is no way it could arm at present with the throttle signal high. Regardless of the fact you have it bypassed, the throttle control is integral for throttle hold.

Maybe I got misunderstood. The motor is connected to number 8 on the pixhawk. I can arm the heliquad by having channel 8 low and throttle down and right. After arming, I turn channel 8 high and the motor starts. I can then take off, switch to poshold and it works well. I can use auto mode as well.

Note that servo # 8 under “Servo Output” under “Initial Setup” has it’s function set to heliRSC with min 1000, trim 1500 and max 2000. This is the parameter which changes when I flip RC8 on my controller, which in term is set as my RC8 motorinterlock under “Extended Tuning” as well.

Do I need to be able to change the motor rpm to have a reliable unit? I thought the point of a heliquad was to have constant rpm and only change the pitch of the rotors?

I don’t know what “Extended Tuning” is, that must be something in Mission Planner that we don’t recommend using for helicopters.

It was confusing because this the settings of your RC
RC8_MAX,2000
RC8_MIN,1500
RC8_TRIM,1501

With a 1500 pwm minimum signal on RC8, it should not be allowing the system to arm and you should be getting a “motor interlock” warning. Why is the RC8 not calibrated to the same range as like RC1?

RC1_MAX,1997
RC1_MIN,1001
RC1_TRIM,1500

That’s why I question the RC calibration.

Oh. What GCS is recommended for arducopter? I thought mission planner generally was the best GCS for ardupilot.

Yes. I did change the RC8 parameters now. The heliquad flies well and keeps it’s position in poshold and goes up and down at roughly 60 % and 40 % collective.

Well, it is important to read the documentation for setup for helicopters. And it does say in the documentation:

Thanks. But I believe all of the parameters getting changed in the Basic, Extended and advanced tuning pages can be found in the full parameter list.

Do you know if this recommendation is also true for heliquad as they have more in common with multirotor?

Yes, it will apply to the CP Quads too. The reason we don’t recommend using those pages is because many of the settings are considered “out of range” for multicopters and there has been instances where these pages make “helpful” settings that will crash a helicopter. Only the Full Parameter list gives you full control and allows you to verify that you are changing only what you want to change without the software making “helpful” settings that it “thinks” are out of range.

The heli setup page in Mission Planner also does not work. We have a heli setup page in QGroundControl that does work. I don’t want to point out what is the “best” ground station or anything. But Mission Planner is a legacy application and only runs on Windows. Windows is no longer the predominant operating system in computing - Android is. QGroundControl runs on anything - Windows, Mac, Linux, Android, iOS.

I am still concerned about your basic setup. Simply moving the RC calibrations manually is not really a good idea. It is obvious the full RC calibration was not done, or all the channels would agree. Or it was done and your ground station software did not write it to the controller properly. Which ever the case may be, this is a pretty important step.

I understand. I know I have set IM_STAB_3 slightly out of range. But it does not seem to affect anything in a bad way as far as I can tell at the moment.
Would an out of range setting cause something like an overflow in variables or is it simply because it may cause unwanted flight behaviour?

Ok. I thought Qgroundcontrol was made for PX4 autopilot. Does it work well with ardupilot?

I will have a look and see if I have to do the radio calibration again. I did change some of the ranges manually.

Thanks for your help.

QGroundControl has come a long way over the last year or so…and yeah, works with Ardupilot.

I know this is a bit old but I think you are missing the point Chris is making with RC calibration. I too have the heliquad and I too went through the same such headache as you went through (my issue was due to RC calibration which I will explain further).

My main issue was initially setting the radio model to heli (as I always do for all of my T-Rex helis), which by default enables CPPM mixing (some radios will allow a straight swash or one without mixing but not all do so the recommendation is to use a plane model). I fixed this with help from Bill Geyer on a different forum, his suggestion which I believe should be noted everywhere for us heli users (as its not as obvious as one would think) is simply that a heli model = CPPM mixing (even without custom mixers in the radio). this means even when mixing is disabled, there is always some type of mixes going on to the the channel outputs in the radio, CPPM in my case was mixing no matter what swash type I chose (FlySky FS-i10), so even straight swash was still not straight in my case, so the PIXHAWK could not map the channels properly. CPPM mixing by nature of what it does will mix the cyclic servos collectively together for the proper pitch to achieve thrust/roll/pitch and yaw. This does so for the helis by manipulating the swashplate which is connected to the rotor then the blades (this is how we achieve lift and flight). Its not as obvious for us heli guys to simply create a new model with airplane selected (AND NOT USE A HELI MODEL) as this outputs the correct channel to function (without mixing). My issue was using a 120 degree swash in my radio kept mixing the channels so my RC calibration was always off, similar to what you are facing (I even tried all 6 swash types in my radio but they ALL, I REPEAT ALL, mixed outputs together in one form or another so it was never a true 1 to 1 output as it is with a plane model). This is critical to successful flights, you must calibrate the RC correctly as this maps out the channels, input/output to the the internal mixers of the PIXHAWK. I only use QCGroundControl (I dont bother with any other ground control, only QC).