MINCO+汽车

news2024/9/21 18:43:18

规划典型的解决方法:
如何准确的描述他的动力学,实际上是对这个物理对象进行建模.(规划等于开环的控制,控制等于闭环的规划),规划系统要做到是假设已知系统模型的情况下去计算一些可能会影响比较好的
未来运动的指令,做未来运动轨迹的推演.对自己建模的情况下还需对环境有个比较好的建模.环境感知,感知到的主要是一些数据,这些数据如何转换为规划系统如何能读得懂的有用的数据结构,如何用环境表征得到对避障有用的约束的形式.
没有优化:
没有死胡同只需要向前飞的环境中可以得到很好的效果.(随机树林).有很多死胡同没有全局规划无法保证从死胡同退出来. 对随即树林的环境比较友好.在非常复杂的情况下是无法保证轨迹质量非常好的.但是算力非常低.
ego_planner:
核心思想:从环境里获取障碍物,障碍物以无人机为代表的移动机器人运动过程中产生的推力.推着无人机远离障碍物的梯度信息,梯度信息把未来一段时间无人机可能获取到的梯度信息给叠加在一个生成的轨迹上,然后把梯度的代价函数传导到轨迹的参数空间里构造优化问题.最后生成一个既安全又光滑有符合无人机运动约束的飞行航迹.
MINCO:
核心思想:走的是环境里的freespace,用空旷空间来表征无人机可以在环境里去deploy航迹的形状,对于一个建出来的地图来说,重点在于传感器获取的障碍物位置,得到障碍物的空间分布,但对于机器人导航来说机器人并不care障碍物在哪里,更关心的哪些地方可以通行的,把地图里一个个可通行的区域用一个个简单的凸的子单元提取出来,构成一连串可通行区域,最后交给后端的轨迹优化,把可行区域作为一个安全性约束去生成轨迹.
MINCO:
时间空间的多项式轨迹,时间空间参数同时优化的方法,并且定制了高效的求解器,用这个方法可以使他任意的,只要给解析的无人机的微分平坦状态方程表示的约束函数(避障:用位置和freespace的空间约束表示出安全;底层动力学约束:推力角速度;)
对于环境中的静态障碍物,我们构造几何自由空间来约束自我车辆的完整模型以保证安全。

对于动态障碍物,我们使用凸多边形来覆盖其形状。

然后,我们约束小车与障碍物多边形在每一时刻的符号距离[1]的下界近似,以保证小车的安全。

最小控制努力轨迹类[2]用于参数化轨迹以加快优化过程。

进一步,将原约束规划问题转化为无约束规划问题,并采用拟牛顿方法[3]进行鲁棒求解。

第三节介绍了自动驾驶汽车的时空轨迹规划。

瞬时状态约束和动态避障约束分别在第四节和第五节讨论。
在第六节中,我们重新表述了轨迹优化。
VII给出了基准和真实世界的实验。本文在第八节结束。

讨论了完整的运动规划流水线,并介绍了类车机器人的差分平面模型。然后,我们给出了平面输出空间中考虑人的舒适性、执行时间和可行性约束的轨迹优化问题的表达式。
最后分析了该问题的梯度传播链,为后续的数值优化提供了依据。

时空最优轨迹规划

A.规划管线


整个管道采用分层结构,如图3所示。在实际应用中,建议的规划器与前端规划器合作,前端规划器的主要作用是提供初始猜测。在结构化的道路环境中,我们的规划师被整合到一个多层的规划框架中[19],其中行为策略规划器用于提供前端输出。在没有参考线的非结构化环境中,我们采用轻量级hybridA*算法寻找无碰撞路径,并由所提出的规划器进一步优化。我们定义了一个额外的变量η∈{−1,1}来表征运动方向,η =−1和η = 1分别表示车辆的前后运动。此外,η由前端输出决定,并在后端优化过程之前加上前缀。

B.差分平面车辆模型

 本文采用了简化的自行车运动模型
用笛卡尔坐标系来描述四轮车辆。
假设汽车为前轮驱动和转向,具有完美的滚动和无打滑,模型如图4所示。状态向量为

x = (p_{x},p_{y},\Theta ,v,a_{t},a_{n},\phi ,\kappa ) ^{T}

其中p = (p_{x},p_{y})^{T}为后轮中心位置,v为车身框架的纵向速度,at为经度加速度,an为纬度加速度,φ为前轮转向角度,κ为曲率。

 其中L是汽车的轴距长度,CoG是重心的缩写。由于对差分平面汽车模型的深入研究[51],我们选择平面输出为\sigma =( \sigma _{x},\sigma _{y})^{T}具有物理意义,σ = p是汽车后轮中心的位置。除px、py外,其他变量变换可表示为:

 因此,利用自然的微分平坦性,我们可以利用平坦输出及其有限导数来表征车辆的任意状态量,从而简化了轨迹规划,便于优化。

