c172p-team / c172p

A high detailed version of the Cessna 172P aircraft for FlightGear
GNU General Public License v2.0
79 stars 44 forks source link

Rudder Trim #1217

Closed legoboyvdlp closed 5 years ago

legoboyvdlp commented 5 years ago

The POH of a 1982 Model P which I have suggests rudder trim is an option, apart from the manual rudder trim tab that can only be moved on the ground:

image

I am not certain if the cockpit control moves the manual tab (i.e. should adjust the permanent rudder trim factor we have) or is separate (should be SUMMED to the permanent rudder trim factor)

The manual tab is this part: image

According to Figure 7-1, the rudder trim control is a wheel exactly like the elevator trim, but mounted below the elevator trim at 90 degrees.

This feature is probably not common, but is definitely an option.

legoboyvdlp commented 5 years ago

http://airplanesusa.com/wp-content/uploads/2016/09/11643.jpg

One example of a 1981 model P. More photos at http://airplanesusa.com/?planes=cessna-172-p-skyhawk-3

gilbertohasnofb commented 5 years ago

@legoboyvdlp I think we already had this discussion before. We have added the rudder trim tab model to the rudder (the little fin) but, if I remember correctly, both @wlbragg and @dany93 agreed that we would not implement this functionality. The argument was something along the lines that this is something that tends to be set by mechanics and not pilots and it's not something that people would change often/at all. I personally think such option can end up doing more harm than good, since it has nearly zero useful functionality and could generate a million new bug reports ('why my aircraft turns so much on the groundz??')

dany93 commented 5 years ago

If I remember well, the argument was about a rudder-trim setting which could be made only on the ground (by manually bending the manual tab, done by mechanics, normally). Here, @legoboyvdlp is speaking of a rudder trim which can be set by the pilot from the cockpit (like the elevator trim). Doable in flight. But I agree with @gilbertohasnofb, I'm not sure it would add much.

An aileron trim from the cockpit would be more useful for the comfort (particularly because our joysticks have more or less strong return springs), but it does not exist on the real one.

gilbertohasnofb commented 5 years ago

Oh I completely misread it. Sorry guys, I'm multitasking a lot lately and I am reading a million texts every day. About the rudder trim from the cockpit, I think the absolutely vast majority of 172P's out there do not have such system. I personally don't see the point of implementing it.

wlbragg commented 5 years ago

I'd have to side on is it "realistic", is it a common feature in this model/year aircraft? If so, then yes I think we should offer it. If not then the manual tab is OK. Also I think we discussed the option of a GUI option to "manually" trim the "manual trim tab" as if the mechanic did this for you. My opinion on that is I am on the fence. We probably will never add an option to change the timing of the engine, is this the same kind of thing, to low level? Or even as @dany93 pointed out, the lack of the aileron trim feature in the real thing, there is a manual way to adjust this, I doubt we will ever offer that either. But what if all those options existed? What fun for the ultimate enthusiast. So I am on the fence when it comes to any of these options, I could go either way.

legoboyvdlp commented 5 years ago

The feature definitely does exist for the 1982 Model P - and I posted a screenshot of a 1981 Model P with it included. Regardless, I must admit it is rather uncommon to find rudder trim in any model P.

legoboyvdlp commented 5 years ago

http://www.cessna172club.com/forum/ubbthreads.php?ubb=showflat&Number=226050:

'I have factory installed rudder trim in my 1982 172P Skyhawk II, works great, luv it !'

'Mine does not have a tab on the rudder like my elevator trim does.

The adjustment is a knob, it would be manually moved horizontally, spring loaded with notches.

Couple 3 or 4 each side of center(or neutral), little rudder trim, little more rudder deflection and a little more for severe yaw correction...

The knob is located just above the fuel selector in the center of the consol adjusted notch by notch in a horizontal direction with a small, round, black knob.

I will photograph next time I am in the hangar.'

gilbertohasnofb commented 5 years ago

What fun for the ultimate enthusiast.

What fun for us addressing bogus bug reports here and in the forum!

We probably will never add an option to change the timing of the engine, is this the same kind of thing, to low level? Or even as @dany93 pointed out, the lack of the aileron trim feature in the real thing, there is a manual way to adjust this, I doubt we will ever offer that either.

This. I personally feel that these features are over-the-top. The rudder trim slider is way over the top for me, but I am on the fence about the feature @legoboyvdlp is proposing, particular after his last post.

'[...] I will photograph next time I am in the hangar.'

I guess he is not posting the photo after 3 years. We would need to find a photo of the cockpit knob.

legoboyvdlp commented 5 years ago

image

This appears to be a 1981 model?

wlbragg commented 5 years ago

