传统路径规划算法总结

  • 动态规划
  • 栅格法
  • 人工势场
  • Voronoi算法
  • Dijkstra算法
  • A*算法
  • 随机路标图法
  • 快速搜索随机树算法
  • 模拟退火法

动态规划

一种解决问题的重要思想。分而治之。
核心思想:问题分解成无数子问题,用迭代的方法求解最终问题的答案。(上个子问题的解为下一个子问题的解提供帮助)
应用:网格型的路径规划

公式:dp[i][j]=min(dp[i−1][j],dp[i][j−1])+grid[i][j];dp[i][j] = min(dp[i - 1][j], dp[i][j - 1]) + grid[i][j];dp[i][j]=min(dp[i−1][j],dp[i][j−1])+grid[i][j];

栅格法

将环境用栅格来表示,分为自由栅格和障碍栅格,以栅格为基本单位记录机器人所在环境信息。机器人只能在自由栅格上移动。游戏中的地图,由瓦片组成,也可以看成栅格,有建筑物的地方,是玩家不能穿越的。
栅格地图也是当前广泛采用的环境地图的描述方法。

人工势场

核心思想:将目标和障碍物分别看做对机器人有引力和斥力的物体,机器人沿引力与斥力的合力来进行运动。运动环境生成势力场,然后机器人沿着势力场的引导运动。

引力势函数:

斥力势函数:

总的势函数:

优点:效率高
缺点:可能出现斥力与引力相互抵消的情况,导致陷入局部最优。(如下图所示,第一幅图是能到达终点的情况,第二幅由于斥力和引力相互抵消,达到平衡,所以机器人无法到达目标)
可能出现离目标太远出现引力过大,直接撞向障碍物的情况。

Voronoi算法

核心思想:对空间依据障碍物进行分割,每个子空间的边界就是距离这个障碍物以及相邻障碍物最远的点,沿着边界便能找到一条远离障碍物的路径。
优点:安全
缺点:不是最优路径
应用:自动驾驶

Dijkstra算法

Dijkstra算法核心思想:以广度优先搜索的思想,以节点到起点的代价作为优先级的参考,选择代价最小的点作为下一个点。

A*算法

核心思想:以节点到起点以及节点到终点的代价的和作为优先级来标记未遍历的点。
公式:

优势:A*算法相较于Dijkstra算法不仅能找到最优路径,而且效率高。

Dijkstra算法:

A*算法:

随机路标图法

做法:随机路标图法是一种基于图搜索的方法,将连续空间转换为离散空间,再利用A*等搜索算法,在路线图上寻找路径。这种方法能用相对少的随机采样点来找到一个解。它分为两个步骤:学习阶段,查询阶段。
学习阶段就是在给定图的自由空间里随机撒点(自定义个数),构建一个路径网络图。其中分为构造步骤、扩张步骤。
查询阶段:查询从一个起点到一个终点的路径。分为:局部路径规划,距离计算,碰撞检查。
优势:速度快;
劣势:结果受采样点个数,邻域大小的影响。

快速搜索随机树算法

核心思想:通过采样点的指引完成树节点的扩展,最终找到一条到达终点的树分支。
应用:机械臂的规划
优点:在完全已知的环境中通过采样扩展搜索,速度快。
缺点:寻路的效率受随机采样概率的和步长大小的影响;路径不是最优,不平滑。

模拟退火法

爬山法的缺陷:如何初始值没选好就会陷入局部最优解 。
模拟退火法:会以一定概率接受一个比当前解要差的解。并且这个概率受时间影响。
步骤:
1、初始化路径:先每行取点(在自由栅格中选取)再通过插点等办法把点连成连续路径。
2、计算路径长度
3、产生新路径,并计算路径长度。新路径产生方式:在原路径上删除一些点得到一个间隔路径,把这个间隔路径连续化得到一条新的路径。
4、判断是否接受接受新路径:新路径更短就接受,新路径比就路径长就比较接受概率和随机数来决定是否接受

