Inside Milrem Robotics with Greg Otsa: simulation
As our software is running in an actual vehicle, we need ways to test how our code interacts with its hardware and the physical environment the vehicle operates.
One would think that as the first step we install it in a vehicle and drive around to get feedback but this is the most time-consuming, inconvenient, and expensive way to do it. You don’t want to fix bugs in a forest with -10C and snow blowing into your face and laptop. By the time we run tests on the vehicle itself, everything should already be working, and it should be just a final validation.
This is exactly where Simulation comes into play. Talking about software, most of the simulation’s use cases are related to Autonomy. In addition, we are using simulation to simulate, for example, things related to the powertrain - how much power do we need to drive uphill at a certain angle, how much cooling do we need etc. However, I will not focus on that right now, let’s stay on the topics more related to software.
One of the simulation loops looks like this:
This is how we can have a full "virtual" simulation - basically, drive around like in a computer game but use our Autonomy software.
The next step is adding hardware in the loop. We can replace some simulated components with physical ones, testing both the physical components and the integration with simulated components and our software.
领英推荐
From the developer's point of view the Simulator is quite easy to use as they can configure most of the things:
Some other use cases are linked to signal lag between the operator and the vehicle. What’s it like driving a vehicle if both your visual feed from the vehicle and commands to the vehicle are not real-time but have lag??
And the list goes on. The more bugs we find in Simulation the easier they are to fix.?
Next time - why do people love working in Milrem? However, as it takes a bit more time to collect and analyze the data this article will be posted in 2 weeks, on the 13th of October.
See also the previous posts if you have missed them: