HeliQuad rudder 4th servo not mixing with the collective - acting as tail rudder

Bill, I got it sorted out and flies perfectly stable now with the roll leans (leveling in ACRO). I only fly my 700 in ACRO (600 stable/acro) so getting this perfect was everything needed for the perfect acrobatic and sport flights! Turns out I just needed to add +3 radians to the AHRS_TRIM_X param. I like the way ACRO mode handles my moves in flight with the self-leveling (trainer / self-level but no max angle limit). I set it that way so I can roll (aerial) without losing (roll) level. My 700 is so dang heavy it falls out of level all the time in any type of rolling, especially during any 3D maneuvers (like an aerial roll). Now I can roll it and the bird keeps itself level so I dont have to fight it through the roll (it holds level on its own now) so my moves are so much easier on the 700 than it was before. I haven’t forward looped it yet but that’s the next test. A forward roll will prove the config is perfect and holding level on all axis. As soon as I fixed the roll (left lean) issue with AHRS_TRIM_X (+3 radians), I discovered it was pitching backwards the tiniest bit, so I tweaked the AHRS_TRIM_Y param (-1 radian) and charging up to test. Once I get level perfect across all axis, thats my gold config and will be used for all future firmware upgrades/re-flashes/ETC., as it holds the exact positions for everything, servo travel, FC location (angles in the frame that AHRS_TRIM_ accounts for to fix level), and so on. It has every single config I need to fly a perfect bird in this one gold param file (I love the param files for this very reason)! Again thank you for everything and I AM LOVING THE PIXHAWK!!

Sorry for going on and on but I really like the open source pixhawk motto, community, and so on. This is the perfect FC for any DIY person that likes to tweak!

@bnsgeyer, Bill, are these warnings anything to worry about? The 700 flew without an issue (both flights, both had the same GPS/EKF warnings). It is very muggy/cloudy here so I expect GPS lock issues (I dont even use GPS at all), so I am thinking about disabling GPS altogether (but I wanted to hear your feedback first). I assume the GPS glitch causes the EKF issues which then all clear, my only fear is EKF fail safe, but I dont know if I should be worried or not considering theres basically no visible sky (all dense clouds):

GPS: GPS GLITCH
EKF CHECK: EKF CHECK BAD VARIANCE
EKFINAV FAILSAFE: OCCURED OR FAILED TO INITILIASE
EKF CHECK: EKF CHECK VARIANCE CLEARED
EKFINAV FAILSAFE: ERROR RESOLVED/CLEARED
EKF PRIMARY: OCCURED OR FAILED TO INITILIASE
GPS: ERROR RESOLVED/CLEARED
EKF CHECK: EKF CHECK BAD VARIANCE
EKFINAV FAILSAFE: OCCURED OR FAILED TO INITILIASE
EKFINAV FAILSAFE: ERROR RESOLVED/CLEARED
EKF PRIMARY: ERROR RESOLVED/CLEARED

The errors always clear, but this is new, only the last two flights today were showing this error (never before but no issues I can see caused by it). Again its really cloudy so no GPS locks, and I only fly the 700 in ACRO so no need for GPS. My thinking was to just disable GPS following the steps below, anything to worry about before I do disable GPS? I will never use a GPS flight mode so keep that in mind:

Disable GPS in non-auto** modes - set AHRS_GPS_USE to 0
Disable GPS_FAILSAFE
Enable Battery_failsafe to LAND only or disable (not RTL) - set FS_BATT_ENABLE = 0 or 1
Enable Throttle Failsafe to LAND only or disable (not RTL or continue) - set FS_THR_ENABLE = 0 or 3
Disable FENCE - set FENCE_ENABLE = 0

This was in the messages of the last flight with the GPS errors:

@GROOVY1975 Do you have a log for this flight? Seems like there is something going on with your compass. Are you using the internal compass(in the pixhawk)? typically we only use the external compass (in GPS). Sometimes with the magnetic fields near the Pixhawk, the internal compass wont calibrate properly. Also how many EKFs are you running? Again Chris and I have learned to only have 1 EKF running. At least in the past, the software doesn’t gracefully transition from what it thinks is the bad EKF to the good EKF. I have never experienced it but Chris has had instances where the aircraft would think it is 45 deg off in roll and start dancing around uncontrollably.
So if you could get a log posted that would help further identify what part of the EKF was unhappy.

