ROS Kinetic下コンパイルインストールORB_SLAM2
5208 ワード
OS:Ubuntu 16.04
ROSバージョン: Kinetic
1.ROSのインストールは、参考にすることができますhttp://blog.csdn.net/qq_1732031/article/details/79519308、ここでは説明しません.
2.ワークスペースの新規作成
3.srcをワークスペースとして設定し、srcディレクトリの下で:
4.catkin_に戻るwsディレクトリの下で実行:
Pythonには必ずcatkinをインストールしてください.pkgモジュール
依存項目をインストールします.
5.ORB_をダウンロードSLAM 2ソース:
6.ORB_をSLAM 2ファイルをcatkin_に移動ws/src下
7.ORB_をインストールするSLAM 2,Rannul Mur-artal大神のgithub(https://github.com/raulmur/ORB_SLAM2)にはっきり書いてありました
8.インストールROS版のORBをコンパイルするSLAM 2、ORB_SLAM 2ディレクトリの下:
この時点で穴が開き、エラーが発生する可能性があります.
~/.bashrcの末尾に追加することを忘れないでください.
ここでPATHは、自分のワークスペースパス(/home/(user名)/catkin_ws/src)であり、次のことを覚えています.
まだ解決していない場合は、次のコマンドを使用します.
そしてコンパイルを続けると、また穴ができて、心が疲れるかもしれません~:
解決策:ORB_を修正するSLAM2/Examples/ROS/ORB_SLAM 2でCMakelists.txt、setに-lboost_を追加system:
そしてコンパイルに成功する.
ROSで自分のカメラを使って走るならORB_SLAM 2、それではusb_をインストールする必要がありますcam
ダウンロードリンク(https://github.com/ros-drivers/usb_cam)、ダウンロードして、同じようにsrcの下に移動します
あるいはこれはsrcの下でgitコマンドを利用します
コンパイルusb_cam:
カメラを開くにはrosを起動する必要があります.2つの異なる端末でそれぞれ次のコマンドを実行します.
これによりカメラが起動し、usb_を開くことができます.cam/launchの下のlaunchファイル:
このうちvalue=「/dev/video 0」はノートパソコンのカメラで、ここではvideo 1です.もちろん、読者は/devディレクトリの下で自分のカメラに対応するvalueがどれだけあるかを見ることができます.
ROSバージョン: Kinetic
1.ROSのインストールは、参考にすることができますhttp://blog.csdn.net/qq_1732031/article/details/79519308、ここでは説明しません.
2.ワークスペースの新規作成
$ mkdir catkin_ws
$ cd ./catkin_ws
$ mkdir src
3.srcをワークスペースとして設定し、srcディレクトリの下で:
$ catkin_init_workspace
4.catkin_に戻るwsディレクトリの下で実行:
$ catkin_make
第3、4ステップNot Found the Commandエラーが発生した場合、catkinをインストールし、入力するコマンド:$ git clone https://github.com/ros/catkin.git
$ cd catkin
$ mkdir build
$ cd build
$ cmake ..
$ make -j8 && make install
$ cd ..
$ python2 setup.py install
$ python3 setup.py install
Pythonには必ずcatkinをインストールしてください.pkgモジュール
pip install catkin_pkg
pip3 install catkin_pkg
依存項目をインストールします.
sudo apt install autotools-dev ccache doxygen dh-autoreconf git liblapack-dev libblas-dev libgtest-dev libreadline-dev libssh2-1-dev pylint clang-format-3.8
python-autopep8 python-catkin-tools python-pip python-git python-setuptools python-termcolor python-wstool --yes
5.ORB_をダウンロードSLAM 2ソース:
git clone https://github.com/raulmur/ORB_SLAM2.git ORB_SLAM2
6.ORB_をSLAM 2ファイルをcatkin_に移動ws/src下
$ sudo mv ORB_SLAM2 ./catkin_ws/src
7.ORB_をインストールするSLAM 2,Rannul Mur-artal大神のgithub(https://github.com/raulmur/ORB_SLAM2)にはっきり書いてありました
cd ORB_SLAM2
chmod +x build.sh
./build.sh
8.インストールROS版のORBをコンパイルするSLAM 2、ORB_SLAM 2ディレクトリの下:
chmod +x build_ros.sh
./build_ros.sh
この時点で穴が開き、エラーが発生する可能性があります.
CMake Error at /opt/ros/kinetic/share/ros/core/rosbuild/public.cmake:129 (message):
Failed to invoke rospack to get compile flags for package 'ORB_SLAM2'.
Look above for errors from rospack itself. Aborting. Please fix the
broken dependency!
Call Stack (most recent call first):
/opt/ros/kinetic/share/ros/core/rosbuild/public.cmake:207 (rosbuild_invoke_rospack)
CMakeLists.txt:4 (rosbuild_init)
-- Configuring incomplete, errors occurred!
~/.bashrcの末尾に追加することを忘れないでください.
export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:PATH/ORB_SLAM2/Examples/ROS
ここでPATHは、自分のワークスペースパス(/home/(user名)/catkin_ws/src)であり、次のことを覚えています.
$ source ~/.bashrc
まだ解決していない場合は、次のコマンドを使用します.
$ sudo rosdep fix-permissions
$ rosdep update
そしてコンパイルを続けると、また穴ができて、心が疲れるかもしれません~:
MakeFiles/Makefile2:718: recipe for target 'CMakeFiles/Mono.dir/all' failed
make[1]: *** [CMakeFiles/Mono.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
make[2]: *** No rule to make target '/opt/ros/kinetic/lib/libopencv_calib3d3.so.3.2.0', needed by '../RGBD'. Stop.
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/RGBD.dir/all' failed
make[1]: *** [CMakeFiles/RGBD.dir/all] Error 2
make[2]: *** No rule to make target '/opt/ros/kinetic/lib/libopencv_calib3d3.so.3.2.0', needed by '../Stereo'. Stop.
CMakeFiles/Makefile2:104: recipe for target 'CMakeFiles/Stereo.dir/all' failed
make[1]: *** [CMakeFiles/Stereo.dir/all] Error 2
解決策:ORB_を修正するSLAM2/Examples/ROS/ORB_SLAM 2でCMakelists.txt、setに-lboost_を追加system:
set(LIBS
${OpenCV_LIBS}
${EIGEN3_LIBS}
${Pangolin_LIBRARIES}
${PROJECT_SOURCE_DIR}/../../../Thirdparty/DBoW2/lib/libDBoW2.so
${PROJECT_SOURCE_DIR}/../../../Thirdparty/g2o/lib/libg2o.so
${PROJECT_SOURCE_DIR}/../../../lib/libORB_SLAM2.so
-lboost_system
)
そしてコンパイルに成功する.
ROSで自分のカメラを使って走るならORB_SLAM 2、それではusb_をインストールする必要がありますcam
ダウンロードリンク(https://github.com/ros-drivers/usb_cam)、ダウンロードして、同じようにsrcの下に移動します
あるいはこれはsrcの下でgitコマンドを利用します
git clone https://github.com/bosch-ros-pkg/usb_cam.git
コンパイルusb_cam:
$ mkdir build
$ cd build
$ cmake ..
$ make
カメラを開くにはrosを起動する必要があります.2つの異なる端末でそれぞれ次のコマンドを実行します.
$ roscore
$ roslaunch usb_cam usb_cam-test.launch
これによりカメラが起動し、usb_を開くことができます.cam/launchの下のlaunchファイル:
このうちvalue=「/dev/video 0」はノートパソコンのカメラで、ここではvideo 1です.もちろん、読者は/devディレクトリの下で自分のカメラに対応するvalueがどれだけあるかを見ることができます.