原创 Ubuntu16.04/ubuntu18.04運行kinectV2:安裝libfreenect2和iai_kinect2中遇到的問題

目錄參考編譯和運行libfreenect2遇到問題運行問題:found 0 devices運行問題:subpacket too large運行問題:skipping depth packet編譯和運行iai_kinect遇到問題U

原创 C++多線程:互斥鎖、自旋鎖、條件變量、讀寫鎖的定義與使用

互斥鎖、自旋鎖、條件變量 互斥鎖使用std::mutex類;條件變量使用std::condition_variable類;自旋鎖通過C++11的std::atomic類實現,使用“自旋”的CAS操作。 自旋鎖參考:C++11實現自

原创 Linux Socket編程(三):固定線程數的線程池實現

目錄線程池爲什麼要使用線程池?線程池適合場景實現固定數目的線程池線程池實現主要的私有成員變量線程池實現主要的成員函數線程池主要的實現原理(基於實現代碼-1分析)實現代碼-1實現代碼-2使用線程池實現多個客戶端併發請求 線程池 本節

原创 C++筆記(一):左值和右值,拷貝構造和移動構造,類型自動推導

目錄拷貝構造函數拷貝構造函數和賦值構造函數調用拷貝構造函數的場景拷貝構造函數的參數類型必須是引用深拷貝和淺拷貝左值(lvalue)和右值(rvalue)左值引用和右值引用移動構造和移動賦值移動語義和std::move()通用引用(

原创 Linux Socket編程(二):多線程實現同時響應多個客戶端

目錄服務端可以同時對多個客戶端的請求做出響應嗎?服務端多線程實現運行測試 服務端可以同時對多個客戶端的請求做出響應嗎? 上一篇文章:Linux Socket編程(一):簡單地實現進程間TCP通信 在上一篇文章中講述了Linux下通

原创 數據結構和算法筆記(二):位運算

目錄位運算位異或相關練習 位運算 位異或 異或的性質:兩個數字異或的結果a^b是將 a 和 b 的二進制每一位進行運算,得出的數字。 運算的邏輯是如果同一位的數字相同則爲 0,不同則爲 1。 異或的規律:(1)任何數和本身異或則

原创 數據結構和算法筆記(一):二叉樹、堆、鏈表

目錄時間複雜度二叉樹(Binary Tree)存儲結構基本概念二叉樹分類STL裏哪些容器用到二叉樹存儲?相關練習堆(heap)建堆堆排序堆的插入和刪除操作相關練習鏈表(list)相關練習 時間複雜度 常見數據結構的查找、插入、刪除

原创 TCP/IP協議知識(筆記)

TCP三次握手過程,爲什麼是三次而不是兩次或四次? 兩張動圖-徹底明白TCP的三次握手與四次揮手 TCP 爲什麼三次握手而不是兩次握手(正解版) 四次握手過程: 客戶端向服務端發送SYN同步請求; 服務端向客戶端返回ACK確認同

原创 Linux Socket編程(一):簡單地實現進程間TCP通信

服務端和客戶端通過Socket通信過程 參考博客: TCP網絡編程中connect()、listen()和accept()三者之間的關係 網絡套接字編程基本api 服務端: socket() :創建套接字,設置套接字IP地址類型

原创 C++11多線程編程(筆記)

C++11 標準庫提供std::tread類用於多線程編程。 線程的創建和阻塞 線程的三種創建方式 函數名或函數指針創建線程 函數對象(仿函數)創建線程 lambda表達式創建線程。 阻塞主線程:join()和detach()

原创 操作系統知識(筆記)

進程、線程 進程(process)和線程(thread)的區別? 進程和線程本質上都是CPU的一個工作時間段,進程包括了CPU加載程序上下文、CPU執行、CPU保存程序上下文。線程包含在進程中,一個進程至少有一個線程,也可以有多個

原创 第十講(第一版第十一講)-位姿圖優化部分

誤差關於位姿的雅克比矩陣推導 今天看到後端優化的關於位姿圖優化部分,對於誤差關於兩個位姿的雅克比矩陣推導部分理解遇到了一些困難。書中直接給TiT_iTi​和TjT_jTj​各乘了一個左擾動,然後就開始推導了。 倒數第三行到倒數第二

原创 第七講-位姿估計PnP/ICP部分代碼的理解

視覺SLAM十四講代碼學習記錄 問題: 已知一組3D點的位置,以及它們在某個相機中的投影位置,求該相機的位姿。(即書中的PnP問題) 求解方法: 對於連續運動的相機,可以通過最小化重投影誤差(Bundle Adjustment)構

原创 標量、向量、矩陣之間求導筆記

2019.12.06---------------------------------------------------------------------------------------------------------

原创 ORBSLAM2解析(1)——main函數

ORB-SLAM2項目的main()函數(即可執行文件)在Examples文件夾下,可以看到有四個子文件夾。Monocular,Stereo和RGB-D文件夾是對數據集中存儲的場景進行SLAM,ROS目文件夾是利用ROS和相機進行