路径规划 | 图解概率路图PRM原理及其参数分析

news2024/11/20 1:49:06

目录

0 专栏介绍

🔥附C++/Python/Matlab全套代码🔥课程设计、毕业设计、创新竞赛必备!详细介绍全局规划(图搜索、采样法、智能算法等);局部规划(DWA、APF等);曲线优化(贝塞尔曲线、B样条曲线等)。

🚀详情:图解自动驾驶中的运动规划(Motion Planning),附几十种规划算法


1 基于采样的规划算法

在第二章中我们介绍了主流的基于图搜索的路径规划算法,比如DijkstraA*JPSD*D* LiteLPA*等,这些基于搜索的路径规划对环境进行了完整建模,因此通常具有良好的完备性和最优性,但在高维空间却可能因为维数灾难现象无法应用,例如对无人机进行三维环境路径规划,其建模和搜索复杂度比二维平面高一个量级。

本章介绍基于采样的路径规划技术,它们克服了搜索算法的空间限制,以概率完备性代替完备性——即当时间趋于无穷时一定有解,增强了算法的普适性。基于采样的路径规划主要分为:

  • 单查询算法(single-query path planning):保证路径规划的可行性和快速性
  • 渐近最优算法(asymptotically optimal path planning):对可行路径进行逐步优化,侧重最优性。

本文介绍采样路径规划中的基本概念——概率路图

2 概率路图基本原理

概率路图算法(Probabilistic Road Map, PRM)核心原理是将路径规划分为两个阶段:

  • 学习阶段:通过随机采样将高维连续配置空间转换为离散空间,产生概率路图;

在这里插入图片描述

  • 查询阶段:将规划起点、终点连入概率路图,在概率路图上应用基于搜索的路径规划算法。

在这里插入图片描述

3 PRM算法流程

PRM算法的完整流程如下所示

在这里插入图片描述

