virtual driver for autonomous vehicles
PRODRIVER is Embotech’s solution to autonomous navigation, path planning, tracking and control for autonomous or highly-automated vehicles as well as vehicles fleets. It is the core component of the autonomous driving software stack, within the so-called ‘decision making’ layer. PRODRIVER is responsible to generate drivable trajectories or directly actuator commands such as steering, accelerating and braking. These are computed given the surrounding environment information. PRODRIVER does so by continuously making predictions and solving an optimization problem in real time. Its most important inputs are information about the drivable space, obstacles within it and a goal. Its outputs can be used directly to control the vehicle or to provide set-points for the vehicle’s low-level controllers to track. The diagram below gives a schematic overview of how PRODRIVER is integrated within a typical autonomous vehicle software stack.
Our design philosophy is focused on a ground vehicle virtual driver that drives like a human but does not make human-like mistakes. We avoid learning-based methods or hard-coded rule-based heuristics where either repeatability and determinism cannot be guaranteed and a large amount of training data is required, or where it’s impossible to encode all situations and the trajectories tend to feel “artificial”. We don’t believe in what we call “situational pre-programming”.
The problem of driving is complex, but it can be described by mathematical functions. Such functions are the equations of motions of the vehicle, the tire dynamics and the constraints imposed by physics (e.g. maximum turning radius), regulation (e.g. speed limits) and safety (e.g. obstacles, road conditions). Those are the ingredients required to set up the mathematical optimization problem.
We take up the challenge to solve the problem in real time – within milliseconds.
In our case, the availability of Embotech’s core technology, the powerful and MISRA-C-compliant FORCESPRO solver, allows us to set up the motion planning challenge as a rich nonlinear optimization problem that can be executed reliability in automotive-grade embedded hardware.
The advantage is that the trajectories generated by PRODRIVER are smooth, human-like, consistent, and able to deal with scenarios never encountered before. By modifying a few parameters, different driving styles automatically emerge. For example, if in the cost function of the optimization problem we try to minimize lateral accelerations, we observe a driving style similar to the one of a careful chauffeur. On the other hand, if the aim is to minimize time, the result is a more race-like style.
Most importantly, our trajectories are physically consistent and correct: they can be followed by the vehicle. This also allows us to deal with driving on low-friction surfaces like mud, gravel, snow, ice, and to create emergency avoidance maneuvers at the limits of handling within the same piece of software.
Our existing customers will be familiar with the products PROPARKER, our low-speed maneuvering motion planner and PROCRUISER, our highway-driving motion planner. These two products separately solved the problem of driving in structured and unstructured spaces, at high speeds and at low speeds. When it became clear that a single motion planner was what our customers needed, we developed PRODRIVER and phased out PROPARKER and PROCRUISER. If you are an existing customer still using the legacy products, we will continue supporting and helping you transitioning to PRODRIVER. Needless to say, PRODRIVER can do what its parent products could do and much more.
Looking for more information?
If you’d like to find out more about PRODRIVER, let us know. Either use the webform on the right or book a meeting via the link below. Our team of experts will be happy to discuss more details with you.