Ros-Melodic安装MoveIt教程(四)
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