System Overview

The system is modular, and the subsystems are implemented in either C++, Matlab or Simulink. They communicate over an LCM (Lightweight Communication and Marshalling) protocol roughly according to the sketch to the right.


PreScan is an advanced physics-based simulation platform that is used in the automotive industry for development of Advanced Driver Assistance Systems (ADAS) that are based on sensor technologies such as radar, laser/lidar, camera and GPS. A Simulink model of all actors and sensors can be generetad, and hence the sensor outputs can be accessed via Simulink blocks. A simple scenario in PreScan is shown in the figure to the left.

Situational Awareness

Situational Awareness processes sensor data and uses a Bayes’ binary filter and a two-dimensional grid to construct a representation of the vehicle’s closest surroundings. The occupancy probability of a cell c is calculated using all previous measurements z1:t from the recursive equation, and by inversion one obtains an expression for a cell's occupancy probability,

This filter only applies to static environment. To incorporate also moving obstacles, as soon as such an object has been detected, a motion model is applied to it. The model predicts a trajectory in the nearest future so that collision can be avoided. The figure shows the mapping module's representation of the PreScan scenario above.


The planning part of the project consist of the two modules, Mission Planner and Local Planner. In the figure to the left one can see the vehicle in action. The red and yellow line is the local trajectory that the vehicle shall follow. The circles together represents the route, that is computed by the Mission Planner.

The Local Planner plans locally on free-spaces using an RRT-algorithm. The trajectory that the RRT-computes is followed by a pure pursuit controller. On roads, a pure pursuit controller is also used to follow the straight lines between waypoints. The actual controlling is done by sending reference signals to the controller unit.

Vehicle Data Estimator

The vehicle data estimator estimates the centre of gravity and the mass of the PreScan vehicle. This is done via Extended Kalman Filters. The model used to estimate the vehicle mass is a longitudinal model of the vehicle where Newton’s second law sums the acting forces, which follows below.
where Ft is the traction force, Fr is rolling resistance force, Fg is gravity force and Fd is aerodynamic drag force. The estimated mass is then used in the model of the roll behavior which is shown below.
where CΦ is the spring constant and DΦ is the damping constant and hcg is the estimated height of the center of gravity.


The controllers are used to regulate speed and heading of the vehicle. The reference signals speed and heading are sent from the Local Planner and via PID-controllers using feedback measurements from the vehicle, the control signals throttle position, brake and steering wheel angle are calculated. The regulator controlling the speed can be seen in the figure below.