C.整车平坦输出优化方案

 其中n为轨迹段的数目,β(t)为自然基。系数矩阵c_{i}=(c_{i,1}^{T},....,c_{i,Mi}^{T})^{T} \in R^{2Mis*2}

然后,轨迹第i段的第j段可写为 \sigma _{i,j},

考虑避障约束和动态可行性约束,涉及时间正则化的最小控制努力问题可以表示为非线性约束优化:

W\in R^{2*2}是一个惩罚控制的对角线矩阵。

等式(6c)为边界条件

特定的约束条件等式(6d)

D = {d: d = v,at,an,κ,ζ,Θ}包括动态可行性(v,at,an,κ)、静态和动态避障(ζ,Θ)

可行性约束条件等式(6g)施加在整个轨迹

D.梯度推导

瞬时状态约束

A.动态可行性

经度速度限制:对于自动驾驶,由于交通规则、物理车辆性能和环境不确定性等实际因素,经度速度总是需要限制在一个合理的范围内。然后,将在一个约束点处的经度速度的约束函数定义如下

B. 避免静态障碍

在本小节中,我们分析地提出了基于环境中自由空间的几何表示的有效可计算的静态安全约束。首先对语义环境进行分解,提取安全空间,构造一个由一系列凸多边形组成的驾驶走廊。然后,推导了在行驶走廊中建立全车模型的充分必要条件,并用于构造静态无碰撞约束

在进行特定的推导之前,我们将介绍约束建模的管道。我们首先将前端生成的无碰撞路径离散为与后端优化中约束点数量相同的采样点。然后,结合环境信息,利用[60]方法或根据采样点直接展开生成自由凸多边形。因此,通过将全车辆模型限制在8个约束点,每个约束点限制到相应的凸多边形,保证了整个轨迹是安全的.

还可以与其他常见的地图表示相结合,以保证静态避障,如欧几里得符号距离场(ESDF)。直观地说,我们可以从ESDF地图中获得梯度信息,以推动车辆的整个刚体远离障碍物

动态避障

动态回避约束函数的动态回避约束函数。

A.距离表示

B. 对动态避障的约束

重新对轨迹的优化的设计

A. 可行性限制

B.平等约束

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

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

相关文章

Java技术专题:「入门到精通系列」深入探索常用的六种加密技术和实现

文章目录 1. 引言2. 对称加密3. 非对称加密4. 哈希算法5. 消息摘要6. 数字签名7. 数字证书8. 拓展功能与未来展望 🎉欢迎来到Java学习路线专栏~探索Java中的静态变量与实例变量 ☆* o(≧▽≦)o *☆嗨~我是IT陈寒🍹✨博客主页:IT陈寒的博客&am…

第一个Java网络爬虫程序

目录 前言第一个Java网络爬虫程序总结 前言 网络爬虫是一种获取互联网信息的技术,它可以模拟浏览器行为,访问网站并提取所需的数据。在这个小Demo中,我们使用Java语言结合HttpClient库实现了一个简单的爬虫程序,用于抓取汽车之家…

任务调度中心

可以服务器配置和权限,分配任务执行。当服务器下线后,任务会被在线服务器接管,当重新上线后会在次执行任务。接管任务的服务器会释放任务。调度过程的实现,可以二次开发。基于 netty tcp 通信开发。 下载地址: http:/…

听GPT 讲Rust源代码--library/core/benches

File: rust/library/core/benches/slice.rs 文件路径:rust/library/core/benches/slice.rs 这个文件是Rust标准库中的一个示例(benchmark)文件,用来测试切片(slice)在不同情况下的性能。 Rust的切片是对数组…

QT:单例

