SLAM
- Dr. Ahmad Kamal Nasir
- Dr. –Ing. Ahmad Kamal Nasir
1
SLAM Dr. Ahmad Kamal Nasir Dr. Ing. Ahmad Kamal Nasir 1 The SLAM - - PowerPoint PPT Presentation
SLAM Dr. Ahmad Kamal Nasir Dr. Ing. Ahmad Kamal Nasir 1 The SLAM Problem Given Robot controls Nearby measurements Estimate Robot state (position, orientation) Map of world features Dr. Ing. Ahmad Kamal Nasir 2
1
2
assign task in case a robot fails, tasks can be done which are beyond the capability of single robot
– Map merging, large dynamic sparse outdoor environment – Controlling and managing of multi-robot system is challenging because the system requires handling
– Standard software architecture to avoid re- implementation of basic communication and non- interoperability
plants…
3
4
5
where 𝑦𝑢 is the state of the robots at time step 𝑢 𝑛 is the map 𝑨𝑢 is the robots measurements 𝑣𝑢 are the control inputs 𝑑𝑢 is the data association function
6
: 1 : 1 : 1 t t t
1 2 1 : 1 : 1 : 1 : 1 : 1
t t t t t t t
7
) , | , p(
: 1 : 1 : 1 t t t
u z m x
Full SLAM Online SLAM
1 2 1 : 1 : 1 : 1 : 1 : 1
... ) , | , ( ) , | , p(
t t t t t t t
dx dx dx u z m x p u z m x
8
9
10
1 1 1 1
t t t t
State transition function Control input function Noise input function with covariance Q State Control input Process noise State Sensor reading Sensor noise with covariance R Sensor function
t t t t t t t
1
11
Propagation (motion model):
T t t t T t t t t t t t t t t t t t
G Q G F P F P u B x F x
/ / 1 / / 1
ˆ ˆ
Update (sensor model):
t t t t T t t t t t t t t t t t t t t T t t t t t T t t t t t t t t t t t t
P H S H P P P r K x x S H P K R H P H S z z r x H z
/ 1 1 1 1 1 / 1 / 1 1 / 1 1 1 / 1 1 / 1 1 1 1 / 1 1 1 1 / 1 1 1 1 1 1 / 1 1 1
ˆ ˆ ˆ ˆ ˆ
12
t=0
13
t=1
at time 1
14
t=1
15
t=2
at time 2
their uncertainties
16
t=2
features
17
18
Effect of odometeric errors on robot uncertainty Feature based SLAM to reduce robot uncertainty
19
3D plane map using Kinect 2D Line feature based SLAM using Laser Scanner
20
Grid based SLAM Experiment on H-F0 Grid based SLAM Experiment on H-F1
21
Original map Line feature map Grid map Planned trajectory Map using Hough transform Map using RANSAC
22
Map (robot states + features) Map covariance 𝑦 = 𝑦𝑠1 𝑦𝑠2 ⋮ 𝑛𝑚1 ⋮ 𝑛𝑞1 ⋮ 𝑄 = 𝑄
𝑠1𝑠1
𝑄
𝑠1𝑠2
⋯ 𝑄
𝑠2𝑠1
𝑄
𝑠2𝑠2
⋯ ⋮ ⋮ ⋱ 𝑄
𝑠1𝑛𝑚1
⋯ 𝑄
𝑠2𝑛𝑚1
⋯ ⋮ ⋱ 𝑄
𝑠1𝑛𝑞1
⋯ 𝑄
𝑠2𝑛𝑞1
⋯ ⋮ ⋱ 𝑄
𝑠1𝑛𝑚1
𝑄
𝑠2𝑛𝑚1
⋯ ⋮ ⋮ ⋱ 𝑄
𝑛𝑚1𝑛𝑚1
⋯ ⋮ ⋱ 𝑄
𝑛𝑚1𝑛𝑞1
⋯ ⋮ ⋱ 𝑄
𝑠1𝑛𝑞1
𝑄
𝑠2𝑛𝑞1
⋯ ⋮ ⋮ ⋱ 𝑄
𝑛𝑞1𝑛𝑚1
⋯ ⋮ ⋱ 𝑄
𝑛𝑞1𝑛𝑞1
⋯ ⋮ ⋱
23
Feature Map
24
25
𝒈 𝒚𝒔, 𝒗𝒖, 𝒙𝒖 (Robot kinematic motion model) 𝒏𝒎 represents all of the existing line features 𝒏𝒒 represents the set of all existing plane features 𝑮𝒔𝟐 =
𝜖 𝜖𝑦𝑠1 𝑔 𝑦𝑠, 𝑣𝑢, 𝑥𝑢 Jacobian wrt. robot pose
𝑮𝒐 = 𝜖
𝜖𝑥 𝑔 𝑦𝑠, 𝑣𝑢, 𝑥𝑢 Jacobian wrt. Noise
𝑹 = Covariance of the noise input 𝑦𝑢+1 = 𝑔 𝑦𝑠1, 𝑣𝑢, 𝑥𝑢 𝑔 𝑦𝑠2, 𝑣𝑢, 𝑥𝑢 𝑛𝑚 𝑛𝑞 𝑄𝑢+1 = 𝐺
𝑠1 ∙ 𝑄 𝑠1𝑠1 ∙ 𝐺 𝑠1 𝑈 + 𝐺 𝑜 ∙ 𝑅 ∙ 𝐺 𝑜 𝑈
𝑄
𝑠2 ∙ 𝐺 𝑠1
𝑄
𝑠1𝑛𝑚 ∙ 𝐺 𝑠1
𝑄
𝑠1𝑛𝑞 ∙ 𝐺 𝑠1
𝐺
𝑠1 ∙ 𝑄 𝑠2
𝑄
𝑠2𝑠2
𝑄
𝑛𝑚𝑠2
𝑄
𝑛𝑞𝑠2
𝐺
𝑠1 ∙ 𝑄 𝑠1𝑛𝑚
𝑄
𝑠2𝑛𝑚
𝑄
𝑛𝑚𝑛𝑚
𝑄
𝑛𝑞𝑛𝑚
𝐺
𝑠1 ∙ 𝑄 𝑠1𝑛𝑞
𝑄
𝑠2𝑛𝑞
𝑄
𝑛𝑚𝑛𝑞
𝑄
𝑛𝑞𝑛𝑞
26
Dynamic clustering threshold
Lee Segmentation IEPF Segmentation
𝐸 𝑠
𝑗, 𝑠 𝑗+1 =
𝑠
𝑗 2 + 𝑠 𝑗+1 2
− 2𝑠
𝑗𝑠 𝑗+1cos(∆𝜄)
𝐸𝑢ℎ = 𝐷0 + 𝐷1 min 𝑠
𝑗, 𝑠 𝑗+1
𝐷1 = 2(1 − cos (∆𝜄)) = 𝐸 𝑠
𝑗, 𝑠 𝑗+1
𝑠
𝑗
27
𝛽 = 1 2 𝒃𝒖𝒃𝒐𝟑( −2 𝑧 − 𝑧𝑗 𝑦 − 𝑦𝑗
𝑜 𝑗=0
, 𝑧 − 𝑧𝑗 2 − 𝑦 − 𝑦𝑗 2
𝑜 𝑗=0
)
𝑠 = 𝑦 cos 𝛽 + 𝑧 sin 𝛽 𝑄
𝛽𝑠 =
𝜏𝛽
2
𝜏𝛽𝑠 𝜏𝑠𝛽 𝜏𝑠
2
𝜏𝛽
2 = 𝜖𝛽
𝜖𝜍𝑗
2
𝜏𝜍𝑗
2 𝑜 𝑗=0
𝜏𝑠
2 = 𝜖𝑠
𝜖𝜍𝑗
2
𝜏𝜍𝑗
2 𝑜 𝑗=0
𝜏𝛽𝑠 = 𝜏𝑠𝛽 = 𝜖𝛽 𝜖𝜍𝑗 ∙ 𝜖𝑠 𝜖𝜍𝑗 ∙ 𝜏
𝜍𝑗 2 𝑜 𝑗=0
28
𝒜𝒋 is the innovation 𝒂𝒋 is the covariance of the innovation 𝒐 is the threshold Mahalanobis distance criterion 𝑇 is the covariance of the expected feature 𝑆 is the covariance of the measured feature 𝑨𝑗𝑈 ∙ 𝑎𝑗 −1 ∙ 𝑨𝑗 < 𝑜2 𝑎𝑗 = S + 𝑆 𝑆 = 𝜏𝑠
2
σrα σαr 𝜏𝛽
2
29
The update step of the SLAM process in case of heterogeneous set of features is different for each type of feature. The line features only update the portion of the map containing the robot and line features and similarly for plane features. New information from observed feature Sensor’s observation model Jacobian of sensor model wrt. robot pose Jacobian of sensor model wrt. feature 𝑔 𝑦𝑠, 𝑧
𝑗
= 𝑠
𝑓 𝑗
𝛽𝑓
𝑗
= 𝑠
𝑗 − 𝑦𝑠 ∙ 𝑑𝑝𝑡 𝛽 𝑗
− 𝑧𝑠 ∙ 𝑡𝑗𝑜 𝛽
𝑗
𝛽
𝑗 − 𝜄𝑠
𝑨𝑗 = 𝑧𝑛
𝑗 − 𝑧𝑓 𝑗 =
𝑠
𝑛 𝑗
𝛽𝑛
𝑗
− 𝑠
𝑓 𝑗
𝛽𝑓
𝑗
𝐼𝑠 = − 𝑑𝑝𝑡 𝛽𝑓 − 𝑡𝑗𝑜 𝛽𝑓 −1 𝐼𝑚𝑗 = 1 𝑦𝑠 ∙ 𝑡𝑗𝑜 𝛽𝑓 − 𝑧 ∙ 𝑑𝑝𝑡(𝛽𝑓) 1
30
𝑎𝑗 = 𝑇
𝑘 + 𝑆𝑗
𝑆 = 𝜏𝑠
2
σrα σαr 𝜏𝛽
2
𝐿𝑞𝑗 = 𝑄
𝑠𝑠
𝑄
𝑠𝑞1
𝑄
𝑞1𝑠
𝑄
𝑞1𝑞𝑗
⋮ ⋮ 𝑄
𝑞𝑜𝑠
𝑄
𝑞𝑜𝑞𝑗
∙ 𝐼𝑠
𝑈
𝐼𝑞𝑗
𝑈
∙ 𝑎𝑗 −1 𝑦 = 𝑦 + 𝐿𝑞𝑗 ∙ 𝑨𝑗 𝑄 = 𝑄 − 𝐿𝑞𝑗 ∙ 𝑎𝑗 ∙ 𝐿𝑞𝑗
𝑈
Covariance of the innovation Measure feature covariance Kalman gain Map update Map uncertainty reduced
31
𝑔 𝑦𝑠, 𝑧𝑚
𝑜+1 = 𝑠 𝑜+1
𝛽
𝑜+1 = 𝑠𝑚 𝑜+1 + 𝑦𝑠 ∙ cos 𝛽𝑚 𝑜+1 + 𝜄𝑠 + 𝑧𝑠 ∙ sin 𝛽𝑚 𝑜+1 + 𝜄𝑠
𝛽𝑚
𝑜+1 + 𝜄𝑠
𝑄 = 𝑄
𝑠𝑠
𝑄
𝑠𝑛
𝑄
𝑠𝑠 𝑈 ∙ 𝑍 𝑠 𝑈
𝑄
𝑠𝑛
𝑄
𝑛𝑛
𝑄
𝑠𝑛 𝑈 ∙ 𝑍 𝑠 𝑈
𝑍
𝑠 ∙ 𝑄 𝑠𝑠
𝑍
𝑠 ∙ 𝑄 𝑠𝑛
𝑍
𝑠 ∙ 𝑄 𝑠𝑠 ∙ 𝑍 𝑠 𝑈 + 𝑍 𝑚𝑜+1 ∙ 𝑆 ∙ 𝑍 𝑚𝑜+1 𝑈
𝑍
𝑠 = cos 𝛽𝑚 𝑜+1 + 𝜄𝑠
sin 𝛽𝑚
𝑜+1 + 𝜄𝑠
𝑧𝑠 ∙ cos 𝛽𝑚
𝑜+1 + 𝜄𝑠 − 𝑦𝑠 ∙ sin 𝛽𝑚 𝑜+1 + 𝜄𝑠
1 𝑍
𝑚𝑜+1 = 1
𝑧𝑠 ∙ cos 𝛽𝑚
𝑜+1 + 𝜄𝑠 − 𝑦𝑠 ∙ sin 𝛽𝑚 𝑜+1 + 𝜄𝑠
1 Covariance of new feature
32
State Vector (Map) 𝑆𝑝𝑐𝑝𝑢1 𝑦 𝑧 𝜄 𝑈 𝑆𝑝𝑐𝑝𝑢2 𝑦 𝑧 𝜄 𝑈 𝑀𝑗𝑜𝑓𝐺𝑓𝑏𝑢𝑣𝑠𝑓1 𝑠 𝛽 𝑦1 𝑧1 𝑦2 𝑧2 𝑈 ⋮ 𝑀𝑗𝑜𝑓𝐺𝑓𝑏𝑢𝑣𝑠𝑓𝑜 𝑠 𝛽 𝑦1 𝑧1 𝑦2 𝑧2 𝑈 Line-Segments Fusion Overlapped Line-Segments Fusion 𝐵𝐷 = 𝐷𝑦 − 𝐵𝑦 , 𝐷𝑧 − 𝐵𝑧 𝐶𝐵 = 𝐶𝑦 − 𝐵𝑦 , 𝐶𝑧 − 𝐵𝑧 𝑆1 = 𝐵𝐷𝑦 ⋅ 𝐵𝐶𝑦 + 𝐵𝐷𝑧 ⋅ 𝐵𝐶_𝑧 𝐵𝐶𝑦2 + 𝐵𝐶𝑧2
33