【第二講---初識SLAM】

SLAM簡介

視覺SLAM,主要指的是利用相機完成建圖和定位問題。如果傳感器是激光,那么就稱為激光SLAM。
定位(明白自身狀態(即位置))+建圖(了解外在環境)。
視覺SLAM中使用的相機與常見的單反攝像頭并不是一個東西,它更簡單,不攜帶昂貴的鏡頭,以一定速率拍攝周圍環境,形成一個連續的視頻流。
在SLAM(同時定位與地圖構建)中,常用的相機種類包括以下幾種:

  • RGB相機:RGB相機是最常用的相機類型之一,它可以捕獲彩色圖像。通常使用標準的RGB傳感器來獲取圖像,并可以通過軟件處理來提取深度信息。
  • 深度相機:深度相機也被稱為RGB-D相機,它不僅可以捕獲彩色圖像,還可以獲取每個像素點到相機的距離信息。這些相機通常使用結構光、時間飛行或雙目視覺等技術來測量物體和場景的深度。最大的特點是通過紅外結構或ToF原理,像激光傳感器那樣,主動向物體發射光并接收返回的光。
  • 單目相機:單目相機只有一個鏡頭,可以捕獲二維圖像(只是三維空間的二維映射)。由于只有一個視角,需要使用其他傳感器或算法來估計深度信息。它以二維的形式記錄了三維的世界,但是丟掉了場景中深度(距離)這一維度。
  • 雙目相機:雙目相機具有兩個鏡頭,可以模擬人眼的立體視覺。通過比較兩個鏡頭捕獲的圖像之間的差異,可以計算得到場景的深度信息。
  • 多目相機:多目相機包含三個或更多的鏡頭,可以提供更豐富的視角和深度信息。多目相機可以用于構建更精確和穩健的SLAM系統。

這些相機種類在SLAM中的選擇取決于應用場景、需要的精度和實時性等因素。不同的相機類型有不同的優勢和限制,選擇合適的相機是設計SLAM系統時需要考慮的重要因素之一。
SLAM可以用來做什么:自主機器人+三維重建+AR

常用工具

htop

相當于windows任務管理器
直接輸入htop即可運行
在這里插入圖片描述
vim
文本編輯工具
terminator
超級終端
支持分欄和同時操作
ros
機器人操作系統,去官網選擇對應版本去裝即可

經典視覺SLAM框架

在這里插入圖片描述
在這里插入圖片描述
視覺里程計
視覺里程計關心相鄰圖像之間的相機運動,視覺里程計能夠通過相鄰幀間的圖像估計相機運動,并恢復場景的空間結構。
僅通過視覺里程計來估計軌跡,將不可避免的出現累積漂移,為了解決這個問題出現了后端優化(校正整個軌跡的形狀)和回環檢測(把“機器人回到原始位置”的事情檢測出來)

后端優化:
主要指處理SLAM過程中的噪聲問題。后端優化要考慮的問題就是如何從帶有噪聲的數據中估計整個系統的狀態,以及這個狀態估計的不確定性有多大–這叫做最大后驗概率估計。
在SLAM中,前端給后端提供待優化的數據,后端負責整體的優化過程。前端和計算機視覺研究領域更為相關,比如圖像的特征提取與匹配,后端主要是濾波與非線性優化算法。。
在這里插入圖片描述

回環檢測(閉環檢測)
主要解決位置估計隨時間漂移的問題。視覺回環檢測實質上是一種計算圖像數據相似性的算法。檢測完后,會將信息告訴后端優化算法,然后后端優化算法根據這些新的信息,把軌跡和地圖調整到符合回環檢測結果的樣子。

建圖
在這里插入圖片描述
根據不同的應用構建不同的地圖。總體上可以分為:
度量地圖:強調精確地表示地圖中物體的位置關系,通常用稀疏和稠密對其分類。稀疏圖進行一定程度的抽象,并不需要表達所有物體,通常適用于定位。稠密地圖著重于建模看到的所有東西,適用于導航。
拓撲地圖:更加強調地圖元素之間的關系。由節點和邊組成,只考慮節點間的連通性。
在這里插入圖片描述

