Project description

The project consists of developing multiple autonomous vehicles that will be able to handle complex scenarios in a road network using route planning, behavioural planning, motion planning, control theory and communication. The vehicles should be able to handle these scenarios in a safe and efficient manner, making sure collisions are avoided at all costs. Most scenarios are commonly encountered in a standard road network, such as overtakes, roundabouts and intersections, but the vehicles should also be able to drive in a convoy, using communication to limit the distance between them.


The complete system consists of three autonomous cars. Each car consists of a custom RC-car fitted with an Rasperry Pi, LIDAR, two odometers, an Arduino and a camera.

Robot Operation System, ROS

ROS is an open-source, meta-operating system for your robot. It provides the services you would expect from an operating system, including hardware abstraction, low-level device control, implementation of commonly-used functionality, message-passing between processes, and package management. It also provides tools and libraries for obtaining, building, writing, and running code across multiple computers.

The different subsystems

Mission Control, MC

This subsystem is responsible for planning a path and creating a map representation.

Learn more

Vehicle Perception, VP

This subsystem responsible for handle everything the cars are able to perceive.

Learn more

Behavioral Decision Making, BDM

This subsystem is responsible for making decisions based on the current surronding and its goal.

Learn more

Motion Planning, MP

This subsystem is responsible for computing a safe and feasible trajectory for the car.

Learn more

Vehicle Control & Modeling, VC&M

This subsystem is responsible for the motion control of the car.

Learn more


The simulator is needed to be able to limit live testing.

Learn more

Graphical User Interface, GUI

The GUI is a conveniet tool for interacting and communicating with the cars.

Learn more


The finished result can be seen in the video below.

Project members

Name Description
Andreas Lundgren Project Leader
Julius Kokko Ekholm Documentation
Adam Ahlgren Software
Karl Gudmundson Testing
Anton Kullberg Software
Jonathan Hanses Design
Andreas Larsson Information
Sten Magnusson Hardware