Localization - F1tenth · Solution: Monte Carlo Localization Alternate Solutions: Kalman Filter,...

61
Localization F1/10 th Autonomous Racing Nischal K N

Transcript of Localization - F1tenth · Solution: Monte Carlo Localization Alternate Solutions: Kalman Filter,...

Page 1: Localization - F1tenth · Solution: Monte Carlo Localization Alternate Solutions: Kalman Filter, Topological Markov Localization. Particle Filter A Example in 1 Dimension Robot Door

Localization

F1/10th Autonomous Racing

Nischal K N

Page 2: Localization - F1tenth · Solution: Monte Carlo Localization Alternate Solutions: Kalman Filter, Topological Markov Localization. Particle Filter A Example in 1 Dimension Robot Door

Hector MappingMapping

Localization

Path Planning

Control

System Overview

Page 3: Localization - F1tenth · Solution: Monte Carlo Localization Alternate Solutions: Kalman Filter, Topological Markov Localization. Particle Filter A Example in 1 Dimension Robot Door

Adaptive Monte

Carlo Localization

Hector MappingMapping

Localization

Path Planning

Control

System Overview

Page 4: Localization - F1tenth · Solution: Monte Carlo Localization Alternate Solutions: Kalman Filter, Topological Markov Localization. Particle Filter A Example in 1 Dimension Robot Door

Where am I ???

?

?

?

Page 5: Localization - F1tenth · Solution: Monte Carlo Localization Alternate Solutions: Kalman Filter, Topological Markov Localization. Particle Filter A Example in 1 Dimension Robot Door

Where am I ???

?

?

? Position &

Orientation

Page 6: Localization - F1tenth · Solution: Monte Carlo Localization Alternate Solutions: Kalman Filter, Topological Markov Localization. Particle Filter A Example in 1 Dimension Robot Door

Localization using Odometry

Walls

Free Space

Initial Car Position

Car Trajectory

Page 7: Localization - F1tenth · Solution: Monte Carlo Localization Alternate Solutions: Kalman Filter, Topological Markov Localization. Particle Filter A Example in 1 Dimension Robot Door

Drawbacks of Localization using Wheel Odometry

Wheel spin due to lack of traction

Page 8: Localization - F1tenth · Solution: Monte Carlo Localization Alternate Solutions: Kalman Filter, Topological Markov Localization. Particle Filter A Example in 1 Dimension Robot Door

Drawbacks of Localization using Hector odometry

Failed scan matching due to lack of features

Page 9: Localization - F1tenth · Solution: Monte Carlo Localization Alternate Solutions: Kalman Filter, Topological Markov Localization. Particle Filter A Example in 1 Dimension Robot Door

• A mechanism to compensate the mistakes committed by odometry

• A solution robust to compensate for lack of information on initial position

Issue

Page 10: Localization - F1tenth · Solution: Monte Carlo Localization Alternate Solutions: Kalman Filter, Topological Markov Localization. Particle Filter A Example in 1 Dimension Robot Door

• A mechanism to compensate the mistakes committed by odometry

• A solution robust to compensate for lack of information on initial position

Issue

Solution: Monte Carlo Localization

Alternate Solutions: Kalman Filter, Topological Markov Localization

Page 11: Localization - F1tenth · Solution: Monte Carlo Localization Alternate Solutions: Kalman Filter, Topological Markov Localization. Particle Filter A Example in 1 Dimension Robot Door

Particle FilterA Example in 1 Dimension

Robot Door

Belief State

Page 12: Localization - F1tenth · Solution: Monte Carlo Localization Alternate Solutions: Kalman Filter, Topological Markov Localization. Particle Filter A Example in 1 Dimension Robot Door

Particle FilterA Example in 1 Dimension

Robot Door

Direction of motion

Belief State

Page 13: Localization - F1tenth · Solution: Monte Carlo Localization Alternate Solutions: Kalman Filter, Topological Markov Localization. Particle Filter A Example in 1 Dimension Robot Door

Particle FilterA Example in 1 Dimension

Robot DoorAt time t = 1

Direction of motion

Page 14: Localization - F1tenth · Solution: Monte Carlo Localization Alternate Solutions: Kalman Filter, Topological Markov Localization. Particle Filter A Example in 1 Dimension Robot Door