SLAM問題數學表示

xk代表在k時刻與xk處探測到某一個路標yi。uk是運動傳感器的讀數或者輸入。wk為該過程加入的噪聲。
運動方程
在這里插入圖片描述
觀測方程:
在xk位置看到某個路標點yi,產生了一個觀測數據zk,j
在這里插入圖片描述
vk,j是這次觀測里的噪聲。
針對不同的傳感器,方程有不同的參數化形式。
總結為兩個基本方程:
在這里插入圖片描述
在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/40738.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/40738.shtml
英文地址,請注明出處:http://en.pswp.cn/news/40738.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

VB+SQL銀行設備管理系統設計與實現

摘要 隨著銀行卡的普及,很多地方安裝了大量的存款機、取款機和POS機等銀行自助設備。銀行設備管理系統可以有效的記錄銀行設備的安裝和使用情況,規范對自助設備的管理,從而為用戶提供更加穩定和優質的服務。 本文介紹了銀行設備管理系統的設計和開發過程,詳細闡述了整個應…

Flink之Task解析

Flink之Task解析 對Flink的Task進行解析前,我們首先要清楚幾個角色TaskManager、Slot、Task、Subtask、TaskChain分別是什么 角色注釋TaskManager在Flink中TaskManager就是一個管理task的進程,每個節點只有一個TaskManagerSlotSlot就是TaskManager中的槽位,一個TaskManager中可…

數據結構單鏈表

單鏈表 1 鏈表的概念及結構 概念:鏈表是一種物理存儲結構上非連續、非順序的存儲結構,數據元素的邏輯順序是通過鏈表中的指針鏈 接次序實現的 。 在我們開始講鏈表之前,我們是寫了順序表,順序表就是類似一個數組的東西&#xff0…

上海虛擬展廳制作平臺怎么選,蛙色3DVR 助力行業發展

引言: 在數字化時代,虛擬展廳成為了企業宣傳的重要手段。而作為一家位于上海的實力平臺,上海蛙色3DVR憑借其卓越的功能和創新的技術,成為了企業展示和宣傳的首選。 一、虛擬展廳的優勢 虛擬展廳的崛起是指隨著科技的進步&#x…

36_windows環境debug Nginx 源碼-使用 VSCode 和WSL

文章目錄 配置 WSL編譯 NginxVSCode 安裝插件launch.json配置 WSL sudo apt-get -y install gcc cmake sudo apt-get -y install pcre sudo apt-get -y install libpcre3 libpcre3-dev sudo apt-get

手機商城網站的分析與設計(論文+源碼)_kaic

目錄 摘 要 1 1 緒論 2 1.1選題背景意義 2 1.2國內外研究現狀 2 1.2.1國內研究現狀 2 1.2.2國外研究現狀 3 1.3研究內容 3 2 網上手機商城網站相關技術 4 2.1.NET框架 4 2.2Access數據庫 4 2.3 JavaScript技術 4 3網上手機商城網站分析與設…

Grafana+Prometheus技術文檔-進階使用-監控spring-boot項目

阿丹: 之前已經實現了使用Prometheus來對服務器進行了監控和儀表盤的創建,現在就需要對這些監控方法使用在spring-boot中去。 實現思路: 1、集成Actuator 2、加入Prometheus的依賴 3、配置開放端口、以及開放監控 4、配置Prometheus中的配置…

一次網絡不通“爭吵“引發的思考

作者: 鄭明泉、余凱 為啥爭吵,吵什么? “你到底在說什么啊,我K8s的ecs節點要訪問clb的地址不通和本地網卡有什么關系…” 氣憤語氣都從電話那頭傳了過來,這時電話兩端都沉默了。過了好一會傳來地鐵小姐姐甜美的播報聲…

iview默認樣式覆蓋

scoped 屬性是 HTML5 中的新屬性。 當style標簽擁有scoped屬性時,它的css樣式只能用于當前的Vue組件,可以使組件的樣式不相互污染。 如果一個項目的所有style標簽都加上了scoped屬性,相當于實現了樣式的模塊化。 1、全頁面覆蓋 不添加scoped…

