機器人SLAM 技術
定位 導航 與 應用
賴俊吉 助理教授
雲科大 AI501
cclai@yuntech.edu.tw
1
2
• SLAM is the core element of navigation system for mobile robot and vehicles.
• Where is the Robot?
• An Autonomous robot needs to know
– About the environment
• Pre-existing map
• Create a map as it explores
– Where it is relation to its environment
為何移動機器人需要 SLAM?
Hey,
Where am I?
3
• 同步定位與地圖構建(SLAM或Simultaneous localization and
mapping)是一種概念:希望機器人從未知環境的未知地點出發,
在運動過程中通過重複觀測到的環境特徵 Landmark(比如,牆角,
柱子等)定位自身位置和姿態,再根據自身位置增量式的構建地
標,從而達到同時定位和地標/地圖構建的目的。
• Time T0 - Sensor Observation: 量測測環境特徵點 (M1,M2,M3)
– (建立世界座標參照地標 L1,L2,L3)
• Time T1 – Motion Prediction: 機器人位移估測 (U0) --有誤差
• Time T1 – Sensor Observation: 重新量測環境特徵點(M1,M2)
同步定位與建圖 (SLAM) Simultaneous
Localization and Mapping
T0
L
1
T1
U0
M
1
M1 M2
M
1
T0
L
1
L
2
L
3
M1 M2 M3
4
• Time T1 – 根據 Motion Prediction U0, 關聯並比對已建立參照的
地標Landmark ( M1 - L2 / M2 - L3)
• 根據比對到相同的Landmark
– 使用濾波器(Filter) 修正 Robot & Landmark 誤差
同步定位與建圖 (SLAM)
Simultaneous Localization and Mapping
L
2
L
3
M1 M2
T1
關連並比對
M
1
M
2
修正 Robot & Landmark 座標
L
2
L
3
M1 M2
T1 T0
L
1
T1
U0
L
2
L
2
https://www.youtube.com/watch?v=y7OnimZRj2w
5
• SLAM 算法的條件 :
– A.1 環境特徵擷取
• 影像視覺特徵 (SURF,SIFT…等)
• 貼反光貼片 for 反射型雷射測距
• 主動雷射2D 掃描 / 環境幾何特徵
– A.2 量測出特徵相對機器人的距離
與方位!!
• 立體視覺方式 / 單眼模擬立體/全像鏡方式
• 雷射2D Scan
• Kinect RGB-D
– B 感測器人的位移
• Encoder / Odometer
• Visual Odometer (光流法..)
• 雷射掃描ICP比對
• 慣性G-Sensor
同步定位與建圖 (SLAM)
Simultaneous Localization and Mapping
6
Visual SLAM
使用視覺鏡頭感測器實現SLAM功能 - 1
https://www.youtube.com/watch?v=ZR1yXFAslSk
7
Visual SLAM
使用視覺鏡頭感測器實現SLAM功能 - 2
8
• RGBD SLAM
• 無人機 Laser + RGBD
RGB-D SLAM
(視覺與深度)感測器實現SLAM功能
https://www.youtube.com/watch?v=AMLwjo80WzI
https://www.youtube.com/watch?v=hx0Umsy9XY8
9
• SLAM 繞完一圈環境, 就可得到機器人正確的軌跡與特徵點分佈位置
– 機器人正確的軌跡 / 搭配 2D Laser Scan 點資料可得到場景輪廓
– 機器人正確的軌跡 / 搭配 RGB-D 的點資料可得到 ~3D 場景輪廓
– 若工作環境場景不常變動下,Map & Localization (室內輪廓地圖/
比對定位) 即足夠機器人自主導航使用!!
• ICP-SLAM: 利用點疊代最近(iterative closest point)演算法將機器人運動
過程中收集的 Laser 掃描點對齊,即是利用 Laser Scan 的高準度量測及
對應環境不變條件來更正機器人軌跡誤差
• Graph-SLAM: 將機器人每次相對運動過程(節點)記錄下來,當機器人
繞完一圈回到原點 (人為或感測器比對)標定同一節點 ,之後利用最佳
化演算法調整每個節點的誤差,達成最佳整體配置
• 即 ICP-SLAM / Graph-SLAM 基於比對及整體最佳下的演算法,可快速
完成環境2D / 3D 地圖
Always SLAM ?
10
• 2D Laser Scan
• 2.5D Laser Scan
Laser SLAM
使用 Laser 掃描感測器建構SLAM
https://www.youtube.com/watch?v=L9KtcfQpSiI
https://www.youtube.com/watch?v=-z_hS3H0kx8
11
• Particle Filter is a robust method based on Monte-Carlo and Bayesian.
• Each particle presents a robot pose estimation in the map
• When robot is moving, the motion prediction with observation will
eliminate the wrong particles and resampling from alive particles
• Finally , all particles are converged
粒子濾波器應用於機器人地圖定位
https://www.youtube.com/watch?v=8g3L43-ZZ_0
12
• 2013蘋果以 2000 萬美元的價格收購了室內定位公司 WifiSLAM 的新聞
• Wifi 天線可以通過 Wifi 信號的強弱測量距離、而陀螺儀和加速計一起可以計
算用戶移動的方向和速度。
• 雖然這些傳感器單個的精準度都不是很好,但是如果我們可以聚集很多樣本
點,然後可以計算出一個真實距離的"概率雲",然後定位。
• 我們可以在這張截屏中看到,綠色的點是未經處理的手機數據,而藍色的點
是通過 WifiSLAM 算法合成過的室內地圖。
WifiSLAM到底如何做到室內定位,而蘋果為什麼會
收購它
自從 2009 年,蘋果一直在收購與地
圖科技有關的公司,包括C3
Technology和 Poly9 等。蘋果在這方
面也和 Google 進入了直接競爭的階
段。蘋果收購 WifiSLAM 應該主要是
對它背後的定位算法比較感興趣。如
果蘋果把 WifiSLAM 的科技運用到
iPhone 上面,那麼所有 iPhone 用戶
就會相當於攜帶了一個蘋果的繪圖小
機械人。更精準的定位不僅有利於地
圖,它會讓所有依賴地理位置的應用
更加精準
13
Beacon Indoor Navigation
2-5 m 誤差 主打近接商品廣告 ,手機室內導覽
14
• Visual SLAM
– Stereo SLAM
• 使用雙鏡頭模組 / 特徵比對量大,通常使用嵌入式(FPGA)處理前端特徵,或GPU處理
– Mono SLAM
• 使用單鏡頭 / 特徵比對量大 / 模擬出立體視覺,通常使用嵌入式(FPGA)處理前端特徵,
或GPU處理
– 特徵地圖建構為點雲(point cloud)特徵
– 被動取景,易受光源及背景樣式影響特徵解取與估測 (黑暗/ 整面白牆)
• RGB-D SLAM
– 直接使用影像與深度輸出模組,如Kinect 目前價格合理,但感測畫數與精度不高
– 特徵地圖建構為點雲(point cloud)特徵
– (有效感測範圍約6M),空曠室內 Real-Time 實現SLAM容易發散,通常先收集完資訊後才執行
SLAM 來建構環境地圖,即需要高速的取樣率才能有良好的SLAM估算效果
– 可搭配地圖比對執行定位演算法
• Laser SLAM
– 反射式Laser ,目前價格尚貴,場景須貼反光片,價格昂貴,準確度高,適用三點定位 /
SLAM 算法
– 主動式Laser目前價格尚貴,量測準確度高,感測範圍 (5-80M)適合使用ICP-SLAM建構環使
用者的環境輪廓地圖,適合搭配先建地圖之後執行粒子定位演算法
• WifiSLAM / Beacon
– 無線信號強度/分布量測相對於(特徵基地台方位與距離)的量測 ,信號跳動誤差大,定位誤
差 2-5M ,不利於機器人導航,可額外作為近場信標應用
各類感測器實現SLAM的優缺點與限制
15
• iRobot Roomba
• Knightscope Security Robot
• Tug Hospital Robot
• 對照SLAM 技術使用
目前室內基於(SLAM)-相關的技術應用
16
iRobot Roomba® 980- The iRobot
https://www.youtube.com/watch?v=oj3Vawn-kRE
17
• Knightscope K5/K3
– K5 is defined as a security guard (2013/12, Beta version)
– K3 is defined as a indoor data machine (Coming at 2016)
Knightscope Security Robot
https://www.youtube.com/watch?v=yyPKrzK7VXI
18
K5 equipment
Laser
Ultrasonic
Camera
(Thermal image
Facial recognition)
Differential Wheel
Omnidirectional Image
MIC
Speaker
Charging
19
• Flexible Exchange Platform (HW/ME design)
• Facility Preparation
– The Aethon TUG is a smart autonomous mobile robot: it doesn’t need
any beacons, staging depots or specific infrastructure to be added to
the facility. It uses its built in map and array of on-board sensors to
navigate. This is a real advantage of the TUG and sets it apart from
AGV systems.
TUG Hospital Robot
20
• Navigation
– The TUG uses smart autonomous
navigation. A map of your hospital
facility is created by our
implementation team using a highly
accurate laser floor dimensioning
tool.
– The TUG utilizes your existing WiFi
system (or 900mhz if preferred) to
communicate with elevators,
automatic doors and fire alarms.
TUG Hospital Robot (Cont.)
https://www.youtube.com/watch?v=kCDJObCNufg
Savioke Service Robot
21
https://www.youtube.com/watch?v=uYH7Ot83Kuc
22
• WifiSLAM
– 無線信號強度/分布量測相對於(手機方位與距離)的量測
– 陀螺儀(手機位移估測)
• Beacon Navigation
– 無線信號強度/分布量測相對於(手機方位與距離)的量測
– 近場接觸輔助定位
• iRobot Roomba (Based on VSLAM)
– 視覺估測場景特徵/距離
– Odometer 估測位移
• Knightscope Security Robot
– Based on 戶外自動導航GPS +多重 SLAM Laser / Vision
– Based on 室內多重 SLAM Laser / Vision
• Tug Hospital Robot / Savioke Service Robot
– Based on 室內 Laser SLAM
對照SLAM 技術使用
23
IEEE 機器人應用發展過程
24
• 機器人實體應用目標首先是取代重複性高、危險、骯髒等的勞動性工作,
若在掌握室內 SLAM / 定位的技術下,智慧移動平台於室內的可行推廣應
用:
• Application Phase 1:
– AGV Type : (1) 廠房內不同工作區的料件遞送
(2) 大樓及醫院內送餐、 送藥、 送文件等
– Guard Type: (1)室內 公共空間巡邏 環境偵測
(2)火災、 氣體、溫度等環境危險因子偵測
• Application Phase 2: (Software Valued)
– Guide Type : (1)加入影像 / 語音辨識功能
(2) 雲端資料庫應用
(3)公共空間導覽介紹服務
(4) VR / AR 應用
室內智慧移動平台載具應用 - 1
無線低功基地台
大樓/車站/廠房
結合雲端機器人紀錄/診斷/維修 25
室內智慧移動平台載具應用 - 2
Smart Robot
Hardware
電腦系統 / 輪型平台 / 充電站
AGV
Delivering
Task
Customized Graph User Interface
Motion
Control
NavigationAvoidance
Path
Planning
Localization
AGV Type (自主導航所需演算法)
機器人硬體
機器人核心軟體
Guard
Security
Patrol Task
Map
Building
26
SLAM核心技術掌握
https://www.youtube.com/watch?v=OII6uKCOiaM
27
智慧型機器人平台 商品化 Roadmap
機器人移動
平台規格化
系統整
合應用
軟體開
發加值
服務
機器人導引
軟體核心
(1)
(2)
(3)
https://www.youtube.com/watch?v=jdXG5yYrKik https://www.youtube.com/watch?v=nLJpCJ6uI5s
【洪士灝觀點】
轉型到Open Source的世界來尋寶 洪士灝 | 2015-11-21發表
• 話說台灣,一大堆所謂高科技業的主管,即使這些年來把公司和業界
搞到了今天如此慘澹,還能夠振振有詞地說年輕人不夠抗壓、政府補
助太少,我覺得被稱為「慣老闆」是咎由自取。我在SUN工作的那五
年,公司的股票一路貶值到十分之一,從來沒有聽說有人說要跟美國
政府要求補助的,而公司為了保住人才,還是年年加薪。相較於此,
台灣科技產業的有很許多領導階層,非常地不負責任。
• 有些過氣的主管,只會做他擅長做的老東西,對新的東西多半由道聽
塗說而來,對其他領域的東西一知半解,卻要在專家和手下的面前裝
出一副「我知道很多你們所不知道的東西」的樣子,是最令人厭惡的
行為。在有些公司,中階主管們明爭暗鬥,如同政壇,政客出一張嘴,
表面上對罵,實際上架空長官、壓榨下屬,私底下串聯分贓,甚至掏
空公司。
28
• 前天有人問我產業這樣子該麼辦? 我說,這些人要把公司玩垮,我們
也沒辦法,只是政府不應該用大家的錢隨便給補助,應該讓他們早點
垮掉,才能活化鎖在裡面的人才,像Nokia衰落瓦解 那樣不也是一條
活路嗎?否則連人才都爛在裡面了,將來更慘。
• 那麼我們就放棄科技研發了嗎? 當然不是。一些朋友和我認為,台灣
在眾多可以嘗試的方向中,可以做的一件事,是集中人才去探索那些
「資本門檻不高、技術門檻高」的研發項目,包括既有的產業想轉型,
或是新創事業想找方向,都可以考慮。
• 在資訊產業上,要發展「資本門檻不高、技術門檻高」的產品或是服
務,一個非常可行的方式,就是利用高度發展的open source軟硬體
的基礎,站在巨人的肩膀上,研究如何打造能吸引大家來使用的優質
的系統和應用。資本門檻不高,因為做研發時不需要昂貴的生產機具,
不需要昂貴的軟體授權,我們只要有一流的人才,就可以藉由閱讀
open source來吸取世界頂尖的智慧,並且證明自己的技術能力
29
【洪士灝觀點】
轉型到Open Source的世界來尋寶 洪士灝 | 2015-11-21發表
成為世界上最強、最好的軟體公司:「開源」是唯一途徑
文 / 科技報橘 2016-06-22
• 而提到世界上最好的軟體公司,你的名單裡應該有 Google。他們持
續推出開放研究資料,做 Google Talks 系列分享,以及推出大量的
open source 計畫,甚至是傳統公司微軟,都持續推出上百萬行開源
程式碼供每個人使用。甚至有公司完全以開放程式碼為主軸在運作,
然後再開源任何他們所做出的作品,像是 Mozilla 與 Red Hat。
• 問題是,why?
• 為什麼這麼多的軟體公司與開發者願意無償地分享自己的努力成果?
為什麼他們投入了上千小時甚至幾百萬元在某個專案上還要免費的公
開它,難道一切都只是為了無償奉獻這個世界嗎?
• 幾乎三分之二的軟體公司都在 open source 上有所貢獻,光 github
上面就超過 1,400 萬名開發者貢獻分享;超過 3,500 萬個專案。這
些數字都已經非常驚人了,但你必須知道這個數字在未來只會以越來
越快的速度成長茁壯。
• open source、講座或是寫部落格並不全然是公益原因。當然有許多
開發者純粹想要回饋社群,但這並不能解釋軟體業無所不在的分享盛
況,真正的原因在分享的背後,因為分享可以獲得很多你所想像不到
的回饋。
30
31
百度宣布啟動「阿波羅」計畫,開放自動駕駛平台來加速技術發展
華爾街日報報導,百度(Baidu)集團總裁陸奇 18 日宣布,將啟動「阿波羅」
(Apollo)計畫,開放自動駕駛開發軟體技術平台,希望藉此迎頭趕上 Alphabet
和通用汽車(GM)的發展。
Arduino
• (A)、學習Arduino 微控制器可以完全不需要了解其內部硬體結構和暫存器
設定,僅僅知道它的埠作用即可;可以不懂硬體知識,只要會簡單的C語言,
就可用Arduino 微控制器編寫程式。
• (B)、Arduino 的理念就是開源,軟硬體完全開放,技術上不做任何保留。針
對周邊I/O裝置的Arduino 程式設計,很多常用的I/O 裝置都已經帶有庫檔案
或者樣例程式,在此基礎上進行簡單的修改,即可編寫出比較複雜的程式,
完成功能多樣化的作品。
• (C)、Arduino 由於開源,也就意味著從Arduino 相關網站、部落格,論壇裡
得到大量的共享資源,在共享資訊的輔助下,通過資源整合,能夠加快您創
作作品的速度及效率。
• (E)、相對其他開發板,Arduino 及周邊產品相對質廉價優,學習或創作成本
低,重要一點是:燒錄程式碼不需要燒錄器,直接用USB線就可以完成下載。
• 針對所有想玩電子程式設計者 比如你剛開始學習程式設計,或者沒有程式設
計基礎又很想做一些電子產品時,Arduino是很好的一個選擇。 它還是支援
C++的方式程式設計
32
使用 Arduino-伺服馬達 PID 控制演算法
• Arduino 有PID Library Source。
• PID控制器主要適用於基本上線性,且動態特性不隨時間變化的系統。
• 以三種糾正演算法而命名
• 比例 P
當前誤差
• 積分 I
累積誤差
• 微分 D
預測未來誤差
• 參數設定
• 𝐾 𝑝、 𝐾𝑖和𝐾 𝑑。
• 收集的數據和參考值進行比較,然後把這個差別用於計算新的輸入值,
這個新的輸入值的目的是可以讓系統的數據達到或者保持在參考值
Arduino-Kalman Filter
34
樹梅派
• Raspberry Pi,中文譯名為樹莓派,它是一塊信用卡大小
的卡片式「計算機」,它預裝了Linux系統,搭載ARM架構
處理器,擁有豐富的接口,理論上具備了計算機的很多基
本功能,玩法多樣,在國際上深得業余愛好者及熱心DIY
的科技迷的喜愛。
35
opencv
36
OpenCV的全稱是Open Source Computer Vision Library,是一個跨平台的電腦視覺
庫。OpenCV是由英特爾公司發起並參與開發,以BSD授權條款授權發行,可以在
商業和研究領域中免費使用。OpenCV可用於開發實時的圖像處理、電腦視覺以
及模式識別程式。該程式庫也可以使用英特爾公司的IPP進行加速處理。
PCL (point cloud library)
37
MRPT( Mobile Robot Programming
Toolkit )
• The Mobile Robot Programming Toolkit (MRPT) is a cross-platform and
open source C++ library aimed to help robotics researchers to design and
implement algorithms related to Simultaneous Localization and Mapping
(SLAM), computer vision and motion planning (obstacle avoidance).
• Different research groups have employed MRPT to implement projects
reported in some of the major robotics journals and conferences.
38
The Robot Operating System (ROS)
• ROS,是專為機器人軟體開發所設計出來的
一套電腦作業系統架構。它是一個開源的
元級作業系統,提供類似於作業系統的服
務,包括硬體抽象描述、底層驅動程序管
理、共用功能的執行、程序間消息傳遞、
程序發行包管理,它也提供一些工具和庫
用於獲取、建立、編寫和執行多機融合的
程序。 維基百科
39
The Robot Operating System (ROS)
40
AR tags detection with ROS
深度學習 TensorFlow
• 從去年開始,不少科技巨頭紛紛投入開發深度學習框架,像是雲端廠
商Google推出的TensorFlow,連社群網站龍頭臉書也釋出Torchnet和
Caffe2,而微軟也推出Cognitive Toolkit(CNTK)來加入戰局。這三巨
頭釋出的深度學習框架,在今年相繼推出了企業級的新功能。
• Google以Apache 2.0授權模式開放TensorFlow函式庫、相關開發工具、
說明文件、範例等資源,並邀請開發人員透過TensorFlow.org參與計畫。
• TensorFlow可用於任何運算流程圖(Computational Flow Graph),另
外自動微分(Auto-differentiation)和最佳化工具可用以改善梯度式機
器學習演算法。
• TensorFlow從0.8版就開始支援了分散式運算能力,TensorFlow可同時
在數百臺機器上執行訓練程式,以建立各種機器學習模型,把原本需
要耗費數天或數周的模型訓練縮短到數小時。
• 使用視覺深度學→ 辨識場景→ 機器人自我定位
41
AGV 之多車管理系統架構建置
42
Multi-master ROS systems / Technical Report
Managing a Fleet of Autonomous Mobile Robots (AMR) using Cloud Robotics Platform
GAZEBO之多車管理系統模擬
43
• The simulated environment for the fleet management system can be
created using Gazebo, which is an open-source software well integrated
with ROS
Managing a Fleet of Autonomous Mobile Robots (AMR) using Cloud Robotics Platform

