MoveIt 1 源码构建: Linux

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,清理工作空间的builddevel空间,并从头开始。这可以通过手动删除它们(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

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值