magicfr
www.ivory-tower.fr
Wheel Check Data analysis
WheelCheck presentation
Wheel check is a tool made by David Tucker from iRacing.com.
This tool is ouputing position of wheel when applying a constant force.
Here a graph of the brute datas.
The thing is , position of the rim is not very intuitive to compare two FFB Wheel.
What is important on a FFB Wheel for best feeling and immersion
1st important thing is the max holded torque of the FFB Wheel, this is the most important thing. A high torque wheel will be capable to give high force on your hand,and to change the speed of rotation quickly
2nd thing, is the max speed, when you release the rim for counter steering or when drifting, it’s important that the wheel is capable of turning fast, from several source, it seems that 200rpm is a good value for max speed.
Good news, it’s quite easy to compute speed from position data.
Bad news, the position data is quite noisy or low frequency for some wheels.
For example the CSR-E has noisy input, and the T500RS is only 100hz in this firmware ( if somebody have more recent data with lastest T500RS firmware please post an answer ).
Interpolating and smoothing data.
1st pass of the algo is to interpolating data to 1000hz.
Then I smooth the data with a convolution, I did a 5 pass of convolution with a size of 4 datas.
Here the smoothed graph
Computing Speed
From the smooth data it is easy to compute speed.
Each data is poll with 1ms time between them.
So Speed is speed = pos(t+1) - pos(t) / ( timeStep).
With timeStep in seconde = 1/1000
This give use a speed in DirectXValue / seconds.
The wheel are set to 900°, that means that from -10000 to +10000 we have 900° so a directX value
of 1 is equal of 900°/20000 = 0.045
So Speed in degree/s = (( pos(t+1) - pos(t)) * 0.045) / (1/1000) = 1000 * ( pos(t+1) - pos(t)) * 0.045
We want Speed in RPM, Rotation Per Minute, 1 rotation = 360degrees
Speed in RPSecond = 1000/360 * ( pos(t+1) - pos(t)) * 0.045
Speed in RPM = 60 * 1000 / 360 * ( pos(t+1) - pos(t)) * 0.045
And here the resulting graph:
Analysis
With this graph it’s way easier to compare wheels.
The highest the value, the highest the max speed of the wheel.
The more vertical the slope of the graph the more the wheel has torque ( acceleration ).
Logically my High torque ( 12N.m ) wheel has the more vertical slope when acceleration, when the curve is going away from 0.
We can see that other wheel have strong decceleration when deccelerating ( slope is going back to 0 ).This indicate that they have more mechanical friction.
You can see that, at end of graph, when WheelCheck don’t give any force. Most wheel are going back to 0 speed very quickly except the G25-E ( Arc Team) and my Wheel, it’s because those wheel have low friction, and so they continue to turn on there momentum.
You can also see that around 1429ms, those both wheel have speed that reach 0, if you compare with the position graph, it’s because they reach mechanical stop of the wheel ( on my wheel it’s a FFB stop ).
Last thing, my wheel is accelerating so quick, that it reach it’s max speed very fast.
Why no Acceleration Graph
I tried to compute the acceleration graph, but the more you integrate value, the more the result is noisy, so the graph was not usefull.
It’s better to compute acceleration from the speed graph.
Best way is to compute acceleration by calculating how much time the wheel take to reach max speed.
For example for my wheel 42V 5A, 0 rpm to 183rpm in 130ms, that is 183/(0.130) ~= 1400 RPM/s
acceleration.
with 48V 6A, 0 rpm to 207rpm in 100ms, that's 207/(0.1) ~= 2070 RPM/s
For the CSW F1 it’s 0 rpm to 180rpm in 300ms , that is 180/0.300 ~=~ 600 RPM/s acceleration.
WheelCheck presentation
Wheel check is a tool made by David Tucker from iRacing.com.
This tool is ouputing position of wheel when applying a constant force.
Here a graph of the brute datas.
The thing is , position of the rim is not very intuitive to compare two FFB Wheel.
What is important on a FFB Wheel for best feeling and immersion
1st important thing is the max holded torque of the FFB Wheel, this is the most important thing. A high torque wheel will be capable to give high force on your hand,and to change the speed of rotation quickly
2nd thing, is the max speed, when you release the rim for counter steering or when drifting, it’s important that the wheel is capable of turning fast, from several source, it seems that 200rpm is a good value for max speed.
Good news, it’s quite easy to compute speed from position data.
Bad news, the position data is quite noisy or low frequency for some wheels.
For example the CSR-E has noisy input, and the T500RS is only 100hz in this firmware ( if somebody have more recent data with lastest T500RS firmware please post an answer ).
Interpolating and smoothing data.
1st pass of the algo is to interpolating data to 1000hz.
Then I smooth the data with a convolution, I did a 5 pass of convolution with a size of 4 datas.
Here the smoothed graph
Computing Speed
From the smooth data it is easy to compute speed.
Each data is poll with 1ms time between them.
So Speed is speed = pos(t+1) - pos(t) / ( timeStep).
With timeStep in seconde = 1/1000
This give use a speed in DirectXValue / seconds.
The wheel are set to 900°, that means that from -10000 to +10000 we have 900° so a directX value
of 1 is equal of 900°/20000 = 0.045
So Speed in degree/s = (( pos(t+1) - pos(t)) * 0.045) / (1/1000) = 1000 * ( pos(t+1) - pos(t)) * 0.045
We want Speed in RPM, Rotation Per Minute, 1 rotation = 360degrees
Speed in RPSecond = 1000/360 * ( pos(t+1) - pos(t)) * 0.045
Speed in RPM = 60 * 1000 / 360 * ( pos(t+1) - pos(t)) * 0.045
And here the resulting graph:
Analysis
With this graph it’s way easier to compare wheels.
The highest the value, the highest the max speed of the wheel.
The more vertical the slope of the graph the more the wheel has torque ( acceleration ).
Logically my High torque ( 12N.m ) wheel has the more vertical slope when acceleration, when the curve is going away from 0.
We can see that other wheel have strong decceleration when deccelerating ( slope is going back to 0 ).This indicate that they have more mechanical friction.
You can see that, at end of graph, when WheelCheck don’t give any force. Most wheel are going back to 0 speed very quickly except the G25-E ( Arc Team) and my Wheel, it’s because those wheel have low friction, and so they continue to turn on there momentum.
You can also see that around 1429ms, those both wheel have speed that reach 0, if you compare with the position graph, it’s because they reach mechanical stop of the wheel ( on my wheel it’s a FFB stop ).
Last thing, my wheel is accelerating so quick, that it reach it’s max speed very fast.
Why no Acceleration Graph
I tried to compute the acceleration graph, but the more you integrate value, the more the result is noisy, so the graph was not usefull.
It’s better to compute acceleration from the speed graph.
Best way is to compute acceleration by calculating how much time the wheel take to reach max speed.
For example for my wheel 42V 5A, 0 rpm to 183rpm in 130ms, that is 183/(0.130) ~= 1400 RPM/s
acceleration.
with 48V 6A, 0 rpm to 207rpm in 100ms, that's 207/(0.1) ~= 2070 RPM/s
For the CSW F1 it’s 0 rpm to 180rpm in 300ms , that is 180/0.300 ~=~ 600 RPM/s acceleration.