Board index FlightGear Development Aircraft

Default C172 - uncoupling rudder and nosewheel steering?  Topic is solved

Questions and discussion about creating aircraft. Flight dynamics, 3d models, cockpits, systems, animation, textures.

Default C172 - uncoupling rudder and nosewheel steering?

Postby msalama » Tue Oct 06, 2020 7:07 am

Hiya all -

I'd like to uncouple the nosewheel from the rudder and make an independent steering mechanism for it using a separate 2-way rocker switch, i.e. the default rudder steering should be disabled and the nosewheel castor freely when the switch is not pressed, and only respond to the switch when pressed instead of the rudder (pedals).

Alas, I'm completely stumped on how to go about this; I did try implementing an independent tiller system, but that turned into a huge mess with FG segfaulting and whatnot. Can anyone give me any tips on how to proceed with this? Thank you!

EDIT: for clarity, was a bit vague first
msalama
 
Posts: 47
Joined: Tue Jun 18, 2019 4:44 am

Re: Default C172 - uncoupling rudder and nosewheel steering?

Postby Johan G » Tue Oct 06, 2020 4:15 pm

If I understand it correctly that is set in the JSBSim FDM (Aircraft\c172p\c172p.xml):

Code: Select all
    <ground_reactions>

        <!-- ... -->

        <contact type="BOGEY" name="NOSE">
            <location unit="IN">
                <x> -6.8 </x>
                <y> 0 </y>
                <z> -20.3 </z>
            </location>
            <static_friction> 0.8 </static_friction>
            <dynamic_friction> 0.5 </dynamic_friction>
            <rolling_friction> 0.02 </rolling_friction>
            <spring_coeff unit="LBS/FT"> 3600 </spring_coeff>
            <damping_coeff unit="LBS/FT/SEC"> 1200 </damping_coeff>
            <max_steer unit="DEG"> 10 </max_steer>                 <!-- This line defines how much the nose wheel can be steered. -->
            <brake_group> NONE </brake_group>
            <retractable>0</retractable>
        </contact>

        <!-- ... -->

    </ground_reactions>


A brief look in the JSBSim reference manual give that setting:
Code: Select all
            <max_steer unit="DEG"> 360 </max_steer>

should make the nose wheel castered. Ideally, to make it possible to switch the nose wheel steering on and off, that line maybe could be conditioned upon a property, so that you could control that setting from outside the FDM and while running FlightGear. I am not really sure how to do that, unfortunately.

Also, whats up with the spaces around the values in the FDM?
Low-level flying — It's all fun and games till someone looses an engine. (Paraphrased from a YouTube video)
Improving the Dassault Mirage F1 (Wiki, Forum, GitLab. Work in slow progress)
Johan G
Moderator
 
Posts: 6060
Joined: Fri Aug 06, 2010 5:33 pm
Location: Sweden
Callsign: SE-JG
IRC name: Johan_G
Version: 2020.3.4
OS: Windows 10, 64 bit

Re: Default C172 - uncoupling rudder and nosewheel steering?

Postby msalama » Thu Oct 08, 2020 2:38 am

Thanks for answering. Yes, I know how to make the wheel castered and I've actually had it so for a long time already since the default steering is too twitchy and sensitive, but it seems you can't uncouple the rudder from the wheel itself and that is problematic. Also, if you make it castered, there's apparently no way of controlling it anymore by any means available, meaning the value must always be less than 360 if you want to control it in any way. And then it won't castor anymore and the hard-coded(?) rudder coupling kicks in again...

could be conditioned upon a property, so that you could control that setting from outside the FDM


This could work. How to do it though? Us enquiring minds want to know :D
msalama
 
Posts: 47
Joined: Tue Jun 18, 2019 4:44 am

Re: Default C172 - uncoupling rudder and nosewheel steering?

Postby wlbragg » Thu Oct 08, 2020 2:54 am

Are you wanting to make this changes because you think this is the "true to life" behavior of the nose wheel?
Kansas(2-27-15)/Ohio/Midwest scenery development.
KEQA (2-27-15), 3AU, KRCP Airport Layout
Intel i5 3570K AMDRX480
User avatar
wlbragg
 
