Inside Milrem Robotics with Greg Otsa: simulation

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:

  1. Sensors indicate some info (which is simulated) to Autonomy.
  2. Autonomy detects an obstacle.
  3. Autonomy sends movement adjustment commands to (simulated) Core.
  4. Movement is adjusted in Simulation.

This is how we can have a full "virtual" simulation - basically, drive around like in a computer game but use our Autonomy software.

For more details on Autonomy and Core, see the previous posts.

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:

  1. Which sensors to simulate (lidar, camera etc).
  2. Parameters for each sensor like the number and frequency of lidar beams.
  3. The noise of a sensor.
  4. Output parameters from Simulation to Autonomy.
  5. Vibration etc.

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:

  1. Intro & Summer Camp
  2. Career model
  3. Our Engineering setup
  4. Autonomy
  5. Core software

要查看或添加评论,请登录

Milrem Robotics的更多文章

社区洞察

其他会员也浏览了