MoveIt框架

MoveIt和Gazebo的關系如下圖:

ROS和MoveIt這一端類似於插頭,Gazebo這一端類似於插座,MoveIt和Gazebo的關系好比插頭和插座的關系,需要匹配。
2. 更新rosdep 升級apt-get
1 rosdep update 2 sudo apt-get update 3 sudo apt-get dist-upgrade
在執行 dist-upgrade 的時候出現的問題:
1 E: 無法獲得鎖 /var/lib/dpkg/lock-frontend - open (11: 資源暫時不可用) 2 E: 無法獲取 dpkg 前端鎖 (/var/lib/dpkg/lock-frontend),是否有其他進程正占用它?
解決辦法是,刪除文件:
1 sudo rm /var/lib/dpkg/lock 2 sudo rm /var/lib/dpkg/lock-frontend
參考博客:https://www.jianshu.com/p/79028b8d83bc
3. 下載依賴文件
1 sudo apt-get install python-wstool python-catkin-tools clang-format-3.9
安裝wstool,catkin_tools和clang-format-3.9三類依賴文件。
參考博客:https://blog.csdn.net/CH_monsy/article/details/108001875
4.創建工作區和加載環境變量
創建一個名為moveit_wei的工作區,在該工作區中進行moveit的安裝過程。
1 mkdir ~/moveit_wei 2 cd ~/moveit_wei
~/ 代表 當前登錄用戶的主目錄 ,本教程的主目錄是 /home/wei 。
為ROS-Melodic 工作區(名為 moveit_wei)提供源以加載必要的環境變量(一般opt和home同級) :
1 source /opt/ros/melodic/setup.bash
以上命令在 個人用戶(wei) 目錄下運行的。
5.下載MoveIt源代碼
1 wstool init src 2 wstool merge -t src https://raw.githubusercontent.com/ros-planning/moveit/master/moveit.rosinstall 3 wstool update -t src 4 rosdep install -y --from-paths src --ignore-src --rosdistro ${ROS_DISTRO} 5 catkin config --extend /opt/ros/${ROS_DISTRO} --cmake-args -DCMAKE_BUILD_TYPE=Release
$ {ROS_DISTRO}變量是從加載的環境變量中選取。
wstool update -t src,這條命令后,在 wei/src 目錄下,就出現了8個文件夾。
可能會因為網絡問題漏掉某些軟件包,需要特別仔細,有遺漏就重復運行該條語句,直到沒有報錯。
6. 安裝和配置ccache(可選環節)
安裝ccache,減少MoveIt安裝時間:
1 sudo apt-get install ccache
配置ccache:
1 echo 'export PATH=/usr/lib/ccache:$PATH' >> $HOME/.bashrc 2 source $HOME/.bashrc
查看緩存信息,本教程的最大緩存大小是5.0 G:
1 ccache --show-stats
7. 編譯Moveit
1 catkin build
花費時間很長,如果有ccache,會節省一部分時間。成功后,在 /wei 目錄下,會有 build 、devel 、logs 和 src 存在,並且出現以下圖片信息。

配置工作區環境變量,激活moveit_wei工作空間,在 任意目錄下:
1 source ~/moveit_wei/devel/setup.bash
或者 在wei/moveit_wei目錄下,source devel/setup.bash 。
8. 安裝MoveIt
這是安裝 ROS-Melodic 版本的 MoveIt :
1 sudo apt-get install ros-melodic-moveit
安裝資源文件:
1 sudo apt-get install ros-melodic-moveit-resources
更新環境變量:
1 source /opt/ros/melodic/setup.bash
9. 啟動Setup Assistant
第一個終端里面運行:
1 roscore
第二個終端里面運行:
1 roslaunch moveit_setup_assistant setup_assistant.launch
或者運行下面這條命令,結果是相同的:
1 rosrun moveit_setup_assistant moveit_setup_assistant
出現Setup Assistant界面,表示ROS-Melodic里面成功安裝了MoveIt。

參考博客:https://blog.csdn.net/CH_monsy/article/details/108001875
