实际上关于路径规划,我在轨迹规划中有介绍,主要是A*算法,但是目前有强需求,所以只能在系统总结一下了,可以算是水一篇文章,抓紧时间吧,有效的时间不多了!

导航路径规划需要掌握的方法我总结有四个:RRT、PRM、A*、hybrid A*。A*我之前有介绍:再论轨迹规划,这里就不做赘述。

1. RRT

RRT(快速探索随机树),首先在环境中,我们有一个起始点,定义为Xinit, 然后我们在环境中随机撒一个点,得到点x_rand,如果x_rand不在障碍物区域,则连接起x_init和x_rand, 我们得到一条连线L,如果L整个不在障碍物里面,则沿着L,从x_init向x_rand的方向移动一定的距离,得到一个新的点,x_new,则x_init,x_new和他们之间的线段构成了一颗最简单的树。

树的扩展: 在开始的基础上,继续重复,在环境中撒点,得到无障碍物区域的点x_rand,然后在已经存在的树上找一个离x_rand最近的点x_near,连接两个点,如果这条线没有障碍物,则沿着这条线,从x_near到x_rand移动一定的距离,得到新的点,x_new, 该点被添加到已经存在的树上

规划: 重复上述过程,直到目标点(或其附近的点)被添加到树上,这时我们就可以在树上找到一条从起点到目标点的路径

2. PRM

      RRT当环境中的障碍物较为复杂时计算量较大,有没有什么办法优化呢?PRM(Probabilistic Roadmaps)是一种基于图搜索的方法,一共分为两个步骤:学习阶段、查询阶段。它将连续空间转换成离散空间,再利用A*等搜索算法在路线图上寻找路径,以提高搜索效率。

学习阶段:在给定图的自由空间里随机撒点,构建一个路径网络图。  必须是自由空间里的随机点,每个点都要确保机器人与障碍物无碰撞。

查询阶段:根据设定的起点s和终点g,选择合适的路径,首先将s和g点与路径网络中的两个点x,y分别连接,寻找无向路径网络图中x与y连接的路径,这样就可以将起点和终点连接起来,构成全局路径。得到全局路径后,可以使用平滑的方法寻找捷径,优化路径。

3. Hybrid A*

A*算法主要是用在导航中,在车辆轨迹规划中并不好用,这是因为生成的轨迹是折线,这不满足车辆运动学特性,但是A*算法也同样是从一个点到另一个点的一条最优路径,有没有办法转化成车辆可以行使的轨迹线呢?

2010年,斯坦福首次提出一种满足车辆运动学的算法(Hybrid A*),并在(DARPA)的城市挑战赛中得以运用。首先我们采用A*生成一天折线轨迹,节点之间不采用直线相连,而是Reeds-Shepp曲线相连,当然每个节点与节点相连的曲线,要考虑与之相连的节点状态。这样生成的轨迹就是Hybrid A*。那么什么是Reeds-Shepp呢?请看下节:

4. Reeds-Shepp

APA自动泊车可以有各种轨迹实现,如何用最短路径来实现自动泊车呢?首先假设车辆能以固定的半径转向,且车辆能够前进和后退,那么Reeds-Shepp曲线就是车辆在上述条件下从起点到终点的最短路径。在轨迹规划中不仅要求车辆能够到达终点,而且需要车辆的角度也有要求,比如在垂直泊车的过程中,开始车辆平行于道路,终点要求车辆垂直于道路等等,总之车辆的终点位置和终点角度都提出了要求。

首先我们回到车辆运动学:

          其中:

这种固定的运动方式在低速情况下轨迹可以近似一个圆,方向盘转角转到最大,其转向半径最小,假设最小转向半径为rmin。为了方便起见Reeds-Shepp中最小转向半径强制设置为1,如果车辆的实际最小转向半径不是1,可也通过适当放缩终点坐标来计算该曲线。

下面曲线就是一条Reeds-Shepp曲线,R表示右打方向,+表示前进,图中从到 ,首先右打方向前进,再左打方向后退,最后右打方向前进到达终点。

下表是Reeds-Shepp曲线的基本操作方式,一共有48种操作模式,归为9种Base word,但是在编程求解我们不需要每一种都分开求解,其中他们之间的对称性可以帮助我们减少工作量。例如求解到终点  的  后,我们可以用同样的方法来求解 但是需要将终点换为  ,这种处理方法在文中叫timeflip,还有其他的f对称,这里不做介绍可以参看原文。

通过这几种组合可以得到最短路径。这里举个例子,从不同位置到达同一目标的Reeds-sheep:

自动驾驶(六十二)---------导航路径规划相关推荐

  1. 【自动驾驶】基于采样的路径规划算法——PRM(含python实现)

    文章目录 参考资料 1. 基本概念 1.1 基于随机采样的路径规划算法 1.2 概率路图算法(Probabilistic Road Map, PRM) 1.3 PRM算法的优缺点 1.4 PRM算法伪 ...

  2. Mobileye 自动驾驶策略(二)

    Mobileye 自动驾驶策略(二) 与多方都成功进行了合作,其中比较大型的合作包括法雷奥.百度和中国 ITS. 法雷奥是最近的的 Tier 1 合作伙伴,法雷奥和 Mobileye 签署协议,表示未 ...

  3. 吴甘沙创业照见自动驾驶十年变迁,产业爆发在下一个春天里 | 自动驾驶这十年...

    个人创业照见自动驾驶十年变迁. 效力英特尔16年.三发创业之心最终"出走"人工智能,吴甘沙的创业故事已经被说得太多.而他所领衔创立的驭势科技,继2017年完成国内首个自动驾驶商业运 ...

  4. ROS 教程2 机器人雷达建图 蒙特卡洛定位 导航 路径规划 仿真

    ros 机器人雷达建图 蒙特卡洛定位 导航 路径规划 仿真 move_base gmapping acml 博文github 一.安装 turtlebot 移动机器人底座 进行导航 1.安装系统依赖 ...

  5. 面渣逆袭:三万字,七十图,详解计算机网络六十二问(收藏版)

    大家好,我是老三,开工大吉,虎年第一篇,面渣逆袭系列继续! 这次给大家带来了计算机网络六十二问,三万字,七十图详解,大概是全网最全的网络面试题. 建议大家收藏了慢慢看,新的一年一定能够跳槽加薪,虎年& ...

  6. 面渣逆袭:计算机网络六十二问,三万字图文详解!速收藏!

    这次给大家带来了计算机网络六十二问,三万字,七十图详解,大概是全网最全的网络面试题. 基础 1.说下计算机网络体系结构 计算机网络体系结构,一般有三种:OSI 七层模型.TCP/IP 四层模型.五层结 ...

  7. Android安卓百度地图定位+导航+路径规划实现APP(源码+APK) 毕业设计

    百度地图实时定位+导航路径规划的实现APP 本科生毕业设计:<一种智能停车系统的设计>,成都信息工程大学,2018 使用到的技术 百度地图SDK LBS云数据管理 路径规划与导航 二维码扫 ...

  8. 从零开始做自动驾驶定位(二):轨迹精度评估

    从零开始做自动驾驶定位(二):轨迹精度评估 一.EVO工具的使用 1.evo简介 evo [1] 是一个很好的测评工具,它可以根据时间戳将轨迹进行对齐,同时可以将不同尺度的轨迹按照你指定的标准轨迹进行 ...

  9. 【正点原子Linux连载】第六十二章 Linux SPI驱动实验 -摘自【正点原子】I.MX6U嵌入式Linux驱动开发指南V1.0

    1)实验平台:正点原子阿尔法Linux开发板 2)平台购买地址:https://item.taobao.com/item.htm?id=603672744434 2)全套实验源码+手册+视频下载地址: ...

  10. 【Microsoft Azure 的1024种玩法】六十二.利用Azure Private DNS 实现虚拟网络中域名的管理解析

    [简介] Azure Private DNS是Azure为我们虚拟网络提供的安全可靠的DNS服务,我们无需自行配置DNS即可在虚拟网络中实现域名的解析及配置, 于此同时,我们在内网中也可以利用自己的自 ...

最新文章

  1. python内置模块大全 processon
  2. jsf登录注册页面_您将在下一个项目中使用JSF吗?
  3. C语言 —— 获取字符串中两个字符之间的的数据
  4. 8月语言排行:C#继续呈现增长态势
  5. Golang sync.WaitGroup 简介与用法
  6. php统计网站 / html页面 浏览访问次数程序
  7. python不会英语不会数学怎么自学-英语和数学都不好,但是我想学Python编程可以吗?...
  8. Atitit 2018 技术趋势与没落技术总结 目录 1. 2018 技术雷达 1 1.1. HOSTED IDENTITY MANAGEMENT AS A SERVICE (SaaS)身份管理
  9. 127.0.0.1和localhost和本机IP三者的区别
  10. 液压泵优化设计matlab,基于MATLAB/Simulink的挖掘机动力匹配技术的转速传感变量系统设计...
  11. markdown下载以及安装详情
  12. android开发:NDK开发配置
  13. 网络编程1之send、recv函数详解
  14. 计算机辅助绘图工具,CAD精确辅助绘图工具
  15. 常见电容器图片_常用电容器大全 (附图片)
  16. iOS开发雕虫小技之傻瓜式定位神器-超简单方式解决iOS后台定时定位
  17. 数据管理执行指南 | 你需要知道什么?
  18. [vscode] markdown_index 可以为你的markdown标题添加序号的插件
  19. 【倾斜摄影】——三维建模软件ContextCapture 空三质量报告详细解读
  20. fast RCN论文笔记

热门文章

  1. [转]向孔子学做人,跟曹操学做事
  2. Ubuntu解决perf出现“You may not have permission to collect stats.”的问题
  3. BDTC 2017丨金融级分布式架构最佳实践
  4. 跨文化的交流---黄金周的收获
  5. 【转】iOS 音频-AVAudioSession
  6. (三)相遇射线的3D碰撞盒
  7. bound2im.m
  8. Oracle触发器更新前判断,插入更新触发器如何确定是插入还是更新
  9. WHMCS用户分组会员等级折扣插件
  10. 打怪游戏 勇者打恶龙2.2