Back to articles

Predict the future with a Matlab algorithm

Since 2013, month by month, we have been blogging about all the small steps that allowed us to get where we are today. Many times we have focused about the bike’s aerodynamics, mechanics, electronics and so on.
However, we have never talked about one of the most “invisible” and most important department: the Data Analysis one.

It is responsible for elaborating all the data about the bike, its components and the rider in order to provide useful information about the performances achieved by the bicycle or by the rider himself. The Data Analysis work allows to answer to some fundamental questions during the activity planning stage of the team. One of these questions could be: if a rider develops this power on this vehicle, what speed can he achieve during the race? Or again: to reach this speed with this power, what characteristics should the vehicle have?
There are no tricks or magic to anticipate the future but, within certain limits, it is possible to predict some results even before getting on the saddle and pedaling. How? Through a good analysis algorithm.
The Matlab software package is used as computational support. The developed code works within a graphical user interface which makes it possible to use the simulator even for other members of the team without a full knowledge of the MatLab codes. It’s purpose is to:

Briefly, the code works as follows: the sum of kinetic energy and energy “lost” because of air drag and rolling resistance is set equal to the energy calculated by the data provided by the power meter (E = W x delta t). A typical run’s length in Battle Mountain is in the order of 5 minutes. That makes more than 8000 equations, one for every tenth of a second. The rolling resistance coefficient and air drag coefficient are the two unknown parameters. Using the least squares approximation, the code calculates the value of the parameters that minimize the quadratic error.

The tool was successfully used during the race at the WHPSC 2018 in Battle Mountain (Nevada). Each run was evaluated and compared with the previous ones. This day by day analysis offered interesting hints on what could have been improved on the bike, whereas further post-processing elaboration were performed after coming back to Italy in order to have a clear overview of the most influencing factors for the performance. For instance, we found out that the tail prosthesis performed worse than the standard tail and that the final speed is heavily influenced by the atmospheric conditions. Also, exploiting the simulator, different technical solutions can be compared and the possibility of choosing the best one allows us to save precious time and money.

Since a female rider will join our team, our department’s work concerns the adaption of the existing code for the testing activities. In fact, the original code package uses a length scale (in meters) whereas the adapted code package works with a time scale (in seconds). This is due to the fact that the only data that we can use to simulate a run of our new rider comes from the rollers and therefore the acquisition by means of a power-meter comes in time scale. Future work will be focused on improving the algorithm capability to estimate the drag and rolling resistance coefficients and understanding the geometry of the optimal power output profile, a factor which has been proven to have a great influence on the final speed during the run.