H1 Helicopter - Yaw/Cyclic mixing for mixed turns - How to adjust parameters?

Hi There

I am new to setting up traditional helicopter with a FC so please indulge me.
I have set up my machine following the traditional helicopter setup & tuning pages with limited success so far.
The mixing arrangement that adds roll in the direction that rudder is applied so as to provide a coordinated turn in forward flight is working. My machine toilet-bowls only when I apply yaw/roll stick inputs in hover & this seems to be related to the yaw/roll mixing. Is there a way to adjust the proportion of yaw/roll mixing & also possibly its proportion in relation to airspeed. I believe my problem may be best solved by improved yaw tuning but I would still like to get an understanding of the yaw/roll facility.

Any help received gratefully

Regards
Simon

Simon,
What parameter are you referring to? There is no feature that I know of that applies roll in the direction of rudder.
Bill

Hi,

A log file would be great as a starting point to help you.

Thanks for replies

Bill’s comment has just made me think that I may have unwittingly introduced the mixing by my set up of my teranis radio. I will go through that & see.

Regards
Simon

It is perfectly fine to put in a mix in the RC for roll to yaw mixing that you can flip in and out with a switch on the RC for manual flying modes. I have several custom mix curves set up in my RC for high-speed turns with single-stick flying. And can turn them on or off as I desire.

There is no roll to yaw mixing in the ArduPilot code. Roll to yaw mixing is sort of handled automatically in Auto flight mode but it is not really a “mix” - it is two different controllers working together that achieve the results of a properly mixed ball-centered turn in Auto flight mode.

I will also add that ArduPilot is one of the few, if not the only, helicopter autopilots that can handle sling load operation in auto flight mode. As long as spline waypoints are used. It doesn’t work with regular waypoints.

At 20-30kts the autopilot will keep the sling load centered and inline with the helicopter’s mast in a turn on roll, with the load only lagging in pitch axis due to aerodynamic loads on tether and load itself. Getting a sling load flying, and coming to a stop with it, the autopilot can’t handle. That requires a highly experienced human pilot to get the load in flight and set it down. We fly sling loads up to 15lbs with the big gas piston heli’s on a short tether, with minimum fuel in the tanks for the flight.

Hi There Folks
Thanks very much for replies so far. I went through my radio to ensure mixing was not occurring there (none). I re-loaded board with latest trad heli firmware & defaults. The Yaw/Roll mixing I am interested in occurs thus:

With the board active & connected to Mission Planner. Looking at the flight data screen the copter has a Red (current heading) line that is aligned with the board & a yellow/orange (direct to current waypoint) line that moves according to TX input. With a properly tuned tail rotor the two lines align in flight & there is no “Yaw/Roll mixing”. With copter sitting on bench & PID & tail active the Yellow line may diverge from the red & in this condition, when you apply pitch-forward, a degree of roll is also added. The amount of roll depending on the amount of divergence.
This appears to me to be all right & proper. Say a yaw-roll version of H_Col Yaw (Collective pre-comp) You may not even notice it with a properly tuned tail. I noticed that having gone back to default settings the amount of “Yaw Roll Mixing” has changed so it must be adjustable somewhere. Would anyone know what settings might govern this? It seems to be causing my machine to toilet-bowel when switching into Loiter.

Regards
Simon

1 Like

It would really help if we had a param file and a log file. If you could post that, that would be great! We really need to see your settings before we go any further.

Any news about this? I have searched around for it, but this seems to be the only post talking about this. I am using a H1 helicopter and noticed this too when checking movements on the bench.

When the desired heading and the actual heading differ, some strange mixing is going on: if I command roll, some pitch is mixed in, and if I command pitch movement, some roll is mixed in.
The further the heading are from each other, more mix between pitch and roll is applied.
When the heading are the same if I command roll, there is no pitch mixed in.
I don’t think this is normal, probably it will cause big problems to both attitude and position control, because tail will never be perfect and can lag behind.

Can somebody take a look at this? It’s super easy to reproduce on the bench, and it’s still here in 4.5.1, maybe It’s better if I make a new thread about it?

Thanks!

Post a log file please

Bill, sure I will, I’ll try to post a video of this behaviour on the bench.

No video is required. Just a log file. It gives us more insight into what your parameter settings were when you conducted the test. If you’re doing the test with aircraft disarm, then set the log_disarmed parameter to one so it’ll log the data.

1 Like

Here is the log file of our pixhawk (Holybro 6C) test bench, where you can see this strange roll/pitch mix when there is yaw imbalance: WeTransfer - Send Large Files & Share Photos Online - Up to 2GB Free

  • From 13:25:00 to 13:25:20 I was moving first pitch and then roll stick with no yaw imbalance → No pitch/roll mix.
  • From 13:25:25 to 13:25:40 I was moving first pitch and then roll stick with max yaw imbalance → There is a pitch/roll interaction.

This is the video of this part: https://www.youtube.com/watch?v=QceMLRs3wbU&ab_channel=ProtosOne

The second part of the log, from 13:27:15 to the end, I was moving the pixhawk to check if the stabilization is affected by this problem when there is yaw imbalance. It seems not, but…

Let me know if you need something more. Thanks!

Did you have time to look into this? I think it’s a big problem for anyone using H1 layout, it can cause problems and make it really difficult to control when the tail is lagging behind.

There is no issue here. The software works as designed. The pitch and roll commanded inputs are based on the commanded heading. The commanded heading is the yellow line which is over 10° off from the actual heading of the aircraft. So the outputs to the servos are transformed to the aircraft actual heading, and thus there is a mixing of the pitch and roll due to the offset between the commanded and actual heading of the aircraft. If the commanded heading was allowed to get 90 deg away from the actual(which it isn’t) then the commanded pitch would be seen as roll outputs and vice versa. The code doesn’t allow the commanded heading to be more than 10-15 deg from the actual and so the coupling is minimized for poorly tuned aircraft. A well tuned aircraft should never see this condition unless you get into loss of tail rotor effectiveness or some extreme condition. Your test is not representative of actual flight and is not valid.

Thanks Bill for the quick answer! I was wondering if what i saw was how it’s supposed to work… but why?
What benefit do I have to control roll and pitch of the aircraft relative to the desired heading instead of the actual heading? Isn’t this causing problem when, even with a properly tuned aircraft, the desired heading is different from actual heading (even if for only just a few degrees) and some control input is given?

It’s been a while that I tried Ardupilot on a Heli and never used H1 before (this is going to be mounted on an old Hirobo that has mechanical mixing), I was wondering if what I saw is different on a e-ccpm heli or it’s the same.

It is due to the control laws being designed to follow a model of the dynamics rather than just making inputs and seeing what the response is. The model of the dynamics just dictates how the aircraft would respond to control inputs. It allows the user to change how they want the aircraft to respond their inputs. For example, the parameters could be changed to have the aircraft respond more slowly for pattern flying or more quickly for acrobatics.

You would see the same behavior using any of the other swashplate types that are available in the code.

Thanks Bill, I appreciate your patience explaining this. I think I understand what you are saying as a general concept, but I struggle to find an example of how having roll and pitch inputs related to desired heading and not actual heading will change the way the aircraft flies… in hovering, at least. Can you make an example so that I (and probably also other ardupilot users) can understand how this way is better and how to dial it so that the result are what we desire?