Software

WISE Automated Driving System (ADS) is a self-driving car software stack developed by WISE Lab. WISE ADS is a derivative of Autonomoose. It consists of the following components in these three functional areas:

Sensor drivers

  • Novatel Span Driver (produces GNSS data @ 20 Hz and IMU data @ 100 Hz)

  • Velodyne Lidar Driver (produces point cloud @ 20 Hz)

  • Dataspeed Drive-by-wire kit (produces wheel speeds @ 100 Hz, steering, throttle, brake reports @ 50 Hz, and gear report @ 20 Hz)

  • Ximea Cam Driver (produces images @ 10 Hz)

Perception

  • Calibrations (publishes intrinsic camera calibrations and extrinsic sensor calibrations as static transforms)
  • Localizer (given GPS+IMU, wheel speeds publishes an optimal estimate of ego position and dynamic transforms @ 100 Hz)
  • Occupancy (lidar-based, publishes an occupancy grid @ 20 Hz and a ground grid @ 20 Hz. Additionally, publishes the ground and obstacle point cloud segments and ground normal vector @ 20 Hz) 
  • OpenPCDet-based 3D Object Detector (lidar-based, uses PointPillars, publishes 3D bounding boxes @ 20 Hz)
  • KF Tracker (tracks 3D bounding boxes, publishes object tracks and predictions @ 20 Hz)
  • Lane detector and projector (camera-based, uses CondLaneNet, publishes camera images with overlaid detected lanes (2D) and detected lanes projected to vehicle ground plane (3D) @ 10 Hz)

Object detection and tracking

A longer video showing perception and tracking from 3D perspective:

A video showing lane detection and projection into vehicle ground plane in 3D:

A video showing lidar point cloud segmentation done in Occupancy and the resulting occupancy and ground grids.

Planning

  • HD Map Server (loads Lanelet1 and Lanelet2 maps, publishes HD map message (once) and route through the map @ 1 Hz)
  • Behavior Planner + Rule Engine (given the location on the map, route, object tracks, rules of the road, publishes a maneuover to be executed and the global path with speed limits and lane boundaries @ 10 Hz)
  • Local Planner (plans an optimal route given a global path with speed limits and lane boundaries + the occupancy grid, publishes local path @ 10 Hz)

Control

  • Vehicle Controller (given the local path, publishes throttle, steering, break, and gear commands to follow the path @ 50 Hz)

Actuators

  • Dataspeed Drive-by-wire kit (receives steering, throttle, brake commands @ 50 Hz, gear command)

Operating System and Middleware

Wise ADS runs on Ubuntu 20.04 Focal and Robot Operating System (ROS) 1 Noetic.

Programming languages

Most components are implemented in C++ 17 and Python 3 with the exception of the Rule Engine, which is implemented as a NodeJS REST service.

UW Moose

UW MooseWISE ADS is deployed on UW Moose, which is the University of Waterloo's self-driving test platform.

  • 2015 Lincoln MKZ
  • Dataspeed Drive-by-wire Interface, reports @ 100 Hz, commands @ 50 Hz.
  • Velodyne VLP-32C lidar @ 20 Hz (hardware synchronized)
  • 8x Ximea HD cameras @ 10 Hz (hardware triggered)
  • Novatel Span ProPak6D GNSS receiver with NTRIP base station (~2 cm accuracy) @ 20 Hz and IMU @ 100 Hz

Simulation

WISE ADS can be used as the ADS with WISE Sim simulator.

Contributors

Autonomoose, 2017-2019

Original Autonomoose team, mainly members of WAVE Lab led by prof. Waslander and WISE Lab led by prof. Krzysztof Czarnecki.

See also completed project page Autonomoose.

WISE Lab, 2020-present

Project Lead: prof. Krzysztof Czarnecki

Software and Hardware Maintainer: Dr. Michał Antkiewicz

  • Project management, release management, implementation, testing.
  • Dataspeed firmware upgrades.
  • NTRIP base station setup at AVRIL and on-board GNSS receiver reconfiguration.
  • Code migration from Ubuntu 16.04/ROS Kinetic to Ubuntu 18.04/ROS Melodic, and later to 20.04/ROS Noetic. Migration to Python 3.
  • Continuous integration and deployment using GitLab.
  • Lanelet2 mapping and map server support for Lanelet2.
  • WISE ADS mission setup using the same scenarios as in WISE Sim.
  • Behavior Planner Lanelet2 support.
  • System parameter tuning for optimal ADS operation and in response to functionality changes.

OpenPCDet-based object detector and tracker extensions: Adrian Chow, May-Dec 2021.

Lanelet2 maps, mapping tools, and map server extensions: Cameron Hinton, Jan-Apr, 2022.

Lane detector and projector, ground grid occupancy extension, Lanelet2 mapping tools: Joseph Younger, Jan-Apr, 2022.

Last updated: April 26, 2022

WISE Lab logo

Projects by status

Opportunities

We are looking for postdocs and graduate students interested in working on all aspects of autonomous driving.

For more information, visit Open positions.