Thanks Bill, I will get you a new log, I wiped those after reviewing but didnt save locally. It flew fine, and flew great this morning (still very cloudy). I have had that weird issue once on my 600 when in a GPS mode, it went 45 degrees crazy trying to correct something that didnt need to correct but I saved it and landed somewhat gracefully so it was fine (and is fine to this day, I just flew my 600 and 700 an hour ago and charging up both now). My 700 only started this issue but its been super cloudy so I assumed it was that causing GPS glitches since I haven’t changed anything else in that respect. I think I am running 2 EKF’s (whatever the default is for that), I haven’t modified the EKF’s so whatever is stock. Also I DO use the compass on the internal PIXHAWK and the external (figured two was better than one but I can disable the internal) if that’s the recommendation when having two.

Remember on my 700, ONLY ACRO is used, I do not have any other flight mode assigned or used, only ACRO across all modes on my 700 (I am mentioning this because you said in GPS modes to disable the internal compass). Does this hold true in ACRO only modes? Should I disable my internal if only using ACRO?

I just flew, it had one GPS glitch but then a whole bunch of these:

  • 07:37:05

EKF2 IMU0 in-flight yaw alignment complete

  • 07:43:17

EKF2 IMU1 switching to compass 1

  • 07:43:25

EKF2 IMU0 switching to compass 1

  • 07:43:27

EKF2 IMU1 switching to compass 0

  • 07:43:35

EKF2 IMU0 switching to compass 0

  • 07:43:37

EKF2 IMU1 switching to compass 1

  • 07:43:45

EKF2 IMU0 switching to compass 1

  • 07:43:47

EKF2 IMU1 switching to compass 0

So I reconfigured my compass and removed the internal (disabled internal).

Bill it WAS the internal compass screwing up, I disabled it, then did the compass calibration (with only the external selected), charged up, flew perfectly, and when I say perfect, I mean it. I was able to do 3 consecutive Pirouettes back to back without losing level nor drifting (it was cool). Usually I can only get 2 consecutive before losing my position in the air, now its so perfectly tuned, it just holds there (without GPS), only ACRO. Its so perfectly tuned and level, it just holds level in the air now (and its getting windy now). I left GPS on and didnt touch anything other than the internal compass and the re-calibration of the compass.