传统路径规划算法介绍相关推荐

  1. 基于强化学习的智能机器人路径规划算法研究(附代码)

    目录 一.摘要 二.路径规划技术的研究进展 1.研究现状 2.算法分类 2.1 全局路径规划算法 2.2 局部路径规划算法 三.本文采用的路径规划算法--强化学习 1. 概念 2. 与其他机器学习方式 ...

  2. a算法和a*算法的区别_机器人路径规划算法,全局路径规划与局部路径规划究竟有哪些区别?...

       若步智能                  移动这一简单动作,对于人类来说相当容易,但对机器人而言就变得极为复杂,说到机器人移动就不得不提到路径规划,路径规划是移动机器人导航最基本的环节,指的是 ...

  3. 中国物流供应链“零的突破”!阿里路径规划算法入围运筹学“奥斯卡”

    鱼羊 发自 凹非寺 量子位 报道 | 公众号 QbitAI 最新消息,中国物流力量,刚在全球运筹和管理科学界的最高荣誉中,实现零的突破! 1月15日,国际运筹学与管理科学学会(INFORMS)公布了2 ...

  4. 基于SSD的自动路径规划算法

    目录 1.场景需求 2.路径规划算法简介 2.1 .PRM算法简介 2.2.RRT算法简介 3.基于SSD的自动路径规划算法简介 4.基于SSD的自动路径规划算法详解 4.1.利用外置摄像头获取图像或 ...

  5. 路径规划算法_自动驾驶汽车路径规划算法浅析

    自动驾驶汽车的路径规划算法最早源于机器人的路径规划研究,但是就工况而言却比机器人的路径规划复杂得多,自动驾驶车辆需要考虑车速.道路的附着情况.车辆最小转弯半径.外界天气环境等因素. 本文将为大家介绍四 ...

  6. 苏宁 11.11:仓库内多 AGV 协作的全局路径规划算法研究

    本文为『InfoQ x 苏宁 2018双十一』技术特别策划系列文章之一. 1. 背景 随着物联网和人工智能的发展,越来越多的任务渐渐的被机器人取代,机器人逐渐在发展中慢慢进入物流领域,"智能 ...

  7. 人工势场法路径规划算法(APF)

       本文主要对人工势场法路径规划算法进行介绍,主要涉及人工势场法的简介.引力和斥力模型及其推导过程.人工势场法的缺陷及改进思路.人工势场法的Python与MATLAB开源源码等方面    一.人工势 ...

  8. 路径规划算法C++实现(三)--DWA

    一.算法介绍 DWA算法全称为dynamic window approach,其原理主要是在速度空间(v,w)中采样多组速度,并模拟出这些速度在一定时间内的运动轨迹,并通过评价函数对这些轨迹进行评价, ...

  9. 局部路径规划算法-DWA动态窗口法

    引言 本文主要是转载学习的内容,为了记录传统算法的学习,方便复习,对比看看传统算法和新的算法有哪些相似的地方. DWA算法,在仿真上效果好些,在扫地机器人等室内机器人方面可能效果好,但是在自动驾驶还是 ...

  10. 常用的路径规划算法浅析

    路径规划 所谓路径规划,也就是在起点和终点之间找到一条连续的运动轨迹,在尽可能优化路径的同时避开环境中的障碍物. 常用的路径规划算法有传统的基于图搜索算法.基于采样的路径规划算法,以及考虑动力学的路径 ...

最新文章

  1. python文件操作实验报告_20193120 实验三《Python程序设计》实验报告
  2. 解线性方程组的迭代法(高斯-塞德尔迭代法)
  3. jupyter 服务器 显示不完全,Jupyter中显示DataFrame的行显示不完全
  4. 漏桶算法和令牌桶算法
  5. 2021华为软挑再探——代码实现
  6. Android资源下载
  7. java实现KMZ文件转KML文件
  8. 汽车CAN总线关闭故障的诊断与恢复
  9. 《期货大作手风云录》读书笔记
  10. 关于PS的一些常用技巧
  11. linux 监控微信通知,Prometheus + Altermanager实现告警微信通知
  12. Zabbix 4.2 支持 Prometheus 数据收集
  13. 如何在命令行中显示五彩斑斓的“黑”
  14. arx打印dwg为pdf
  15. 树莓派——安装OpenCV
  16. Leetcode_1823_找出游戏的获胜者_约瑟夫环
  17. busyer试做MFC简易画板
  18. 今年职高计算机数学高考试题,2018-2019高职高考数学试题
  19. 【Java】基本类型
  20. 显示技术介绍(1)_概述

热门文章

  1. 基于JavaWeb的高校试题库管理系统设计与实现 毕业论文+项目源码及数据库文件、
  2. QQ客服代码(支持临时会话设置)
  3. java qq 实现消息发送_java如何实现qq发送消息
  4. extjs的EditorGridPanel中的ComboBox列中显示值的问题
  5. Hybrid App基础知识
  6. 什么是句柄/底层绘图函数
  7. 转:Visio 2010 产品秘钥 亲测可用的
  8. CSS表格及表单美化
  9. Java项目:大学生实习管理系统(java+SpringBoot+Thymeleaf+html+JQuery+bootstrap)
  10. 千万不能错过的Android NDK下载安装及配置