Particle FilterA Example in 1 Dimension

Robot Door

Measurement Model

At time t = 1

Direction of motion

Page 15: Localization - F1tenth · Solution: Monte Carlo Localization Alternate Solutions: Kalman Filter, Topological Markov Localization. Particle Filter A Example in 1 Dimension Robot Door

Particle FilterA Example in 1 Dimension

Robot Door

Measurement Model

Belief State

At time t = 1

Direction of motion

Page 16: Localization - F1tenth · Solution: Monte Carlo Localization Alternate Solutions: Kalman Filter, Topological Markov Localization. Particle Filter A Example in 1 Dimension Robot Door

At time t = 2, robot moves forward a certain distance

Page 17: Localization - F1tenth · Solution: Monte Carlo Localization Alternate Solutions: Kalman Filter, Topological Markov Localization. Particle Filter A Example in 1 Dimension Robot Door

Motion Model update

At time t = 2, robot moves forward a certain distance

Page 18: Localization - F1tenth · Solution: Monte Carlo Localization Alternate Solutions: Kalman Filter, Topological Markov Localization. Particle Filter A Example in 1 Dimension Robot Door

Motion Model update

Measurement model

At time t = 2, robot moves forward a certain distance

Page 19: Localization - F1tenth · Solution: Monte Carlo Localization Alternate Solutions: Kalman Filter, Topological Markov Localization. Particle Filter A Example in 1 Dimension Robot Door

Belief State

Motion Model update

Measurement model

At time t = 2, robot moves forward a certain distance

Page 20: Localization - F1tenth · Solution: Monte Carlo Localization Alternate Solutions: Kalman Filter, Topological Markov Localization. Particle Filter A Example in 1 Dimension Robot Door

Continuous State

Page 21: Localization - F1tenth · Solution: Monte Carlo Localization Alternate Solutions: Kalman Filter, Topological Markov Localization. Particle Filter A Example in 1 Dimension Robot Door

Continuous State

Discrete StateDiscrete State

Page 22: Localization - F1tenth · Solution: Monte Carlo Localization Alternate Solutions: Kalman Filter, Topological Markov Localization. Particle Filter A Example in 1 Dimension Robot Door

Continuous State

Discrete State

Page 23: Localization - F1tenth · Solution: Monte Carlo Localization Alternate Solutions: Kalman Filter, Topological Markov Localization. Particle Filter A Example in 1 Dimension Robot Door

Particle Filter in 2D

Page 24: Localization - F1tenth · Solution: Monte Carlo Localization Alternate Solutions: Kalman Filter, Topological Markov Localization. Particle Filter A Example in 1 Dimension Robot Door

Particle Filter in 2D

Odometry pose

Page 25: Localization - F1tenth · Solution: Monte Carlo Localization Alternate Solutions: Kalman Filter, Topological Markov Localization. Particle Filter A Example in 1 Dimension Robot Door

Particle Filter in 2D

Page 26: Localization - F1tenth · Solution: Monte Carlo Localization Alternate Solutions: Kalman Filter, Topological Markov Localization. Particle Filter A Example in 1 Dimension Robot Door

Scan Correlation

Page 27: Localization - F1tenth · Solution: Monte Carlo Localization Alternate Solutions: Kalman Filter, Topological Markov Localization. Particle Filter A Example in 1 Dimension Robot Door

𝑆 =σ𝑚σ𝑛(𝐴𝑚𝑛 − 𝐴)(𝐵𝑚𝑛 − 𝐵)

σ𝑚σ𝑛 𝐴𝑚𝑛 − 𝐴2

σ𝑚σ𝑛 𝐵𝑚𝑛 − 𝐵2

Scan Correlation

Page 28: Localization - F1tenth · Solution: Monte Carlo Localization Alternate Solutions: Kalman Filter, Topological Markov Localization. Particle Filter A Example in 1 Dimension Robot Door

Particle Weight

Particle 1 S1

Scan Correlation

𝑆 =σ𝑚σ𝑛(𝐴𝑚𝑛 − 𝐴)(𝐵𝑚𝑛 − 𝐵)

