1. 程式人生 > >SLAM學習筆記(1)基本概念

SLAM學習筆記(1)基本概念

  SLAM (simultaneous localization and mapping),也稱為CML (Concurrent Mapping and Localization), 即時定位與地圖構建,或併發建圖與定位。 SLAM最早由Smith、Self和Cheeseman於1988年提出。

  SLAM問題可以描述為: 機器人在未知環境中從一個未知位置開始移動,在移動過程中根據位置估計和地圖進行自身定位,同時在自身定位的基礎上建造增量式地圖,實現機器人的自主定位和導航。

 

 

  

 

(Robust Optimization for Simultaneous Localization and Mapping  Niko Sunderhauf (PhD thesis) 2012" P22)

 Visual SLAM(視覺SLAM)

Cameras are employed as the only exteroceptive sensor. It is called visual SLAM.

In the last 10years, published articles reflect a clear tendency for using vision as the only external sensorial perception system to solve the problem of SLAM (Paz et al. 2008; Davison et al. 2007; Klein and Murray 2007; Sáez and Escolano 2006; Piniés and Tardós 2008).

The main reason for this tendency is attributed to the capability for a system based on cameras to obtain range information, and also retrieving the environment’s appearance, color and texture, giving a robot the possibility of integrating other high-level tasks like detection and
recognition of people and places. Furthermore, cameras are less expensive, lighter and have lower power consumption.

Unfortunately, there might be errors in the data due to the following reasons: insufficient camera resolution, lighting changes, surfaces with lack of texture, blurred images due to fast movements, among other factors.

Visual odometry視覺里程計 In robotics and computer vision, visual odometry is the process of determining the position and orientation of a robot by analyzing the associated camera images. It has been used in a wide variety of robotic applications, such as on the Mars Exploration Rovers.

Bundle Adjustment 光束法平差

Given a set of images depicting a number of 3D points from different viewpoints, bundle adjustment can be defined as the problem of simultaneously refining the 3D coordinates describing the scene geometry as well as the parameters of the relative motion and the optical characteristics of the camera(s) employed to acquire the images, according to an optimality criterion involving the corresponding image projections of all points.

粒子濾波就是指:通過尋找一組在狀態空間中傳播的隨機樣本來近似的表示概率密度函式,用樣本均值代替積分運算,進而獲得系統狀態的最小方差估計的過程,這些樣本被形象的稱為“粒子”,故而叫粒子濾波。《粒子濾波原理及其應用》胡士強  ISBN 9787030283702

機器人“綁架”指的是機器人在運動過程中發生了滑動,機器人本身並不知道此情況的發生。

資料關聯(Data Association),也被稱為一致性問題(Correspondence Problem)是SLAM面臨的挑戰之一。資料關聯是指建立在不同時間、不同地點獲得的感測器測量之間、感測器測量與地圖特徵之間或者地圖特徵之間的對應關係,以確定它們是否源於環境中同一物理實體的過程。資料關聯的正確與否對於SLAM問題中的狀態估計至關重要。

掃描匹配    在柵格地圖的建立過程中主要是應用範圍感測器(例如超聲陣列、鐳射雷達等),感測器的一次測量稱為一次掃描(Scan)。掃描點之間一般不存在直接的對應關係,所以此時的資料關聯需要確定兩幅或者多幅掃描中源於相同物理實體的區域,從而確定獲得各個感測器掃描時刻機器人定位間的相對位置關係。這類資料關聯問題一般稱為掃描匹配問題(Scan Matching)。

根據SLAM 問題中環境地圖的型別,可以將SLAM 演算法分為

  • 基於特徵地圖的SLAM 演算法(Feature-based SLAM )
  • 基於柵格地圖的SLAM 演算法(Grid-based SLAM) 
  • 基於拓撲- 柵格地圖SLAM 演算法(Topological-Metric SLAM ) 
  • 基於密度地圖的SLAM 演算法(Dense SLAM)

根據SLAM 問題中模型的描述不同,可以將SLAM 演算法分為:

1 基於狀態空間描述的一類演算法,如擴充套件卡爾曼濾波(Extended Kalman Filter,EKF )、壓縮擴充套件卡爾曼濾波(Compressed Extended Kalman Filter, CEKF )等

2 基於樣本集描述的一類演算法,如Rao-Blackwellized  粒子濾波 SLAM,快速SLAM(FastSLAM)、DP-SLAM等

3 基於資訊空間描述的一類演算法,如擴充套件資訊濾波(Extended Information Filter, EIF)、稀疏連線-樹濾波(Thin Junction-Tree Filter, TJTF)等

4 基於差異描述的一類演算法,如掃描匹配(Scan Matching)
 

相關推薦

SLAM學習筆記1基本概念

  SLAM (simultaneous localization and mapping),也稱為CML (Concurrent Mapping and Localization), 即時定位與地圖構建,或併發建圖與定位。 SLAM最早由Smith、Self和Cheeseman於1988年提出。   SL

TCP/IP學習筆記1-----基本概念

使用 本機ip 分類 公司 idt intern xtend pen 不用 TCP/IP的起源   在全球各地,各種各樣的電腦運行著各自不同的操作系統一起為大家服務,這些電腦在表達同一種信息的時候所使用的方法是千差萬別。就好像聖經中上帝打亂了各地人的口音,讓他們無法合作

tcp/ip學習筆記1-基本概念

  為什麼會有tcp/ip 在世界上各地,各種各樣的電腦執行著各自不同的作業系統為大家服務,這些電腦在表達同一種資訊的時候所使用的方法是千差萬別。就好像聖經中上帝打亂了各地人的口音,讓他們無法合作一樣。計算機使用者意識到,計算機只是單兵作戰並不會發揮太大的作用。只有把它們聯合起來,電腦才會發

【原創】pygame學習筆記1----基本的線,矩形,圓形,弧形繪製

PYgame的內容 (1)這個module很有意思 (2)書本至少來源於《Python遊戲程式設計入門》 (3)官方權威說明:https://www.pygame.org/docs/   下面的嘗試把各種圖形在一個程式裡繪製 注意點: (1)特別注意,比如引

RabbitMQ學習筆記-----------------基本概念知識

                         

OpenCV 2.4.9 學習筆記1—— 基本功能結構

一些關於OpenCV(2.4.9版本)的學習筆記,作為記錄,以免自己忘了。 安裝與配置   OpenCV的下載、安裝以及在各個平臺(Windows/Linux等)配置網上有很多的資料,自己就不用存了。需要或者遇到問題的時候再說。 基本模組結構   OpenCV(Open Source Computer

程式設計學習小結1基本概念----c語言

---- 雲端計算、大資料、人工智慧,新技術層出不窮,摳碼愈久,無力感愈強。IT已經從個人英雄時代進化為一個需要高度協調配合的社會了。作為一個“搞計算機的”被別人問到:“那個XXX軟體,我們公司話好多錢買的,你能不能自己做一個?”,回答不能還要加各種解釋……;但是也有人問:“計算

Pandas學習筆記1基本資料型別及屬性

Pandas介紹 Python Data Analysis Library即Pandas是基於NumPy 的一種Python資料分析工具包,包含豐富的資料型別和便捷的操作方式。 基本資料型別 Series 對應Python中的列表和NumPy的一維陣

SLAM學習筆記3相關概念

  SIFT,即尺度不變特徵變換(Scale-invariant feature transform,SIFT),是用於影象處理領域的一種描述子。這種描述具有尺度不變性,可在影象中檢測出關鍵點,是一種區域性特徵描述子。[1]  該方法於1999年由David Lowe[2]  首先發表於計算機視覺國際會議(I

Objective-C基礎筆記1基本概念和第一個程式

一、基本概念Objective-C(簡稱OC)是iOS開發的核心語言,蘋果公司在維護,在開發過程中也會配合著使用C語言、C++,OC主要負責UI介面,C語言、C++可用於圖形處理。C語言是面向過程的語言,OC是在C語言基礎上加上了一層面向物件的語法(將複雜面向物件語法去掉了)

Unity學習筆記——基本概念之場景Scene

場景,顧名思義就是我們在遊戲中所看到的物品、建築、人物、背景、聲音、特效等,基本上和我們玩遊戲時所看到的遊戲“場景”是同一個概念。 Unity 3D中,“場景”是一個檢視,我們通過“場景”這個檢視,來編輯、佈置遊戲中玩家所能見到的影象和聲音。 安裝完並執行Unity 3D,

JS高級學習筆記1- 基本數據類型

java 數值 賦值 現在 lean evel image number com 原始數據 基本數據類型是一種即非對象也無方法的數據。JS中有6中基本類型:string、number、boolean、undefined、symbol。 多數情況下,基本類型直接代

Druid學習筆記1Druid介紹與基本概念

概述 隨著網際網路快速發展,資料量增長快,達到TB、PB,以交通車流量為例,如湖南省每月的車輛流量至少達到4億,這個資料量遠不止如此。資料量如此大,如何滿足後期分析,傳統面向OLTP型資料庫(ORACLE、MYSQL等)無法要求,漸漸開始轉向OLAP,如Gre

TensorFlow深度學習入門筆記基本概念與代碼1

.get ali ant scope 基本 有一個 關註 執行 rbo 關註公眾號“從機器學習到深度學習那些事”獲取更多最新資料 寫在前面 學習建議:以下學習過程中有不理解可以簡單查找下資料,但不必糾結(比如非得深究某一個函數等),盡量快速的學一遍,不求甚解無妨。因為有些知

《機器學習實戰》第五章:Logistic迴歸1基本概念和簡單例項

最近感覺時間越來越寶貴,越來越不夠用。不過還是抽空看了點書,然後整理到部落格來。 加快點節奏,廢話少說。 Keep calm & carry on. ----------------------------------------------------------

H264學習筆記1:視訊壓縮編碼的基本原理

        陸陸續續學習H264有一段時間了,曾經以為自己可以在這方面大有作為,但是越是學習越發現,根本不存在能夠大幅度提升H264效能的方案,對於我這種水平的人來講。初次學習,概念的理解仍然很困難。在這裡我只是簡單淺顯的講一講我最近的讀書學習感想。        首先

Android開發學習1基本概念

移動裝置的火爆,不用過多筆墨,我們已經處於移動辦公的時代,未來pc生存的空間,可能越來越小,對於移動應用開發的學習,顯得越來越迫在眉睫,憑藉著這幾年的積累,經驗,預計應該容易理解和入門些。 入門一個語言,時刻不忘恩師的教誨,任何事情,在做之前,要想到,這不是一

《機器學習實戰》第三章:決策樹1基本概念

有半個月沒來了。 最近一段時間...大多在忙專案組的事(其實就是改一改現有程式碼的bug,不過也挺費勁的,畢竟程式碼不是自己寫的)。另外就是自己租了幾臺美帝的vps,搭了$-$的伺服器 ,效果還不錯。自己搭的話就不用去買別人的服務了,不過租vps畢竟還是要成本的,光用來番茄

Spring 事務學習筆記1:事務的基本知識

一、事務&&JDBC事務支援 在我的之前的spring操作資料庫中的文章很少提及事務,不是說它不重要,而是太重要,以至於spring專門有一部分來說明這一內容。之前可以說對事務幾乎沒有考慮過,只是知道把要進行的操作被事務包裹起來,就像在hibernate中進

TensorFlow學習筆記1--TensorFlow簡介,常用基本操作

要將深度學習更快且更便捷地應用於新的問題中,選擇一款深度學習工具是必不可少的步驟。 TensorFlow是谷歌於2015年11月9日正式開源的計算框架。TensorFlow計算框架可以很好地支援深度學習的各種演算法。 TensorFlow很好地相容了學術研究