• This Website Is Not For Sale
  1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

Using WheelCheck linear force tests may be based on seriously flawed assumptions...

Discussion in 'Sim Racing Hardware' started by DW1, Aug 12, 2016.

  1. DW1


    In what seemed like my unending quest to really get to the bottom of how best to profile and adjust my T300RS's FFB, I set up what I *presumed* to be a bit of a hacky, destined-to-fail experiment... and ended up having my preconceptions regarding the T300RS roundly shattered!

    It's become a largely accepted go-to approach to get hold of the iRacing FFB Wheel Check app and run it's Linear Force Test to profile the linearity of your particular wheel's FFB forces relative to the input signal force. I had recently grabbed Akis' excellent "LUT Generator for AC", which seemed like the holy-grail in terms of creating the perfect FFB-linearizing solution, at least for Assetto Corsa.

    ...But it's been bugging me for a while that it seems the lower-end forces aren't strong enough to actually overcome friction and cause the wheel to travel, but are definitely still noticeable when holding the wheel. Surely that means there's at least some dissociation between reality and the test results?
    It occured to me that measuring the distance travelled as a result of the force being applied for a certain length of time could be an abstraction too far, if there was only some way to simply measure the strength of the force itself.

    I figured some sort of load-cell based approach might be better... but probably way beyond my abilities to start sourcing one and learning the electronics to get some meaningful reading out of it. Then I remembered my cheap digital kitchen scales. A couple of false-starts later...

    Basically, I run the WheelCheck linear force test as per usual, but using 5,000ms intervals instead of 300ms, and with the digital scales effectively blocking the movement of the wheel entirely, so all that happens is a weight is applied to the scales. While the test was running, I recorded a video of the scale readout on my iPhone, and then proceeded to transcribe the results back into a spreadsheet. As it's unclear at what point the low-end forces kick in, I had to start at the end of the video and work backwards, being careful not to miss any iterations, or it would throw the count out.

    To cut a long story slightly shorter, here first is the results of the *regular* approach, plotting a graph of the DeltaXDeg values from WheelCheck's csv file:

    Here next is the results, run 3 separate times for 60, 80, and 100% profiler strength settings, carefully extracted from my kitchen scale readout:

    • Firstly, I was somewhat startled to discover how remarkably accurate this approach turned out to be! (Even those tiny high-frequency zig-zag patterns were reproducable each time)
    • Secondly, it turns out the T300RS is actually almost perfectly linear out of the box.
    • Thirdly, while before it appeared that anything above 60% strength gave such massively distorted response that it was about the limit if you wanted a reasonable feel, and even on 100%, the strongest forces weren't much stronger than on 60. Turns out, you can go right ahead and whack the T300RS right up to 100%, and it'll give you an almost perfectly proportional increase in effects strength.
    • Fourthly(?), it has a *much* smaller FFB deadzone than the standard test shows. At 100% strength, the minimum input force required to register a measurable response is around 3%, at 60% strength, it creeps up to maybe 5%.

    • An additional observation of note - the strength of the recorded forces dropped considerably when running in full 1080-degrees mode - to around 75% of the specified strength. Setting it to 900-degrees in the profiler restores it's full strength. If you want the full kick of the wheel, you'll need to treat it like a 900-degree. It still works perfectly well at 1080, just as linear, but you'll effectively max-out at 75% strength.

    I may very well have made some bad assumptions of my own in this experiment, and I'm certainly open to anyone challenging any of this with their own thoughts on the matter.

    That said, for my part, I would say the remarkable consistency and repeatability of the results, along with the clear linearity displayed, points rather strongly to there being a fundamental flaw with using the DeltaX approach in WheelCheck.

    I'm particularly interested to see what sort of results this would generate with something like a Logitech G27, or cheaper wheels, which are notorious for even more wonky graphs using the regular approach.

    So, if you want to set up the same experiment, here's some tips to set you on the right track:
    • As you can see in the first photo above - you'll need a good solid stick of some kind. I tried it first with a huge old wooden set-square, but in the end bending a old metal carpet rail worked the best.
    • You'll need to VERY securely fix it to the wheel, with the edge you intend to do the pushing set as close to the center-line of the wheel as you can, so you get a nice perpendicular force applied to the scales. Get a bunch of chunky cable-ties, and tie them as tight as you can. If the stick slips in the slightest, even under a couple of kg of pressure, it will throw your results off completely.
    • Blu-tac your scales very liberally to the side of a nice heavy piece of furniture. My stuffed-full filing cabinet was ideal. Give it a solid press down so it won't slide or press down further during the tests.
    • Make sure you align everything so your wheel is as close to centered as possible, and the stick doesn't contact only with the top or bottom edge of the scales - I found it helped to blu-tac a popsicle-stick onto the plate so it had a clear contact point directly over the center. See below:
    • Zero your scales with the stick shifted away... then move it up to the plate, so that it's resting in contact with it, but not actually giving any above-zero reading... barely touching.
    • At this point, you'll want to zero the X-offset in WheelCheck, so that the point the Linear Force Test wants to return to each time is the resting point, otherwise it will either block the return move, or keep pulling away and whacking your (glass!) scales with a metal rod. The ideal situation is that basically nothing moves noticably throughout the test. See below:
    • You'll want to set the Step Time to something like 5000 (5 seconds) as 300 is way too short a time to get a settled reading from the scales (see above)
    • Lastly (see above also), at least for the T300RS, set 64 steps rather than 50... from past tests, I'm pretty certain the T300RS has 64 discernible levels of force, any higher, and you're just duplicating steps, any lower and you're missing information. I'm guessing most wheels would have some power-of-two total pressure levels, so 64 is probably a good starting point for any of them.
    • Get your video recording running, and start the test.
    • Painstakingly scrub the video back from the last value to the first... making sure you fill out a spreadsheet of 65 (0-64) values. If you're careful not to miss a step, you'll end up at a point where you run out of values... every step before that one will effectively be 0, and from that you'll be able to see what your ffb-deadzone/minimum force should be.

    If anyone is interested enough to try this out, please feel free to chuck some more photos in the thread along with your findings. So far my sample-size for this experiment is a rather lacklustre 1, so I'd be very interested if anyone can validate, expand-on, or disprove these findings.

    What surprises me is, while conventional wisdom has so far held that the T300RS is good, but still just a "toy wheel", and obviously doesn't compete with the linearity of proper direct-drive wheels... Thrustmaster must *know* that their wheel is better engineered than people are giving it credit for, and yet seemingly haven't sought to dispel the misinformation.
    Turns out, I bought a better bit of kit than I realised!
    • Like Like x 9
    • Wow Wow x 4
    • Love Love x 1
  2. DW1


    • Like Like x 1
    • Love Love x 1
  3. Excellent post! Funnily enough I had come to some same conclusions with T300 based on experimenting with the lut, iRacing's ForceMap, and feel alone: 100% strength, and no need for more linearity. :)
  4. I think the difference comes from "Step Time." T300 is belt driven and its friction prevent it from starting to move the wheel. If you set the Step Time to 5 sec and get readings, this friction will be ignored. This could be different from the situation in games, cause FFB force changes every few frames.
  5. I realize I am late to the party, but this was a great post.

    I went down the Wheelcheck / LUT rabbit hole quite a bit, then I realized I had done this experiment 20 years ago in school. (They still teach the same experiments: http://coecsl.ece.illinois.edu/ge320/ge320_Lab3.pdf and http://coecsl.ece.illinois.edu/ge320/ge320_Lab4.pdf)

    The Wheelcheck results are always going to have some nonlinearity because available motor torque is a function of motor speed, because the mechanical damping of the system increases with motor speed, and because there is static friction in the system.

    Also there is the fact that the motor is reaching some very high speeds in this experiment, whereas in most cornering the motor will be turning quite slowly. So even if we use a LUT to linearize the system, we are linearizing at the wrong speed!

    It does not surprise me that you got a linear result from a static test, because PWM motor controllers that can precisely modulate current (and thus torque) have been around for some time.

    Also I totally agree with you on your minimum force numbers. The Wheelcheck results support your finding. Look at the 100% curves. The Wheelcheck curve doesn't hit maximum slope until about 8% input, but there is still some small response starting around 3%. Which matches your static test.

    I am running a TX wheel and did not do the static test, but my Wheelcheck curves are almost identical to yours. So I disabled LUT, set 75% gain in the TM control panel, and 5% minimum force in AC, and I couldn't be happier with how the wheel feels.
    Last edited: Jan 16, 2017
    • Like Like x 1
  6. rocafella1978


    well done @DW1 absolutely fantastic post! should start rewriting apps/ software or you create a new software
  7. @DW1 thanks so much for this thread, it's been bouncing around in my head for a few months and I did a few different tests to explore this further. I've posted them in the LUT Generator thread on the AC forums if you care to have a look.
  8. MarcG


    Right, so in Lamens Terms (as I'm still trying to get my head around this!) I should have my T300 at 100%? I used the Wheelcheck program ages ago and came to 60%, had graphs that someone on the RF2 forum kindly helped me with and 60% was the "ideal" Force to have, but now I should ignore that and just set it to 100%...right? :D

    I know feel of FFB is a highly subjective area, one mans Good is another mans Poor, but at the end of the day all I want is to make sure I'm getting the most from my wheel and from your very good post it appears 100% is the correct setting.
  9. Hardware clipping is very easy to test.

    Download a test track with some bumps, there are several around. Drive in circles and adjust the gain until you are just under the threshold of clipping (use the FFBClip app in graph mode, make sure the green line stays very close, but under the red line. If you don't feel any bumps you need to lower the gain on your wheel. It's really THAT simple to test.
  10. PicoBp

    #26 | HSRC - Banzaaaiii Touring Car Crew Premium

    I'm evaluating a 100% overall force and 95%/95%/95%/95% for the rest since more than two weeks now. I must say that the added top-end strength is absolutely there, without any noticable loss of detail. Especially that keeping the detailed forces below a 100% gives some headroom for them to add up. I suggest everyone to give it a go. ;)