ROS Motion Planning运动规划库安装方法及进阶使用方法详细介绍

        今天偶然发现了一个优质的运动规划库:ai-winter/ros_motion_planning,比较适合从事ROS移动机器人运动规划研究领域的小伙伴学习和使用,相比于莱斯大学Kavraki实验室提供的开源的著名运动规划库OMPL、或着我之前介绍过的zhm-real开源的zhm-real/MotionPlanning和zhm-real/PathPlanning运动规划库,今天介绍的ROS Motion Planning运动规划库与ROS机器人中常用的Navigation导航框架的兼容性更好,库中的运动规划算法采用了全局和局部规划器插件的形式,使用起来更加的简便快捷。本文主要包含ROS Motion Planning运动规划库简介、安装方法、进阶使用方法介绍等主要内容

--------------------------------------------------------------------------------------

 注:本文转载于古月居,原文链接如下:

ROS Motion Planning运动规划库安装方法及进阶使用方法详细介绍icon-default.png?t=N7T8https://www.guyuehome.com/45119    本篇文章我首发在古月居,因版权原因,在CSDN不能放全文,只能放一小部分,欢迎大家前往古月居查看完整文章!!!,链接如上↑↑↑

---------------------------------------------------------------------------------------------------------------------------------

一、ROS Motion Planning运动规划库简介

        ROS Motion Planning运动规划库包含了插件形式的 A*, JPS, D*, LPA*, D* Lite, Theta*, RRT, RRT*, RRT-Connect, Informed RRT*, ACO, Voronoi, PID, DWA, APF 等运动规划算法,ROS Motion Planning运动规划库的作者是优质技术博主Mr.Winter`,其博客及Github主页链接如下:


Mr.Winter`_机器学习强基计划,ROS从入门到精通,运动规划实战精讲-CSDN博客 Mr.Winter`擅长机器学习强基计划,ROS从入门到精通,运动规划实战精讲,等方面的知识,Mr.Winter`关注数据分析,机器学习,计算机视觉,图像处理,opencv领域. https://mr-winter.blog.csdn.net/

ai-winter (Yang Haodong) · GitHubai-winter has 14 repositories available. Follow their code on GitHub.icon-default.png?t=N7T8https://github.com/ai-winter       

二、ROS Motion Planning运动规划库安装方法

 1、创建新的ROS工作空间

        由于ROS Motion Planning运动规划库与Navigation导航包存在一些同名但源码和功能不同的功能包,比如global_planner,因此,个人推荐创建一个新的工作空间来存储ROS Motion Planning运动规划库,不要与Navigation导航包放在同一工作空间下,在本文的例子中,我将创建一个名为motionplanning_ws的工作空间,步骤如下

        注:工作空间名字可任取,将下面语句中的motionplanning_ws改为任取的名字即可

(1)、创建工作空间

        在终端依次执行以下三条语句创建名为motionplanning_ws的ROS工作空间

mkdir -p ~/motionplanning_ws/src
 cd ~/motionplanning_ws/src
catkin_init_workspace

(2)、编译工作空间
         

        依次执行以下两条语句对该工作空间进行编译

cd ~/motionplanning_ws/
catkin_make

(3)、设置环境变量

source devel/setup.bash

(4)、检查环境变量

 echo $ROS_PACKAGE_PATH

(5)、添加环境变量至.bashrc文件

        在主目录(即home/用户名 文件夹)下,双击打开.bashrc文件,看不见就是被隐藏了,按Ctrl+h显示隐藏文件,就可以看到了,在.bashrc文件中添加该工作空间的环境变量,形式如下,其中source后面的路径就是工作空间motionplanning_ws的devel文件夹下的setup.bash文件所在的路径,大家需要根据自己实际情况修改,添加后保存关掉.bashrc文件,可以按Ctrl+h来隐藏此类文件,使得主目录看起来更简洁

source /home/gly/motionplanning_ws/devel/setup.bash

   至此,用于存储ROS Motion Planning运动规划库的ROS工作空间就准备好了

 2、下载/克隆ROS Motion Planning运动规划库

        可以执行以下两条指令来从Github上克隆ROS Motion Planning运动规划库至我们上一步创建的工作空间
 

cd /motionplanning_ws/src
git clone https://github.com/ai-winter/ros_motion_planning.git

        因为网络原因使用上述语句克隆失败的,可以手动去Github下载压缩包形式的ROS Motion Planning运动规划库,然后放到motionplanning_ws工作空间的src文件夹下,并解压
 

 3、安装相关依赖
   