σ𝑚σ𝑛 𝐴𝑚𝑛 − 𝐴2

σ𝑚σ𝑛 𝐵𝑚𝑛 − 𝐵2

Page 29: Localization - F1tenth · Solution: Monte Carlo Localization Alternate Solutions: Kalman Filter, Topological Markov Localization. Particle Filter A Example in 1 Dimension Robot Door

Particle Weight

Particle 1 S1

Particle 2 S2

Scan Correlation

𝑆 =σ𝑚σ𝑛(𝐴𝑚𝑛 − 𝐴)(𝐵𝑚𝑛 − 𝐵)

σ𝑚σ𝑛 𝐴𝑚𝑛 − 𝐴2

σ𝑚σ𝑛 𝐵𝑚𝑛 − 𝐵2

Page 30: Localization - F1tenth · Solution: Monte Carlo Localization Alternate Solutions: Kalman Filter, Topological Markov Localization. Particle Filter A Example in 1 Dimension Robot Door

Particle Weight

Particle 1 S1

Particle 2 S2

Particle 3 S3

Scan Correlation

𝑆 =σ𝑚σ𝑛(𝐴𝑚𝑛 − 𝐴)(𝐵𝑚𝑛 − 𝐵)

σ𝑚σ𝑛 𝐴𝑚𝑛 − 𝐴2

σ𝑚σ𝑛 𝐵𝑚𝑛 − 𝐵2

Page 31: Localization - F1tenth · Solution: Monte Carlo Localization Alternate Solutions: Kalman Filter, Topological Markov Localization. Particle Filter A Example in 1 Dimension Robot Door

Particle Weight

Particle 1 S1

Particle 2 S2

Particle 3 S3

Particle 4 S4

Scan Correlation

𝑆 =σ𝑚σ𝑛(𝐴𝑚𝑛 − 𝐴)(𝐵𝑚𝑛 − 𝐵)

σ𝑚σ𝑛 𝐴𝑚𝑛 − 𝐴2

σ𝑚σ𝑛 𝐵𝑚𝑛 − 𝐵2

Page 32: Localization - F1tenth · Solution: Monte Carlo Localization Alternate Solutions: Kalman Filter, Topological Markov Localization. Particle Filter A Example in 1 Dimension Robot Door

Particle Weight

Particle 1 S1

Particle 2 S2

Particle 3 S3

Particle 4 S4

Particle 5 S5

Scan Correlation

𝑆 =σ𝑚σ𝑛(𝐴𝑚𝑛 − 𝐴)(𝐵𝑚𝑛 − 𝐵)

σ𝑚σ𝑛 𝐴𝑚𝑛 − 𝐴2

σ𝑚σ𝑛 𝐵𝑚𝑛 − 𝐵2

Page 33: Localization - F1tenth · Solution: Monte Carlo Localization Alternate Solutions: Kalman Filter, Topological Markov Localization. Particle Filter A Example in 1 Dimension Robot Door

Particle Weight

Particle 1 S1

Particle 2 S2

Particle 3 S3

Particle 4 S4

Particle 5 S5

Particle 6 S6

Scan Correlation

𝑆 =σ𝑚σ𝑛(𝐴𝑚𝑛 − 𝐴)(𝐵𝑚𝑛 − 𝐵)

σ𝑚σ𝑛 𝐴𝑚𝑛 − 𝐴2

σ𝑚σ𝑛 𝐵𝑚𝑛 − 𝐵2

Page 34: Localization - F1tenth · Solution: Monte Carlo Localization Alternate Solutions: Kalman Filter, Topological Markov Localization. Particle Filter A Example in 1 Dimension Robot Door

Particle Weight

Particle 1 S1

Particle 2 S2

Particle 3 S3

Particle 4 S4

Particle 5 S5

Particle 6 S6

Scan Correlation

𝑆 =σ𝑚σ𝑛(𝐴𝑚𝑛 − 𝐴)(𝐵𝑚𝑛 − 𝐵)

σ𝑚σ𝑛 𝐴𝑚𝑛 − 𝐴2

σ𝑚σ𝑛 𝐵𝑚𝑛 − 𝐵2

