University of Tartu’s self-driving car has reached city traffic

Perhaps you have noticed a white SUV with the University of Tartu and Bolt logo and a peculiar pyramid on its roof driving around central Tartu. That is the test car of the Autonomous Driving Lab which passed a driving test by the Road Administration and can now cruise the streets on its own.

The Autonomous Driving Lab of the University of Tartu (UT) purchased the test car in collaboration with Bolt. An important milestone in the joint project was reached in September, when the car got a permission to drive in city traffic autonomously, although, with a safety driver always behind the wheel to observe and take over if necessary. 

The lab’s test car is an ordinary Lexus RX450h hybrid SUV supplemented by numerous sensors: two lidars (laser locators) for detecting obstacles, a radar for detecting the speed of obstacles, two cameras for detecting traffic lights and a special satellite navigation system allowing the car to be positioned with an accuracy of 5–10 cm.

The most expensive part of the car is the driving module which enables software to control the steering wheel and speed of the car. Lexus was chosen as the test car because its supplier was the only one providing a Technical Inspection Association TÜV certification for autonomous driving. This means the supplier ensures that the safety driver can take over in every situation.

The self-driving test car can be seen driving around in central Tartu. The test lap starts in front of the University of Tartu Delta Centre, crosses the Võidu bridge, turns from Riia to Vabaduse street, passes the Town Hall Square, crosses the Vabaduse bridge and reaches the Delta Centre again. 

Even though the track consists mainly of straight streets, right turns and traffic light-regulated intersections, it provides complex enough tasks and is, therefore, suitable for achieving the initial milestone of technology testing. The track includes seven traffic-light regulated pedestrian crossings, four unregulated pedestrian crossings, two intersections with a traffic light, four bus stops, lane changes, right turns and a roundabout. 

Execution requires high technology

There are two main competing technological solutions in the autonomous driving world: map and lidar-based solutions and camera-based solutions. The best-known example of the former is Waymo (formerly the Google self-driving car project) and of the latter is Tesla. 

Waymo is so far the only company whose taxis drive on the streets without a driver, even though in a US suburb with limited traffic density. Their solution is, however, very expensive because of the use of complex lidar sensors, and the vehicle operates only in the area marked on a high-definition map. Tesla’s solution is solely camera-based and should function everywhere. At the same time, its reliability is far from allowing to exclude the human driver. 

Automation Level Name  Description Example Company
Level 0 No Automation Human driver does all the driving. Most current cars. -
Level 1 Driver Assistance Either speed or steering control is automated. Adaptive cruise control that keeps distance with the car ahead. -
Level 2 Partial Automation Both speed and steering control is automated, the driver has to stay alert and constantly monitor the vehicle. Combination of lane keep assistance and adaptive cruise control.
Level 3 Conditional Automation Driving is completely automated in specific areas or environment conditions, the driver must be able to intervene upon short notice. Traffic jam assistant - the driver can read a book until the car gets out of a traffic jam and has to take over control then. -
Level 4 High Automation Driving is completely automated in specific areas or environment conditions, driver is not needed, the car can pull over in case the conditions do not apply any more. Robotaxi that works in a specific city district and only when it is not raining.
Level 5 Full Automation Driving is completely automated in all cases. Does not exist yet -

As so far, the map and lidar-based technology offers a higher level of autonomy than a camera-based solution, which is why it is also used in the UT and Bolt project. The solution is based on Autoware.AI open-source software, which has been adjusted significantly for the project. 

Besides creating a high-definition map of the test lap, traffic light detection and smoothness of car movement had to be improved. Many errors in the basic software were fixed as well. At the same time, using open-source software allowed the team of only five to bring the car to the city traffic in a record time – less than a year.

Detailed map is the basis of self-driving

As mentioned above, the Waymo-style self-driving technology is based on a detailed high-definition map. Compared to the usual Google map, every lane has been marked with an accuracy of a centimetre. 

