Jump to content
The simFlight Network Forums

Feature to replicate actual feel of yoke (similar to rudder tweaking and max steer)


pilotjohn

Recommended Posts

Unless you have a force feedback yoke, the feel of the yoke is predetermined along its range. However in the real aircraft this is not, but is based on airspeed (air flowing over the surfaces). More specifically, force goes from a very flat and linear along the entire range at no airflow, to very high ramp up in forces past trimmed position at high speeds. While I do think that both range of movement and force is important, I'm wondering if one is more important than the other for "feel".

Currently, all yokes assume that the range of movement should be the same regardless of speed. However, I'd like to be able to adjust this based on speed. That is, I would like the control surface deflection in sim to be driven by force rather than range (but still have full range of yoke map to full range in sim). This could be achieved by adjusting the calibration curves.

Feature request: Allow the calibration curve for axes to be adjusted (via an offset) by speed and allow them to be floating point values. This would allow me to tweak the curve so that deflection amounts are based on force rather than range of movement. It's not perfect, but it's one approach.

This is similar to what you implemented in Conditional Axis Sensitivity. WDYT?

 

Link to comment
Share on other sites

5 hours ago, pilotjohn said:

allow them to be floating point values.

Interesting idea for GA aircraft (airliners etc either have hydraulic or electronic links between controls and surfaces), but I don''t see why you'd need floating point values. The whole range for the value sent to the sim is -16384 to +16383 and increments below about 128, or even 256, are pretty unnoticeable.