(1)、关于Python  

        关于Python推荐使用Python3,对于Ubuntu20.04对应的ROS Noetic一般默认使用的都是Python3,可以在终端执行python指令来查看Python版本

        如果遇到Python command not found,可尝试运行以下指令

sudo apt install python-is-python3

(2)、相关依赖功能包

        如果之前使用过Navigation导航包,大概率以下依赖功能包已经安装过了,没有使用过的依次执行以下语句进行安装,非Noetic版本ROS的注意自行更改语句中的ROS版本

sudo apt install ros-noetic-amcl
sudo apt-get install ros-noetic-map-server
sudo apt install ros-noetic-move-base
sudo apt install ros-noetic-base-local-planner
sudo apt install ros-noetic-navfn

4、编译ROS Motion Planning运动规划库

        依次执行以下两条语句进行编译

cd /motionplanning_ws
catkin_make

5、简单验证ROS Motion Planning运动规划库是否可以正常工作

        在终端执行以下语句来运行作者提供的demo,配合rviz界面的2D New Goal 指定目标点来初步验证ROS Motion Planning运动规划库是否安装成功,并可正常工作。
 

roslaunch sim_env main.launch 

        效果演示如下:


三、ROS Motion Planning运动规划库进阶使用方法

        本文的第三部分是本文的核心部分,将详细的介绍,如何根据自己的实际需求,去配置ROS Motion Planning运动规划库,从而在自主设定的仿真环境下,去调用库中的多种规划算法或自己编写的规划算法,本部分的预览如下:

        欢迎对本部分感兴趣的小伙伴,前往古月居查看本部分内容,原文链接如下:

ROS Motion Planning运动规划库安装方法及进阶使用方法详细介绍icon-default.png?t=N7T8https://www.guyuehome.com/45119   

---------------------------------------------------------------------------------------------------------------------------------

   

 动态演示如下所示:

动态行人环境下theta_star加apf算法性能测试

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/130013.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

2011年09月01日 Go生态洞察:Go语言词法扫描与App Engine演示

🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🦄 博客首页——🐅🐾猫头虎的博客🎐 🐳 《面试题大全专栏》 🦕 文章图文…

蓝桥杯每日一题2023.11.10

“蓝桥杯”练习系统 (lanqiao.cn) 题目描述 题目分析 对于此题:我们看到题目要求尽可能大,会联想到二分,注意切出的一定为正方形,其能切出的个数为(h[i] / x) * (w[i] / x),将所有的个数与要求的个数进行对比&#x…

sql学习笔记(三)