单例的定义 官方定义:单例是指确保一个类在任何情况下都绝对只有一个实例,并提供一个全局访问点。 单例的写法 抓住3点: 构造函数私有化(确保只有一个实例)提供一个可以获取构造实例的接口(提供唯一的实…

在 sealos 上使用 redisinsight 完美管理 redis

先起一个 redis 集群,在 sealos 上可以点点鼠标就搞定: 简单两步,redis 集群搞定。 再启动 RedisInsight, 是一个 redis 的可视化管理工具。 就可以看到部署后的地址了。进去之后填写 redis 的链接信息即可: 链接信息在数据库的…

已解决 ValueError: Data cardinality is ambiguous 问题

博主猫头虎的技术世界 🌟 欢迎来到猫头虎的博客 — 探索技术的无限可能! 专栏链接: 🔗 精选专栏: 《面试题大全》 — 面试准备的宝典!《IDEA开发秘籍》 — 提升你的IDEA技能!《100天精通Golang》…

网络字节序与主机字节序

字节序区分 多字节的数值在内存中高低位的排列方式会影响所表示的数值处理方式和显示。字节序以字节为基本单位,表示不同字节的存储顺序。 从存储顺序上区分,可分为大端字节序和小端字节序。从处理上区分,可区分为网络字节序和主机字节序。…

YY9702.102-2021 医疗设备EMC检测知识

一:CE(传导发射试验) 在做医疗器械机器EMC实验时,根据YY9706.102-2021的要求,按照图一流程先对表一进行填写。 设备分类和分组:《GB4824-2019》 根据以上对ME设备进行分组和分类,例如血透机属于…

Java课程设计个人博客

目录 引言:在此说明在本次课设过程中所遇到的困难! 一、项目搭建的问题 Q1:Web项目应用啥么编译器编写? Q2:如何创建Web项目(MAVEN)? Q3:Tomcat服务器开头控制台显示乱码如何解决? Q4:Tomcat服务器怎么设置项目的…

gem5学习(9):构建gem5——Building gem5

目录 一、Requirements for gem5 二、Getting the code 三、Your first gem5 build 1、gem5 binary types 四、Common errors 1、gcc版本过低 2、使用非默认版本的python 3、未安装M4宏处理器 4、Protobuf版本过低 前面的gem5学习(3)—&#xf…

Java面试高招:程序员如何在面试中脱颖而出

Java面试高招:程序员如何在面试中脱颖而出 《Java面试高招:程序员如何在面试中脱颖而出》摘要引言面试经历面试失败的反思 面试技巧侦探式的问题解决无敌铁金刚的坚定决心 参考资料 博主 默语带您 Go to New World. ✍ 个人主页—— 默语 的博客&#x1…

安全典型配置(六)配置IPSG限制非法主机访问内网案例(静态绑定)

相关文章学习: 安全典型配置(一)使用ACL限制FTP访问权限案例 安全典型配置(二)使用ACL限制用户在特定时间访问特定服务器的权限案例 安全典型配置(三)使用ACL禁止特定用户上网案例安全典型配置…

产品经理如何做好需求评审?掌握五大关键要素

随着产品经理职位的日益重要,对产品需求的评审也越来越重要。一个成功的产品经理需要不仅仅是拥有好的产品理念和市场分析能力,更需要拥有好的需求评审能力,这样才能够确保产品能够顺利开发,最终成功上市。那么,产品经…

【系统高级-环境变量】path配置一整行,而不是列表

这是列表编辑方便。但是不知道为什么变成一行,非常的令人抓狂,经过研究发现,第一个环境变量必须为C:\Windows\system32 开头才可以 文章如下 修改环境变量中的一行变成列表形式_环境变量编辑不是列表-CSDN博客

WiFi6工业网关能为工业物联网带来哪些改进?

WiFi 6( 802.11ax)比其前身WiFi 5(802.11ac)带来了多项改进,例如更快的通信速率、更大的带宽容量、在多设备连入时更稳定的性能、更大的链接范围、增强的安全性以及更好地支持物联网工作负载等,本篇就为大家…

实战:使用docker容器化服务与文件挂载-2

接着上文,演示Elasticsearch 和 Kibana 的安装,并讲解文件挂载 Elasticsearch of Docker (Kibana) 1、Elasticsearch 安装 ElasticSearch 使用 Docker 安装:https://www.yuque.com/zhangshuaiyin/guli-mall/dwrp5b 1.…

Linux第20步_在虚拟机上安装“Visual Studio Code”

1、双击windows系统桌面上的“FileZilla Client.exe”,打开FTP客户端,点击03软件下的Visual Studio Code,发现code_1.50.1-1602600906_amd64。 2、点击“文件”,然后点击“站点管理器”,见下图操作: 3、点…

猫头虎分享已解决Bug || Go Error: cannot use str (type string) as type int in assignment

博主猫头虎的技术世界 🌟 欢迎来到猫头虎的博客 — 探索技术的无限可能! 专栏链接: 🔗 精选专栏: 《面试题大全》 — 面试准备的宝典!《IDEA开发秘籍》 — 提升你的IDEA技能!《100天精通Golang》…

Python将Labelme文件的真实框和预测框绘制到图片上

Python将Labelme文件的真实框和预测框绘制到图片上 前言前提条件相关介绍实验环境Python将Labelme文件的标注信息绘制到图片上代码实现输出结果 前言 由于本人水平有限,难免出现错漏,敬请批评改正。更多精彩内容,可点击进入Python日常小操作专…