Innovative ideas and technological advances are born from passion, and this is no different when it comes to the motorcycle racing simulator developed by Frédéric Nicolo. A numerical and scientific calculation engineer in France, Nicolo’s love for motorcycles inspired him to start his own venture after realising there were no motorbike simulators that performed at the same level as existing driving simulators for cars.
Using MapleSim, the modelling and simulation tool from Maplesoft, he was able to successfully develop his simulator, designed to accommodate the unique characteristics of motorbikes.
He commented: “The motorbike world addresses a limited audience; motorcycle manufacturers are few and investment in research and development is low compared to the automotive sector.”
He continued: “Physical phenomena relating to motorbike racing are harder to replicate in a simulator. These encompass a broader spectrum than with cars – such as pitch and roll – and very few of these factors can be disregarded or approximated.”
When operating a motorcycle, the rider needs a lot of relevant information to help him ride his bike in favourable conditions; the right balance between the rider, the motorbike, and the environment is difficult to simulate. Nicolo set out to design and develop a motorcycle racing simulator to better simulate the physical phenomena surrounding motorbike racing and to translate them into the simulator in the most appropriate way possible for the rider.
In order to simulate the many physical phenomena for this project, it was essential for Nicolo to find a suitable tool to accurately model them. The various domains involved in the development of a racing simulator make it necessary to have an effective tool that allows for a rapid, highly scalable, multi-domain design model.
Previously, Nicolo used a hand-coded digital model in C++ for motorbike simulations. Coding a motorcycle dynamics model from scratch was a very rewarding experience for him, but it had its limitations, particularly on the level of accuracy and the scalability of the model.
“I was then introduced to MapleSim which, I discovered, provides a great amount of sophistication in physical modelling required for these experiments,” Nicolo explained. “I received access to an evaluation copy of MapleSim and this trial period made me feel confident that the MapleSim solution would meet my numerous requirements, from the perspective of physical modelling, performance and interoperability of the computed generated code. The code generated from a MapleSim model is free of all licensing and proprietary libraries, allowing the user to design digital models that can be adapted seamlessly into many real-time environments.”
Much of his work on the simulator focuses on the calculation of motorcycle dynamics in order to have a solid and realistic simulation basis for the behaviour of a motorcycle. The project encompasses the following elements:
Nicolo had previous experience using the Modelica modelling language and MapleSim’s use of Modelica helped facilitate the development of a motorcycle dynamics model that incorporates these elements.
His models were comprised of elements developed using MapleSim Multibody and 1D Mechanical Libraries, elements developed in C++ and interfaced in MapleSim, and a servomotor controller developed in MapleSim.
He tested the integration of a number of modules previously developed in C++ and, with some adaptation, optimised the generated code, allowing him to build efficient and scalable executables. “I was able to successfully test the real-time run of the motorcycle dynamics model in fixed step at 200µs on a current medium-range machine configuration,” he added.
The models also span multiple domains with inclusion of communication elements such as Ethernet modules, and components, including a driver card needed for the code to work on the motorbike simulation platform, Nicolo explained.
“The goal was to develop a MapleSim model which, once compiled as executable, can be used directly on the simulator,” he said. “MapleSim offers a real advantage as a model-integration platform – combining models from a variety of engineering domains and techniques – because of MapleSim’s Modelica capabilities and the ability to use external C code on MapleSim models.”
Using the MapleSim code generation application was an important step for Nicolo because it allowed him to generate executable code for reconfiguring the whole motorbike without having to regenerate the model from within MapleSim. The analysis window integrated with MapleSim combines two complementary approaches when processing simulated data, offering an initial qualitative approach that can be executed rapidly by visualising the results as a 3D video.
“With this feature, you can process the information quickly and decide to review your test scenario and modelling, or move toward a more detailed approach with analysis of the simulation results,” Nicolo said. “There again, the quantitative approach is made easier with the available tools in MapleSim. Comparing the results of several simulations is also a very interesting feature. The post-processing of calculated data and the development of models are greatly simplified by these tools.”
Nicolo emphasised that his project can continue to benefit from MapleSim as the motorbike simulator becomes more complex and incorporates more accurate models. Moving forward, he plans to utilise MapleSim for even more functions in his simulator project, including data acquisition processing, sizing of mechanical parts and actuators on the simulation platform, and design and development of the control loops of the simulator actuators.
“As the simulator continues to evolve, it will be able to perform even more functions with greater accuracy. The MapleSim solution provides the motorcycle simulator with effective tools to further develop system performance,” Nicolo said. “MapleSim’s numerous tools and capabilities are driving the success of this project.”