Interesting, I wondered how they could make that safe. Only 2 ticks either way. I guess you get used to looking out for it as you do for elevator trim. If you all decide we want to add it, I can do the modeling.

gilbertohasnofb commented 5 years ago

@legoboyvdlp Great, thanks for the research. @wlbragg I am game if you are, I can make textures if you feel like modelling it. We should then add an option to the aircraft menu similarly to the digital clock. And someone has to code it all as well, but should be fairly simple.

legoboyvdlp commented 5 years ago

I can do the coding in that case? 🙂

gilbertohasnofb commented 5 years ago

deal! :smile:

wlbragg commented 5 years ago

@legoboyvdlp I'll use RudderTrimKnob for the object and I can do the animation and effects of the interior knob while I am modeling it as I will have all the numbers (5 stops = -2 to +2).

You can use that same object properties for the fdm control base,however you end up doing that part.

I'll make the rest of the cockpit visual as RudderTrimBase for the optional GUI on/off. If you want to work on that part of the code as well.

I am not certain if the cockpit control moves the manual tab (i.e. should adjust the permanent rudder trim factor we have) or is separate (should be SUMMED to the permanent rudder trim factor)

We will need to verify what this looks like as I want to model the exterior as well.

@gilbertohasnofb we will need the textures on the appropriate .png, if you can do that and add it to the fog-and-frost PR I will have it available to use. Again I need to use the fog-frost PR for the mesh work :(

gilbertohasnofb commented 5 years ago

Again I need to use the fog-frost PR for the mesh work :(

Or we can wait a bit before jumping into another project. I think we should finish the frost and seat mounts first, merge that PR and then start working on this.

gilbertohasnofb commented 5 years ago

I will be home in a couple of hours and then I will sync those livery textures, are you working on something on that branch or can I simply push my stuff when I get home?

wlbragg commented 5 years ago

You can push when ready. Yours is the last commit.

wlbragg commented 5 years ago

@gilbertohasnofb and yes, we can finish this up and merge and start again with a new PR for the rudder trim. I have a little bit more mapping to do on the seats and then the view movement code. I will test the fog/frost in the sim in the mountains and see what that looks like in real time and either approve or ask for a better artist rendering. I suppose it is better than what we already have, but would like some one else to confirm that. After all that we can merge.

dany93 commented 5 years ago

For the trim steps, mind the sensitivity. The current value (preset) for the rudder trim is 0.02 (very sensitive for the slip-skid-ball). A step of 0.001 is correct. About the manual trim tab (summed or not?): I don't know for the real one but I would prefer a sum. Like this, the cockpit trim lever could be set close to zero in average.

legoboyvdlp commented 5 years ago

@wlbragg if you do the 3D part in the frost / fog branch (to avoid doing mesh changes in another branch), I can do the coding part in a new branch, into which I will merge master as soon as frost fog is merged?

so, as such:

image

hopefully that diagram helps to show what I mean?

wlbragg commented 5 years ago

@legoboyvdlp OK, lets do this. After thinking this through, because we are doing this in a different blend file we can do it all in the new PR and branch you create.

wlbragg commented 5 years ago

@gilbertohasnofb here is the texture work layout. You can add it to the PR @legoboyvdlp is going to create for the code.

512x512 uv-rudder-trim

wlbragg commented 5 years ago

@gilbertohasnofb The Base portion is made to be visible or hidden, so when you do the texture maybe you can make it match or fade with the original background, however you decide to do that. The only special request is that the recessed hole that the slide bar and knob rotates through needs to be black or very dark and shaded. I still may have to cut it into a new object and do it with the material settings. ruddertrimbase2

wlbragg commented 5 years ago

@legoboyvdlp The only object names to deal with are RudderTrimKnob RudderTrimBase

I'll make the GUI choice so I can test the mesh at the same time and I'll add both objects to the interior effects and do the physical rotation code of the RudderTrimKnob.

wlbragg commented 5 years ago

Here is what I have with my less than stellar temporary texture applied. ruddertrim1 ruddertrim2

wlbragg commented 5 years ago

@legoboyvdlp The property for adding to the rudder trim is controls/flight/rudder-trim-knob

it has a range of 6.8 to -6.8 with steps of 3.4

So I think the easiest solution is to do a table like below and add it to the following property of controls/flight/rudder-trim.

That way the mechanic can physically adjust the trim tab (controls/flight/rudder-trim = 0.02) to whatever they want and still add or subtract the .001 steps with the knob (controls/flight/rudder-trim-knob).

So with the rudder-trim-knob at center (0.0) and the rudder-trim at 0.02, the default trim will be 0.020. One notch right will be 0.001+0.02 = 0.021, two notches right will be 0.002+0.02 = 0.022, etc. The total adjustable rudder range will be as follows... 0.018 0.019 0.020 0.021 0.022 that is if this proves to be enough per @dany93 suggestion.

<table>
  <independentVar>controls/flight/rudder-trim-knob</independentVar>
    <tableData>
      -6.8    -0.002
      -3.4    -0.001
       0.0     0.000
       3.4     0.001
       6.8     0.002
    </tableData>
</table>

Also if you need to set the rudder-trim back to default if the rudder-trim in not visible. the visibility property is sim/model/c172p/ruddertrim-visible.

wlbragg commented 5 years ago

@gilbertohasnofb FYI: I'm posting my temporary texture for your reference. Hopefully it will give you a feel for the layout and how the texture fits it. It's not very good, I'm sure your artistic talents can improve this. trim-rudder

dany93 commented 5 years ago

that is if this proves to be enough per @dany93 suggestion

Important: I don't know for the real one, only pilots or the POH can say.

If you add a cockpit setting, I would have expected a larger max amplitude. Let's say (e.g.) at least +/- 0.04 or 0.05? or 0.1? By steps 0.001, but larger amplitude. You can easily test the effect by manually setting controls/flight/rudder-trim in the properties (in stabilized flight, whatever the stabilized conditions you wish to test) and observe the slip ball. And the instrumentation/slip-skid-ball/indicated-slip-skid property. A range of +/- 0.002 does almost nothing.

Is the real one by 3.4 steps (with notches, like the flaps), or is it continually (closer to the elevator trim setting, which has 100 steps on each direction)? The white squares being marks only for help? As it very likely drives a cable, the positions might be on a continuum. Even if this has to be translated by small steps for us. Only two steps on the lever, +/- 3.4 and 6.8, seem either large at the lever and lacking of trim accuracy to me, or lacking of efficiency (amplitude).

wlbragg commented 5 years ago

OK, I was going by the assumption that the marks were hard stops and they were the only choice. In that scheme the 3.4 was for the animation reaching those marks precisely in 2 steps left and 2 steps right, nothing more. The table was to show how I would put those animation stops together with the actual rudder trim settings and still allow for 0 cockpit trim control to = mechanics .02, or whatever the mechanic adjusted the default trim to. I also was operating off the assumption that what @dany93 indicated about the value of .001 would be a big step. Now it looks as I may have read that wrong and maybe then he's suggesting that as a very small incremental step to a max range of potentially to 0.1.

For my part I only need to know if the rudder trim knob has 5 hard stops or needs to be like the elevator? @legoboyvdlp can do the rest in the FDM portion.

Also I should ask the question, is this the rudder trim mechanism we want to use or maybe we should have the other type I have seen that looks like a smaller horizontal version of elevator trim?

legoboyvdlp commented 5 years ago

The POH suggests there are detents - however, the lever can take any position between OR at the detents. So, I'd say its like the elevator trim - except, you can put the lever in a detent, and to move the rudder trim form there you have to lift the lever up to clear the detent.

dany93 commented 5 years ago

( the value of .001)... he's suggesting that as a very small incremental step to a max range of potentially to 0.1.

Correct. 0.001 is a small step, necessary for accuracy. Small effect. 0.04 or 0.05 or 0.1 (???) is the max range.

legoboyvdlp commented 5 years ago

As for the second question, it mentions a bungee connected to the rudder control system, probably something like this? image

probably,

So I think the effect is within the rudder control system - i.e., applying a force to the standard rudder control, not by the mechanic's tab.

I don't think there is a horizontal tab either - I think its more that the neutral position of the rudder is changed?

wlbragg commented 5 years ago

Also I should ask the question, is this the rudder trim mechanism we want to use or maybe we should have the other type I have seen that looks like a smaller horizontal version of elevator trim?

I don't think there is a horizontal tab either - I think its more that the neutral position of the rudder is changed?

@legoboyvdlp I think I confused you. What I was asking is related to the interior trim knob style. Do we want to use a different style of trim control? Instead of a lever use a rotating knob like the elevator uses?

wlbragg commented 5 years ago

@legoboyvdlp FYI: the bungee picture and explanation satisfies my exterior rudder control mechanism. I think I will leave that up to users imagination for now.

dany93 commented 5 years ago

I think its more that the neutral position of the rudder is changed?

In this case, yes. The bungee is a cheap way to implement a kind of trim. Obviously easy to install into an existing system, much easier than a cable + tab.

the effect is within the rudder control system - i.e., applying a force to the standard rudder control, not by the mechanic's tab

Yes for applying a force to the rudder control system (upstream), but it can (may) be complementary to a pre-set on the ground of a mechanic's tab. In fact, I don't know. My first idea was to match the neutral position with the center mark in the cockpit, but as the bungee is an approximative (not very mechanical) system, I don't know for the lever position... One can get the same result by the bungee length and/or tension.

However, as the tab probably did exist initially (standard system) I would let it.

legoboyvdlp commented 5 years ago

Ah, ok.

I think the best way to simulate this is to the rudder input and rudder trim input (plus the adjustable tab's input)? That should be sufficient.

legoboyvdlp commented 5 years ago

As for the lever, the real cockpit control is this: image

(I don't personally see any detents. I think the lever can take any position between min and max.)

dany93 commented 5 years ago

I think the best way to simulate this is to the rudder input and rudder trim input (plus the adjustable tab's input)?

I would say, yes. Sum of these three components (clipped to +/-1 :wink: ). Like the current trim is.

wlbragg commented 5 years ago

OK, I set 100 steps 50+ and 50- on the control knob. So the table will look like this...

-6.8    -50*x
...
0.0     0.00
...
6.8      50*x

And we are going with what I already created for the interior rudder trim model. It actually fits well with the elevator style as the round ball on the end ascetically matches the elevator knobbies.

dany93 commented 5 years ago

Rather than a 101 step table, wouldn't it be easier to use a property-adjust (to lever position) command and +/- steps by clicking?

wlbragg commented 5 years ago

I'm not sure I am following you. Here is the knob animation I used and it works well for the operator. You can drag or hold the mouse down (left or center button).

<animation>
        <type>knob</type>
        <object-name>RudderTrimKnob</object-name>
        <property>controls/flight/rudder-trim-knob</property>
        <factor>1</factor>
        <drag-direction>horizontal</drag-direction>
        <offset-deg>0</offset-deg>
        <center>
            <x-m>-0.521  </x-m>
            <y-m> 0.00061</y-m>
            <z-m>-0.56081</z-m>
        </center>
        <axis>
            <x>0</x>
            <y>0</y>
            <z>1</z>
        </axis>
        <action>
            <binding>
                <command>property-adjust</command>
                <property>controls/flight/rudder-trim-knob</property>
                <factor>0.136</factor>
                <min>-6.8</min>
                <max>6.8</max>
                <wrap>false</wrap>
            </binding>
        </action>
        <hovered>
            <binding>
                <command>set-tooltip</command>
                <label>Rudder trim: %3.2f</label>
                <tooltip-id>rudder-trim</tooltip-id>
                <property>controls/flight/rudder-trim-knob</property>
            </binding>
        </hovered>
    </animation>
wlbragg commented 5 years ago

Note: the hovered tool tip is not going to be correct, i think I will need to use the sum of your FDM total that you will be using for the rudder trim.

wlbragg commented 5 years ago

You can interpolate it, yes?

wlbragg commented 5 years ago

@legoboyvdlp the short answer is no, I don't expect you to do a 100 entry table. I wasn't even thinking about that being a possibility.

dany93 commented 5 years ago

i think I will need to use the sum of your FDM total that you will be using for the rudder trim.

Yes. This adds a term to the already existing rudder trim, to give the final rudder trim value.

I'm not sure I am following you

What you show is the animation. The rudder-trim-knob position. I think that's compatible, maybe the same as I suggested: The added cockpit trim term would be proportional to the rudder-trim-knob position, by a <command>property-adjust</command> and not a 101 step table. You can see it as an interpolation, but in fact it is just a proportionality.

I guess that it can also be set by mouse clicking? (+/- 0.001 steps).

wlbragg commented 5 years ago

Oops, didn't look at the post name, sorry Dany, I thought that was Lego. OK, let me look at the

<command>property-adjust</command>

Off the top of my head I don't know how it fits the knob animation.

wlbragg commented 5 years ago

@dany93 can you use an interpolation "table" in an FDM function?

legoboyvdlp commented 5 years ago

Is 6.8 degrees the actual angle of the lever? Where does this figure come from?

wlbragg commented 5 years ago

Yes, it is the rotation of the lever to both extremes.

dany93 commented 5 years ago

@dany93 can you use an interpolation "table" in an FDM function?

Do you mean something like

            <fcs_function name="fcs/ruddertrim2-term">
                <function>
                    <table>
                        <independentVar lookup="row">controls/flight/rudder-trim-knob</independentVar>
                         <tableData>
                          -6.8    -0.05
                           0    0
                           6.8    0.05
                        </tableData>
                    </table>
                </function>
            </fcs_function>

??

Which would add to the first rudder trim term to give a "Yaw trim sum", like this for the elevator.

            <summer name="Pitch Trim Sum">
                <input>fcs/elevator-cmd-norm-filtered</input>
                <input>fcs/pitch-trim-cmd-norm</input>
                <clipto>
                    <min>-1</min>
                    <max>1</max>
                </clipto>
            </summer>

(First thinking, probably unfinished)