1. 淡江大學電機工程學系 / 智慧型控制實驗室淡江大學電機工程學系 / 智慧型控制實驗室I.C. LAB / Dept. of E. E., Tamkang University SLAM 技術分享
SLAM技術分享
分享人:陳功瀚
Simultaneous
Localization and Mapping
同時定位與地圖建置
2. 淡江大學電機工程學系 / 智慧型控制實驗室I.C. LAB / Dept. of E. E., Tamkang University SLAM 技術分享
大綱
輪型機器人的移動議題
Navigation and SLAM
路徑規劃
定位問題
3D 雷射測距儀
定位方法 – 里程計
定位方法 – 粒子濾波器
SLAM
Gmapping
Hector SLAM
Cartographer
P-2/45
3. 淡江大學電機工程學系 / 智慧型控制實驗室I.C. LAB / Dept. of E. E., Tamkang University SLAM 技術分享
輪型機器人的移動議題
P-3/45
馬達控制
運動學
差動式、全向輪、麥克納姆輪
二輪、三輪、四輪
路徑規劃 (Path Planning)
機器人如何從A點移動到B點?遇到障礙物怎麼辦?
定位問題 (Localization)
機器人必須知道自己的位置 (與地圖的關係)
地圖建置 (Mapping)
機器人知道自己與環境的關係,例如在客廳、在房間
更精確知道,機器人在地圖上的哪一個點
4. 淡江大學電機工程學系 / 智慧型控制實驗室I.C. LAB / Dept. of E. E., Tamkang University SLAM 技術分享
Navigation and SLAM
P-4/45
Navigation and SLAM
5. 淡江大學電機工程學系 / 智慧型控制實驗室I.C. LAB / Dept. of E. E., Tamkang University SLAM 技術分享
路徑規劃
路徑規劃 (Path Planning)
起點到終點
A*搜尋演算法
必須在地圖已知下才能進行
啟發式搜尋演算法
常用於遊戲中
VFF(Virtual Force Field)
可用於未知環境下 (未知地圖)
目標點(終點)作為引力,障礙物作為斥力
動態視窗法(DWA, Dynamic Window Approach)
全域規劃一條路徑後,輔以動態視窗方法,協助避障
P-5/45
6. 淡江大學電機工程學系 / 智慧型控制實驗室I.C. LAB / Dept. of E. E., Tamkang University SLAM 技術分享
路徑規劃 - A*搜尋演算法
A*搜尋演算法
必須在地圖已知下才能進行
啟發式搜尋演算法
P-6/45
http://www.policyalmanac.org/games/aStarTutorial.htm
7. 淡江大學電機工程學系 / 智慧型控制實驗室I.C. LAB / Dept. of E. E., Tamkang University SLAM 技術分享
路徑規劃 - VFF (Virtual Force Field)
VFF (Virtual Force Field)
可用於未知環境
(未知地圖)
終點作為引力,
障礙物作為斥力
缺點:
有可能引力與斥力
相當時,陷入震盪
P-7/45
圖VFF
8. 淡江大學電機工程學系 / 智慧型控制實驗室I.C. LAB / Dept. of E. E., Tamkang University SLAM 技術分享
路徑規劃-結合A*之動態視窗法(DWA)
結合A*之動態視窗法(DWA)
先使用A*規劃一條全域路徑
根據現在的狀況進行區域修正
例如有障礙物
P-8/32
• 不需考慮感測器雜訊
• 省去複雜的距離運算
• 更有效的抵達目標點
起點
目標點動態視窗
所有預測路徑
pdis gdis
全域路徑
與全域路徑距離 與區域終點距離 αdwa* , βdwa* , γdwa*: 權重值
σ: 正規化係數
i = 1 , 2 , 3 , … , nvel
j = 1 , 2 , 3 , … , nrot
k = 1 , 2 , 3 , … , ntraj
於ROS之地圖建置與探索系統設計,黃文鴻,2016
B. P. Gerkey, and K. Konolige, “Planning and control in unstructured terrain,” IEEE International Conference on Robotics and Automation (ICRA), 2008.
9. 淡江大學電機工程學系 / 智慧型控制實驗室I.C. LAB / Dept. of E. E., Tamkang University SLAM 技術分享
定位問題 (Localization)
室外定位
使用GPS
室內定位-佈置大量感測器
Wifi定位
ZigBee
藍芽定位
Beacon
室內定位-僅將感測器裝置在機器人上
紅外線 (Infrared, IR)、超音波 (Ultrasonic)
雷射測距儀 (LiDAR)
馬達編碼器 (Encoder)
攝影機 (Camera)
P-9/45
10. 淡江大學電機工程學系 / 智慧型控制實驗室I.C. LAB / Dept. of E. E., Tamkang University SLAM 技術分享
定位問題 – 距離感測器
距離感測器
感測器發射訊號(波),根據訊號的反射時間,推算距離
紅外線 (Infrared, IR)、超音波 (Ultrasonic)
雷射測距儀 (LiDAR)
精準度
雷射測距儀 >紅外線 、超音波
雷射測距儀優點
精準度相當高
雷射測距儀缺點
價格昂貴
遇玻璃等物品無法推估距離
P-10/45
Hokuyo,2D雷射測距儀
11. 淡江大學電機工程學系 / 智慧型控制實驗室I.C. LAB / Dept. of E. E., Tamkang University SLAM 技術分享
3D 雷射測距儀
可建置3D的地圖
價格非常昂貴
自動駕駛車上常用
3D 雷射測距儀
P-11/45
Velodyne,3D雷射測距儀系列產品
Ford自動駕駛車上安裝多顆
12. 淡江大學電機工程學系 / 智慧型控制實驗室I.C. LAB / Dept. of E. E., Tamkang University SLAM 技術分享
3D 雷射測距儀
使用3D LiDAR建置3D地圖
3D 雷射測距儀
P-12/45
13. 淡江大學電機工程學系 / 智慧型控制實驗室I.C. LAB / Dept. of E. E., Tamkang University SLAM 技術分享
里程計
藉由馬達的編碼器或外掛的感測器,
得知目前輪胎所移動距離
藉由正運動學,得知目前機器人移動距離
普通輪、全向輪、麥克納姆輪
二輪、三輪、四輪
以上不同的組合,運動學皆不相同
優點:便宜,易計算
缺點:會有累計誤差
走久了,會越來越不準
定位方法 – 里程計
P-13/45
普通輪
全向輪
麥克納姆輪
14. 淡江大學電機工程學系 / 智慧型控制實驗室I.C. LAB / Dept. of E. E., Tamkang University SLAM 技術分享
蒙地卡羅方法
摩納哥中有一個
大賭場在蒙地卡羅
使用機率的方式,
估算出目標模型
例如右方的1/4圓,
假設我們不知道圓面積的
公式πr 2
我們可以撒很多的粒子
來估算出我們的模型
定位方法 – 粒子濾波器
P-14/45
https://zh.wikipedia.org/wiki/蒙地卡羅方法
使用蒙特卡罗方法估算π值. 放置30000個隨
機點後,π的估算值與真實值相差0.07%.
15. 淡江大學電機工程學系 / 智慧型控制實驗室I.C. LAB / Dept. of E. E., Tamkang University SLAM 技術分享
粒子濾波器定位法
在已知地圖下使用
在地圖上,撒大量粒子
每顆粒子,代表位置與車頭角度
配合感測器
里程計 (配合馬達編碼器,得知機器人移動距離)
距離感測器 (雷射測距儀、紅外線、超音波…等)
步驟
移動,由里程計知道機器人移動距離
感測距離,由感測器知道機器人與周圍環境360度距離
將移動量與感測距離放到每顆粒子上
將相似的粒子留著,淘汰不相似的粒子
定位方法 – 粒子濾波器
P-15/45
16. 淡江大學電機工程學系 / 智慧型控制實驗室I.C. LAB / Dept. of E. E., Tamkang University SLAM 技術分享
Particle Filter Example (1/14)
Example: Calibration & Localization Procedure
機器人專論
何丞堯
P-16/45
17. 淡江大學電機工程學系 / 智慧型控制實驗室I.C. LAB / Dept. of E. E., Tamkang University SLAM 技術分享
Particle Filter Example (2/14)
機器人專論
何丞堯
P-17/45
18. 淡江大學電機工程學系 / 智慧型控制實驗室I.C. LAB / Dept. of E. E., Tamkang University SLAM 技術分享
Particle Filter Example (3/14)
機器人專論
何丞堯
P-18/45
19. 淡江大學電機工程學系 / 智慧型控制實驗室I.C. LAB / Dept. of E. E., Tamkang University SLAM 技術分享
Particle Filter Example (4/14)
機器人專論
何丞堯
P-19/45
20. 淡江大學電機工程學系 / 智慧型控制實驗室I.C. LAB / Dept. of E. E., Tamkang University SLAM 技術分享
Particle Filter Example (5/14)
21. 淡江大學電機工程學系 / 智慧型控制實驗室I.C. LAB / Dept. of E. E., Tamkang University SLAM 技術分享
Particle Filter Example (6/14)
機器人專論
何丞堯
P-21/45
22. 淡江大學電機工程學系 / 智慧型控制實驗室I.C. LAB / Dept. of E. E., Tamkang University SLAM 技術分享
Particle Filter Example (7/14)
機器人專論
何丞堯
P-22/45
23. 淡江大學電機工程學系 / 智慧型控制實驗室I.C. LAB / Dept. of E. E., Tamkang University SLAM 技術分享
Particle Filter Example (8/14)
機器人專論
何丞堯
P-23/45
24. 淡江大學電機工程學系 / 智慧型控制實驗室I.C. LAB / Dept. of E. E., Tamkang University SLAM 技術分享
Particle Filter Example (9/14)
機器人專論
何丞堯
P-24/45
25. 淡江大學電機工程學系 / 智慧型控制實驗室I.C. LAB / Dept. of E. E., Tamkang University SLAM 技術分享
Particle Filter Example (10/14)
機器人專論
何丞堯
P-25/45
26. 淡江大學電機工程學系 / 智慧型控制實驗室I.C. LAB / Dept. of E. E., Tamkang University SLAM 技術分享
Particle Filter Example (11/14)
機器人專論
何丞堯
P-26/45
27. 淡江大學電機工程學系 / 智慧型控制實驗室I.C. LAB / Dept. of E. E., Tamkang University SLAM 技術分享
Particle Filter Example (12/14)
機器人專論
何丞堯
P-27/45
28. 淡江大學電機工程學系 / 智慧型控制實驗室I.C. LAB / Dept. of E. E., Tamkang University SLAM 技術分享
Particle Filter Example (13/14)
機器人專論
何丞堯
P-28/45
29. 淡江大學電機工程學系 / 智慧型控制實驗室I.C. LAB / Dept. of E. E., Tamkang University SLAM 技術分享
Particle Filter Example (14/14)
機器人專論
何丞堯
P-29/45
30. 淡江大學電機工程學系 / 智慧型控制實驗室I.C. LAB / Dept. of E. E., Tamkang University SLAM 技術分享
SLAM
Simultaneous Localization and Mapping
同時定位與地圖建置
簡單分成二大類
Laser SLAM
使用距離感測器,也可以是紅外線或超音波
Visual SLAM (vSLAM)
使用攝影機(RGB)或深度攝影機(RGBD)
SLAM
P-30/45
31. 淡江大學電機工程學系 / 智慧型控制實驗室I.C. LAB / Dept. of E. E., Tamkang University SLAM 技術分享
SLAM
OpenSLAM
http://openslam.org/
很多開源專案
提供使用
P-31/45
32. 淡江大學電機工程學系 / 智慧型控制實驗室I.C. LAB / Dept. of E. E., Tamkang University SLAM 技術分享
GMapping
Grid Mapping with Rao-Blackwellized Particle Filters
Giorgio Grisetti, Cyrill Stachniss, and Wolfram Burgard:
Improved Techniques for Grid Mapping with Rao-
Blackwellized Particle Filters, IEEE Transactions on Robotics,
Volume 23, pages 34-46, 2007
原始碼
http://openslam.org/gmapping.html
ROS版本:http://wiki.ros.org/gmapping
輸入
雷射測距儀 (LiDAR)
里程計 (Odometry)
P-32/45
33. 淡江大學電機工程學系 / 智慧型控制實驗室I.C. LAB / Dept. of E. E., Tamkang University SLAM 技術分享
GMapping
ROS with the gmapping package
P-33/45
https://www.youtube.com/watch?v=khSrWtB0Xik
34. 淡江大學電機工程學系 / 智慧型控制實驗室I.C. LAB / Dept. of E. E., Tamkang University SLAM 技術分享
Hector SLAM
Hector(Heterogeneous Cooperating Team of Robots)
SLAM(Simultaneous Localization and Mapping)
由德國Hector實驗室所開發的演算法
一套僅用雷射的同時定位與地圖建置的系統
低耗能、即時性、有良好的濾雜訊效果
ROS套件位置
http://wiki.ros.org/hector_slam
P-34/45
35. 淡江大學電機工程學系 / 智慧型控制實驗室I.C. LAB / Dept. of E. E., Tamkang University SLAM 技術分享
Hector SLAM
Handheld Mapping System in the RoboCup 2011 Rescue
Arena
P-35/45
https://www.youtube.com/watch?v=F8pdObV_df4
36. 淡江大學電機工程學系 / 智慧型控制實驗室I.C. LAB / Dept. of E. E., Tamkang University SLAM 技術分享
Cartographer
Cartographer
Google 開發
Cartographer is a system that provides real-time simultaneous
localization and mapping (SLAM) in 2D and 3D across
multiple platforms and sensor configurations.
Github
https://github.com/googlecartographer
P-36/45
37. 淡江大學電機工程學系 / 智慧型控制實驗室I.C. LAB / Dept. of E. E., Tamkang University SLAM 技術分享
Cartographer
Cartographer 3D SLAM Demo
P-37/45
https://www.youtube.com/watch?v=DM0dpHLhtX0
38. 淡江大學電機工程學系 / 智慧型控制實驗室I.C. LAB / Dept. of E. E., Tamkang University SLAM 技術分享
Cartographer、Hector、Gmapping比較
ROS - Google Cartographer Hector SLAM and
GMapping SLAM
Hokuyo 2D-Laserscanne
P-38/45
https://www.youtube.com/watch?v=7iM2ynZEuf0
39. 淡江大學電機工程學系 / 智慧型控制實驗室I.C. LAB / Dept. of E. E., Tamkang University SLAM 技術分享
SLAM應用
AGV
Automated Guided Vehicle
近二年非常紅的議題
傳統使用有軌式的(通常是磁條)
未來導入無軌式的使用SLAM
P-39/45
https://www.youtube.com/watch?v=-Ld-Crjg7tk
有軌式的AGV車
40. 淡江大學電機工程學系 / 智慧型控制實驗室I.C. LAB / Dept. of E. E., Tamkang University SLAM 技術分享
SLAM應用
AGV- SLAM示意
P-40/45
SLAM Technology by DS AUTOMOTION
https://www.youtube.com/watch?v=TG-7ZQumjNs
41. 淡江大學電機工程學系 / 智慧型控制實驗室I.C. LAB / Dept. of E. E., Tamkang University SLAM 技術分享
SLAM應用
AGV-ROS
P-41/45
AGVS ROS
https://www.youtube.com/watch?v=TKDtkkpsuiw
42. 淡江大學電機工程學系 / 智慧型控制實驗室I.C. LAB / Dept. of E. E., Tamkang University SLAM 技術分享
SLAM應用
P-42/45
iRobot
掃地機器人
避免盲掃
小米
Dyson
43. 淡江大學電機工程學系 / 智慧型控制實驗室I.C. LAB / Dept. of E. E., Tamkang University SLAM 技術分享
SLAM應用
掃地機器人建立的地圖
避免盲掃
亮藍是房間輪廓(障礙物)
黃線是走過路徑
先掃描整體環境,再走Z
字型
在某些情況下還是會迷路
避免在地上放電源線
機器人可能會捲進去
使用時會關門
圍在一個區域,房間與房間
會有一個小台階,一邊有地墊
一邊沒有
P-43/45
44. 淡江大學電機工程學系 / 智慧型控制實驗室I.C. LAB / Dept. of E. E., Tamkang University SLAM 技術分享
SLAM應用
Zenbo的地圖建置
P-44/45
http://kmpic.asus.com/images/2017/02/19/f124d51d-f9c7-429f-
a138-ee61c68efd22.jpg
46. 淡江大學電機工程學系 / 智慧型控制實驗室I.C. LAB / Dept. of E. E., Tamkang University SLAM 技術分享
參考資料來源
圖VFF
https://www.researchgate.net/profile/Jianjun_Ni2/publication/2
60876897/figure/fig6/AS:324759163293697@1454440026818/
A-simple-example-of-path-planning-based-on-the-VFF-
method.png
圖蒙地卡羅方法
https://zh.wikipedia.org/wiki/%E8%92%99%E5%9C%B0%E5
%8D%A1%E7%BE%85%E6%96%B9%E6%B3%95
P-46/45