ros:編譯navigation
1 下載導航包
git clone https://github.com/ros-planning/navigation_experimental.git
2 processing catkin package: ‘map_server’ 缺少Could NOT find Bullet CMake Error at /usr/share/cmake-2.8/Modules/FindPackageHandleStandardArgs.cmake:108 (message): Could NOT find Bullet (missing: BULLET_DYNAMICS_LIBRARY BULLET_COLLISION_LIBRARY BULLET_MATH_LIBRARY BULLET_SOFTBODY_LIBRARY BULLET_INCLUDE_DIR) Call Stack (most recent call first): /usr/share/cmake-2.8/Modules/FindPackageHandleStandardArgs.cmake:315 (_FPHSA_FAILURE_MESSAGE) /usr/share/cmake-2.8/Modules/FindBullet.cmake:76 (FIND_PACKAGE_HANDLE_STANDARD_ARGS) navigation/map_server/CMakeLists.txt:11 (find_package)
解決辦法:
sudo apt-get install libbullet-dev
3 cmake版本低——CMake Error at navigation/amcl/CMakeLists.txt:1 (cmake_minimum_required): CMake 3.1 or higher is required. You are running version 2.8.12.2
解決辦法:
sudo apt-get install cmake3
安裝完後的版本為: cmake version 3.5.1
4 cost_map找不到eigen3 – Using these message generators: gencpp;genlisp;genpy CMake Error at navigation/costmap_2d/CMakeLists.txt:26 (find_package): By not providing “FindEigen3.cmake” in CMAKE_MODULE_PATH this project has asked CMake to find a package configuration file provided by “Eigen3”, but CMake did not find one.
解決辦法:
gedit src/navigation/costmap_2d/CMakeLists.txt
由於cmake3.5中沒有findEigen3,所以拷貝一下;
sudo cp /usr/share/cmake-2.8/Modules/FindEigen3.cmake /usr/share/cmake-3.5/Modules/