物流工程 73 路径规划

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

7.3路径规划7.3路径规划AGV智能化的新发展在于自主回避障碍物并达到目的地的路径规划。首先,影响路径规划的是AGV的自由度数和地图的有无。为了便于理解,以2自由度AGV为例,分别考虑有地图时(环境已知时)和没有地图时(环境未知时)的路径·动作规划。这里,假定AGV只考虑两个位置自由度(X、Y轴上的位置),不考虑姿态方面的一个自由度(绕中心的回转)7.3路径规划由于地图是由AGV和障碍物的模型,所以有地图时的路径规划称为基于模型的路径规划(Model-basedPath-Planning)。基于模型的路径规划称为离线路径规划。没有地图时的路径规划,AGV用外部传感器(视觉、超声波传感器、光传感器等)得到一面回避障碍一面到达目的地的路径,由此称为基于传感器的路径规划(Sensor-basedPath-Planning)。基于传感器的路径规划又称为在线路径规划。7.3路径规划基于模型的路径规划首先说明为了快速选择最佳(最短)路径,应采用怎样的数据结构来表现地图。最佳(最短)路径由于接近障碍物,如果有位置误差,AGV与障碍物碰撞的可能性很高。下面要说明的是,为防止碰撞,除了最佳性以外更重视安全性的方法,即为了选择离障碍物足够远的安全路径,应采用怎样的数据结构来表现地图。这里由于采用一种OR表。7.3路径规划基于传感器的路径规划AGV用传感器一面检测障碍物一面进行回避并最终到达目的地的路径规划算法,即使存在位置误差,AGV也不会迷失确定的路径,而最终到达目的地附近。7.3路径规划7.3.1路径规划的模型1.几何模型AGV有2个位置自由度(X、Y轴上的位置)和1个姿态自由度(绕中心的旋转)。这里,取可全方位移动的AGV为例加以说明。由于AGV能全方位移动,所以可忽略AGV的方向(姿态的自由度)。这样,就能用以最大回转长度为半径的圆表示AGV。在此基础上,可以把障碍物的几何尺寸径向扩张一个AGV圆的半径,同时把AGV缩成一个点(图7-16)。由此,在存在扩张了的障碍物的地图(XY平面)上,可以规划成为几何点的AGV的路径。7.3路径规划7.3路径规划2.数学模型首先,说明基于模型的路径规划。为了快速选取路径,用所谓图的数据结构表示规划的数学模型(俗称“地图”)。所谓图就是用弧连接节点的数据结构,节点意味着AGV的位置,弧意味着两个位置间的移动(图7-17)。将移动的几何距离、工作量或时间加权折算得出两个位置间移动的模型费用,把模型费用希望值作为费用赋于该两个位置间的弧上。7.3路径规划ABEDCF9图7-17图(节点和弧)7.3路径规划当所有节点间移动的工作量不变时,弧上赋于的费用可以直接用几何距离标记。弧记忆进入节点和输出节点,总是回到原来的地方(程序上称为“指针返回”)。而且,如果能在两个方向移动则用无向弧,只能单方向移动的用有向弧。7.3路径规划7.3.2基于模型的路径规划这里介绍两个典型的图。一个是管理从起始节点ns到目标节点ng的最短路径的切线图(TangentialGraph),另一个是连接这些节点的安全路径,即管理尽量离开障碍物路径的Voronoi图(VoronoiGraph)。无论哪一种图都是由节点和弧构成的,用节点表示起始点、经过点、目标点;用无向弧表示其间的路径,其上附加有作为费用的欧几里得距离。最后,无论哪个图,都是用算法A选出任意路径,用算法A*选出最佳(满足)路径。7.3路径规划1.切线图切线图用障碍物的切线表示弧。由此可选择从起始节点ns到目标节点ng的最佳(最短)路径。即切线图是把障碍物边界切线化得到的。从起始节点ns开始,过两相邻节点向障碍物边界作切线,每两条切线的交点形成辅助节点。由主节点(起始点、经过点、目标点)、辅助节点和节点间连线组成了切线图。首先把对应起始点S和目标点G的两个节点ns和ng标注在新的切线图上,然后用算法A*选出最佳(最短)路径P,7.3路径规划最后,使点AGV沿着路径P进行PTP(Point-To-Point)控制和CP(ContinuousPath)控制,把AGV引导到目的地。如果在这种控制过程中产生位置误差,机器人碰撞障碍物的可能性会较高,因为AGV几乎接近障碍物行走7.3路径规划2.Voronoi图Voronoi图可用弧表示距两个以上障碍物和墙壁表面等距离的点阵,用节点表示它们的交叉位置。首先把对应起始点S和目标点G的起始节点ns和目标节点ng标注在图上,然后用搜索算法A*选出安全路径P,最后,使点AGV沿着路径P进行PTP控制和CP控制,把AGV引导到目的地。由于选择的是安全路径,所以,即使产生位置误差,AGV也能够在离障碍物足够远的路径上走行。7.3路径规划7.3路径规划3.搜索算法A*(A)这里要介绍的是,把前面所说的切线图和Voronoi图作为搜索图G,选出从起始节点ns到目标节点ng的最佳(或满足)路径的算法A*(或选出任意路径的算法A)。算法A*(或A)一面计算节点n的费用f(n),一面搜索图G。费用f(n)是从起始节点ns经由当前节点n到目标节点ng的最小费用(最短距离)的估价函数。7.3路径规划可用下式计算:f(n)=g(n)+h(n)式中,g(n)是起始节点ns和当前节点n之间的现时点上的最小费用(最短距离);而h(n)是当前节点n和目标节点ng之间的最小费用h*(n)的估计值,称为启发式函值。OPEN是管理以后扩展节点的明细表,所有节点按费用f(n)递增顺序排列,CLOSED是管理已扩展节点的明细表。7.3路径规划通常A*(或A)等搜索算法,从节点n扩展的所有节点n’中,把必要的节点同费用f(n’)都标注OPEN上(参看算法的第⑤步),这个操作称为“扩展节点n”。算法A*(A)的程序流程说明:①把起始节点ns代入OPEN。②如果OPEN是空表,由于路径不存在,所以算法终止。③从OPEN取出先头(费用f最小)的节点n,并把它移到CLOSED。7.3路径规划④如果节点n是目标节点ng,则顺次返回到来自的节点上(程序上是追寻(返回)指针)。然后,若是到达起始节点ns,则终止算法,得到一个路径。⑤如果不是这样,扩展节点n,把指针从其子孙节点n’返回到节点n(记住从哪来的)。然后,对所有的子孙节点n’做以下工作:7.3路径规划•节点n’如果不在OPEN或CLOSED表中,则它就是新的搜索节点。因此,首先计算估计值h(n’)(从节点n’到节点ng的最短距离的估计值).其次,计算评价值f(n’)=g(n’)+h(n’)(这里g(n’)=g(n)+c(n、n’),g(ns)=0,c(n、n’)是连接节点n和n’弧的费用)。然后,把节点n’同估计值f(n’)都代入OPEN。•若节点n’存在于OPEN或CLOSED表中,则它就是已被搜索的节点。于是,把指针换到带来最小值g(n’)的路径上(变更来自的地方)。然后,在这个指针发生替换时,若节点n’存在于CLOSED中,则把它返回到OPEN后,再计算值f(n’)=g(n’)+h(n’)。7.3路径规划⑥返回到②算法A*(A)的程序流程7.3路径规划•估计值h比真值h*小或相等时,上述的算法变为A*,可选出从起始节点ns到目标节点ng的最佳路径(总计费用最小的路径)。•若估计值h比真值大,h*算法则变为A,可选出从起始节点ns到目标节点ng的满足要求的路径(总计费用不是最小的路径)。•因此,机器人的路径规划多用从当前地点(,,)到目的地(,)的平方范数7.3路径规划定义估计值。这个估计值h常常比h*小,成为算法A*,用它可选择最佳路径。图7-20的搜索图G存在估计值h(在节点上用括号给出)比真值h*大的节点。例如,节点A和H的估计值h是8和4,但到达目的地的最小真值是7和2。由于这个费用评价过大,存在于最短路径上的节点H等可以忽略,算法错过了费用8的最佳路径,最终得到费用9的满足要求的路径。7.3路径规划EDFGHIBCAS(7)32(5)(5)(5)(3)(8)(1)(4)(3)221332322441图7-20搜索图G(有的地方估计值比真值大)D(9)S(7)S(7)A(10))B(8)(a)(b)S(7)A(10)B(8)D(9)E(8)C(8)F(10)H(10)I(10)G(9)(e)A(10))D(9)F(10)E(8)S(7)S(8)(c)E(8)B(8)A(10)F(10)H(10)(d)属于OPEN表的节点属于CLOSE表的节点S(7)7.3路径规划A、起始节点S被代入OPEN[图7-21(a)],子节点A和B被代人OPEN[图7-21(b)]。起始节点S扩展后移到CLOSED,B、由于节点A、B的评价值分别为10、8,所以选中扩展节点B。B的子节点D、E、F,评价值分别为9、8、10,全都代人OPEN,扩展后节点B被移到CLOSED[图7-21(c)]。C、节点E评价值最小,选中扩展节点E。E的子节点H同评价值10都代入OPEN,扩展后节点E被移到CLOSED。7.3路径规划D、OPEN中当前评价值最小的子节点是D,所以选中节点D。D的子节点H被再次搜索,节点D被移到CLOSED。注意到节点H的值g,由于过去的费用6(经由节点E、B返回到节点S)比新的费用7(经由节点D、B返回到S)小,所以不更换指针[图7-21(d)]。指针仍在E。由于当前OPEN上存在评价值f都为10的三个节点A、H、F,此时须对这三个节点A、H、F都分别向下扩展。7.3路径规划E、用中断连接节点A,扩展节点C同评价值8都代人OPEN,节点A被移到CLOSED。然后,C的两个扩展节点I、H中,选中值f最小的节点I(实际上,ACH路径在先已经被否定),节点I同评价值10都代人OPEN,节点C同评价值8都被移到CLOSED。节点I的扩展节点即为目标,OPEN保持F、节点H的扩展节点即为目标,OPEN保持7.3路径规划G、节点F的扩展节点即为目标,OPEN保持H、当前OPEN上三个节点I、H、F的评价值都为10,其后的扩展节点都是目标G。计算分别经三个节点F、H、I到目标G的评价值,经节点F到目标G的评价值最小。所以用中断连接扩展节点F,节点G连同评价值9都代人OPEN,节点F移到CLOSED[图7-21(e)]。7.3路径规划EDFGHIBCAS(7)32(5)(4)(4)(1)(2)(3)221332322441在图7-22的搜索图G上,所有节点的估计值h(在节点上用括号给出)常常比真值h*小或相等。7.3路径规划S(7)B(8)A(6)(a)C(8)D(9)E(8)F(9)S(7)A(6)B(8)C(8)F(9)I(10)H(9)D(9)E(8)(b)I(10)S(7)A(6)B(8)C(8)E(8)H(8)D(9)F(9)(c)属于OPEN表的节点属于CLOSE表的节点7.3路径规划A、起始节点S被代入OPEN,子节点A、B连同评价值f6、8被代人OPEN,起始节点S扩展后移到CLOSED。B、由于节点A、B的评价值f分别为6、8,所以节点A扩展子节点C、D后移到CLOSED,节点B、C、D连同各自的评价值8、8、9都代入OPEN。7.3路径规划C、用中断连接扩展节点B,节点B扩展子节点E、F。子节点E、F连同评价值8、9都代入OPEN,节点B扩展后代入CLOSED。再次搜索节点D。这时,如果注意到节点D的值g,由于新的费用值4(经由节点B返回到节点S)比过去的费用5(经由节点A返回到节点S)小,所以要更换指针,重新计算的评价值f变为9[图7-23(a)]。D、仍然用中断连接扩展节点C,节点C扩展子节点I、H。子节点I、H连同评价值10、9都代入OPEN,节点C移到CLOSED[图7-23(b)],7.3路径规划E、当前OPEN上五个节点I、H、D、E、F。所以选中评价值f最小的扩展节点E。然后,把节点E代入CLOSED,再次搜索节点H。F、这时,注意到节点H的值g,比起过去的费用7(经由节点C,A返回节点S)来新的费用6(经由节点E、B返回到节点S)要小,所以更换指针,重新计算H的评价值f为8[图7-23(c)]7.3

1 / 47
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功