概述
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版本)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复