Hybrid A*论文解析(5)
本文解析论文Enhanced path smoothing based on conjugate gradient descent for firefighting robots in petrochemical complexes,文中依然在解决混合A* 加上梯度方法轨迹平滑的问题,但是对于CMU的方案中的轨迹优化部分,做出了很多改进建议。这里着重说一下这部分,A* 部分基本沿用了CMU方案,也就没什么要说的了。
对于曲线的前提条件是:
1,曲线的曲率要小于0.2,也就是曲率半径要比5m大。
2,曲线要尽量平滑。
3,被平滑后的曲线要求首尾的heading方向不能变化。
针对以上的要求,文章在原来的曲线平滑基础上分析了问题并做了改进:
问题点如下:
1,对于第一个曲率优化问题。原来的优化方案,在只有curvature这一项进行优化时可能会出现kink,也就是曲线打结。比如这个
本来好好的曲线,优化完curvature term之后,反而不好了。
2,对于第二个要求的问题,当迭代次数变大后会出现曲线塌缩的现象。可以看到随着iteration次数的上升,曲线最后发生了塌缩。
3,优化后的曲线的首尾的heading方向,和原来的heading方向无法保证一致:
针对以上三个问题,文章提出了解决这三个问题的方案:
第一个问题的解决方案:
本文声称原文公式有问题?我感觉好像是这么回事
在curvature的三个方向的求导的符号,有改变的地方被加粗了,如上图所示。
第二个问题的解决方案:
添加关于曲率的终止条件。文章在每次迭代完成后计算一次曲线的平均曲率,当这个值不在收敛,而是开始发散的时候就终止迭代。看到下面的这个情况,迭代到第十次左右的时候平均曲率就达到了最低,然后就开始上升了,所以迭代会终止在十次左右。
还有一个终止条件就是当任何一个点上的curvature超出了设定的curvature_max也要终止迭代。
第三个问题的解决方案:
对曲线上的不同点施加不同的下降步长的权重:
这是一个logistic function形式的分布函数,长得样子基本就像一个高斯分布一样,首尾都很小,中间是1,这就保证了曲线的首尾的梯度下降是非常小的,heading 的变化也就非常小了。
最后看一下效果:
不改公式前,直接出现了曲线打结,更换公式,并且添加了迭代终止条件后,效果就好很多,且curvature的最大值条件也满足了。
再看smooth iteration问题,添加终止条件前曲线发生了塌缩,添加后曲线没有塌缩,并且曲率月满足了条件。
最后是首尾heading的问题,添加可变的权重后,首尾的heading就符合要求了。
Hybrid A*论文解析(5)相关推荐
- Hybrid A*论文解析(4)
本文解析Autonomous driving in semi-structured environments: Mapping and planning,这篇文章其实是Hybrid A*论文解析(1) ...
- Hybrid A*论文解析(3)
本文解析论文Autonomous Parking using Optimization-Based Collision Avoidance.文章来自uc berkley,这个方案也是非常主流的混合A* ...
- Hybrid A*论文解析(2)
本文解析Application of Hybrid A* to an Autonomous Mobile Robot for Path Planning in Unstructured Outdoor ...
- 针对Hybrid A*论文解析(5)中的方法的一些验证
用matlab试了一个论文分析5里面的一些方法,感觉还是有很多问题,并没有像文章说的那么好. curvature梯度方向的优化基本用不上,梯度的下降方向非常大,而且很不稳定,就算限制了梯度下降的步长, ...
- Hybrid A*论文解析(1)
本文是对Practical Search Techniques in Path Planning for Autonomous Driving的解析. 本文使用混合A方案结合共轭梯度法解决停车场泊车, ...
- 地图构建两篇顶级论文解析
地图构建两篇顶级论文解析 一.基于声纳的密集水下场景重建 标题:Dense, Sonar-based Reconstruction of Underwater Scenes 作者:Pedro V. T ...
- 传感器标定两篇顶会论文解析
传感器标定两篇顶会论文解析 一.在城市环境中的多个3D激光雷达的自动校准 标题:Automatic Calibration of Multiple 3D LiDARs in Urban Environ ...
- 机器人导航两篇顶级会议论文解析
机器人导航两篇顶级会议论文解析 一.一种用于四旋翼无人机室内自主导航的卷积神经网络特征检测算法 标题:A Convolutional Neural Network Feature Detection ...
- SLAM架构的两篇顶会论文解析
SLAM架构的两篇顶会论文解析 一.基于superpoint的词袋和图验证的鲁棒闭环检测 标题:Robust Loop Closure Detection Based on Bag of SuperP ...
最新文章
- 嵌入式系统中时间的应用以及rtc的验证过程
- however the ssl module in Python is not available
- qq应用之超级店长数据分析
- mysql 8添加账号赋予权限
- 机器学习(二十)——EMD, LSA, HMM
- C#循环语句(for循环)
- 自定义处理网页选区字符并实时显示(js)
- 利用JQuery插件CleverTabs实现多页签打开效果
- Hive SQL 分析函数
- python学习第二天标准输入输出和注释用法
- java创建一个单链表,接受输入的数据,并输出
- 服务器如何安装center os7系统,center os 7安装教程
- html 图片触碰有放大效果,CSS3 鼠标滑过图片突出放大效果
- 如何调试 chrome插件
- 数据结构基础知识——非线性数据结构(二叉树、二叉排序树、优先队列、散列表)
- 主流流媒体服务器介绍
- 升级 glibc 到2.18版本
- Mac电脑双击打不开文件夹
- Mysql中INSTANT使用
- 上周工作总结及本周工作安排
热门文章
- oracle数据库扩容方案_数据库一体机替代IOE架构,在财税行业的崛起
- qcalendarwidget只显示月_万家基金旗下26只产品规模迷你 万家精选重仓地产股年内收益排名靠后丨基金...
- java 类图 xmind_轻松学习UML之类图,状态图
- oracle在archivelog模式进行rman备份和恢复
- linux部署前后端分离项目命令笔记
- java 拟合曲线_如何通过指数曲线拟合数据
- 安杰文高等计算机与生产技术学校,法国留学院校推荐:安杰文高等计算机与生产技术学校...
- java 微信图片上传_微信小程序图片上传java端以及前端实现
- php在线预览文档,php如何实现文档在线预览
- 南师大计算机毕设,南京师范大学是名牌大学吗?南师大毕业当老师难吗?