Moveit是一个由一系列移动操作的功能包组成的集成化开发平台,提供友好的GUI,是目前ROS社区中使用度排名前三的功能包,Moveit包含以下三大核心功能,并集成了大量的优秀算法接口:
首先需要确保已安装的软件包为最新版本:
- rosdep update
- sudo apt-get update
- sudo apt-get dist-upgrade
Moveit源代码安装需要wstool,catkin_tools和可选的clang三类文件:
sudo apt-get install python-wstool python-catkin-tools clang-format-3.9
首先创建一个名为ws_moveit的工作区,在该工作区中执行安装操作:
- mkdir ~/ws_moveit
- cd ~/ws_moveit
根据安装的ROS版本,为ROS工作区提供源以加载必要的环境变量:
source /opt/ros/melodic/setup.bash
source /opt/ros/kinetic/setup.bash
下载所需的存储库,并从catkin工作区的根目录中进行构建:
- wstool init src
- wstool merge -t src https://raw.githubusercontent.com/ros-planning/moveit/master/moveit.rosinstall
- wstool update -t src
- rosdep install -y --from-paths src --ignore-src --rosdistro ${ROS_DISTRO}
- catkin config --extend /opt/ros/${ROS_DISTRO} --cmake-args -DCMAKE_BUILD_TYPE=Release
注意:
可能遇到问题:缺少依赖
- ERROR: the following packages/stacks could not have their rosdep keys resolved
- to system dependencies:
- moveit_resources_dual_panda_moveit_config: Cannot locate rosdep definition for [joint_state_publisher_gui]
- panda_moveit_config: Cannot locate rosdep definition for [franka_description]
- moveit_resources_panda_moveit_config: Cannot locate rosdep definition for [joint_state_publisher_gui]
- moveit_tutorials: Cannot locate rosdep definition for [joy]
- pilz_industrial_motion_planner: Cannot locate rosdep definition for [code_coverage]
- moveit_servo: Cannot locate rosdep definition for [rosparam_shortcuts]
解决方法:sudo apt-get install ros-你的ROS版本-你缺少的东西
例如上述错误:
- sudo apt-get install ros-melodic-joint-state-publisher-gui
- sudo apt-get install ros-melodic-joy
- sudo apt-get install ros-melodic-rosparam-shortcuts
从源代码构建全部甚至部分MoveIt可能需要一个小时。 编译器缓存可以防止重新编译未更改的文件,从而可以将此时间减少到几分钟。 最常用的编译器缓存是适用于gcc和其他类似编译器的ccache。
安装ccache:
sudo apt-get install ccache
安装后需要对ccache进行一系列的配置,要在所有受支持的编译器中自动使用ccache,需要将/ usr / lib / ccache目录放在PATH之前。
- echo 'export PATH=/usr/lib/ccache:$PATH' >> $HOME/.bashrc
- source $HOME/.bashrc
使用以下命令,可以利用ccache查看build过程中命中率和缓存使用情况的统计信息:
ccache --show-stats

catkin build
可能遇到问题:

解决方法:
sudo apt-get install ros-melodic-包名
注:报错中缺少的包名中的“_"改为"-"
source ~/ws_moveit/devel/setup.bash # or .zsh, depending on your shell
- sudo apt-get install ros-melodic-moveit
- sudo apt-get install ros-melodic-moveit-pr2
source /opt/ros/melodic/setup.bash
首先打开roscore
roscore
然后启动Moveit-Setup-Assistant:
roslaunch moveit_setup_assistant setup_assistant.launch
启动成功后出现如下界面,恭喜你已经成功安装Moveit!
