前傳:研一小猿乙隻,第一次在部落格上寫文章,之前都是記錄有道雲。在部落格上寫一來為了鞏固知識,二來也為了結交更多志同道合的小夥伴。話不多說,現在進入正題。
今天主要談談個人對vslam的一點小見解,並班門弄斧引入大牛們的學習經驗。小猿是跟著高博的《視覺slam十四講》學習的,說錯地方還望大家多多指教!
下附高博十四講課程目錄:
手持裝置定位
自動駕駛定位建圖
ar室內機械人——掃地機械人
無人機等等都會用到定位與建圖。
3、預備知識
預備知識與課程使用的環境
數學:高等數學、線性代數(矩陣論)、概率論
程式設計:c++、linux,了解語法和基本命令即可
英語:文獻、文件閱讀能力
環境:ubuntu 16.04
4、資源
教材:視覺slam十四講:從理論到實踐
參考書:多檢視幾何 狀態估計
部落格:視覺slam/
資料orb_slam2:
例程:5、cmake練習
cmake 是⼀種常⽤、⽅便的,⽤於組織 linux 下 c++ 程式的⼯具。有許多庫,例如 opencv、 g2o、
ceres 等,都⽤ cmake 組織它們的⼯程。所以,不管是使⽤別⼈的庫,還是編寫⾃⼰的庫,都需要掌握
⼀些 cmake 的基本知識。
書寫⼀個由 cmake 組織的 c++ ⼯程,要求如下:
include/hello.h 和 src/hello.c 構成了 libhello.so 庫。 hello.c 中提供⼀個函式 sayhello(),調⽤此函
數時往螢幕輸出⼀⾏「hello slam」。我們已經為你準備了 hello.h 和 hello.c 這兩個⽂件,見「code/」
⽬錄下。
⽂件 usehello.c 中含有⼀個 main 函式,它可以編譯成⼀個可執⾏⽂件,名為「sayhello」。
預設⽤ release 模式編譯這個⼯程。
如果⽤戶使⽤ sudo make install,那麼將 hello.h 放⾄/usr/local/include/下,將 libhello.so 放
⾄/usr/local/lib/下。
操作如下:
建立目錄ch1_lib,目錄中含有一下檔案,libhello存放庫函式hello.h和hello,c,src為主函式,build儲存cmake編譯生成的中間檔案。
src的usehello.cpp主檔案
#include "hello.h"
int main( int argc, char** ar** )
libhello中
hello.h
#pragma once
void sayhello();
hello.c
#include "hello.h"
#include void sayhello() )
set(library_output_path $/lib)
set_target_properties(libhello properties output_name "sayhello")
install(targets libhello library destination /usr/local/lib)
install(files "hello.h" destination /usr/loacl/include)
~
src的cmakelists.txt
link_directories($)
include_directories($/libhello)
set(executable_output_path $/bin)
target_link_libraries(sayhello libhello)
進入build目錄,執行結果如下:
make一般適用於應用程式,應用程式一般使用一些系統資源,而不修改系統的資源;
sudo make install 用於將庫安裝到檔案中,針對的是庫檔案。
注:sudo make install在後期李群李代數的學習中經常應用,需掌握。
SLAM十四講 學習
最近在看高翔博士的 視覺slam十四講,這本書對於入門來卻是非常的直接,有著很多可以學習借鑑的知識。但是只是看一遍並沒有多大的收穫,因此在這裡稍微的記錄,方便自己之後的回顧學習。首先是對自己學到的東西進行的反思,除了基本的概念之外,我還逐個把書上的 寫了一遍,並在ubuntu 18.04之上執行。這...
《視覺SLAM十四講》學習日誌 一 預備知識
slam簡介 我們眼中的世界在計算機中是乙個個由數字排列而成的矩陣 matrix 就像電影 黑客帝國 中的場景。我們要解決的就是讓計算機通過這種方式 理解 我們現在的世界。第一講習題 1.有線性方程ax b,若已知a,b,需要求解x,該如何求解?這對a和b有哪些要求?解 首先考慮非齊次線性方程的情況...
視覺slam14講 學習筆記 Ubuntu環境配置
sophus庫的安裝問題 一些庫以及軟體的入門教程 tips 將ubuntu安裝到行動硬碟上 thinkpad x395 amd ryzen 7 pro 3700u w radeon vega mobile gfx 8 ubuntu 18.04.03 kdevelop 4 5.2.1 1ubuntu...