本文解析论文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)相关推荐

  1. Hybrid A*论文解析(4)

    本文解析Autonomous driving in semi-structured environments: Mapping and planning,这篇文章其实是Hybrid A*论文解析(1) ...

  2. Hybrid A*论文解析(3)

    本文解析论文Autonomous Parking using Optimization-Based Collision Avoidance.文章来自uc berkley,这个方案也是非常主流的混合A* ...

  3. Hybrid A*论文解析(2)

    本文解析Application of Hybrid A* to an Autonomous Mobile Robot for Path Planning in Unstructured Outdoor ...

  4. 针对Hybrid A*论文解析(5)中的方法的一些验证

    用matlab试了一个论文分析5里面的一些方法,感觉还是有很多问题,并没有像文章说的那么好. curvature梯度方向的优化基本用不上,梯度的下降方向非常大,而且很不稳定,就算限制了梯度下降的步长, ...

  5. Hybrid A*论文解析(1)

    本文是对Practical Search Techniques in Path Planning for Autonomous Driving的解析. 本文使用混合A方案结合共轭梯度法解决停车场泊车, ...

  6. 地图构建两篇顶级论文解析

    地图构建两篇顶级论文解析 一.基于声纳的密集水下场景重建 标题:Dense, Sonar-based Reconstruction of Underwater Scenes 作者:Pedro V. T ...

  7. 传感器标定两篇顶会论文解析

    传感器标定两篇顶会论文解析 一.在城市环境中的多个3D激光雷达的自动校准 标题:Automatic Calibration of Multiple 3D LiDARs in Urban Environ ...

  8. 机器人导航两篇顶级会议论文解析

    机器人导航两篇顶级会议论文解析 一.一种用于四旋翼无人机室内自主导航的卷积神经网络特征检测算法 标题:A Convolutional Neural Network Feature Detection ...

  9. SLAM架构的两篇顶会论文解析

    SLAM架构的两篇顶会论文解析 一.基于superpoint的词袋和图验证的鲁棒闭环检测 标题:Robust Loop Closure Detection Based on Bag of SuperP ...

最新文章

  1. 嵌入式系统中时间的应用以及rtc的验证过程
  2. however the ssl module in Python is not available
  3. qq应用之超级店长数据分析
  4. mysql 8添加账号赋予权限
  5. 机器学习(二十)——EMD, LSA, HMM
  6. C#循环语句(for循环)
  7. 自定义处理网页选区字符并实时显示(js)
  8. 利用JQuery插件CleverTabs实现多页签打开效果
  9. Hive SQL 分析函数
  10. python学习第二天标准输入输出和注释用法
  11. java创建一个单链表,接受输入的数据,并输出
  12. 服务器如何安装center os7系统,center os 7安装教程
  13. html 图片触碰有放大效果,CSS3 鼠标滑过图片突出放大效果
  14. 如何调试 chrome插件
  15. 数据结构基础知识——非线性数据结构(二叉树、二叉排序树、优先队列、散列表)
  16. 主流流媒体服务器介绍
  17. 升级 glibc 到2.18版本
  18. Mac电脑双击打不开文件夹
  19. Mysql中INSTANT使用
  20. 上周工作总结及本周工作安排

热门文章

  1. oracle数据库扩容方案_数据库一体机替代IOE架构,在财税行业的崛起
  2. qcalendarwidget只显示月_万家基金旗下26只产品规模迷你 万家精选重仓地产股年内收益排名靠后丨基金...
  3. java 类图 xmind_轻松学习UML之类图,状态图
  4. oracle在archivelog模式进行rman备份和恢复
  5. linux部署前后端分离项目命令笔记
  6. java 拟合曲线_如何通过指数曲线拟合数据
  7. 安杰文高等计算机与生产技术学校,法国留学院校推荐:安杰文高等计算机与生产技术学校...
  8. java 微信图片上传_微信小程序图片上传java端以及前端实现
  9. php在线预览文档,php如何实现文档在线预览
  10. 南师大计算机毕设,南京师范大学是名牌大学吗?南师大毕业当老师难吗?