Simulation of autonomous intersection management

Michał Tomański

Promotor: dr hab. inż. Jarosław Wąs

Overview

  • Why?
  • What?
  • How?

Current situaton

So, what's the problem?

  • The infrastructure is not ready
  • Classic intersections won't be effective
  • Parking places could be more 'intelligent'
  • They need a huge improvement!

Goal

  • To create an intersection management system for autonomous vehicles
  • Investigate the system under simulation
  • Also simulate traditional approaches (traffic lights, roundabout, intersection with priorities)
  • Compare the results of simulation and choose a winner

Autonomous Intersection Management

  • A vehicle approaching the intersection sends a notice to the managing server
  • The notice contains incoming direction and desired direction of the vehicle
  • The notice is added to the queue managed by the server
  • The manager keeps track of the intersection's area usage in a time slot
  • Based on the usage, manager sends back an approval of  crossing or a rejection

Approval

  • The manager is responsible for calculating the route of the vehicle
  • The route cannot interfere with already allocated routes
  • Constant speed and constant angular velocity is assumed
  • The car is required to slow down to the given speed

Additional things to consider

  • Common notice protocol
  • Safety measures - safe distance, speed
  • Protocol of retrying in case of network failure
  • Behavior of vehicles in case of software failure
  • Brief specification of hardware needed for both server and vehicles

Improvements

  • Nonlinear speed, nonlinear angular velocity
  • Parametrised vehicles
  • Priorities - emergency vehicles, buses, bus lanes
  • Priority algorithms - first come first served, first route availabe first served
  • Time optimisation - one vehicle optimisation, entire crossing throughput optimisation - Altruism!
  • Fuel consumption optimisation
  • Audit logs - legal concerns

Technical stuff

  • Language: scala
  • Web framework: Play
  • Concurrency mechanism: Akka actors
  • Messaging system and persistence: Kafka
  • Front-end: ReactJS with typescript (just for simulation)

Thanks

Made with Slides.com