moveit 和ompl源码安装,并添加自定义 planner算法

   安装 moveit

sudo apt-get purge ros-melodic-moveit-*        

删除二进制安装的moveit


    sudo apt-get autoremove   

删除二进制安装的moveit依赖,这里删除依赖的时候可能删除了一些需要的库,后面可能通过rosdep安装上,可是rosdep update一直连接超时,很烦,,原来是我上面两步将关于raw.githubusercontent.com的文件都删了重新装,而这个里面需要加代理参考:https://blog.youkuaiyun.com/leida_wt/article/details/115120940


    rosdep update              

安装一些依赖库


    sudo apt-get update
    sudo apt-get dist-upgrade


    sudo apt-get install python-wstool python-catkin-tools clang-format-3.9
    mkdir ~/ws_moveit
    cd ~/ws_moveit
    source /opt/ros/melodic/setup.bash
    wstool init src


    wstool merge -t src https://raw.githubusercontent.com/ros-planning/moveit/${ROS_DISTRO}-devel/moveit.rosinstall

下载资源


    wstool update -t src 下载一些配置文件如cong,msg和一些库 和一些依赖


    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 config --extend 就是指定编译环境为ros环境路径.


    catkin build
    source ~/ws_moveit/devel/setup.bash
    echo "source ~/ws_moveit/devel/setup.bash" >> ~/.bashrc

安装 ompl

    sudo apt-get purge ros-melodic-ompl
    sudo apt-get autoremove

cd ~/moveit_ws/src
git clone https://github.com/ompl/ompl


    cd ~/ws_moveit/src/ompl
    wget https://raw.githubusercontent.com/ros-gbp/ompl-release/debian/kinetic/xenial/ompl/package.xml
    cd ~/ws_moveit
    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
    source ~/ws_moveit/devel/setup.bash
 

添加自己的planner

1.为了快速走通整个流程,我直接在RRTstar算法的基础上修改了一下,复制RRT.h(~/ws_moveit/src/ompl/src/ompl/geomatric/planner/rrt)和RRT.cpp(~/ws_moveit/src/ompl/src/ompl/geomatric/planner/rrt/src),并重命名为myRRT.h和myRRT.cpp,保存路径与原文件相同。
打开并修改myRRT.h和myRRT.cpp的内容,将里面的RRT统统改为myRRT。

2.打开并修改planning_context_manager.cpp(~/ws_moveit/src/moveit/moveit_planners/ompl/ompl_interface/src)

include <>应需要包含完整的头文件路径,并仿照别的算法,定义registerPlannerAllocator()

这里有两处地方要改。

3.为了测试是否修改成功,我还装了一个能方便查看算法的demo,参考:

https://blog.youkuaiyun.com/onlyazir/article/details/106127360
打开并修改ompl_planning.yaml(~/catkin_ws/src/universal_robot/ur5_moveit_config/config),仿照RRT算法,添加myRRT算法的配置,myRRTkConfigDefault。这里有三处地方要改。

4.回到moveit工作空间,修改安装的目标文件夹。打开../ompl/src/ompl/CMakeList.txt,将第86行的${CMAKE_INSTALL_LIBDIR} 修改为 “/opt/ros/melodic/lib/x86_64_linux_gnu” 或者 "/opt/ros/melodic/lib/",台式电脑使用的是"/opt/ros/melodic/lib/",笔记本使用“/opt/ros/melodic/lib/x86_64_linux_gnu” ,这里将生成的目标文件保存到指定的目录,你也可以不修改。

5.编译

cd ws_moveit

sudo catkin build

编译报错参考了这个人https://www.zhihu.com/question/293386019/opt/ros/melodic/lib/x86_64_linux_gnu。因为moveit编译的时候参考
下的三个libompl字样的文件都拷贝到
/opt/ros/melodic/lib/    编译就能成功。

6.测试

roslaunch ur5_moveit_config demo.launch

参考连接:https://blog.youkuaiyun.com/asliyouas/article/details/105052068

https://blog.youkuaiyun.com/sinat_23853639/article/details/87854461

https://www.zhihu.com/question/293386019

https://blog.youkuaiyun.com/onlyazir/article/details/106127360

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值