Context-POMDP: a planner for autonomous driving in the SUMMIT simulator

Simulation and driving with Context-POMDP in SUMMIT (click to see video):

Watch the driving video

Getting Started

Information on the Installation Steps and Technical User Guides of Context-PODMP can be located on our wiki.

Overview

This repository contains the code for the Context-POMDP planner for driving among dense urban traffic simulated by the SUMMIT simulator.

The algorithm was initially published in our ICRA (paper):

Cai, P., Lee, Y., Luo, Y. and Hsu, D.,. SUMMIT: A Simulator for Urban Driving in Massive Mixed Traffic. International Conference on Robotics and Automation (ICRA) 2020.

The SUMMIT Simulator

Existing driving simulators do not capture the full complexity of real-world, unregulated, densely-crowded urban environments, such as complex road structures and traffic behaviors, and are thus insufficient for testing or training robust driving algorithms. SUMMIT aim to fill this gap. It is a high-fidelity simulator that facilitates the development and testing of crowd-driving algorithm extending CARLA to support the following additional features:

  1. Real-World Maps: generates real-world maps from online open sources (e.g. OpenStreetMap) to provide a virtually unlimited source of complex environments.

  2. Unregulated Behaviors: agents may demonstrate variable behavioral types (e.g. demonstrating aggressive or distracted driving) and violate simple rule-based traffic assumptions (e.g. stopping at a stop sign).

  3. Dense Traffic: controllable parameter for the density of heterogenous agents such as pedestrians, buses, bicycles, and motorcycles.

  4. Realistic Visuals and Sensors: extending off CARLA there is support for a rich set of sensors such as cameras, Lidar, depth cameras, semantic segmentation etc.

Context-POMDP

Context-POMDP is an expert planner in SUMMIT that explicitly reasons about interactions among traffic agents and the uncertainty on human driver intentions and types. The core is a POMDP model conditioned on humman didden states and urban road contexts. The model is solved using an efficient parallel planner, HyP-DESPOT. A detailed description of the model can be found in our paper.

Architecture and Components

The repository structure has the following conceptual architecture:

To briefly explain the core sub-systems:

  • Summit the SUMMIT simulator.

  • Summit Connector A python package for communicating with SUMMIT. It publishes ROS topics on state and context information.

  • Crowd Pomdp Planner The POMDP planner package. It receives ROS topics from the Summit_connector package and executes the belief tracking and POMDP planning loop.

  • Car Hyp Despot A static library package that implements the context-based POMDP model and the HyP-DESPOT solver. It exposes planning and belief tracking functions to be called in crowd_pomdp_planner.