目录 1.四舍五入 2.向上取整 3.向下取整 4.Hive 分区 5.case when条件语句 6.日期函数 7.字符串函数 8.窗口函数 1️⃣排序函数 1.四舍五入 round select round(3.14) —>3 2.向上取整 ceiling select ceiling(12.15) —>13 3.向下取整 floor select floor(12…

RFID携手制造业升级,为锂电池生产带来前所未有的可靠性

应用背景 随着科技的发展和全球化的推进,产品的生产过程越来越复杂,且对品质的要求也越来越高。在锂电池生产领域,由于其高能量密度、长寿命和环保特性,已被广泛应用于电动汽车、储能系统等领域。然而,锂电池的安全性和…

Android T窗口动画显示和退出流程(更新中)

序 如何创建一个窗口动画?我们通过先从APP创建一个窗口,以这个窗口的创建过程的窗口动画为例 这个demo就是点击BUTTON显示窗口,点击CLOSE WINDOW关闭窗口,下面简述关键代码 //定义WindowManager和LayoutParams private Window…

redis数据倾斜如何解决

Redis数据倾斜主要是由于数据访问热点导致的,通常在执行事务操作或范围查询时发生。这会导致大量数据集中在某个实例上,使得集群负载不均衡。以下是一些解决Redis数据倾斜的方法: 避免在同一个键值对上保存过多的数据。可以将大的键值对拆分…

Java 算法篇-深入理解递归(递归实现:青蛙爬楼梯)

🔥博客主页: 小扳_-CSDN博客 ❤感谢大家点赞👍收藏⭐评论✍ 文章目录 1.0 递归的说明 2.0 用递归来实现相关问题 2.1 递归 - 阶乘 2.2 递归 - 反向打印字符串 2.3 递归 - 二分查找 2.4 递归 - 冒泡排序 2.5 递归 - 冒泡排序2.0 2.6 递归 - 插…

启动Docker服务后显示Docker Engine stopped

1、重新启动Docker服务:打开Windows服务管理器(可以在开始菜单中搜索),找到"Docker Desktop Service"或类似命名的服务,右键单击并选择"重启"。稍等片刻,看看是否重新启动成功 2、尝试…

如何快速落地LLM应用?通过Langchain接入千帆SDK

百度智能云千帆大模型平台再次史诗级升级!在原有API基础上,百度智能云正式上线Python SDK(下文均简称千帆 SDK)版本并全面开源,企业和开发者可免费下载使用!千帆SDK全面覆盖从数据集管理,模型训…

如何利用软文推广提升消费者“购买力”?

企业软文推广的目的大部分是为了将自己的产品卖出去,想要成功卖出去还得将重心放在消费者身上,今天媒介盒子就来分享,如何利用软文推广提升消费者的“购买力”。 一、 研究产品属性 产品是连接企业和消费者的桥梁,要想将产品卖出…

黄执中老师人际说服课思考总结(个人笔记整理 ②)

前言: 沟通和说服的区别:为什么沟通不能解决问题,处于劣势的一方(承受问题的那方)才想去沟通(对方没有沟通动力)。说服是温柔而有力的学科 - 劣势一方的武器。 说服是一门影响人的学问&#xff…

SQL Server 2022 安装步骤——SQL Server设置身份验证教程

目录 前言: 安装详细步骤: 第一步: 第二步: 第三步: 第四步: SQL Server 连接的方式: Window验证: SQL Server验证: 两者之间区别: 总结: SQL Server身份验证登录配置教程:​ 第一步: 第二步: 第三步: 番外篇: 前言: 本文讲解,如何安装SQL Server安…

自媒体项目详述

总体框架 本项目主要着手于获取最新最热新闻资讯,以微服务构架为技术基础搭建校内仅供学生教师使用的校园新媒体app。以文章为主线的核心业务主要分为如下子模块。自媒体模块实现用户创建功能、文章发布功能、素材管理功能。app端用户模块实现文章搜索、文章点赞、…

一分钟秒懂人工智能对齐 ( 文末送书 )

人工智能对齐 什么是人工智能对齐为什么要研究人工智能对齐人工智能对齐的常见方法延伸阅读写在末尾: 主页传送门:📀 传送 什么是人工智能对齐 人工智能对齐(AI Alignment)指让人工智能的行为符合人的意图和价值观。 …

三季度净利润高达28.1亿元,2023的理想“高开高走”?

最近,理想汽车的好消息接二连三,先是月交付量突破四万辆大关。紧接着11月9日发布的2023年第三季度财报显示,理想汽车实现第三季度营收346.8亿人民币,同比增长271.2%。 今年以来,理想汽车的整体走势可谓“高开高走”。…

【JAVA学习笔记】65 - 文件类,IO流--节点流、处理流、对象流、转换流、打印流

项目代码 https://github.com/yinhai1114/Java_Learning_Code/tree/main/IDEA_Chapter19/src/com/yinhai 文件 一、文件,流 文件,对我们并不陌生,文件是保存数据的地方,比如大家经常使用的word文档,txt文件,excel文件..都是文件。它既可以保存一张图片…

归并排序 图解 递归 + 非递归 + 笔记

前置知识:讲解019-算法笔试中处理输入和输出,讲解020-递归和master公式 (1)左部分排好序,右部分排好序,利用merge过程让左右整体有序(2)merge过程:谁小拷贝谁,直到左右两部分所有的数字耗尽(3)递归实现和非递归实现(4…

NFT合约部署

部署合约: 1.web3 NFT合约部署工具 https://remix.ethereum.org/ 2.tron NFT合约部署工具 https://www.tronide.io/ 3.部署 web3 ERC721代码: // SPDX-License-Identifier: MIT pragma solidity ^0.8.2;import "openzeppelin/contracts/token/ERC7…

【java:牛客每日三十题总结-4】

java:牛客每日三十题总结 总结如下 总结如下 集合相关知识点 元素是否排序和插入顺序无关,取决与集合实现是否考虑了传入对象的java.lang.Comparable接口抽象类和接口相关知识 只能说越来越抽象了 java线程通信的方式 在Java中,常用的线程通信方式有两…
最新文章