Besides lanes, the map includes stop lines, pedestrian crossings, locations of traffic lights, information about which lane corresponds to which traffic light, etc. One could say that the self-driving car drives along rails, only virtual ones. Within the limits of a given map, the car can drive from any point A to point B. 

Creating such maps, however, is very labour-intensive. Thanks to the Estonian Land Board, there are good-quality orthophotos (geometrically corrected aerial photos) of Estonia available, which have been used as the base layer of the car’s vector map. In the project, the open-source QGIS software was adjusted to support the drawing of lanes, stop lines, pedestrian crossings, traffic lights etc. needed for a high-definition map. 

Researchers also experimented with creating vector maps by automatically analysing aerial photos with artificial neural networks, but so far, drawing maps by hand has been more effective.

Car must consider others in traffic

The map would be enough for a self-driving car if there were no other road users. Since that is not the case, a self-driving car has to manage with surrounding vehicles as well as pedestrians. 

The lidar sensor is used to detect obstacles. The system does this by first determining a ground level and then every object higher than that is considered an obstacle. The car will try to go around the obstacles on its way by swerving within its lane. If that is not possible, the car will stop.

The car must handle both standing and moving obstacles, for example, keep distance with the car ahead. The speed of the car ahead is detected by a radar which is good at estimating the speed of an object moving in a longitudinal direction. 

The vehicle might not recognize the traffic lights as well as a human. It could be affected by a bad camera angle, sunlight in the lens, etc. What is even trickier than recognizing lights is knowing whether the traffic light corresponds to the current lane or not. That is why everything related to the traffic lights has been coded onto the map. Every stop line has been connected to a traffic light, which either allows or does not allow crossing it.

Two methods have been combined to recognize traffic lights: a camera-based detection and asking the light information from the traffic light control system over the internet. The last method was implemented by collaborating with the company TRAFFEST managing the traffic lights in Tartu. 

Even though asking the traffic light information via mobile broadband might seem unreliable and delayed, it is not a problem with today’s fast internet connections. This solution has often been more reliable than camera-based recognition. If the car fails to get information over the internet, camera recognition is used. 

Safety driver takes over

There is still one thing the self-driving car operated by the UT and Bolt has yet to learn: predicting the future. To give way to another car, the car would need to assess its trajectory, speed and predict if it is likely to run into it at an intersection. At the moment, the car is not able to evaluate the speed and trajectory of other vehicles well enough to fully rely on the algorithm while giving way. Therefore, if the car needs to give way at an intersection, the safety driver takes over.

In general, a human takes over in three situations: to give way at an intersection or a roundabout, if there is a pedestrian waiting at the pedestrian crossing and when a bus signals the wish to leave the stop.

The next step for the research engineers  is to create a similar test lap in Tallinn. They also plan to improve the prediction function so that the self-driving car could give way to other vehicles in more straight-forward situations.

In September, in addition to the driving test by the Road Administration, the test car participated in a test stage at Rally Estonia. Unlike driving on the street, the race trajectory was pre-recorded by a  human driver and the maximum speed was 65 km/h. Before the race, the car managed to easily complete the track. However, on the day of the race, the WRC cars left the softer part of the track in shambles so the safety driver had to take over steering several times. Nevertheless, the test car completed most of the route on its own. 


The self-driving test car was acquired in the UT project “Applied Research on Development of Autonomous Driving Lab for Level 4 Autonomy” in collaboration with Bolt. The project has also received support from the smart specialisation programme NUTIKAS by Archimedes. The project aims to create a technology development platform for applied research of autonomous driving technology in order to assess the current level of technology and readiness for the introduction of self-driving cars in Estonian traffic, identify further needs for development and build new technology based on previous solutions.

Six research groups from the University of Tartu Institute of Computer Science and Institute of Technology are involved in this project and are focused on the following:

  • precision maps
  • positioning
  • route planning
  • safety (object detection)
  • artificial neural networks
  • security
  • human-vehicle interaction

The articel was originally published in the UT Magazine in Estonian.