Inside Milrem Robotics with Greg Otsa: core software
Core software is something that is very closely related to hardware. When talking about the Core there are a few components that play a crucial role. Let’s take a look with the help of this simplified model:
One of the main tasks is to control the movement. For the vehicle to move, both tracks must move at the same speed (assuming they’re on a similar surface). In order to turn, one track has to move faster than the other or even move in the opposite direction in case you want to turn without moving forward.
The main factors we must consider:
And it can get tricky. Let’s for example look into surface-related challenges.
As already discussed in the previous post – our vehicles don’t operate on roads but on harsh terrain, which means you cannot expect that there is an identical surface under both tracks. At the same time, the tracks and engines powering them don't know anything about each other - they are totally independent. We could ask both left and right track to do 10 revolutions per minute and expect a smooth ride forward but end up doing "doughnuts" as the surface is uneven, weight balance is not the same etc.
领英推荐
In order to identify the position of the vehicles, we have the IMU (Inertial Measurement Unit). It’s basically a sensor that detects the inertia and angle of the vehicle. The whole feedback cycle from the IMU to the ECU, data processing and commands to engines for adjustments, take a fraction of a second - and we are moving on the right course again.
Fun fact - when driving downhill we are charging the battery. Should be an OK thing to do with no problems? But what to do if you are driving continuously downhill for 1+ km and the battery gets full?
It is a constant flow of interesting challenges and the team working on it consists of real enthusiasts. Some have even built mini robots @ home.
Next time - Simulation.
Read Greg's previous posts: