基於Ubuntu 16.04和ros kinetc平臺原始碼編譯安裝moveit和ompl及編譯警告的解決方法
阿新 • • 發佈:2018-12-19
安裝依賴項
rosdep update
sudo apt-get update
sudo apt-get dist-upgrade
sudo apt-get install python-wstool python-catkin-tools clang-format-3.8
下載moveit的原始碼
mkdir -p ~/ws_moveit/src cd ~/ws_moveit source /opt/ros/kinetic/setup.bash wstool init src wstool merge -t src https://raw.githubusercontent.com/ros-planning/moveit/kinetic-devel/moveit.rosinstall wstool update -t src
下載ompl原始碼
cd ~/ws_moveit/src
git clone -b kinetic-devel https://github.com/ompl/ompl.git
下載由catkin build編譯ompl需要的package.xml檔案
cd ~/ws_moveit/src/ompl
wget https://raw.githubusercontent.com/ros-gbp/ompl-release/debian/kinetic/xenial/ompl/package.xml
修改moveit_planners的CMakeLists.txt檔案
gedit ~/ws_moveit/src/moveit/moveit_planners/ompl/CMakeLists.txt #找到include_directories的位置並互換${OMPL_INCLUDE_DIRS} 和 ${catkin_INCLUDE_DIRS}的位置, 讓${OMPL_INCLUDE_DIRS}變量出現在${catkin_INCLUDE_DIRS}變數之前
#安裝依賴
cd ~/ws_moveit/src
rosdep install -y --from-paths . --ignore-src --rosdistro kinetic
#開始編譯ompl和moveit
cd ~/ws_moveit
catkin config --extend /opt/ros/kinetic --cmake-args -DCMAKE_BUILD_TYPE=Release
catkin build
上述過程主要參考了官網教程,部分結合了知乎上的相關經驗。
如果一切順利的話,可能沒有警告,編譯一次通過。 但是,我在編譯的過程中出現了一次錯誤,一次警告 錯誤的原因可能是沒有指定ompl版本:
#通過新增 -b kinetic-devel解決版本問題
git clone -b kinetic-devel https://github.com/ompl/ompl.git
警告的原因可能是cmake版本導致的:
之前我用的是cmake3.10.2,出現了警告,後來我換成了cmake3.12.4版本後,沒有了警告
我是通過上述兩步解決了編譯過程中遇到的所有問題。