1. 程式人生 > >SLAM學習筆記(一)入門

SLAM學習筆記(一)入門

 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學習筆記入門

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

SLAM學習筆記

什麼是SLAM? SLAM(Simultaneous Localization and Mapping),中文譯作同時定位與地圖建立。它是指搭載特定感測器的主體,在沒有環境先驗資訊的情況下,於運動過程中建立環境的模型,同時估計自己的運動。(源自:視覺SLAM十四講)我想這官話聽起來拗口,讓人感覺

Spring Boot 學習筆記入門

Spring boot 簡介 1、Spring boot是Spring家族中的一個全新的框架,它用來簡化Spring應用程式的建立和開發過程,也可以說Spring boot能簡化我們之前採用Spring mvc + Spring + MyBatis 框架進行開發的過程; 2、在以往我們採用 Spring

深度學習筆記——TensorFlow學習筆記入門

之前使用的深度學習框架一直是Keras,Keras的高階封裝特性讓人們十分容易理解並上手。不過有些時候,由於keras過於封裝,反而使得有些時候不能靈活運用。這時候更底層一些的TensorFlow就體現出優勢來了。另外,大家知道,keras的底層後端有Theano和Tens

Spring Cloud 學習筆記——入門、特徵、配置

目錄 0 放在前面 0.1 參考文件 http://cloud.spring.io/spring-cloud-static/Brixton.SR7/ https://springcloud.cc/ http://projects.spring.io/spring-cloud/ 0.2 maven配置 &

java安全框架-Shiro學習筆記-入門小案例

Apache Shiro是一個強大且易用的Java安全框架,執行身份驗證、授權、密碼學和會話管理。 我們先來一個簡單的示例 1、建立maven專案 2、將依賴jar包引入專案中,包括shiro和sl

SLAM學習筆記——SLAM分類

SLAM( Simultaneous Localization and Mapping)是指同步定位與地圖構建。定位和建圖兩個問題相互依賴,準確的定位依賴於正確的地圖,而構建正確的地圖又需要準確的定位,這是一個迭代的過程。 目前的SLAM根據硬體裝置的不同

cs229 斯坦福機器學習筆記-- 入門與LR模型

房價 com 還要 實現 最大 title pid 分布 fcm 版權聲明:本文為博主原創文章,轉載請註明出處。

SpringBoot學習筆記入門

通過 描述 都是 init命令 其他 新版本 進行 adl https 1、重新認識Spring   假如臨危受命需要開發一個簡單的基於Spring的web程序,你該做什麽?可能想到一些基本的需要: 項目結構,其中可選擇使用Maven或Gradle構建。其中包含例如

springmvc學習筆記 -- 從零搭建,基礎入門

out hand char webapp core localhost list ges del 1、新建maven項目 參考mybatis學習筆記(五) -- maven+spring+mybatis從零開始搭建整合詳細過程(上)第一部分,修改配置 2、修

前端開發入門學習筆記

type red 學習 lin attach black 復合 等於 round HTML:超文本標記語言。 html:是一個基礎結構。 CSS:就是跟網頁做裝修的,修飾HTML的基礎內容:樣式。 JavaScript:一個網頁的行為,動作,動態的東西。 html標準文件格

1、spring-boot學習筆記簡單入門

ava project nal run plugin mailto 5.4 安全 class a 一、新建普通Maven工程 pom.xml <parent> <groupId>org.springframework.boot</gr

javaweb學習筆記:web入門簡介、tomcat

目錄 1.web入門 2.tomcat 2.1 Tomcat的安裝與使用 2.2 Tomcat的目錄結構 2.3 Web應用的目錄結構 1.web入門 B/S (Broswer -Server 瀏覽器端- 伺服器端)架構,其典型應用就是各種網站。它的特點是第一,不

python入門學習筆記——字串+註釋

利用課外晚上時間計劃10天基本學完python的基本用法,然後再寫一些小的專案。 堅持10天每天一貼,記錄和鞭策自己的學習。 如果有興趣的朋友可以來看看,不會適合零基礎學習的,還是需要一些程式設計基礎的用來學習的。 1. 字串 1.1修

微信小程式入門學習筆記

入門級的跳轉格式: wx.redirectTo():不能返回上一層頁面 wx.navigateTo():用於頁面的跳轉 以上兩個不能跳轉於"tabBar" 因此跳轉"tabBar": wx.switchTab 感謝大佬的教程解答 了我的問題 以下附上原文連結 作者

Scala學習筆記入門

變數定義 Scala有兩種變數,val和var。val類似於Java中的final變數,一旦初始化了,val就不能再被賦值。var可以多次賦值。但由於函數語言程式設計特性,Scala更推崇val。 var的使用也有其侷限性,Scala有型別推斷的功能,當var被初始化後,其型別就已經被斷定,比如 當m被

SQL入門經典(第5版)學習筆記

1.縮寫“SQL”的含義是什麼?stuctured query language 結構化查詢語言 2.SQL命令的6個主要類別是什麼?事務控制命令 commit 資料定義語言 create table 資料操作語言 update 資料查詢語言 select 資料管理命令(進行審計分析 start audit

Web 前端開發入門學習筆記

Web前端入門級學習筆記   1.基本概念 css-cascading style sheet   2.網頁設計中HTML,CSS,JavaScript地位 HTML:內容 CSS:呈現(樣式) JavaScript:互動(頁面的動態效果)

Tensorflow學習筆記Tensorflow入門

Tensorflow入門 前言: 本文是閱讀《TensorFlow:實戰Google深度學習框架》第三章提煉出來的筆記,非本人原創。 這一章主要介紹: TensorFlow 名字說明最重要兩個概念:Tensor(張量),Flow(流)。 tensor張量可以理解

微信小程式學習筆記----微信小程式入門簡介,開發者工具基礎使用

到現在學習小程式已經不早了,但是無論什麼時候開始都不晚,只要學就OK。 看到所有小程式開發的教程全部都是以註冊賬號開始的,但是註冊賬號的過程無論是官方文件還是其他的經驗帖子都已經有一堆了,而且本身這個過程也並不具有什麼技術性,實在是很多收費的教程視訊用來前期拖時間的一種方式