Also FSUIPC interpolates between the points in those slope graphs which are basically a simple matrix of y values by x points (sorry, can't remember the dimensions -- John would be able to tell you). Without supplying a complete replacement matrix I'm not sure how you would do it to result in something smooth enough. Maybe you are thinking that the curves are derived by some sort of mathematical formula like Fourier Transforms, which they are not.

Perhaps the best way, and probably easiest, is just to use the -15 to +15 values available to you when adjusting manually -- i.e. a dynamic adjustment but operating like the actual calibration 'slopes' option. I can see that something like that might be implemented. And it would only need a single byte for each control surface axis (aileron, elevator, rudder, tiller).

I know, though, that John is very busy, so it would be a matter of adding the idea/request to the list of things to do when much of the really serious stuff is properly resolved (hopefully with Asobo fixes to the interfaces). Just keeping track of the MSFS updates is a full time job.

Pete

 

Link to comment
Share on other sites

5 hours ago, Pete Dowson said:

Interesting idea for GA aircraft (airliners etc either have hydraulic or electronic links between controls and surfaces), but I don''t see why you'd need floating point values. The whole range for the value sent to the sim is -16384 to +16383 and increments below about 128, or even 256, are pretty unnoticeable.

This actually does happen in aircraft that have hydraulics controls (it's just a force multiplier), like smaller jets/turboprops, or anything that is not fly by wire. While I don't have any real time in anything with hydraulics, I have many hours in full motion (Level D) sims in both types, and you can definitely feel the control forces change based on speed in all non fly-by-wire systems (I'm sure there are some fly-by-wire that also simulate it).

5 hours ago, Pete Dowson said:

Also FSUIPC interpolates between the points in those slope graphs which are basically a simple matrix of y values by x points (sorry, can't remember the dimensions -- John would be able to tell you). Without supplying a complete replacement matrix I'm not sure how you would do it to result in something smooth enough. Maybe you are thinking that the curves are derived by some sort of mathematical formula like Fourier Transforms, which they are not.

This curve looks to me like a sigmoid, and I thought the setting was some constant in the function, which is why I was hoping for smoother transitions than integer steps.

5 hours ago, Pete Dowson said:

Perhaps the best way, and probably easiest, is just to use the -15 to +15 values available to you when adjusting manually -- i.e. a dynamic adjustment but operating like the actual calibration 'slopes' option. I can see that something like that might be implemented. And it would only need a single byte for each control surface axis (aileron, elevator, rudder, tiller).

Yes, I think this would work, but depending on the "steps" it may lead to some abrupt transitions.

5 hours ago, Pete Dowson said:

I know, though, that John is very busy, so it would be a matter of adding the idea/request to the list of things to do when much of the really serious stuff is properly resolved (hopefully with Asobo fixes to the interfaces). Just keeping track of the MSFS updates is a full time job.

Pete

 

 

Link to comment
Share on other sites

4 hours ago, John Dowson said:

I can add an extra byte in the offset area to hold the slope for each of the main control surface axes (aileron, elevator, rudder, tiller) which would be writeable/updateable, if that helps.

John

Yes this would work thank you. I assume any writes would be temporary until a profile change, or aircraft change? Any way to make this more than 5 bits (e.g. -15..15) granularity?

Link to comment
Share on other sites

1 hour ago, pilotjohn said:

you can definitely feel the control forces change based on speed in all non fly-by-wire systems (I'm sure there are some fly-by-wire that also simulate it).

Yes, but changing the response in the sim doesn't really simulate that. Maybe having to move the controls further for the same effect will give you that illusion (I don't think it would for me), but really I can't see anything other than force feedback which can do the job.

1 hour ago, pilotjohn said:

I was hoping for smoother transitions than integer steps.

The "smoothing" is by the interpolation being made by FSUIPC between the points on the matrix represented in the graph. If you make single point changes in the slope number the change should be okay. I think it would be the best John could offer.

Pete

 

Link to comment
Share on other sites

4 hours ago, Pete Dowson said:

Yes, but changing the response in the sim doesn't really simulate that. Maybe having to move the controls further for the same effect will give you that illusion (I don't think it would for me), but really I can't see anything other than force feedback which can do the job.

This is my hypothesis and what I'd like to be able to test out (that force required is a better feel than range of movement required - or at least some balance between the two). This is why loadcell based brakes are better (they based on force applied), but then again those are you feet which have less motor precision. Anyway, it's the non-stop tweaking to get better feel. 🙂

4 hours ago, Pete Dowson said:

The "smoothing" is by the interpolation being made by FSUIPC between the points on the matrix represented in the graph. If you make single point changes in the slope number the change should be okay. I think it would be the best John could offer.

I expect only to use a range like 2-8 or 4-12, so these are pretty big steps, but if it works it's a start.

4 hours ago, Pete Dowson said:

Pete

 

 

Link to comment
Share on other sites

@pilotjohn Can you try the attached version please (v7.0.3a). In this version, I have added read/writeable offsets for
    aileron slope: 0x08A2
    elevator slope: 0x08A3
    rudder slope: 0x8A4
    steering tiller slope: 0x8A5

Each is a signed byte (SB). Only values in the range -15 to +15 are accepted (values outside will be capped to that range).

Also, at the moment, you can log the slope adjustments made by  activating Extras logging. I probably won't keep this in the final version - or I'll keep it but move it to a different logging flag, still undecided....

Let me know if this works for you.

John

FSUIPC7.exe

P.S. One thing you should be aware of: if you are changing the slope dynamically, it won't be saved for the next session. However, if you go into the axis assignments and calibration dialog , when you close the dialog any current active slope will be written to your FSUIPC7.ini.

Edited by John Dowson
Further info added
Link to comment
Share on other sites

Tested on the elevator side and it works. It was a simply test manually increasing/decreasing slope during steep turns at different speeds, and I think it's accomplishing what I'm looking for (appropriate force required). I'll have to hack up the script to do the same based airspeed.

Link to comment
Share on other sites

So far this is working out well... steep(er) turns at higher speed were basically difficult because any little movement caused lots of elevator authority (so it was all about movement not force required). Now, if I increase the slope, steep turns at speed require force to maintain altitude, which is what it's really like. Thanks for putting this together.

Link to comment
Share on other sites

13 hours ago, Pete Dowson said:

Searching on 'speed' in the Offsets document I found lots of possibly useful candidates: check 02C4, 0538, 0540, 0548, 0550 and 0B0C.

Pete

 

I've seen some of those... I think "barber pole" might be it. 🙂 Missed that. Thanks.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use. Guidelines Privacy Policy We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.