ORB SLAM2_with_pointcloud_mapコンパイル&実行
3992 ワード
オープンソースバージョンorbslam 2には地図の生成と保存モジュールがないため、高博はリアルタイム表示ポイントクラウドモジュールを追加した.
1、ソースコードのダウンロード
2、解凍orbslam 2_modified.zip解凍では、g 2 o_の2つのフォルダが得られます.with_orbslam 2とORB_SLAM2_modified,与原ORB_SLAM2_modifiedを同じフォルダにマージ
3、g 2 o_のコンパイルwith_orbslam2
-コンパイルエラーが発生した場合、以下の修正を行います:(1)解決方法:実はバージョンの問題で、このサイトでhttps://launchpad.net/ubuntu/trusty/amd64/libeigen3-dev/3.2.0-8,ダウンロード.debファイル、インストール:sudo dpkg-i libeigen 3-dev_3.2.0-8_all.debまたは:(2)開く/g 2 o_with_orbslam2/g2o/types/slam2d/edge_se2_pointxy_bearing.cpp
(3)開く/g 2 o_with_orbslam2/g2o/solvers/eigen/linear_solver_eigen.h
4、コンパイルDboW 2
5、入/RB_SLAM2_modifiedフォルダ
(1)-opencvバージョンエラーがCMakeListsに入る.txt修正.(2)-DboW 2とg 2 oのエラーが発生した場合、例えばoptimizerを報告する.ccは参照していないか、ポインタが間違っているので、Thirdpartyファイルの下に入り、DboW 2とg 2 oの中のbuildファイルを削除して/ORB_に戻るSLAM2_modifiedフォルダ、再コンパイル:./build.sh
6.単目/両目/rgbdを用いてデータセットとassociateを実験した.py、ORB_に置くSLAM2_modifiedディレクトリで、次のコマンドを実行します.
実行後の実行例:
7.エンドポイントクラウドを簡単に保存するORB_を開くSLAM2_modified/pointcloudmapping.ccファイル、少し修正:(1)ヘッダファイル
参照先:https://blog.csdn.net/qq_25349629/article/details/88528765 https://blog.csdn.net/u011813286/article/details/89096065 https://blog.csdn.net/qq_25349629/article/details/88350374 https://blog.csdn.net/LOVE1055259415/article/details/79903571 https://blog.csdn.net/oliongs/article/details/79696376 https://github.com/abhineet123/ORB_SLAM2
1、ソースコードのダウンロード
git clone https://github.com/gaoxiang12/ORBSLAM2_with_pointcloud_map.git
2、解凍orbslam 2_modified.zip解凍では、g 2 o_の2つのフォルダが得られます.with_orbslam 2とORB_SLAM2_modified,与原ORB_SLAM2_modifiedを同じフォルダにマージ
3、g 2 o_のコンパイルwith_orbslam2
cd g2o_with_orbslam2
mkdir build
cmake ..
make -j8
sudo make install
-コンパイルエラーが発生した場合、以下の修正を行います:(1)解決方法:実はバージョンの問題で、このサイトでhttps://launchpad.net/ubuntu/trusty/amd64/libeigen3-dev/3.2.0-8,ダウンロード.debファイル、インストール:sudo dpkg-i libeigen 3-dev_3.2.0-8_all.debまたは:(2)開く/g 2 o_with_orbslam2/g2o/types/slam2d/edge_se2_pointxy_bearing.cpp
//t.setRotation(t.rotation().angle()+_measurement);
:
t.setRotation((Eigen::Rotation2Dd)(t.rotation().angle()+_measurement));
(3)開く/g 2 o_with_orbslam2/g2o/solvers/eigen/linear_solver_eigen.h
//typedef Eigen::PermutationMatrix<:dynamic eigen::dynamic="" sparsematrix::index=""> PermutationMatrix;
:
//typedef Eigen::PermutationMatrix<:dynamic eigen::dynamic="" sparsematrix::storageindex=""> PermutationMatrix;
typedef Eigen::PermutationMatrix<:dynamic eigen::dynamic="" int=""> PermutationMatrix;
4、コンパイルDboW 2
cd ORB_SLAM2_modified/Thirdparty/DBoW2
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make
#sudo make install
5、入/RB_SLAM2_modifiedフォルダ
chmod +x build.sh
./build.sh
(1)-opencvバージョンエラーがCMakeListsに入る.txt修正.(2)-DboW 2とg 2 oのエラーが発生した場合、例えばoptimizerを報告する.ccは参照していないか、ポインタが間違っているので、Thirdpartyファイルの下に入り、DboW 2とg 2 oの中のbuildファイルを削除して/ORB_に戻るSLAM2_modifiedフォルダ、再コンパイル:./build.sh
6.単目/両目/rgbdを用いてデータセットとassociateを実験した.py、ORB_に置くSLAM2_modifiedディレクトリで、次のコマンドを実行します.
python associate.py Data/rgbd_dataset_freiburg1_desk/rgb.txt Data/rgbd_dataset_freiburg1_desk/depth.txt > Data/rgbd_dataset_freiburg1_desk/associations.txt
実行後の実行例:
./Example/RGB-D/rgbd_tum
Vocabulary/ORBvoc.txt path_to_settings path_to_sequence path_to_association
:
./Examples/RGB-D/rgbd_tum Vocabulary/ORBvoc.txt Examples/RGB-D/TUM1.yaml Data/rgbd_dataset_freiburg1_desk Data/rgbd_dataset_freiburg1_desk/associations.txt
7.エンドポイントクラウドを簡単に保存するORB_を開くSLAM2_modified/pointcloudmapping.ccファイル、少し修正:(1)ヘッダファイル
#include
(2)void PointCloudMapping::viewer()は以下のように修正します.void PointCloudMapping::viewer()
{
pcl::visualization::CloudViewer viewer("viewer");
while(1)
{
{
unique_lock lck_shutdown( shutDownMutex );
if (shutDownFlag)
{
break;
}
}
{
unique_lock lck_keyframeUpdated( keyFrameUpdateMutex );
keyFrameUpdated.wait( lck_keyframeUpdated );
}
// keyframe is updated
size_t N=0;
{
unique_lock lck( keyframeMutex );
N = keyframes.size();
}
for ( size_t i=lastKeyframeSize; iswap( *tmp );
viewer.showCloud( globalMap );
cout<points.size()<
参照先:https://blog.csdn.net/qq_25349629/article/details/88528765 https://blog.csdn.net/u011813286/article/details/89096065 https://blog.csdn.net/qq_25349629/article/details/88350374 https://blog.csdn.net/LOVE1055259415/article/details/79903571 https://blog.csdn.net/oliongs/article/details/79696376 https://github.com/abhineet123/ORB_SLAM2