Posts: 5778
Joined: Sat Aug 25, 2012 11:31 pm
Location: Kansas (Tornado Alley), USA
Callsign: WC2020
Version: next
OS: Win10/Linux/AMDRX480

Re: Default C172 - uncoupling rudder and nosewheel steering?

Postby msalama » Thu Oct 08, 2020 3:07 am

No, I'm not. Are you wanting to contribute something of value yourself though?
msalama
 
Posts: 47
Joined: Tue Jun 18, 2019 4:44 am

Re: Default C172 - uncoupling rudder and nosewheel steering?

Postby wlbragg » Thu Oct 08, 2020 4:20 am

In that case, no. I just wanted to make sure we didn't have it wrong.
Kansas(2-27-15)/Ohio/Midwest scenery development.
KEQA (2-27-15), 3AU, KRCP Airport Layout
Intel i5 3570K AMDRX480
User avatar
wlbragg
 
Posts: 5778
Joined: Sat Aug 25, 2012 11:31 pm
Location: Kansas (Tornado Alley), USA
Callsign: WC2020
Version: next
OS: Win10/Linux/AMDRX480

Re: Default C172 - uncoupling rudder and nosewheel steering?

Postby Johan G » Thu Oct 08, 2020 12:06 pm

msalama wrote in Thu Oct 08, 2020 2:38 am:[...] it seems you can't uncouple the rudder from the wheel itself and that is problematic.

Ah, sorry, I quite did not get that (obviously). :oops:

Could it be possible to set up a channel in JSBSim specifically for the nose wheel or specifically for the rudder and drive the channel with properties bound to the rocker switch?
Low-level flying — It's all fun and games till someone looses an engine. (Paraphrased from a YouTube video)
Improving the Dassault Mirage F1 (Wiki, Forum, GitLab. Work in slow progress)
Johan G
Moderator
 
Posts: 6060
Joined: Fri Aug 06, 2010 5:33 pm
Location: Sweden
Callsign: SE-JG
IRC name: Johan_G
Version: 2020.3.4
OS: Windows 10, 64 bit

Re: Default C172 - uncoupling rudder and nosewheel steering?  

Postby D-ECHO » Thu Oct 08, 2020 1:52 pm

The property you want to drive is (/fdm/jsbsim/)fcs/steer-cmd-norm, basically as done in this file https://sourceforge.net/p/flightgear/fg ... -m-fcs.xml (read up on JSBSim systems e.g. on the wiki if this is your first time working with these).

For castering, you can dynamically set (/fdm/jsbsim/)gear/unit[ index ]/castered, e.g. using a JSBSim <switch> element.
User avatar
D-ECHO
 
Posts: 2122
Joined: Sat May 09, 2015 12:31 pm

Re: Default C172 - uncoupling rudder and nosewheel steering?

Postby msalama » Thu Oct 08, 2020 3:22 pm

Thanks all and D-ECHO in particular. I'll check those properties out and see what I can come up with. To be continued...
msalama
 
Posts: 47
Joined: Tue Jun 18, 2019 4:44 am

Re: Default C172 - uncoupling rudder and nosewheel steering?

Postby msalama » Fri Oct 09, 2020 5:47 am

Yup, got it working. Thanks again for helping me guys.
msalama
 
Posts: 47
Joined: Tue Jun 18, 2019 4:44 am

Re: Default C172 - uncoupling rudder and nosewheel steering?

Postby D-ECHO » Fri Oct 09, 2020 5:49 am

Yw :)
User avatar
D-ECHO
 
Posts: 2122
Joined: Sat May 09, 2015 12:31 pm

Re: Default C172 - uncoupling rudder and nosewheel steering?

Postby msalama » Sun Oct 11, 2020 4:17 am

make sure we didn't have it wrong


PS. No, you had it absolutely right from the go and this is just me tinkering with it. Because for various reasons, implementing a separate tiller mechanism suits my controller set perfectly, and the rudder-nosewheel coupling always felt too twitchy to me anyway and I've thus had it disabled for a long time already.
msalama
 