【一】ubuntu20.04上搭建containerd版( 1.2.4 以上)k8s及kuboard V3

k8s 部署全程在超級用戶下進行 sudo su本文請根據大綱順序閱讀! 一、配置基礎環境(在全部節點執行) 1、安裝docker 使用apt安裝containerd 新版k8s已經棄用docker轉為containerd,如果要將docker改為containerd詳見&#xff1a…

對dubbo的DubboReference.check的參數進行剖析

背景 在使用dubbo的時候,發現當消費者啟動的時候,如果提供者沒有啟動,即使提供者后來啟動了,消費者也調不通提供者提供的接口了。 注冊中心使用都是nacos dubbo版本是3.0.4 例子 接口 public interface DemoService {String…

“深入解析JVM內部機制:探秘Java虛擬機的奧秘“

標題:深入解析JVM內部機制:探秘Java虛擬機的奧秘 摘要:本文將深入解析JVM(Java虛擬機)的內部機制,從字節碼執行到垃圾回收,逐步揭示Java程序運行的奧秘。通過理論分析和示例代碼,讀…

thinkphp5.1 trace 不顯示sql語句

config/app.php app_debug > true,//線上環境為 false // 應用Trace app_trace > true,//線上環境為 false config/database.php debug > true, config/log.php close > false, thinkphp5.1x 設計非常奇怪 必須開啟…

使用dockerfile手動構建JDK11鏡像運行容器并校驗

Docker官方維護鏡像的公共倉庫網站 Docker Hub 國內無法訪問了,大部分鏡像無法下載,準備逐步構建自己的鏡像庫。【轉載aliyun官方-容器鏡像服務 ACR】Docker常見問題 阿里云容器鏡像服務ACR(Alibaba Cloud Container Registry)是面…

內網穿透-外遠程連接中的RabbitMQ服務

文章目錄 前言1.安裝erlang 語言2.安裝rabbitMQ3. 內網穿透3.1 安裝cpolar內網穿透(支持一鍵自動安裝腳本)3.2 創建HTTP隧道 4. 公網遠程連接5.固定公網TCP地址5.1 保留一個固定的公網TCP端口地址5.2 配置固定公網TCP端口地址 前言 RabbitMQ是一個在 AMQP(高級消息隊列協議)基…

Linux:shell腳本:基礎使用(4)《正則表達式-grep工具》

正則表達式定義: 使用單個字符串來描述,匹配一系列符合某個句法規則的字符串 正則表達式的組成: 普通字符串: 大小寫字母,數字,標點符號及一些其他符號 元字符:在正則表達式中具有特殊意義的專用字符 正則表…

python中__main__的解釋

源自于:https://zhuanlan.zhihu.com/p/340997807 Python程序運行時是從模塊頂行開始,最頂層(沒有被縮進)的代碼都會被執行,所以Python中并不需要一個統一的main()作為程序的入口。 __name__是Python的內置變量&#…

藍橋杯嵌入式省一教程:(三)按鍵掃描與定時器中斷

在第一講中曾經提到,GPIO有輸入輸出兩種模式。在點亮LED時,我們已經使用了GPIO輸出模式,在按鍵識別中,我們將要使用GPIO輸入模式。首先來看看按鍵的電路原理圖(下圖在選手資源數據包——CT117E-M4產品手冊中&#xff0…

Android CCodec (二十) CCodec Native服務實現分析

1、C2解碼服務registerAsService注冊流程 google實現CCodec的vendor默認解碼服務代碼路徑是在frameworks/av/media/codec2/hidl/services/vendor.cpp中,而其注冊的是HIDL服務,本文就對HIDL服務注冊做簡要分析。首先看下vendor.cpp中的代碼注冊流程。 int main(int /* argc *…

高等數學教材重難點題型總結(三)微分中值定理和導數的應用

第三章,微分中值定理的證明題等,非常重要,需要牢牢掌握 1.證明中值定理對某函數在給定區間上的正確性 2.與中值定理有關的證明題 3.微分中值定理應用于求證不等式 4.洛必達法則求極限 5.洛必達的經典錯誤反例 6.按某項實現多項式冪展開 7.求帶…