SLAM With Kalman Filtered Odometry in O(1)

Abschlussvortrag zur Masterarbeit

Aufgabensteller: Prof. Dr. Kranzlmüller

Betreuer: Tobias Fuchs

Datum des Vortrags: 21.03.2019

Autonomous Driving

1

Real track

Seen track

UAS Munich Team

2

Combustion

Since 2006

Electrical

Since 2010

Driverless

Since 2017

Interdisciplinary team of 100+ students from UAS Munich & LMU

Simulatenous Localization and Mapping

3

Sensors

Localization

Mapping

Estimated Position

Environmental Map

Autonomous Pipeline

4

Visual Sensor

Neural Network

SLAM

Trajectory

Planning

Velocity Sensor

Accelerometer

Vehicle

Control Unit

Sensors

Preprocessing

Planning

Excecution

Master Thesis

Problem Statement

5

How can heterogeneous sensor inputs be combined in a SLAM process component with constant overhead and improved precision?

SLAM Design - Localization

Yaw Rate (rad/s) EKF (4x1)

  • Kistler
  • Visual Odometry

Velocity (m/s) EKF (4x2)

  • BOSCH
  • BOSCH + Kistler
  • POSIROT + Kistler
  • Single-track vehicle model

6

Visual Odometry

7

SLAM Design - Localization - Vel. EKF

8

SLAM Design - Localization - Yaw Rate EKF

9

SLAM Design - Mapping

10

SLAM Design - Mapping

  1. Maximum distance between cones
  2. We need to see two cone pairs to recognize curves
  3. The vehicle can only move forward
  4. The length of the track is capped at 500m
  5. We know the framerate of the object detection
  6. We control how fast the vehicle goes

Possible preallocation

$$\mathcal{O}(N^2) \rightarrow\mathcal{O}(N)$$

$$\mathcal{O}(N) \rightarrow\mathcal{O}(1)$$

11

SLAM Design - Mapping

12

Evaluation - Positional Error

13

Evaluation - Yaw Rate EKF

14

Difference to EKF Yaw Rate

Evaluation - Velocity EKF

15

Evaluation - Space Complexity

16

valgrind

summary of the offline logging

Evaluation - Time Complexity

17

$$\mu = 609 \text{ Hz}, \;\;\;\; \sigma^2 = 82 \text{ Hz}$$

Evaluation - Time Complexity

18

$$\mathcal{O}(1)$$

$$\mathcal{O}(N)$$

logging

without

logging

$$\mu = 30433 \text{ Hz}, \;\;\;\; \sigma^2 = 6305 \text{ Hz}$$

$$\mu = 32488 \text{ Hz}, \;\;\;\; \sigma^2 = 8032 \text{ Hz}$$

$$\mu = 193061 \text{ Hz}$$

$$\sigma^2 = 36483 \text{ Hz}$$

$$\mu = 183201 \text{ Hz}$$

$$\sigma^2 = 54198 \text{ Hz}$$

Summary

19

  • Stable clock frequency
    • Enable preemptive scheudling in the Linux kernel
    • UDP Logging in a custom thread
    • Developed with OpenMP in mind
  • Enhanced estimation
    • Particle Filter
    • More precise object detector

Future Work

Findings

  • Sensor Fusion model with
    • EKF
    • Gaussian Mixture Models
  • Showed feasibility of              SLAM
  • Proof of concept

$$\mathcal{O}(1)$$

Backup #1: Related Work

20

MonoSLAM

ORB-SLAM2

FastSLAM

  • only indoor use
  •  
  • maximum amount of features before slowdown

$$\mathcal{O}(N^2)$$

  • no approximation for computational complexity
  • computational complexity is fixed at                  

$$\mathcal{O}(N \log N)$$

Backup #2: Related Work

21

Backup #3: Data Assoc. Calculations

22

Backup #4: Hardware Overview

23

hard realtime

soft realtime

Backup #5: Cars Overview

24

FSAustria

2017

Business Plan

FSAustria

2017

Acceleration

FSGermany

2017

Gesamt

#3

#1

#1

FSItaly

2018

FSGermany

2018

Acceleration

FSGermany

2018

Gesamt

#5

#2

#2

Gesamt

Acceleration 0-100km/h: 2.1s

Logging from 02.08.2018

  • 635 seconds (~ 10 min)
  • 2.5 m/s
  • 7 laps

Extracted Values

  • Objectcount
    • distance (m), angle (rad), color (yellow, blue, red)
  • Velocities (vx, vy) in m/s from Kistler sensor
  • Velocities (vx, vy) from visual odometry
  • Acceleration (ax, ay) in m/s^2 from BOSCH sensor
  • Yaw rate (rad/s) from BOSCH sensor
  • Yaw rate (rad/s) from Single-track vehicle model
  • Yaw rate (rad/s) from POSIROT + Kistler
  • Yaw rate (rad/s) from BOSCH + Kistler
  • Steering angle (rad) from POSIROT sensor
  • Delta time (s) since last tick

Backup #6: Experimental Setup

25

SLAM with Kalman filtered odometry in O(1)

By cirquit

SLAM with Kalman filtered odometry in O(1)

Abschlussvortrag

  • 71