Page 35: Localization - F1tenth · Solution: Monte Carlo Localization Alternate Solutions: Kalman Filter, Topological Markov Localization. Particle Filter A Example in 1 Dimension Robot Door

Odometry Particle Filter

Localization using

Page 36: Localization - F1tenth · Solution: Monte Carlo Localization Alternate Solutions: Kalman Filter, Topological Markov Localization. Particle Filter A Example in 1 Dimension Robot Door

• Update the particle cloud with

the update in position from

the odometry

• Repeat Scan matching

process for each particle and

determine the weights.

Update step

Page 37: Localization - F1tenth · Solution: Monte Carlo Localization Alternate Solutions: Kalman Filter, Topological Markov Localization. Particle Filter A Example in 1 Dimension Robot Door

Odometry update

• Update the particle cloud with

the update in position from

the odometry

• Repeat Scan matching

process for each particle and

determine the weights.

Update step

Page 38: Localization - F1tenth · Solution: Monte Carlo Localization Alternate Solutions: Kalman Filter, Topological Markov Localization. Particle Filter A Example in 1 Dimension Robot Door

Particle Weights

𝑊𝑡 ← 𝑊𝑡 − 1 × 𝑆

Odometry update

• Update the particle cloud with

the update in position from

the odometry

• Repeat Scan matching

process for each particle and

determine the weights.

Update step

Page 39: Localization - F1tenth · Solution: Monte Carlo Localization Alternate Solutions: Kalman Filter, Topological Markov Localization. Particle Filter A Example in 1 Dimension Robot Door

Particle Filter without Resampling

Particles

Weig

hts

Page 40: Localization - F1tenth · Solution: Monte Carlo Localization Alternate Solutions: Kalman Filter, Topological Markov Localization. Particle Filter A Example in 1 Dimension Robot Door

Resampling

Original Particles

After N iterations

Resampling

Page 41: Localization - F1tenth · Solution: Monte Carlo Localization Alternate Solutions: Kalman Filter, Topological Markov Localization. Particle Filter A Example in 1 Dimension Robot Door

Resampling

Original Particles

After N iterations

Resampling

Page 42: Localization - F1tenth · Solution: Monte Carlo Localization Alternate Solutions: Kalman Filter, Topological Markov Localization. Particle Filter A Example in 1 Dimension Robot Door

Resampling

Original Particles

After N iterations

Resampling

Page 43: Localization - F1tenth · Solution: Monte Carlo Localization Alternate Solutions: Kalman Filter, Topological Markov Localization. Particle Filter A Example in 1 Dimension Robot Door

Particles

Page 44: Localization - F1tenth · Solution: Monte Carlo Localization Alternate Solutions: Kalman Filter, Topological Markov Localization. Particle Filter A Example in 1 Dimension Robot Door

Particles

Weig

hts

Particle filter with Resampling

Page 45: Localization - F1tenth · Solution: Monte Carlo Localization Alternate Solutions: Kalman Filter, Topological Markov Localization. Particle Filter A Example in 1 Dimension Robot Door

• Variable Particle size

• Sample size is proportional to error between odometry position and sample based approximation

• i.e smaller sample size when particles have converged

Kullback–Leibler divergence (KLD Sampling)

Page 46: Localization - F1tenth · Solution: Monte Carlo Localization Alternate Solutions: Kalman Filter, Topological Markov Localization. Particle Filter A Example in 1 Dimension Robot Door

Particle Filters in ROS

• Adaptive Monte Carlo Localization Package

• Localization for a robot moving in a 2D space

• Localizes against a pre-existing map

Page 47: Localization - F1tenth · Solution: Monte Carlo Localization Alternate Solutions: Kalman Filter, Topological Markov Localization. Particle Filter A Example in 1 Dimension Robot Door

Tf tree – Where does AMCL fit in

world_frame

map

odom

base_frame

Page 48: Localization - F1tenth · Solution: Monte Carlo Localization Alternate Solutions: Kalman Filter, Topological Markov Localization. Particle Filter A Example in 1 Dimension Robot Door

Tf tree – Where does AMCL fit in

world_frame

map

odom

base_frame

Odometry (Hector)

