Ⅰ 有哪些应用于移动机器人路径规划的算法
机器人家上了解到,在二维二值地图(FREE or OCCUPIED)场景下进行路径规划的方法。我看之前有同学在回答的时候配上了这幅图:
这幅图上的算法罗列的还是很全面的,体现了各个算法的出生顺序。但是并不能很好的对他们进行一个本质的分类。刚刚那位同学说的graph-based和sampling-based的分类方法我感觉有点概念重叠不能够对规划算法进行这样的分类,下面通过自己这一年多的研究和实践对规划算法进行一个简单的分类:
这幅图上的算法罗列的还是很全面的,体现了各个算法的出生顺序。但是并不能很好的对他们进行一个本质的分类。刚刚那位同学说的graph-based和sampling-based的分类方法我感觉有点概念重叠不能够对规划算法进行这样的分类,下面通过自己这一年多的研究和实践对规划算法进行一个简单的分类:
两大类:
1. 完备的(complete)
2. 基于采样的(sampling-based)又称为概率完备的
一 完备的规划算法
A*算法
所谓完备就是要达到一个systematic的标准,即:如果在起始点和目标点间有路径解存在那么一定可以得到解,如果得不到解那么一定说明没有解存在。
这一大类算法在移动机器人领域通常直接在occupancy grid网格地图上进行规划(可以简单理解成二值地图的像素矩阵)以深度优先寻路算法、广度优先寻路算法、Dijkstra(迪杰斯特拉)算法为始祖,以A*算法(Dijstra算法上以减少计算量为目的加上了一个启发式代价)最为常用,近期的Theta*算法是在A*算法的基础上增加了line-of-sight优化使得规划出来的路径不完全依赖于单步的栅格形状(答主以为这个算法意义不大,不就是规划了一条路径再简单平滑了一下么)。
完备的算法的优势在与它对于解的捕获能力是完全的,但是由此产生的缺点就是算法复杂度较大。这种缺点在二维小尺度栅格地图上并不明显,但是在大尺度,尤其是多维度规划问题上,比如机械臂、蛇形机器人的规划问题将带来巨大的计算代价。这样也直接促使了第二大类算法的产生。
二 基于采样的规划算法
RRT-connect算法
这种算法一般是不直接在grid地图进行最小栅格分辨率的规划,它们采用在地图上随机撒一定密度的粒子来抽象实际地图辅助规划。如PRM算法及其变种就是在原始地图上进行撒点,抽取roadmap在这样一个拓扑地图上进行规划;RRT以及其优秀的变种RRT-connect则是在地图上每步随机撒一个点,迭代生长树的方式,连接起止点为目的,最后在连接的图上进行规划。这些基于采样的算法速度较快,但是生成的路径代价(可理解为长度)较完备的算法高,而且会产生“有解求不出”的情况(PRM的逢Narrow space卒的情况)。这样的算法一般在高维度的规划问题中广泛运用。
三 其他规划算法
除了这两类之外还有间接的规划算法:Experience-based(Experience Graph经验图算法)算法:基于经验的规划算法,这是一种存储之前规划路径,建立知识库,依赖之进行规划的方法,题主有兴趣可以阅读相关文献。这种方法牺牲了一定的空间代价达到了速度与完备兼得的优势。此外还有基于广义Voronoi图的方法进行的Fast-marching规划,类似dijkstra规划和势场的融合,该方法能够完备地规划出位于道路中央,远离障碍物的路径。答主最近也在研究此类算法相关的工作。
APF(人工势场)算法
至于D* 、势场法、DWA(动态窗口法)、SR-PRM属于在动态环境下为躲避动态障碍物、考虑机器人动力学模型设计的规划算法。
Ⅱ 怎么理解dwa动态窗口算法实现避障
当然是可以这样说的!
Ⅲ 想要金融类数据,应该如何收集
金融大数据平台的搭建和应用是两个部分,对于金融大数据平台来说,这两个部分都很重要。
所以以下的部分我们从大数据平台和银行可以分析哪些指标这两个角度来阐述。
一、大数据平台
大数据平台的整体架构可以由以下几个部分组成:
1.一个客户
客户主题:客户属性(客户编号、客户类别)、指标(资产总额、持有产品、交易笔数、交易金额、RFM)、签约(渠道签约、业务签约)组成宽表
2.做了一笔交易
交易主题:交易金融属性、业务类别、支付通道组成宽表。
3.使用哪个账户
账户主题:账户属性(所属客户、开户日期、所属分行、产品、利率、成本)组成宽表
4.通过什么渠道
渠道主题:渠道属性、维度、限额组成宽表
5.涉及哪类业务&产品
产品主题:产品属性、维度、指标组成宽表
Ⅳ 基于激光雷达的SLAM和路径规划算法研究与实现
本文仅供学习使用,并非商业用途,全文是针对哈尔滨工业大学刘文之的论文《移动机器人的路径规划与定位技术研究》进行提炼与学习。论文来源中国知网,引用格式如下:
[1]刘文之. 基于激光雷达的SLAM和路径规划算法研究与实现[D].哈尔滨工业大学,2018.
相关坐标系转换原理已经在前一篇文章写完了,直接上转换方程。
这里他的运动模型选择的是基于里程计的运动模型,还有一种基于速度的运动模型,其实都差不多,整体思想都一样。里程计是通过计算一定时间内光电编码器输出脉冲数来估计机器人运动位移的装置,主要是使用光电码盘。根据光电码盘计算出此时轮子的速度,然后通过已知的轮子半径来获得单位时间 每个轮子 的位移增量。
高等数学可知单位时间位移增量就是速度,对速度在一定时间上进行积分就得到这一段时间所走过的路程。
根据上图,我们可以求出来机器人航向角角速度、圆弧运动半径和机器人角度变化量,由此可以解的机器人在当前时刻的位姿。
实际上也是有误差,所以单独依靠里程计会与实际结果产生较大误差,所以必须引入其他的外部传感器对外部环境的观测来修正这些误差,从而提高定位精度。
首先肯定需要将激光雷达所测得的端点坐标从极坐标、机器人坐标中转换到世界坐标中。
这张略过,暂时不需要看这个
路径规划算法介绍:
因为该算法会产生大量的无用临时途径,简单说就是很慢,所以有了其他算法。
了解两种代价之后,对于每一个方块我们采用预估代价与当前路径代价相加的方法,这样可以表示每一个路径点距离终点的距离。在BFS搜索过程的基础上,优先挑选总代价最低的那个路径进行搜索,就可以少走不少弯路。(算法讲解 https://www.bilibili.com/video/BV1bv411y79P?from=search&seid=3623681329596549549 )
在局部路径规划算法之中,我们选用DWA算法(dynamic window approach),又叫动态窗口法。动态窗口法主要是在速度(v, w)空间中采样多组速度,并模拟机器人在这些速度下一定时间内的轨迹。在得到多组轨迹后,对这些轨迹进行评价,选取最优的轨迹所对应的速度来驱动机器人运动。
state sampling就是按照之前给出的全局路径规划,无论是Dijkstra还是A* 都可以方便的得到state sampling,DWA算法所需要提前建立的action sampling有两种:
但是无论是什么情况,上述所做的工作就是把机器人的位移转化到世界坐标中来,而不是机器人坐标系。速度采样结束之后,只需要对小车的轨迹进行评判,就可以得到最优解了。下面介绍速度采样的办法。
对速度进行采样一般有以下三个限制:
当确定了速度范围之后,就需要根据速度分辨率来对小车速度离散化,在每一时刻将小车在不同直线速度角速度组合下所即将要行驶的距离都可视化出来。
其中每一条轨迹都是很多小直线连接起来的。
需要用评价函数来对上述轨迹进行选择,选择最适合的轨迹
最后为了让三个参数在评价函数里所发挥的作用均等,我们使用归一化处理来计算权重。
算法流程整体如下: