MoveIt 1 源码构建: Linux
从源代码安装MoveIt是向开源项目提供新特性、优化和bug修复的第一步。
MoveIt主要在Linux上支持,特别是以下构建指令支持:
Ubuntu 20.04 / ROS Noetic
Ubuntu 18.04 / ROS Melodic
Ubuntu 16.04 / ROS Kinetic (不再被官方支持)
预备条件
安装ROS
按照所有说明安装ROS。请确保您遵循了所有步骤,并安装了最新版本的软件包:
rosdep update
sudo apt update
sudo apt dist-upgrade
源码安装需要wstool, catkin_tools和可选的clang-format:
sudo apt install python3-wstool python3-catkin-tools clang-format-10 python3-rosdep
Kinetic/Melodic 注意:对于Ubuntu 16.04和18.04,将’python3’替换为’python’来创建工作区和源
创建工作空间并source
最好选择创建一个新的工作空间,你可以给它起任何名字:
mkdir ~/ws_moveit
cd ~/ws_moveit
接下来,根据您安装的ROS版本,指定您的ROS工作区来加载必要的环境变量。
从三个选项中选择一个:
source /opt/ros/noetic/setup.bash
source /opt/ros/melodic/setup.bash
source /opt/ros/kinetic/setup.bash
这将加载${ROS_DISTRO}变量,这是下一步所需要的。
下载源代码
默认情况下,我们会假设你正在构建Ubuntu 20.04: master的最新分支。这个分支是为ROS动力学和更新版本构建的,例如Ubuntu 16.04和更新版本。如果您想从源代码构建MoveIt的旧版本,请参阅下面的小节。
从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
下载完毕后src文件夹中包含9个包,未下载完的重复运行命令wstool update -t src
可选:从构建中排除包
MoveIt是一个大型项目,默认的编译时间可以轻松地花费30分钟左右。如果您希望减少编译时间,或者只需要构建所有包的一个子集,catkin允许您配置只包含在构建中的包的一个子集。注意不要禁用其他人需要的包(即:是其他包的依赖)。你可以用几种方法从构建中排除包:
catkin-tools --blacklist (recommended)
touch /path/to/package/directory/CATKIN_IGNORE
rm -rf /path/to/package/directory
这里我们展示了一些使用catkin_tools的示例。注意:如果您已经在您的工作空间中构建了这些包,您将需要首先使用catkin clean。
禁用所有高级别用户界面(可选)
catkin config --blacklist \
moveit_commander \
moveit_setup_assistant \
moveit_ros_robot_interaction \
moveit_ros_visualization \
moveit_ros_benchmarks \
moveit_controller_manager_example \
moveit_ros_warehouse \
moveit_ros_manipulation \
moveit_visual_tools \
rviz_visual_tools
禁用CHOMP运动规划器(可选)
注意,catkin config–blacklist的每条命令都会默认覆盖之前的列表。使用选项–add -args,您可以扩大现有的黑名单。
catkin config --blacklist \
moveit_chomp_optimizer_adapter \
moveit_planners_chomp \
chomp_motion_planner
可选:安装编译器缓存
从源代码构建全部或甚至只是部分MoveIt可能需要一个小时。编译器缓存可以防止未修改的文件被重新编译,从而将这一时间减少到几分钟。最突出的编译器缓存是ccache,它适用于gcc和其他类似的编译器。
安装
在Debian或Ubuntu系统上,安装ccache很简单:
sudo apt install ccache
对于其他操作系统,请咨询包管理器或软件存储并搜索ccache。有关下载和安装的更多信息,请参阅ccache网站。
设置
要使用ccache,必须显式配置—仅仅安装包是不够的。为了在所有支持的编译器中自动使用ccache,将/usr/lib/ccache目录添加到你的PATH(对于除Debian或Ubuntu之外的系统,这个目录可能有所不同)。在bash中,很容易在启动时启用ccache。对于其他shell或系统,适当地调整这些命令。
echo 'export PATH=/usr/lib/ccache:$PATH' >> $HOME/.bashrc
source $HOME/.bashrc
要只对特定的项目使用缓存,在调用make、cmake、catkin_make或catkin build之前,将CC和CXX环境变量设置为列在/usr/lib/ccache中的编译器代理。
使用ccache
如果设置,则自动使用ccache。
使用下面的命令查看命中率和缓存使用率的统计信息
ccache --show-stats
注意:ccache只能缓存编译器的输出,如果编译器是实际触发的。如果已经构建了catkin工作区,那么启用ccache并重新构建工作区将不会导致任何缓存。要种子ccache,清理工作空间的build和devel空间,并从头开始。这可以通过手动删除它们(rm -rf build devel)或使用catkin_tools (catkin clean -y)来实现。
编译MoveIt
catkin build
Source Catkin工作空间
设置您的环境-您可以在每次使用这个特定的源代码安装代码时这样做,或者您可以将其添加到您的.bashrc(推荐):
source ~/ws_moveit/devel/setup.bash # or .zsh, depending on your shell
安装moveit
根据您的ros的版本安装不同版本的 MoveIt :
sudo apt-get install ros-noetic-moveit
sudo apt-get install ros-melodic-moveit
sudo apt-get install ros-kinetic-moveit
安装资源文件:
sudo apt-get install ros-noetic-moveit-resources
sudo apt-get install ros-melodic-moveit-resources
sudo apt-get install ros-kinetic-moveit-resources
更新环境变量:
source /opt/ros/noetic/setup.bash
source /opt/ros/melodic/setup.bash
source /opt/ros/kinetic/setup.bash
启动Setup Assistant
第一个终端里面运行:
roscore
第二个终端里面运行:
roslaunch moveit_setup_assistant setup_assistant.launch
或者运行下面这条命令,结果是相同的:
rosrun moveit_setup_assistant moveit_setup_assistant
出现Setup Assistant界面,表示ROS-Melodic里面成功安装了MoveIt。
最后顺带安装一下moveit-visual-tools
sudo apt-get install ros-melodic-moveit-visual-tools
Advanced
构建MoveIt的旧版本
最好是为我们的最新分支做出贡献,即使你还在使用Ubuntu的早期版本。然而,我们的最新分支不支持旧版本的ROS,如ROS Indigo。使用以下命令从源代码构建旧版本:
wstool init src
wstool merge -t src https://raw.githubusercontent.com/ros-planning/moveit/${ROS_DISTRO}-devel/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
catkin build
从源代码构建依赖项
对于MongoDB, OMPL,或FCL的源代码安装,参见构建通用MoveIt依赖从源在Catkin。
最简单的方法
1、安装moveit
sudo apt-get install ros-melodic-moveit
2、配置环境
source /opt/ros/melodic/setup.bash
3、安装资源文件:
sudo apt-get install ros-melodic-moveit-resources
参考链接:
moveit官网:https://moveit.ros.org/install/source/
http://t.zoukankan.com/weixq351-p-14805327.html