我是靠谱客的博主 优雅菠萝,最近开发中收集的这篇文章主要介绍OMPL学习--第三篇之源码安装Moveit!和OMPL(Melodic版本),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

OMPL Moveit! Source install 自定义运动规划算法

文章目录

    • 1. 引言
    • 2. 实现方法
      • 2.1 Source install Moveit!
      • 2.2 Source install OMPL
    • 2.3 测试安装是否成功
    • 3. 自定义运动规划算法
    • 参考

1. 引言

ROS默认是以Binary形式安装Moveit!,这种方式无法添加自己的运动规划算法,好在ROS支持用户自定义运动规划算法,那就是以源码形式安装Moveit!和OMPL,安装的过程中参考了CSDN,谷歌上的一些帖子,不过发现没有针对Melodic版本的安装步骤,所以自己搞了好久,终于算是弄出来,能运行了。

2. 实现方法

操作系统:Ubuntu 18.04
ROS版本:Melodic

2.1 Source install Moveit!

  • 卸载Moveit!:
sudo apt-get remove ros-kinetic-moveit-*
  • 确保安装了最新版本的软件包:
rosdep update
sudo apt-get update
sudo apt-get dist-upgrade
  • 源码安装需要wstool、catkin_tools和可选的clang格式:
sudo apt-get install python-wstool python-catkin-tools clang-format-3.9 
  • 为Moveit!创建单独的工作空间,不要跟catkin_ws混在一起:
mkdir ~/ws_moveit
cd ~/ws_moveit 
  • 根据自己的ROS版本,从ROS工作区中加载必要的环境变量,以使ROS能找到,我的是Melodic,所以执行以下命令:
source /opt/ros/melodic/setup.bash
  • 下载Moveit! 并编译:(确保终端在moveit!的工作空间中打开)
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 
sodu catkin build

编译过程大约需要10分钟,耐心等待一下;
尽量使用sudo编译,避免出现错误。

2.2 Source install OMPL

  • 在src文件夹下载OMPL源码:
cd ~/moveit_ws/src
git clone https://github.com/ompl/ompl

亲测默认下载当前分支版本可以使用。

  • 手动添加package.xml as used in the ROS release wrapper for OMPL:
cd src/ompl
wget https://raw.githubusercontent.com/ros-gbp/ompl-release/debian/melodic/xenial/ompl/package.xml

亲测这步好像没有用,默认使用当前分支下的packagel.xml文件即可;
无需安装FCL。

2.3 测试安装是否成功

将自己的功能包放到~/moveit_ws/src目录下,并运行(每次使用前运行):

source ~/moveit_ws/devel/setup.bash

bash.rc文件下环境变量的默认路径是~/catkin_ws/devel/setup.bash,因此每次在使用moveit时需要指定一下环境变量路径(参考博客说同时指定两个工作空间会冲突)
不要将功能包放到catkin_ws工作空间下,否则会编译出错,告诉你无法找到moveit_core,只有以binary方式安装才可以将功能包放到catkin_ws工作空间下。

然后可以运行一个demo.launch,验证Moveit!和OMPL是否正常工作。

3. 自定义运动规划算法

  • 在路径(~/moveit_ws/src/ompl/src/ompl/geometric/planners/rrt/src)复制RRT.cpp,并重命名为myRRT.cpp。在路径(~/moveit_ws/src/ompl/src/ompl/geometric/planners/rrt)复制RRT.h,并重命名为myRRT.h;
  • 使用ctrl+F将文件中的RRT替换为myRRT;
  • 在路径(~moveit_ws/src/moveit/moveit_planners/ompl/ompl_interface/src)中找到planning_context_manager.cpp,添加自己的算法头文件,并注册自己的算法,如下图所示:
    在这里插入图片描述
    在这里插入图片描述

Notice the path of the header file.

  • 修改你要运行功能包中的ompl.yaml文件,如下图所示:
    在这里插入图片描述在这里插入图片描述
  • 打开一个自己的功能包,进行测试,可以看到自定义的运动规划算法已经加入到moveit!当中
    在这里插入图片描述

参考

1.https://moveit.ros.org/install/source/
2.https://moveit.ros.org/install/source/dependencies/
3.https://blog.csdn.net/sinat_23853639/article/details/87854461

整个安装过程下来,给我感受最深的是:按照官方安装教程操作,是肯定不会出错的!!!

最后

以上就是优雅菠萝为你收集整理的OMPL学习--第三篇之源码安装Moveit!和OMPL(Melodic版本)的全部内容,希望文章能够帮你解决OMPL学习--第三篇之源码安装Moveit!和OMPL(Melodic版本)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(43)

评论列表共有 0 条评论

立即
投稿
返回
顶部