原创 SLAM專題(10)- 最小化重投影誤差與Bundle Adjustment (BA)

  在SFM(structure from motion)的計算中BA(Bundle Adjustment)作爲最後一步優化具有很重要的作用,在近幾年興起的基於圖的SLAM(simultaneous localization and ma

原创 SLAM專題(9)-- 圖像ORB特徵提取與匹配

#include <iostream> #include <opencv2/core/core.hpp> #include <opencv2/features2d/features2d.hpp> #include <opencv2/hi

原创 SLAM專題(5) -- 變換矩陣、旋轉矩陣、歐拉角與四元數

目錄   座標變換基礎知識 外積 歐氏變換 旋轉矩陣 旋轉向量 歐拉角 四元數 座標變換基礎知識 外積 外積大小爲 ,可以表示兩個向量張成四邊形的有向面積,引入符號,定義a^表示爲一個反對稱矩陣,這樣就把向量的外積變換成了矩陣和向量的乘

原创 移動機器人(3)-- base controller & 里程計

1. 簡介 在移動機器人建圖和導航過程中,提供相對準確的里程計信息非常關鍵,是後續很多工作的基礎,因此需要對其進行測試保證沒有嚴重的錯誤或偏差。實際中最可能發生錯誤的地方在於機器人運動學公式有誤,或者正負號不對,或者定義的座標系之間方向不

原创 SLAM專題(6)-- 非線性優化

0. 摘要: SLAM中經常遇到非線性優化問題:多個誤差項平方和組成的最小二乘問題,兩個最常見的梯度下降方法-非線性優化方案:高斯牛頓法、裂紋伯格-馬夸爾特方法。 兩個基於c++編寫的優化庫:來自谷歌的ceres庫和基於圖優化的g2o(g

原创 Linux命令行(8)-- cp 命令

cp命令用來複製文件或者目錄,是Linux系統中最常用的命令之一。 一般情況下,shell會設置一個別名,在命令行下複製文件時,如果目標文件已經存在,就會詢問是否覆蓋,不管你是否使用-i參數。但是如果是在shell腳本中執行cp時,沒有-

原创 ORB_SLAM2編譯debug 小結

目錄 1. 編譯報錯‘./lib/libpng.so’ 1. 下載 2. 配置參數 3. 編譯,安裝 2.  對‘TIFFReadRGBAStrip@LIBTIFF_4.0’未定義的引用 問題分析: 解決辦法: 源碼編譯OpenCV請查

原创 SLAM專題(11)-- G2O圖優化從入門到放棄(一)

目錄 1. Introduction  1.1 什麼是優化? 1.2  什麼是圖優化?  1.3 圖優化理論(公式推導) 1.4  什麼是G2O? 1.5 圖優化與g2o流程小結 2. G2O安裝指南 2.1 安裝其他依賴庫 2.2 克

原创 ORB_SLAM2 技術詳解(3)Part II -- 編譯並使用ROS ORB_SLAM2 Package

目錄 1. 編譯ORB_SLAM2 ROS package   1.1系統平臺 1.2 創建catkin_ws 1.3 安裝相關依賴庫 cv_bridge的opencv版本衝突的問題解決 2. 使用USB3.0 Camera 2.1 安裝

原创 SLAM專題(7)-- 數學上常用的‘距離’

    References: [1]https://blog.csdn.net/Kevin_cc98/article/details/73742037 [2]馬氏距離及其幾何解釋 http://www.weixinnu.co

原创 Linux命令行(9)-- touch命令

linux的touch命令不常用,一般在使用make的時候可能會用到,用來修改文件時間戳,或者新建一個不存在的文件。 1.命令格式: touch [選項]... 文件... 2.命令參數: -a   或--time=atime或--tim

原创 (18)特徵提取 之 ORB特徵

目錄 1 、算法介紹 1.1 Fast特徵提取 1.2 rBRIEF特徵描述 BRIEF算法描述 改進BRIEF算法—rBRIEF(Rotation-AwareBrief) 2、ORB特徵提取實驗 2.1ORB特徵提取和匹配實驗 C++代

原创 SLAM專題(8)卡爾曼濾波和擴展卡爾曼濾波 原理與應用

  前言: 卡爾曼濾波存在着一個非常大的侷限性——它僅能對線性的處理模型和測量模型進行精確的估計,在非線性的場景中並不能達到最優的估計效果。 所以之前爲了保證我們的處理模型是線性的,我們上一節中使用了恆定速度模型,然後將估計目標的加

原创 ROS 學習筆記(11)編譯錯誤 Could not find a package configuration file provided by "geographic_msgs"

1. 編譯錯誤內容 Could not find a package configuration file provided by "geographic_msgs"   with any of the following names

原创 凸優化與非線性規劃基礎(1)-- 基本概念

本文主要參考卡耐基梅隆大學(CMU)的Dr. Ryan Tibshirani教授2017年在Convex Optimization(Course 10-725/36-725)課上(課程網站鏈接:Convex Optimization)的