Are you taking the riders momentum into account?
I mean acceleration/acceleration or “power” needed and “used” to maintain speed or momentum better said?
I am not sure if you do, but have a feeling you do not as I seam to stop fairly fast (too quickly) when stop pedaling or putting power into the system.
I ask, because it would make it all much more real than “trainer like” if you could coast – and not only downhill. Seam the down hill supplied energy is the only “power” you add to the equation.
Without the behavior is a little like a fixed gear – you stop pedaling and you actually “break”. It looks like the rider does not stop abruptly but seam to “apply breaks” fairly good when stopped pedaling. Kind of follows the power input directly in only smoother out manner.
I know – this also means “no breaks” and not means to stop quickly! So a break “button” or some thing may be needed… in addition to the native rolling and wind resistance.
So I see this issue… with “no breaks”. May be some options to think about? Same as the steering idea – in some future case you actually want to make a turn at some possible forks on a more advanced route or map to ride on.
If you like, I’ll be happy to help you out with some “physics” to get this improved – I did created similar model in the past for some home made VR tariner and already took the following components into account:
A) POWER – either
speed from wheel to calculate a estimated power (I have a decent calibration for the Cycleops fluid 2), see below.
or direct power from a power meter
B) rider+bike parameters (cw value, size, weight)
C) rolling resistance (tire, wheel and speed dependent)
Then you need to integrate the motion equation as you know…
Current (last time step) speed => [XXX some math] => new (next time step) speed to compute the progress on the route.
The math takes take care of the proper energy conservation including these components:
Energy from pedaling (input) [“power in” / time step]
Energy vertical (grade -> climbing (neg), descending (pos))
Energy losses (wind resistance, drafting factor, rolling resistance)
Energy acceleration (acceleration and deceleration of rider+bike mass) – do you have this component???
PS: for my Cycleops fluid 2 I found this model to be pretty good:
speed -> power calibration from cycleops fluid 2
mps2mph = 0.62137119 * 3.6 c0=13.244 # offset in Watts c1=2.0982*mps2mph # linear term x mph (converted to m/s coef.) c2=0.53274*mps2mph*mps2mph # quadratic x mph^2 (converted to m/s coef.)
power = c0 + (c1 + c2*v)*v # power in Watts, v in m/s (from trainer, effective bike wheel speed)