# **TCP編程** - **基本介紹** 1. 基於客戶端——服務端的網路通信; 2. 底層使用的是TCP/IP協議; 3. 應用場景舉例:客戶端發送數據,服務端接收並顯示在控制台; 4. 基於Socket的TCP編程; - **示意圖** ![](https://img2023.cnblogs ...
環境搭建
第一步:安裝cmake, gcc, g++
sudo apt-get install cmake gcc g++
第二步:安裝Eigen
此處安裝的是Eigen3.2.1版本,一開始安裝Eigen3.4.0,在最後所有環境配置完成後,運行ORBSLAM2時,運行一小段時間就自動退出。不同版本可以在該網站找到
cd Eigen
mkdir build
cmake ..
make
sudo make install
sudo cp /usr/local/include/eigen3 /usr/include/eigen3
第三步:安裝Pangolin
0.6版本
cd Pangolin
mkdir build
cmake ..
make
sudo make install
安裝時報錯:
error: ‘AVFMT_RAWPICTURE’ was not declared in this scope
參考該鏈接在Pangolin/include/pangolin/video/drivers/ffmpeg.h開頭加上
#define AV_CODEC_FLAG_GLOBAL_HEADER (1 << 22) #define CODEC_FLAG_GLOBAL_HEADER AV_CODEC_FLAG_GLOBAL_HEADER #define AVFMT_RAWPICTURE 0x0020
編譯安裝成功,會有很多的警告,這裡可以忽略掉。
測試是否安裝成功
cd Pangolin
cd examples/HelloPangolin
cmake ..
make
./HelloPangolin
出現一個顯示由紅、綠、藍三個色塊拼成的立方體的視窗則說明安裝成功。
第四步:安裝OpenCV3
3.4.15版本
安裝依賴(有些可以不裝)
sudo apt-get install build-essential
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
編譯安裝opencv(時間比較久)
cd opencv3
mkdir build
cd build
cmake ..
make -j
sudo make install
測試是否安裝成功
cd opencv3/samples/cpp/example_cmake
./opencv_example
出現一個視窗,上面顯示Hello OpenCV則說明安裝成功
第五步:安裝其他第三方庫以及ORB_SLAM2本體
cd ORB_SLAM2
chmod +x build.sh (給執行許可權)
./build.sh
在源碼處有一處改動
參考第二個報錯
報錯:
error: static assertion failed: std::map must have the same value_type as its allocator
static_assert(is_same<typename _Alloc::value_type, value_type>::value,
解決:打開LoopClosing.h
將原代碼中的
typedef map<KeyFrame*,g2o::Sim3,std::less<KeyFrame*>,
Eigen::aligned_allocator<std::pair<const KeyFrame*, g2o::Sim3> > > KeyFrameAndPose;
修改為
typedef map<KeyFrame*,g2o::Sim3,std::less<KeyFrame*>,
Eigen::aligned_allocator<std::pair<KeyFrame *const, g2o::Sim3> > > KeyFrameAndPose;
測試
1、進入[網頁](Computer Vision Group - Dataset Download (tum.de)),下載對應的數據(點擊tgz,就會開始下載對應的數據)
2、進入ORB_SLAM2創建文件夾data,然後將下載好的數據壓縮包提取到data中,然後打開終端執行以下命令(此處下載的數據為網頁中第一個):
cd ORB_SLAM2
./Examples/Monocular/mono_tum Vocabulary/ORBvoc.txt Examples/Monocular/TUM1.yaml data/rgbd_dataset_freiburg1_xyz
若成功搭建,則會顯示如下兩個視窗
參考
(75條消息) Ubuntu20.04配置ORBSLAM2並運行(保姆級教程)_orbslam2運行_9527風先生的博客-CSDN博客
(75條消息) ORB-SLAM2環境配置以及運行詳解(一):ROS與非ROS環境下的安裝、編譯、離線數據集測試_FrozenFreak的博客-CSDN博客