Page 49: Localization - F1tenth · Solution: Monte Carlo Localization Alternate Solutions: Kalman Filter, Topological Markov Localization. Particle Filter A Example in 1 Dimension Robot Door

Tf tree – Where does AMCL fit in

world_frame

map

odom

base_frame

Odometry (Hector)

Odometry

Drift(AMCL)

Page 50: Localization - F1tenth · Solution: Monte Carlo Localization Alternate Solutions: Kalman Filter, Topological Markov Localization. Particle Filter A Example in 1 Dimension Robot Door

Input and Output Parameters

Page 51: Localization - F1tenth · Solution: Monte Carlo Localization Alternate Solutions: Kalman Filter, Topological Markov Localization. Particle Filter A Example in 1 Dimension Robot Door

Input Parameters:1. Laser Scan

Input and Output Parameters

Page 52: Localization - F1tenth · Solution: Monte Carlo Localization Alternate Solutions: Kalman Filter, Topological Markov Localization. Particle Filter A Example in 1 Dimension Robot Door

Input Parameters:1. Laser Scan

2. Dead Reckoning/Odometry

Input and Output Parameters

Page 53: Localization - F1tenth · Solution: Monte Carlo Localization Alternate Solutions: Kalman Filter, Topological Markov Localization. Particle Filter A Example in 1 Dimension Robot Door

Input Parameters:1. Laser Scan

2. Dead Reckoning/Odometry

3. Map

Input and Output Parameters

Page 54: Localization - F1tenth · Solution: Monte Carlo Localization Alternate Solutions: Kalman Filter, Topological Markov Localization. Particle Filter A Example in 1 Dimension Robot Door

Input Parameters:1. Laser Scan

2. Dead Reckoning/Odometry

3. Map

Output Parameters:1. AMCL pose

Input and Output Parameters

Page 55: Localization - F1tenth · Solution: Monte Carlo Localization Alternate Solutions: Kalman Filter, Topological Markov Localization. Particle Filter A Example in 1 Dimension Robot Door

Input Parameters:1. Laser Scan

2. Dead Reckoning/Odometry

3. Map

Output Parameters:1. AMCL pose

2. Particle Cloud

Input and Output Parameters

Page 56: Localization - F1tenth · Solution: Monte Carlo Localization Alternate Solutions: Kalman Filter, Topological Markov Localization. Particle Filter A Example in 1 Dimension Robot Door

Video of AMCL particles

Page 57: Localization - F1tenth · Solution: Monte Carlo Localization Alternate Solutions: Kalman Filter, Topological Markov Localization. Particle Filter A Example in 1 Dimension Robot Door

min_particles

Default: 100

The minimum number of particles to be used for calculating correlation

AMCL Parameters

max_particles

Default: 500

The maximum number of particles to be used for calculating correlation

Page 58: Localization - F1tenth · Solution: Monte Carlo Localization Alternate Solutions: Kalman Filter, Topological Markov Localization. Particle Filter A Example in 1 Dimension Robot Door

update_min_d

Default: 0.2m

The minimum translation movement required by the vehicle before an pose update is published

AMCL Parameters

update_min_a

Default: Τπ 6 radians

The minimum angular movement required by the vehicle before an pose update is published

Page 59: Localization - F1tenth · Solution: Monte Carlo Localization Alternate Solutions: Kalman Filter, Topological Markov Localization. Particle Filter A Example in 1 Dimension Robot Door

initial_pose_x Default: 0

initial_pose_y Default: 0

initial_pose_a Default: 0

The initial mean position of the particles to initialize the particle filter

AMCL Parameters

Page 60: Localization - F1tenth · Solution: Monte Carlo Localization Alternate Solutions: Kalman Filter, Topological Markov Localization. Particle Filter A Example in 1 Dimension Robot Door

initial_cov_xx Default: 0

initial_cov_yy Default: 0

initial_cov_aa Default: 0

The covariance of particles distributed around the mean

AMCL Parameters

Page 61: Localization - F1tenth · Solution: Monte Carlo Localization Alternate Solutions: Kalman Filter, Topological Markov Localization. Particle Filter A Example in 1 Dimension Robot Door

What Next?

•Path Planning and Trajectory Generation

•Cost Maps

•Control Algorithms For Navigation