These are the messages now (back to the way it used to be without the glitches or EKF warnings:

ArduCopter V3.6.10 (1c04a91e)
ChibiOS: d2030d88
fmuv3 00470038 30375102 36363831
New mission
Frame: HELI
GPS 1: detected as u-blox at 115200 baud
EKF2 IMU1 in-flight yaw alignment complete
EKF2 IMU1 Origin set to GPS
EKF2 IMU0 Origin set to GPS
EKF2 IMU0 is using GPS
EKF2 IMU0 in-flight yaw alignment complete
GPS: u-blox 1 saving config
EKF2 IMU1 is using GPS

Final thought for the day, I have my vibes down below 13 at peak (takeoff/landing). When I did the 700, I used the gel to hold it, then no wire ties on anything, no wires, ETC.

that is true for all modes. Compass is used in EKF in acro. You have to remember that in acro you are still susceptible to EKF glitches because acro still uses the attitude solution provided by the EKF as well

Glad to hear disabling internal compass seems to have fixed the issue. I would revert to 1 EKF thread. I believe the parameter to do that is EK2_IMU_MASK. Set it for using just the first IMU. so it should be set to 1 (i think)

Awesome, thanks! That was one question I wasn’t sure if I should ask or not because its so sound in the air now. I will try 1 EKF and report back.

well sure it will work great as long as the EKF thinks it doesn’t need to switch but when it switches then all hell breaks loose.

Thats very much my fear, so I am making that change now.

These are the bitmasks, so I am assuming 0 is the right option to only use EKF1?

Bit Meaning
0 FirstIMU
1 SecondIMU
2 ThirdIMU
3 FourthIMU
4 FifthIMU
5 SixthIMU

Edit NM, 1 is right

you are setting bits. so to set the first bit (bit 0) it would be 2^0. so you would put a 1 as the value. which is the number that results from 2^0. for IMU 2 they you would set bit 1 which is 2^1 which has a value of 2. Now if you wanted two EKF threads then you would use a value of 3 which is setting bit 0 and 1

Yup got it, thanks Bill! Understood

1 Like

@bnsgeyer been a while, but I have another question. I am struggling with terrible vibes on my CP UAV. The servos still react a tad funky when the vibes are peaked (this is at the high end of the power cycle). I am thinking about getting the pixhack for my UAV, then using the new pixhawk I just bought for helis and only use the better one (pixhack) on the UAV only. Do you recommend this idea or can you confirm the vibe isolation is so much better that it should better?

@GROOVY1975 do you have a flight log you can post. or better yet could you post a flight log with the LOG_BITMASK set to 131071 and INS_LOG_BAT_MASK set to 1. with these settings I’ll be able to look at your vibrations and see if a notch filter could help.

As far as the pixhack v3 vs pixhawk, I can’t really say that one is better than the other. I know that @ChrisOlson prefers the pixhack v3. I certainly like my pixhack v5. I have a pixhawk 1 and it works well with the foam mounts. I have never used the pixhawk 2.1.

I do not have the logs anymore, I reused the pixhawk for my 600 when I bought the new one for my 700. I lost all logs but I can tell you, they were averaging in the 100-120 range (documentation states 30 is the high-end acceptable ranges) so I know it is terrible, my helis are now in the 5-10 range for the top-end. I can fly the CP UAV, but not really, anything above 55% throttle kicks up the motor RPM’s to the point the vibes start killing the pixhawk, my servos start to react funky, then all hell breaks lose and it will try to counter things that arent happening, its weird but definitely a vibe issue as it works up until the point of hitting the 80 mark (vibes). This isnt the servo issue I was first working on in the beginning of this forum but a new one introduced by the vibes. I was keeping track of exactly when the issues started and correlated this to the logs (vibes) and it was the root cause (at least as far as the logs showed). Mind you, this is not just one pixhawk I have tested, but both of them, they BOTH react the exact same when it hits those high vibe marks.

I figured if the pixhack had better vibe isolation, I would try that verses trying to fix an issue that cant be fixed with the fundamental CP UAV design (which is known to be a bad vibe device). “capable of inverted flight but can suffer from high vibration levels” - taken from here http://ardupilot.org/copter/docs/heliquads.html

@bnsgeyer Bill one more question regarding RSC (heli throttle). I decided to go with the pickhack you recommended and waiting on it for my CP UAV so back onto the helis.

For RSC, channel 8, I always use the throttle curve, but I am finding the RPM inconsistent so I want to change it up to use more of an “idle-up” type lock so my RPM is set and remains constant so it doesnt move with the throttle stick (right stick up/down). If I change this to “Ch 8 input”, does this mean it will turn on the motor, spin up to the RPM I have set (like in the picture) and remain at that speed (or close to it with the load of cyclic)? My fear is two things, the first is if I toggle channel 8 (assuming I am set to Ch8 Input) does it “ramp” up, or will it engage and chew all my teeth up? The main reason I use the throttle curve is to prevent damage to my teeth as my 700 is massive and must be spooled up slowly then I would flick my throttle lock (governed RPM) so the throttle is constant but my cyclic is free to increase/decrease lift/pitch. This is my 3D flight normal method, but now I am using the pixhawk so I have it set to throttle curve but of course, its raising/lowering the RPMs with my cyclic movement (up/down right stick). I would like this to remain constant at a steady speed using only the pixhawk. Should I set it to channel 8 and it will ramp up to my desired speed and keep it there?

My other fear (aside from chewing up the teeth) is how does the pixhawk know the RPMs so how can it remain constant so I am fearful of losing altitude if/when it slows the RPM now knowing its not up to speed.

Really all I want is to arm the heli, then flick the motor interlock, and it slowly ramps up to the desired RPM and is “locked” or governed at that RPM so I am free to maneuver any 3D I wish to fly but without worrying about varying motor RPM’s and varying power. This makes my moves inconsistent. I dont really want to use the throttle curve for the RPM speed, only cyclic pitches, this is how I always had it on my helis when I wasnt using pixhawk or any FBL gyro, I used to control the RPM speed by my radio and external governor. Now with pixhawk, I am using the throttle curve to ramp up the massive blades then lift off, but I would rather get the blades up to speed then lock my RPM and lift off / fly.

In the beginning of this thread, we went back and forth on the throttle curve as I was new to pixhawk and still learning it, now I am familiar with it and the parameters and want to tweak it even further to gain back my idle-up/governor.

Disregard this question/comment, I figured it out following the advice in this article:

I just set my RSC to channel 8 (heli setup), then on my radio, I tied channel 8 to a knob so now I have FULL control of my RPM with fine tuning increments (using the knob)! Works beautifully (in fact it works BETTER than before with my governor because now I can very slowly spin them up and “lock” the RPM to whatever I want it to be without using my PC to edit the governors settings)!. This is AWESOME!

@GROOVY1975 Sorry that I didn’t respond quicker. Ok. so for RSC mode 1, if your aircraft RC receiver loses reception with your tranmitter, then the flight controller will listen to what ever the RC receiver tells it to set for channel 8. So if you don’t have the RC receiver failsafe to hold last value, then it will stay at that RPM or if you have it set to send nothing then the flight controller will shut down the motor.

Let me see if I understand this correctly. You are running an ESC that has a governor feature but you chose not to use it. instead, up until now you are using the throttle curve only without the internal governor Chris made. The throttle curve caused your speed to vary. So now you are now using CH8 Input mode of the RSC to vary the motor RPM. So you understand that under load the rotor speed will still vary some doing it this way. That’s why ESC’s have governors built in.

So in all of the RSC modes, the throttle signal sent to the ESC/throttle servo (ICE) is ramped to flight throttle setting (RSC_SETPOINT for mode 2 or the throttle curve setting based on collective position for mode 3). The time it takes to ramp to that throttle output is set by the parameter RSC_RAMP_TIME. You could set this to 30 seconds and thats how long it would take for the output throttle to go from the RSC_IDLE value (which is zero if you are using an ESC) to the flight throttle setting. So you don’t need to turn up the ch8 input to spool up. You can set the RSC_RAMP_TIME to do that for you. I already see that you have the RSC_RUNUP_TIME set to 30 seconds. the RSC_RUNUP_TIME only tells the controller how long to wait before allowing autonomous takeoff or flight mode switching. It doesn’t control the throttle output.

When you say external governor, were you using a gas engine? If you are using an ESC with a governor, you can do exactly what you are describing above. However the ESC controls how quickly the rotor is spooled up. the flight controller has nothing to do with that. There are settings in the ESC that allow you to do a slow, moderate or fast spool up. So I set the RSC RAMP TIME to 1 second. because the ESC takes care of the rest.

I am hoping to take some time in the near future to write a wiki that describes how the RSC works. I’m guessing there is a lot of confusion on how the settings work. Maybe you can review it for me to see if it makes sense for users coming from the RC heli world.

Sorry for the difficult to understand post, I will clarify and thank you for always providing the most detailed, thorough answers! It really helps.

Yes I was using the throttle curve to control the RPM, this was because I didnt understand the RSC modes (you tried to explain it in this forum early on but I didnt get it). Yes I was using the TCurve to handle the spool up then lift power. Yes I have a Castle HV 120 Talon with governor I wasnt using. I USED to use the governor when I was solely radio/TRex and no FBL controller (gas/electric). I have only ever used NoBar (no FBL controller) throughout my heli years (20/25+ years probably more since I started at 14, now 43). Yes it was gas at one time, now only all electric. When FlyBars were the norm, thats what handled my flight stabilization with tail gyro only, when FBL came out, I moved to FBL but without the FBL gyro. Early on, they were not so great (not like they are now with modern technology) and had a few fatal crashes (heli fatality, not human), so I opted to remove that layer of complexity from the design and solely used use the radio with my ESC/governor.

Skip ahead to now and the Pixhawk. I was always trying to replicate the same setup I always flew with NoBar and ESC governor. Also I want the same config on all my birds (my 600 has no Talon and no governor) so this was an issue but the knob solves it. Now both my birds share the exact same setup regardless of ESC/governor and it doesnt matter, one config (except the trims and cyclic positions for the swash) keeps my mental preparedness in sync so I dont have two different setups for both models (which tends to lead to forgetting something and an unexpected spool-up). My startup was always, arm heli, spool up, toggle my idle-up (which was nothing more than a governed RPM of the power range I wanted my headspeed to be) and off I went. In the Pixhawk, I tried to replicate that by using the TCurve (but was obviously wrong) until I finally understood what you were telling me all along (early on in this forum). I moved to the knob for channel 8 with a safety switch (for loss of radio or out of norm control) so I can fine-tune the RPM’s in flight for any condition. Yes I get that my motor will be under stress during certain moves (and expect it) but I have the motor spinning the blades with the right amount of power so during lift or any hard moves, it handles it without an issue or bogging. I like this better than with the governor mode as I had to use my castle link and PC to edit the RPM’s (home/bench), now I can simply do it on the fly and while in flight to handle any moves when I need more power for or to aid in my cyclic lift for 3D maneuvers. My governor would just keep it steady RPM range under any load but I could not increase/decrease as I wanted but (but needed to for the best 3D flight). By having this fine tune granularity has improved the majority of my 3D maneuvers even more than before with governor (rolls/ loops/pirouettes) as now I can simply click it up a notch at the right time (cyclic lift) to roll it even easier than with a steady/fast RPM set by a governor. Now I have full control over my bird and I am loving it.