【1110ROS群開講】開發機器人大腦 - 智慧導航實務應用_賴俊吉

  • 1.
    機器人SLAM 技術 定位 導航與 應用 賴俊吉 助理教授 雲科大 AI501 cclai@yuntech.edu.tw 1
  • 2.
    2 • SLAM isthe core element of navigation system for mobile robot and vehicles. • Where is the Robot? • An Autonomous robot needs to know – About the environment • Pre-existing map • Create a map as it explores – Where it is relation to its environment 為何移動機器人需要 SLAM? Hey, Where am I?
  • 3.
    3 • 同步定位與地圖構建(SLAM或Simultaneous localizationand mapping)是一種概念:希望機器人從未知環境的未知地點出發, 在運動過程中通過重複觀測到的環境特徵 Landmark(比如,牆角, 柱子等)定位自身位置和姿態,再根據自身位置增量式的構建地 標,從而達到同時定位和地標/地圖構建的目的。 • Time T0 - Sensor Observation: 量測測環境特徵點 (M1,M2,M3) – (建立世界座標參照地標 L1,L2,L3) • Time T1 – Motion Prediction: 機器人位移估測 (U0) --有誤差 • Time T1 – Sensor Observation: 重新量測環境特徵點(M1,M2) 同步定位與建圖 (SLAM) Simultaneous Localization and Mapping T0 L 1 T1 U0 M 1 M1 M2 M 1 T0 L 1 L 2 L 3 M1 M2 M3
  • 4.
    4 • Time T1– 根據 Motion Prediction U0, 關聯並比對已建立參照的 地標Landmark ( M1 - L2 / M2 - L3) • 根據比對到相同的Landmark – 使用濾波器(Filter) 修正 Robot & Landmark 誤差 同步定位與建圖 (SLAM) Simultaneous Localization and Mapping L 2 L 3 M1 M2 T1 關連並比對 M 1 M 2 修正 Robot & Landmark 座標 L 2 L 3 M1 M2 T1 T0 L 1 T1 U0 L 2 L 2 https://www.youtube.com/watch?v=y7OnimZRj2w
  • 5.
    5 • SLAM 算法的條件: – A.1 環境特徵擷取 • 影像視覺特徵 (SURF,SIFT…等) • 貼反光貼片 for 反射型雷射測距 • 主動雷射2D 掃描 / 環境幾何特徵 – A.2 量測出特徵相對機器人的距離 與方位!! • 立體視覺方式 / 單眼模擬立體/全像鏡方式 • 雷射2D Scan • Kinect RGB-D – B 感測器人的位移 • Encoder / Odometer • Visual Odometer (光流法..) • 雷射掃描ICP比對 • 慣性G-Sensor 同步定位與建圖 (SLAM) Simultaneous Localization and Mapping
  • 6.
    6 Visual SLAM 使用視覺鏡頭感測器實現SLAM功能 -1 https://www.youtube.com/watch?v=ZR1yXFAslSk
  • 7.
  • 8.
    8 • RGBD SLAM •無人機 Laser + RGBD RGB-D SLAM (視覺與深度)感測器實現SLAM功能 https://www.youtube.com/watch?v=AMLwjo80WzI https://www.youtube.com/watch?v=hx0Umsy9XY8
  • 9.
    9 • SLAM 繞完一圈環境,就可得到機器人正確的軌跡與特徵點分佈位置 – 機器人正確的軌跡 / 搭配 2D Laser Scan 點資料可得到場景輪廓 – 機器人正確的軌跡 / 搭配 RGB-D 的點資料可得到 ~3D 場景輪廓 – 若工作環境場景不常變動下,Map & Localization (室內輪廓地圖/ 比對定位) 即足夠機器人自主導航使用!! • ICP-SLAM: 利用點疊代最近(iterative closest point)演算法將機器人運動 過程中收集的 Laser 掃描點對齊,即是利用 Laser Scan 的高準度量測及 對應環境不變條件來更正機器人軌跡誤差 • Graph-SLAM: 將機器人每次相對運動過程(節點)記錄下來,當機器人 繞完一圈回到原點 (人為或感測器比對)標定同一節點 ,之後利用最佳 化演算法調整每個節點的誤差,達成最佳整體配置 • 即 ICP-SLAM / Graph-SLAM 基於比對及整體最佳下的演算法,可快速 完成環境2D / 3D 地圖 Always SLAM ?
  • 10.
    10 • 2D LaserScan • 2.5D Laser Scan Laser SLAM 使用 Laser 掃描感測器建構SLAM https://www.youtube.com/watch?v=L9KtcfQpSiI https://www.youtube.com/watch?v=-z_hS3H0kx8
  • 11.
    11 • Particle Filteris a robust method based on Monte-Carlo and Bayesian. • Each particle presents a robot pose estimation in the map • When robot is moving, the motion prediction with observation will eliminate the wrong particles and resampling from alive particles • Finally , all particles are converged 粒子濾波器應用於機器人地圖定位 https://www.youtube.com/watch?v=8g3L43-ZZ_0
  • 12.
    12 • 2013蘋果以 2000萬美元的價格收購了室內定位公司 WifiSLAM 的新聞 • Wifi 天線可以通過 Wifi 信號的強弱測量距離、而陀螺儀和加速計一起可以計 算用戶移動的方向和速度。 • 雖然這些傳感器單個的精準度都不是很好,但是如果我們可以聚集很多樣本 點,然後可以計算出一個真實距離的"概率雲",然後定位。 • 我們可以在這張截屏中看到,綠色的點是未經處理的手機數據,而藍色的點 是通過 WifiSLAM 算法合成過的室內地圖。 WifiSLAM到底如何做到室內定位,而蘋果為什麼會 收購它 自從 2009 年,蘋果一直在收購與地 圖科技有關的公司,包括C3 Technology和 Poly9 等。蘋果在這方 面也和 Google 進入了直接競爭的階 段。蘋果收購 WifiSLAM 應該主要是 對它背後的定位算法比較感興趣。如 果蘋果把 WifiSLAM 的科技運用到 iPhone 上面,那麼所有 iPhone 用戶 就會相當於攜帶了一個蘋果的繪圖小 機械人。更精準的定位不僅有利於地 圖,它會讓所有依賴地理位置的應用 更加精準
  • 13.
    13 Beacon Indoor Navigation 2-5m 誤差 主打近接商品廣告 ,手機室內導覽
  • 14.
    14 • Visual SLAM –Stereo SLAM • 使用雙鏡頭模組 / 特徵比對量大,通常使用嵌入式(FPGA)處理前端特徵,或GPU處理 – Mono SLAM • 使用單鏡頭 / 特徵比對量大 / 模擬出立體視覺,通常使用嵌入式(FPGA)處理前端特徵, 或GPU處理 – 特徵地圖建構為點雲(point cloud)特徵 – 被動取景,易受光源及背景樣式影響特徵解取與估測 (黑暗/ 整面白牆) • RGB-D SLAM – 直接使用影像與深度輸出模組,如Kinect 目前價格合理,但感測畫數與精度不高 – 特徵地圖建構為點雲(point cloud)特徵 – (有效感測範圍約6M),空曠室內 Real-Time 實現SLAM容易發散,通常先收集完資訊後才執行 SLAM 來建構環境地圖,即需要高速的取樣率才能有良好的SLAM估算效果 – 可搭配地圖比對執行定位演算法 • Laser SLAM – 反射式Laser ,目前價格尚貴,場景須貼反光片,價格昂貴,準確度高,適用三點定位 / SLAM 算法 – 主動式Laser目前價格尚貴,量測準確度高,感測範圍 (5-80M)適合使用ICP-SLAM建構環使 用者的環境輪廓地圖,適合搭配先建地圖之後執行粒子定位演算法 • WifiSLAM / Beacon – 無線信號強度/分布量測相對於(特徵基地台方位與距離)的量測 ,信號跳動誤差大,定位誤 差 2-5M ,不利於機器人導航,可額外作為近場信標應用 各類感測器實現SLAM的優缺點與限制
  • 15.
    15 • iRobot Roomba •Knightscope Security Robot • Tug Hospital Robot • 對照SLAM 技術使用 目前室內基於(SLAM)-相關的技術應用
  • 16.
    16 iRobot Roomba® 980-The iRobot https://www.youtube.com/watch?v=oj3Vawn-kRE
  • 17.
    17 • Knightscope K5/K3 –K5 is defined as a security guard (2013/12, Beta version) – K3 is defined as a indoor data machine (Coming at 2016) Knightscope Security Robot https://www.youtube.com/watch?v=yyPKrzK7VXI
  • 18.
    18 K5 equipment Laser Ultrasonic Camera (Thermal image Facialrecognition) Differential Wheel Omnidirectional Image MIC Speaker Charging
  • 19.
    19 • Flexible ExchangePlatform (HW/ME design) • Facility Preparation – The Aethon TUG is a smart autonomous mobile robot: it doesn’t need any beacons, staging depots or specific infrastructure to be added to the facility. It uses its built in map and array of on-board sensors to navigate. This is a real advantage of the TUG and sets it apart from AGV systems. TUG Hospital Robot
  • 20.
    20 • Navigation – TheTUG uses smart autonomous navigation. A map of your hospital facility is created by our implementation team using a highly accurate laser floor dimensioning tool. – The TUG utilizes your existing WiFi system (or 900mhz if preferred) to communicate with elevators, automatic doors and fire alarms. TUG Hospital Robot (Cont.) https://www.youtube.com/watch?v=kCDJObCNufg
  • 21.
  • 22.
    22 • WifiSLAM – 無線信號強度/分布量測相對於(手機方位與距離)的量測 –陀螺儀(手機位移估測) • Beacon Navigation – 無線信號強度/分布量測相對於(手機方位與距離)的量測 – 近場接觸輔助定位 • iRobot Roomba (Based on VSLAM) – 視覺估測場景特徵/距離 – Odometer 估測位移 • Knightscope Security Robot – Based on 戶外自動導航GPS +多重 SLAM Laser / Vision – Based on 室內多重 SLAM Laser / Vision • Tug Hospital Robot / Savioke Service Robot – Based on 室內 Laser SLAM 對照SLAM 技術使用
  • 23.
  • 24.
    24 • 機器人實體應用目標首先是取代重複性高、危險、骯髒等的勞動性工作, 若在掌握室內 SLAM/ 定位的技術下,智慧移動平台於室內的可行推廣應 用: • Application Phase 1: – AGV Type : (1) 廠房內不同工作區的料件遞送 (2) 大樓及醫院內送餐、 送藥、 送文件等 – Guard Type: (1)室內 公共空間巡邏 環境偵測 (2)火災、 氣體、溫度等環境危險因子偵測 • Application Phase 2: (Software Valued) – Guide Type : (1)加入影像 / 語音辨識功能 (2) 雲端資料庫應用 (3)公共空間導覽介紹服務 (4) VR / AR 應用 室內智慧移動平台載具應用 - 1
  • 25.
  • 26.
    Smart Robot Hardware 電腦系統 /輪型平台 / 充電站 AGV Delivering Task Customized Graph User Interface Motion Control NavigationAvoidance Path Planning Localization AGV Type (自主導航所需演算法) 機器人硬體 機器人核心軟體 Guard Security Patrol Task Map Building 26 SLAM核心技術掌握 https://www.youtube.com/watch?v=OII6uKCOiaM
  • 27.
  • 28.
    【洪士灝觀點】 轉型到Open Source的世界來尋寶 洪士灝| 2015-11-21發表 • 話說台灣,一大堆所謂高科技業的主管,即使這些年來把公司和業界 搞到了今天如此慘澹,還能夠振振有詞地說年輕人不夠抗壓、政府補 助太少,我覺得被稱為「慣老闆」是咎由自取。我在SUN工作的那五 年,公司的股票一路貶值到十分之一,從來沒有聽說有人說要跟美國 政府要求補助的,而公司為了保住人才,還是年年加薪。相較於此, 台灣科技產業的有很許多領導階層,非常地不負責任。 • 有些過氣的主管,只會做他擅長做的老東西,對新的東西多半由道聽 塗說而來,對其他領域的東西一知半解,卻要在專家和手下的面前裝 出一副「我知道很多你們所不知道的東西」的樣子,是最令人厭惡的 行為。在有些公司,中階主管們明爭暗鬥,如同政壇,政客出一張嘴, 表面上對罵,實際上架空長官、壓榨下屬,私底下串聯分贓,甚至掏 空公司。 28
  • 29.
    • 前天有人問我產業這樣子該麼辦? 我說,這些人要把公司玩垮,我們 也沒辦法,只是政府不應該用大家的錢隨便給補助,應該讓他們早點 垮掉,才能活化鎖在裡面的人才,像Nokia衰落瓦解那樣不也是一條 活路嗎?否則連人才都爛在裡面了,將來更慘。 • 那麼我們就放棄科技研發了嗎? 當然不是。一些朋友和我認為,台灣 在眾多可以嘗試的方向中,可以做的一件事,是集中人才去探索那些 「資本門檻不高、技術門檻高」的研發項目,包括既有的產業想轉型, 或是新創事業想找方向,都可以考慮。 • 在資訊產業上,要發展「資本門檻不高、技術門檻高」的產品或是服 務,一個非常可行的方式,就是利用高度發展的open source軟硬體 的基礎,站在巨人的肩膀上,研究如何打造能吸引大家來使用的優質 的系統和應用。資本門檻不高,因為做研發時不需要昂貴的生產機具, 不需要昂貴的軟體授權,我們只要有一流的人才,就可以藉由閱讀 open source來吸取世界頂尖的智慧,並且證明自己的技術能力 29 【洪士灝觀點】 轉型到Open Source的世界來尋寶 洪士灝 | 2015-11-21發表
  • 30.
    成為世界上最強、最好的軟體公司:「開源」是唯一途徑 文 / 科技報橘2016-06-22 • 而提到世界上最好的軟體公司,你的名單裡應該有 Google。他們持 續推出開放研究資料,做 Google Talks 系列分享,以及推出大量的 open source 計畫,甚至是傳統公司微軟,都持續推出上百萬行開源 程式碼供每個人使用。甚至有公司完全以開放程式碼為主軸在運作, 然後再開源任何他們所做出的作品,像是 Mozilla 與 Red Hat。 • 問題是,why? • 為什麼這麼多的軟體公司與開發者願意無償地分享自己的努力成果? 為什麼他們投入了上千小時甚至幾百萬元在某個專案上還要免費的公 開它,難道一切都只是為了無償奉獻這個世界嗎? • 幾乎三分之二的軟體公司都在 open source 上有所貢獻,光 github 上面就超過 1,400 萬名開發者貢獻分享;超過 3,500 萬個專案。這 些數字都已經非常驚人了,但你必須知道這個數字在未來只會以越來 越快的速度成長茁壯。 • open source、講座或是寫部落格並不全然是公益原因。當然有許多 開發者純粹想要回饋社群,但這並不能解釋軟體業無所不在的分享盛 況,真正的原因在分享的背後,因為分享可以獲得很多你所想像不到 的回饋。 30
  • 31.
  • 32.
    Arduino • (A)、學習Arduino 微控制器可以完全不需要了解其內部硬體結構和暫存器 設定,僅僅知道它的埠作用即可;可以不懂硬體知識,只要會簡單的C語言, 就可用Arduino微控制器編寫程式。 • (B)、Arduino 的理念就是開源,軟硬體完全開放,技術上不做任何保留。針 對周邊I/O裝置的Arduino 程式設計,很多常用的I/O 裝置都已經帶有庫檔案 或者樣例程式,在此基礎上進行簡單的修改,即可編寫出比較複雜的程式, 完成功能多樣化的作品。 • (C)、Arduino 由於開源,也就意味著從Arduino 相關網站、部落格,論壇裡 得到大量的共享資源,在共享資訊的輔助下,通過資源整合,能夠加快您創 作作品的速度及效率。 • (E)、相對其他開發板,Arduino 及周邊產品相對質廉價優,學習或創作成本 低,重要一點是:燒錄程式碼不需要燒錄器,直接用USB線就可以完成下載。 • 針對所有想玩電子程式設計者 比如你剛開始學習程式設計,或者沒有程式設 計基礎又很想做一些電子產品時,Arduino是很好的一個選擇。 它還是支援 C++的方式程式設計 32
  • 33.
    使用 Arduino-伺服馬達 PID控制演算法 • Arduino 有PID Library Source。 • PID控制器主要適用於基本上線性,且動態特性不隨時間變化的系統。 • 以三種糾正演算法而命名 • 比例 P 當前誤差 • 積分 I 累積誤差 • 微分 D 預測未來誤差 • 參數設定 • 𝐾 𝑝、 𝐾𝑖和𝐾 𝑑。 • 收集的數據和參考值進行比較,然後把這個差別用於計算新的輸入值, 這個新的輸入值的目的是可以讓系統的數據達到或者保持在參考值
  • 34.
  • 35.
  • 36.
    opencv 36 OpenCV的全稱是Open Source ComputerVision Library,是一個跨平台的電腦視覺 庫。OpenCV是由英特爾公司發起並參與開發,以BSD授權條款授權發行,可以在 商業和研究領域中免費使用。OpenCV可用於開發實時的圖像處理、電腦視覺以 及模式識別程式。該程式庫也可以使用英特爾公司的IPP進行加速處理。
  • 37.
    PCL (point cloudlibrary) 37
  • 38.
    MRPT( Mobile RobotProgramming Toolkit ) • The Mobile Robot Programming Toolkit (MRPT) is a cross-platform and open source C++ library aimed to help robotics researchers to design and implement algorithms related to Simultaneous Localization and Mapping (SLAM), computer vision and motion planning (obstacle avoidance). • Different research groups have employed MRPT to implement projects reported in some of the major robotics journals and conferences. 38
  • 39.
    The Robot OperatingSystem (ROS) • ROS,是專為機器人軟體開發所設計出來的 一套電腦作業系統架構。它是一個開源的 元級作業系統,提供類似於作業系統的服 務,包括硬體抽象描述、底層驅動程序管 理、共用功能的執行、程序間消息傳遞、 程序發行包管理,它也提供一些工具和庫 用於獲取、建立、編寫和執行多機融合的 程序。 維基百科 39
  • 40.
    The Robot OperatingSystem (ROS) 40 AR tags detection with ROS
  • 41.
    深度學習 TensorFlow • 從去年開始,不少科技巨頭紛紛投入開發深度學習框架,像是雲端廠 商Google推出的TensorFlow,連社群網站龍頭臉書也釋出Torchnet和 Caffe2,而微軟也推出CognitiveToolkit(CNTK)來加入戰局。這三巨 頭釋出的深度學習框架,在今年相繼推出了企業級的新功能。 • Google以Apache 2.0授權模式開放TensorFlow函式庫、相關開發工具、 說明文件、範例等資源,並邀請開發人員透過TensorFlow.org參與計畫。 • TensorFlow可用於任何運算流程圖(Computational Flow Graph),另 外自動微分(Auto-differentiation)和最佳化工具可用以改善梯度式機 器學習演算法。 • TensorFlow從0.8版就開始支援了分散式運算能力,TensorFlow可同時 在數百臺機器上執行訓練程式,以建立各種機器學習模型,把原本需 要耗費數天或數周的模型訓練縮短到數小時。 • 使用視覺深度學→ 辨識場景→ 機器人自我定位 41
  • 42.
    AGV 之多車管理系統架構建置 42 Multi-master ROSsystems / Technical Report Managing a Fleet of Autonomous Mobile Robots (AMR) using Cloud Robotics Platform
  • 43.
    GAZEBO之多車管理系統模擬 43 • The simulatedenvironment for the fleet management system can be created using Gazebo, which is an open-source software well integrated with ROS Managing a Fleet of Autonomous Mobile Robots (AMR) using Cloud Robotics Platform