Building UIUC's 1st Self-driving Car from Scratch

Online Monitoring for Safe Pedestrian-Vehicle Interactions

Peter Du, Zhe Huang, Tianqi Liu, Ke Xu, Qichao Gao, Hussein Sibai, Katherine Driggs-Campbell, and Sayan Mitra

Object Detection & Tracking & Position Estimation

Overview

  • Adapt YOLOv3 algorithm to detect vehicle, pedestrian, stop sign, and traffic light
  • As a quick and efficient implementation, I use Triangle Similarity to estimate vehicle and pedestrian distances (y positions)
  • Use meter-to-pixel ratio to estimate x positions
  • Use SORT, an online Kalman Filter based algorithm, for tracking

Public Road Test Demo Video

  • label format: <class label>-<tracking ID> [x, y]
  • x coordinates: negative means to the left of ego-vehicle; positive means to the right of ego-vehicle
  • y coordinates: the depth from ego-vehicle

Automatic Braking: Detection & Tracking & Control

Pedestrian Detection and Tracking

  • Adapt YOLOv3 algorithm to detect the pedestrian
  • Use SORT, an online Kalman Filter based algorithm, for tracking

Controller

  • Simple PID controller as a quick start

Indoor Arena Demo Video

Cruise Control: Lane Detection & Controller

Lane Detection

  • Our first implementation utilizes Perspective Transformation, Color Masks, Sobel Filter, Edge Detection, and Morphological Closure
  • Switch to LaneNet for better performances

Controller

  • Simple PID controller as a quick start

Indoor Arena Demo Video

System Overview

Test Vehicle Platform

  • We are fortunately to play with UIUC's very 1st self-driving car
  • Polaris GEM e2 from AutonomouStuff
    • PACMOD: drive-by-wire lower level CAN control
    • Joystick Controller
  • Sensors
    • Velodyne VLP-16 LiDAR
    • Delphi ESR 2.5 Radar
    • GPS & IMU
    • Mako G-319C color camera, 1920x1440
  • Networking
    • ROS, Ethernet, CAN, USB
  • Onboard PC
    • 6 Generation Intel® CoreTM i7-6700 quad-core, 2.4 GHz
    • NVIDIA® GeForce® GTX 1050 GPU (2GB GDDR5)