ubuntu 18.04安裝kalibr(詳細步驟)
1.安裝ros
安裝melodic版本。
2.安裝依賴環境
sudo apt-get install python-setuptools python-rosinstall ipython libeigen3-dev libboost-all-dev doxygen libopencv-dev ros-melodic-vision-opencv ros-melodic-image-transport-plugins ros-melodic-cmake-modules software-properties-common software-properties-common libpoco-dev python-matplotlib python-scipy python-git python-pip ipython libtbb-dev libblas-dev liblapack-dev python-catkin-tools libv4l-dev
sudo pip install python-igraph --upgrade
3.建立工作空間
mkdir -p ~/kalibr_workspace/src
cd ~/kalibr_workspace
source /opt/ros/melodic/setup.bash
catkin init
catkin config --extend /opt/ros/melodic
catkin config --merge-devel # Necessary for catkin_tools >= 0.4. catkin config --cmake-args -DCMAKE_BUILD_TYPE=Release
4.下載原始碼
cd ~/kalibr_workspace/src
git clone https://github.com/ethz-asl/Kalibr.git
5.編譯原始碼
cd ~/kalibr_workspace
catkin build -DCMAKE_BUILD_TYPE=Release -j4
編譯時我遇到了下載suitesparse過久甚至失敗的問題:在安裝kalibr時的suitesprse庫時,對應的cmakelists中會通過wget下載壓縮包,若無法下載則整個kalibr都無法成功安裝。那麼可以進行一處修改,將suitesprse的CMakeLists.txt的如下內容:
ExternalProject_Add(suitesparse_src
CMAKE_ARGS -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
DOWNLOAD_COMMAND rm -f SuiteSparse-${VERSION}.tar.gz && wget http://faculty.cse.tamu.edu/davis/SuiteSparse/SuiteSparse-${VERSION}.tar.gz
PATCH_COMMAND tar -xzf ../SuiteSparse-${VERSION}.tar.gz && rm -rf ../suitesparse_src-build/SuiteSparse && sed -i.bu "s/\\/usr\\/local\\/lib/..\\/lib/g" SuiteSparse/SuiteSparse_config/SuiteSparse_config.mk && sed -i.bu "s/\\/usr\\/local\\/include/..\\/include/g" SuiteSparse/SuiteSparse_config/SuiteSparse_config.mk && mv SuiteSparse ../suitesparse_src-build/
CONFIGURE_COMMAND ""
BUILD_COMMAND cd SuiteSparse && make library -j8 -l8
INSTALL_COMMAND cd SuiteSparse && mkdir -p lib && mkdir -p include && make install && cd lib && cp libamd.2.3.1.a libcamd.2.3.1.a libcholmod.2.1.2.a libcxsparse.3.1.2.a libldl.2.1.0.a libspqr.1.3.1.a libumfpack.5.6.2.a libamd.a libcamd.a libcholmod.a libcxsparse.a libldl.a libspqr.a libumfpack.a libbtf.1.2.0.a libccolamd.2.8.0.a libcolamd.2.8.0.a libklu.1.2.1.a librbio.2.1.1.a libsuitesparseconfig.4.2.1.a libbtf.a libccolamd.a libcolamd.a libklu.a librbio.a libsuitesparseconfig.a ${CATKIN_DEVEL_PREFIX}/${CATKIN_GLOBAL_LIB_DESTINATION}/ && cd .. && mkdir -p ${CATKIN_DEVEL_PREFIX}/${CATKIN_GLOBAL_INCLUDE_DESTINATION}/suitesparse && cd include && cp amd.h cholmod_matrixops.h SuiteSparseQR_definitions.h umfpack_load_symbolic.h umfpack_save_symbolic.h btf.h cholmod_modify.h SuiteSparseQR.hpp umfpack_numeric.h umfpack_scale.h camd.h cholmod_partition.h umfpack_col_to_triplet.h umfpack_qsymbolic.h umfpack_solve.h ccolamd.h cholmod_supernodal.h umfpack_defaults.h umfpack_report_control.h umfpack_symbolic.h cholmod_blas.h cholmod_template.h umfpack_free_numeric.h umfpack_report_info.h umfpack_tictoc.h cholmod_camd.h colamd.h umfpack_free_symbolic.h umfpack_report_matrix.h umfpack_timer.h cholmod_check.h cs.h umfpack_get_determinant.h umfpack_report_numeric.h umfpack_transpose.h cholmod_cholesky.h klu.h umfpack_get_lunz.h umfpack_report_perm.h umfpack_triplet_to_col.h cholmod_complexity.h ldl.h umfpack_get_numeric.h umfpack_report_status.h umfpack_wsolve.h cholmod_config.h RBio.h umfpack_get_symbolic.h umfpack_report_symbolic.h cholmod_core.h spqr.hpp umfpack_global.h umfpack_report_triplet.h cholmod.h SuiteSparse_config.h umfpack.h umfpack_report_vector.h cholmod_io64.h SuiteSparseQR_C.h umfpack_load_numeric.h umfpack_save_numeric.h ${CATKIN_DEVEL_PREFIX}/${CATKIN_GLOBAL_INCLUDE_DESTINATION}/suitesparse
)
替換成以下內容:
ExternalProject_Add(suitesparse_src
CMAKE_ARGS -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
DOWNLOAD_COMMAND rm -f SuiteSparse-${VERSION}.tar.gz && wget -O SuiteSparse-${VERSION}.tar.gz "https://github.com/jluttine/suitesparse/archive/v${VERSION}.tar.gz"
#DOWNLOAD_COMMAND wget "https://www.baidu.com"
PATCH_COMMAND tar -xzf ../SuiteSparse-${VERSION}.tar.gz && mv suitesparse-${VERSION} ./SuiteSparse && rm -rf ../suitesparse_src-build/SuiteSparse && sed -i.bu "s/\\/usr\\/local\\/lib/..\\/lib/g" SuiteSparse/SuiteSparse_config/SuiteSparse_config.mk && sed -i.bu "s/\\/usr\\/local\\/include/..\\/include/g" SuiteSparse/SuiteSparse_config/SuiteSparse_config.mk && mv SuiteSparse ../suitesparse_src-build/
CONFIGURE_COMMAND ""
BUILD_COMMAND cd SuiteSparse && make library -j8 -l8
INSTALL_COMMAND cd SuiteSparse && mkdir -p lib && mkdir -p include && make install && cd lib && cp libamd.2.3.1.a libcamd.2.3.1.a libcholmod.2.1.2.a libcxsparse.3.1.2.a libldl.2.1.0.a libspqr.1.3.1.a libumfpack.5.6.2.a libamd.a libcamd.a libcholmod.a libcxsparse.a libldl.a libspqr.a libumfpack.a libbtf.1.2.0.a libccolamd.2.8.0.a libcolamd.2.8.0.a libklu.1.2.1.a librbio.2.1.1.a libsuitesparseconfig.4.2.1.a libbtf.a libccolamd.a libcolamd.a libklu.a librbio.a libsuitesparseconfig.a ${CATKIN_DEVEL_PREFIX}/${CATKIN_GLOBAL_LIB_DESTINATION}/ && cd .. && mkdir -p ${CATKIN_DEVEL_PREFIX}/${CATKIN_GLOBAL_INCLUDE_DESTINATION}/suitesparse && cd include && cp amd.h cholmod_matrixops.h SuiteSparseQR_definitions.h umfpack_load_symbolic.h umfpack_save_symbolic.h btf.h cholmod_modify.h SuiteSparseQR.hpp umfpack_numeric.h umfpack_scale.h camd.h cholmod_partition.h umfpack_col_to_triplet.h umfpack_qsymbolic.h umfpack_solve.h ccolamd.h cholmod_supernodal.h umfpack_defaults.h umfpack_report_control.h umfpack_symbolic.h cholmod_blas.h cholmod_template.h umfpack_free_numeric.h umfpack_report_info.h umfpack_tictoc.h cholmod_camd.h colamd.h umfpack_free_symbolic.h umfpack_report_matrix.h umfpack_timer.h cholmod_check.h cs.h umfpack_get_determinant.h umfpack_report_numeric.h umfpack_transpose.h cholmod_cholesky.h klu.h umfpack_get_lunz.h umfpack_report_perm.h umfpack_triplet_to_col.h cholmod_complexity.h ldl.h umfpack_get_numeric.h umfpack_report_status.h umfpack_wsolve.h cholmod_config.h RBio.h umfpack_get_symbolic.h umfpack_report_symbolic.h cholmod_core.h spqr.hpp umfpack_global.h umfpack_report_triplet.h cholmod.h SuiteSparse_config.h umfpack.h umfpack_report_vector.h cholmod_io64.h SuiteSparseQR_C.h umfpack_load_numeric.h umfpack_save_numeric.h ${CATKIN_DEVEL_PREFIX}/${CATKIN_GLOBAL_INCLUDE_DESTINATION}/suitesparse
)
6.設定環境變數
首先進行編輯系統的.bashrc
sudo gedit ~/.bashrc
在最後一行新增以下內容儲存
source ~/kalibr_workspace/devel/setup.bash
為避免電腦重啟生效需要鍵入
source ~/kalibr_workspace/devel/setup.bash
相關文章
- UBUNTU手動安裝JDK的詳細步驟UbuntuJDK
- Termux安裝完整版Linux(Ubuntu)詳細步驟LinuxUbuntu
- ubuntu20.04安裝教程超詳細 安裝ubuntu系統步驟圖解Ubuntu圖解
- docker安裝portainer詳細步驟DockerAI
- MySQL的安裝步驟(詳細)MySql
- Mac安裝Redis,詳細redis安裝步驟MacRedis
- CentOS 7 安裝MongoDB詳細步驟CentOSMongoDB
- 安裝fbprophet模組詳細步驟
- Linux安裝JDK詳細步驟LinuxJDK
- Ubuntu18.04上安裝ROS的詳細教程UbuntuROS
- Ubuntu安裝cacti步驟Ubuntu
- 安裝kalibr Ubuntu16.04Ubuntu
- CentOS 7上安裝WordPress詳細步驟CentOS
- Linux安裝jdk的詳細步驟。LinuxJDK
- CentOS 7.4安裝redis 4.0詳細步驟CentOSRedis
- CentOS 6.5下Redis安裝詳細步驟CentOSRedis
- Linux安裝jdk的詳細步驟LinuxJDK
- Ubuntu 10.10 安裝谷歌PINYIN拼音輸入法 詳細步驟Ubuntu谷歌
- arcgis安裝教程10.2 arcgis詳細安裝步驟
- vnc安裝步驟,vnc安裝步驟詳解VNC
- Ubuntu18.10安裝HP網路印表機詳細步驟Ubuntu
- ubuntu 下安裝nginx步驟UbuntuNginx
- Git學習2 --- Git安裝詳細步驟Git
- doris編譯和安裝部署詳細步驟編譯
- 安裝Linux14.04詳細步驟Linux
- CentOS 7.4下安裝nginx的詳細步驟CentOSNginx
- MySQL 5.7.17 原始碼方式安裝詳細步驟MySql原始碼
- CentOS7上安裝WordPress詳細步驟CentOS
- MySQL 5.6.19編譯安裝詳細步驟MySql編譯
- centos7安裝教程詳解 centos7安裝詳細步驟CentOS
- SAP2000 22安裝教程(詳細安裝步驟)
- KeyShot9.3安裝教程(附詳細步驟)
- Win7系統安裝詳細教程步驟Win7
- centos下svn的安裝及配置詳細步驟CentOS
- db29.7 for linux 5.4 安裝詳細步驟DB2Linux
- Virtualbox7安裝及使用詳細步驟
- 超詳細oracle 11g安裝步驟 win版本Oracle
- ghost win10安裝教程詳細步驟圖解Win10圖解