Head of Software Development and Technology, Andraž Kontarček
A few years ago, development began. The initial prototype was fastened to the platform Arduino with buttons, sensors, and LEDs before being connected to the basic PCB (printed circuit board). As such, the original basic program consisted of only several lines of code.
The real test would come after that, though. For the turn signal and left LED light-ups, we pushed the left indicator. In the primary step, we tiled the box to the right before turning off the LED lights. This test was a success. Afterward, the box needed to be hooked up to the motorcycle, which was supposed to work properly. Our success was contingent on this step.
The second step consisted of testing the device on the motorcycle. With the box half open and wires exposed, we entered the garage. After several issues trying to attach the device to all the motorcycle’s wires, we turned on the engine. The circuit board got the power, but the pair of turn signals began to blink without the key indicators being pushed. It turned out that not everything was going swimmingly, at least at first.
It wasn’t long before we realized that the motorcycle’s engines were emitting too much electromagnetic interference, which inhibited the device’s functionality. Extra software and hardware were necessary to get the device operational before being packed into the aluminum box. Afterward, we ran another test on the motorcycle; for the second time, we tilted the motorcycle to the side and back. Lo and behold, the turn signal blinking ceased. As such, our initial test on a motorcycle was a success!
The next step involved a road test. At first, the device failed to cancel the turn signals properly –it was either too quick, too slow, or didn’t cancel them at all. The program’s algorithm was not operating as it should have. We had to modify a couple of parameters in the program for proper functionality of the device (these days we have approximately 20 program parameters). While we were making our adjustments, we realized that the correct parameter changes to produce error-free turn-signal cancellation was going to be problematic.
These were our issues during the initial development year. Although it was frustrating, the process was also very insightful, and even exciting at times, particularly when we got the device on the motorcycle to work as we wanted it to.
Before long, we had an idea to produce a simulator, which is essentially a program that operates on a PC and mimics how the device’s algorithms respond (as if the device was mounted on a motorcycle). Every algorithm would be tested in the office (offline) with the simulator, which substantially elevated the development’s pace.
Right now, the simulator is designed to cancel all kinds of road turns, right and left turns, changing of lanes, and roundabouts. The simulator’s parameters have also been improved so they could be code-written. In fact, our product currently implements that same code.
Modern algorithms are quite intricate. The device’s parameters have evolved to approximately 20 (and about 1000 lines for the code). The algorithms factor in how much of an inclination will affect multiple axes, as well as the motorcycle’s speed and acceleration.
Ultimately, the path to development was successful, albeit lengthy.