其中碰撞检测算法 C o l l i s i o n F r e e ( ⋅ ) \mathrm{CollisionFree}\left( \cdot \right) CollisionFree()常用连线采样法,如图所示,计算概率路图中的连线 ( q , q ′ ) \left( q,q' \right) (q,q)是否合法需要考虑两个方面

  • 连线长度小于阈值 d ( q , q ′ ) < d max ⁡ \mathrm{d}\left( q,q' \right) <\mathrm{d}_{\max} d(q,q)<dmax d max ⁡ \mathrm{d}_{\max} dmax对无意义的长距离连线进行剪枝;
  • 连线不穿过障碍:在连线上按一定步长采样,判断是否存在落入障碍中的采样点。

在这里插入图片描述

4 PRM参数分析

概率路图的采样节点数 n n n与碰撞检测算法中的阈值 d max ⁡ \mathrm{d}_{\max} dmax会影响路径规划的成功率。一般地,采样点数越多、阈值 d max ⁡ \mathrm{d}_{\max} dmax越大规划成功率越高,但相应的规划效率越低。

4.1 采样点数

采样点数越多规划成功率越高,但计算量也随之上升

在这里插入图片描述

4.2 阈值 d max ⁡ \mathrm{d}_{\max} dmax

阈值 d max ⁡ \mathrm{d}_{\max} dmax越大规划成功率越高,但相应的规划效率越低

在这里插入图片描述


🔥 更多精彩专栏

  • 《ROS从入门到精通》
  • 《Pytorch深度学习实战》
  • 《机器学习强基计划》
  • 《运动规划实战精讲》

👇源码获取 · 技术交流 · 抱团学习 · 咨询分享 请联系👇

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

nginx简单介绍

文章目录 1. 下载并解压2. 80端口被占用&#xff0c;更改nginx默认的监听端口3. 访问nginx4. 在linux上安装nginx5. nginx常用命令6. nginx.conf 1. 下载并解压 官网下载 2. 80端口被占用&#xff0c;更改nginx默认的监听端口 更改conf/nginx.conf文件 3. 访问nginx ht…

[译] 实战 React 18 中的 Suspense

> 原文&#xff1a;https://dev.to/darkmavis1980/a-practical-example-of-suspense-in-react-18-3lln React 18 带来了很多变化&#xff0c;它不会破坏你已经编写过的代码&#xff0c;并且有很多改进和一些新概念。 它也让很多开发人员&#xff0c;包括我&#xff0c;意识到…

vue---mixin混入

一个混入对象可以包含任意组件选项&#xff08;如data、methods、created、mounted等等&#xff09;。当组件使用混入对象时&#xff0c;所有混入对象的选项将被“混合”进入该组件本身的选项。 我们可以使用混入&#xff0c;向组件注入自定义的行为。 和组件注册和指令一样 vu…

Oracle Linux 9 上基于 CRI-O 安装 Kubernetes 1.27 集群

Oracle Linux 9 上基于 CRI-O 安装 Kubernetes 1.27 集群 1. 禁用 swap2. 禁用防火墙3. 将 SELinux 设置为 permissive 模式4. 安装cri-o5. 安装kubelet kubeadm kubectl6. 更新模块设置7. 初始化Kubernetes集群8. 配置集群访问9. 安装网络插件10. 验证集群 1. 禁用 swap sudo…

docker容器原样迁移完整过程(nignx例子)

我们在测试服务器上&#xff0c;辛辛苦苦开发&#xff0c;各种配置好了服务&#xff0c;然后想着傻瓜式的迁移部署。接下来的就是干货了 过程描述&#xff1a; 为了体现一个完成性的描述&#xff0c;我们最初拉镜像开始&#xff0c;一直说到迁移后的服务正常运行。 接下来以ng…

centos7 查看服务器配置信息

1.linux查看版本当前操作系统发行信息 cat /etc/centos-release cat /etc/centos-release 2、查看内核版本uname -a或者cat /proc/version 3、查看CPU参数 1&#xff09;、查看 CPU 物理个数   grep physical id /proc/cpuinfo | sort -u | wc -l 2&#xff09;、查看 CPU …

如何降低小程序开发费用:从项目管理到技术选型

小程序的开发费用是许多企业和初创公司的瓶颈。在本文中&#xff0c;我们将介绍如何通过项目管理和技术选型来降低小程序开发费用&#xff0c;让您的企业更加高效。我们会详细阐述如何在项目管理中制定清晰的项目计划、与开发团队密切合作、采用敏捷开发方法。在技术选型方面&a…

jmeter压测结果分析

jmeter结果查看主要在结果树和聚合报告&#xff0c;实际在做压测过程中不做可视化操作&#xff0c;用命令行执行&#xff0c;再查看测试报告。 python在本地起服务 cmd打开命令框执行语句&#xff1a;python -m http.server 9090&#xff08;端口号&#xff0c;可自定义&…

magento webapi 接口返回 json对象

前言 现在主流的项目开发都是前后端分离&#xff0c;数据通过json对象格式进行传输。但是magento框架&#xff0c;和传统PHP框架相比&#xff0c;区别很大。虽然也支持以RestApi的形式传输数据&#xff0c;但是要么格式并非是传统jsonObject要么就是需要大量的get、set方法。本…

TypeScript学习笔记以及学习中遇到的问题

本笔记是来自翻阅xcatliu的typeScript入门教程文档、TypeScript官方文档的部分摘录、以及观看B站学习视频进行笔记记录与知识点补充、本人实际使用时遇到的问题与解决记录、碎片化接触到相关知识点合并整理而成 仅供本人洪的学习使用 hello TypeScript 一、TypeScript安装 Ty…

【QT】如何检测目录或文件中的内容被修改,可以使用QFileSystemWatcher类进行检测

目录 1. QFileSystemWatcher类的介绍2. QFileSystemWatcher的公共函数2.1 构造函数2.2 析构函数2.3 添加监控的路径2.4 返回正在监控的目录或文件2.5 从文件系统监视程序中删除指定的路径 3. QFileSystemWatcher的信号4. 测试代码4.1 操作步骤4.2 MainWindow.h4.3 MainWindow.c…

Spring之Bean的配置与实例

Spring之Bean的配置与实例 一、Bean的基础配置1. Bean基础配置【重点】配置说明代码演示运行结果 2. Bean别名配置配置说明代码演示打印结果 3. Bean作用范围配置【重点】配置说明代码演示打印结果 二、Bean的实例化1. Bean是如何创建的2. 实例化Bean的三种方式2.1 构造方法方式…

数据库系统-数据库查询实现算法之

文章目录 一、一趟扫描算法1.1 算法概述1.2 算法逻辑&物理实现1.2.1 逻辑层面1.2.2 物理层面1.2.2.1 P11.2.2.2 P21.2.2.3 P31.2.2.4 P4 1.3 迭代器构造查询实现算法1.4 关系操作的一趟扫描算法1.4 基于索引的查询实现算法 二、两趟扫描算法2.1 两趟算法基本思想2.2 多路归…

SaaS是什么?企业为什么要有SaaS系统?

什么是SaaS系统&#xff1f;企业为什么要有SaaS系统&#xff1f; 近几年&#xff0c;SaaS突然变成了一个热门词汇&#xff0c;无论是一些权威报告&#xff0c;还是知乎上知友们热烈的讨论&#xff0c;对于Saas系统可谓是各有各的见解和看法。 今天就综合几位答主的观点&#…

【1163. 按字典序排在最后的子串】

来源&#xff1a;力扣&#xff08;LeetCode&#xff09; 描述&#xff1a; 给你一个字符串 s &#xff0c;找出它的所有子串并按字典序排列&#xff0c;返回排在最后的那个子串。 示例 1&#xff1a; 输入&#xff1a;s "abab" 输出&#xff1a;"bab"…

安波福又有大动作,行泊一体中国方案即将量产

“安波福的目标是&#xff0c;2030年营收达到400亿美元规模&#xff0c;这其中有一大部分收入来自于软件。”安波福亚太区总裁杨晓明在接受高工智能汽车提问时表示。 他介绍&#xff0c;2030年软件业务目标是达到60亿美元的规模&#xff0c;而在2022年&#xff0c;安波福实现了…

Nacos身份绕过漏洞复现(QVD-2023-6271)

Nacos身份绕过漏洞复现&#xff08;QVD-2023-6271&#xff09; 公司上级预警QVD-2023-6271&#xff0c;领导安排进行排查。 本着知己知彼的原则&#xff0c;我在本地将该漏洞复现出来。 漏洞原理&#xff1a;Nacos 在默认配置下未对 token.secret.key 进行修改&#xff0c;导…

【好题】好题分享

1001-四舍五入_牛客竞赛语法入门班数组模拟、枚举、贪心习题 (nowcoder.com) 题目描述 四舍五入是个好东西。比如你只考了45分&#xff0c;四舍五入后你是50分再四舍五入你就是满分啦&#xff01;qdgg刚考完拓扑。成绩十分不理想。但老师觉得他每天都很认真的听课很不容易。于是…

ubuntu 22 安装

下载镜像 下载 https://ubuntu.com/download/server 我这里下载了 22 服务器版 使用工具制作U盘镜像 安装完毕后 插入安装的电脑U盘插口 DEL 进入 选择U盘启动 进入后 我这里选择了第一个&#xff0c;没有选择mini版本 之后进入后按推荐一直安装 在选择静态地址的时候 subn…

你还在用Object.equals()方法吗?

当《阿里巴巴Java开发手册》发布后&#xff0c;我也是仔细进行了阅读&#xff0c;想从中找出一些“标准”&#xff0c;让自己的代码质量提高。手册中对 Object 的 equals 方法的使用进行了强制&#xff0c;而且推荐使用 JDK7 中工具类 Objects 的 equals 方法&#xff0c;至此之…