Posts: 47
Joined: Tue Jun 18, 2019 4:44 am

Re: Default C172 - uncoupling rudder and nosewheel steering?

Postby Fritz » Fri Oct 16, 2020 5:11 pm

Starting from this thread, I now stumbled over this one which seems to be a bit related:

... and the rudder-nosewheel coupling always felt too twitchy to me anyway ...


There is probably an exception from the rule, but most planes don't have a stiff connection between the rudder mechanism and the nose wheel for a very good reason: You don't want to veer off the runway when you make strong rudder inputs, for example to counteract cross winds or propeller torque. Somtimes, nose and tail wheels are just castering, and bigger planes often have a separate steering wheel or lever.

I did some reading and learned that the C 172 and related models (150, 152, 182 etc.) have what what people call "bungees", some kind of flexible connection. If the oleo strut isn't compressed, i.e. the plane is in the air, the nose wheel gets locked in a centered position, and the "bungees" act as centering springs for the rudder. So the nose wheel doesn't turn when you use the rudder while flying, which is good for aerodynamics and probably even better when landing in a cross wind situation.

On the ground, the rudder pedals can only turn the wheel by about 10°, and only while moving because the connection is flexible. But the wheel can caster up to 30° if you use differential braking (excerpt from the pilots operating handbook: https://i.stack.imgur.com/a1ugd.png). Modeling this is probably not trivial. Reducing the angle from 30° (or whatever it is in the current model) to 10° would reduce the "twitchiness" even without adding spring elements, but it would make taxiing somewhere between hard and impossible. Maybe differential braking could increase the angle?
Fritz
 
Posts: 269
Joined: Tue Apr 26, 2016 10:04 pm
Location: Bavaria, Germany, near ETSL
Version: 2018.3.6
OS: Windows 7 Prof.

Re: Default C172 - uncoupling rudder and nosewheel steering?

Postby wlbragg » Fri Oct 16, 2020 6:08 pm

I wish I knew a little more about the mechanics of this and the JSBSim code and what is or isn't available to reproduce this mechanical (bungee assist) system.
We looked at this in a serious way on the dev thread when we added the code to restrict the wheel from turning while in flight. I don't remember the details, only that we didn't have all the tools straight from JSBSim that we needed to do it justice, same with the castor wheel for tail daggers (different issue, but the same lacking JSBSim support code).
My advice would be for someone who is articulate and understands the details of what is needed to post an issue or feature request on the JSBSim dev site to model the needed code for this system to be managed in different aircraft with JSBSim.
Kansas(2-27-15)/Ohio/Midwest scenery development.
KEQA (2-27-15), 3AU, KRCP Airport Layout
Intel i5 3570K AMDRX480
User avatar
wlbragg
 
Posts: 5778
Joined: Sat Aug 25, 2012 11:31 pm
Location: Kansas (Tornado Alley), USA
Callsign: WC2020
Version: next
OS: Win10/Linux/AMDRX480

Re: Default C172 - uncoupling rudder and nosewheel steering?

Postby Fritz » Fri Oct 16, 2020 6:55 pm

Hm. I'm not even sure about If it made sense what I wrote in my last post. Looking at c172p.xml (line 230), the current nose wheel angle is already limited to 10 degrees, and, as I just found out by trying to turn around by 180° on a not too narrow runway, a bit more steering angle would be very helpful to avoid the grass. One-sided braking didn't overcome the nose wheel friction, at least not at sensible power settings. One idea for a simple fix for both issues (twitchiness on the runway and negotiating corners during taxi) would be to reduce the nose wheel friction, basically faking castering. Something similar helped with the DC-3 tailwheel.

Maybe I'll try it later, currently I am a bit frustrated about the landing gear surviving a landing at TNCS, but during taxi testing it did not survive a slightly too fast 90° turn on the ground... :)
Fritz
 
Posts: 269
Joined: Tue Apr 26, 2016 10:04 pm
Location: Bavaria, Germany, near ETSL
Version: 2018.3.6
OS: Windows 7 Prof.

Next

Return to Aircraft

Who is online

Users browsing this forum: Delta5142 and 1 guest