CN110362070B - 路径跟随方法、***、电子设备和存储介质 - Google Patents
路径跟随方法、***、电子设备和存储介质 Download PDFInfo
- Publication number
- CN110362070B CN110362070B CN201811191784.5A CN201811191784A CN110362070B CN 110362070 B CN110362070 B CN 110362070B CN 201811191784 A CN201811191784 A CN 201811191784A CN 110362070 B CN110362070 B CN 110362070B
- Authority
- CN
- China
- Prior art keywords
- grid
- path
- action
- current
- cost value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 62
- 230000009471 action Effects 0.000 claims abstract description 143
- 238000012549 training Methods 0.000 claims abstract description 14
- 230000000875 corresponding effect Effects 0.000 claims abstract description 8
- 238000004590 computer program Methods 0.000 claims description 2
- 230000008569 process Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 9
- 238000012545 processing Methods 0.000 description 9
- 230000002787 reinforcement Effects 0.000 description 8
- 238000001514 detection method Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 238000013178 mathematical model Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000005452 bending Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000001351 cycling effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000011897 real-time detection Methods 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/0221—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving a learning process
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
- G05D1/0238—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors
- G05D1/024—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors in combination with a laser
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0257—Control of position or course in two dimensions specially adapted to land vehicles using a radar
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0268—Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
- G05D1/0274—Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means using mapping information stored in a memory device
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Physics & Mathematics (AREA)
- Remote Sensing (AREA)
- Aviation & Aerospace Engineering (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Optics & Photonics (AREA)
- Electromagnetism (AREA)
- Image Analysis (AREA)
- Feedback Control In General (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供一种路径跟随方法、***、电子设备和存储介质,其中方法包括:根据栅格地图,获得起点栅格至终点栅格的规划路径和基于规划路径扩展得到的路径区域,获得路径区域内每个栅格规避障碍物的初始值;自起点栅格起遍历获得路径区域内每个栅格基于动作集合中每个动作ai的代价值,包括循环获得每个当前栅格sn基于每个动作ai的代价值Q(sn,ai)。以及,于当前栅格sn执行代价值Q(sn,ai)中最小代价值对应的动作。本发明通过在规划路径的允许误差范围内建立路径区域,并结合Q‑Learning算法对路径区域内每个栅格基于每个动作的代价值进行更新训练,从而能在训练完成后在每个栅格选择代价值最小的动作对规划路径进行跟随控制。
Description
技术领域
本发明涉及无人驾驶技术领域,具体地说,涉及一种路径跟随方法、***、电子设备和存储介质。
背景技术
在无人驾驶领域,例如无人车行驶的过程中,路径跟随的准确性决定了无人车能否安全准确地行驶。无论全局路径规划还是局部路径规划对路径的规划有多准确,如果无人车无法准确跟随所规划的路径,则无法做到对无人车的实时精确控制。
在传统的路径跟随方法中比较经典的是Pure Pursuit控制,该方法通过对车辆当前位置和朝向以及目标位置和朝向的分析,建立车辆进行路径跟随的数学模型,实现对车辆路径跟随的控制。
随着机器学***均曲率和车辆运动模式之间的映射关系,实现无人车的路径跟随功能。除了强化学习,深度学习通过对摄像头对当前车道线的识别,在一定程度上也实现了车道线的跟随功能。
然而,上述传统方式实现路径跟随主要是建立车辆的数学模型,通过建立数学模型对车辆进行路径跟随控制对相关参数的调整要求严格,参数的好坏对路径的跟随效果有直接的影响。同时,路径的变化对参数的影响也很大,在路径为直线和路径为弯道,或者为弯曲程度不同的路径时,都需要不同的参数才能保证对路径有很好的跟随效果。因此,传统控制方式过于依赖调参,导致适应性通用性较差。
而且,使用深度学***均曲率和车辆动作模式之间关系的方式,在多数情况下能够满足需求,但无法适应平均曲率为零,实际为两个距离较近的弯道等情况,使车辆在上述情况下不能很好地进行路径跟随,甚至会出现较大的偏差,导致车辆发生碰撞。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本发明的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
鉴此,本发明提供一种路径跟随方法、***、电子设备和存储介质,解决现有技术中路径跟随依赖人工经验调参,及复杂路径下无法准确跟随的问题。
根据本发明的一个方面,提供一种路径跟随方法,包括以下步骤:根据栅格地图,获得起点栅格至终点栅格的规划路径和基于规划路径扩展得到的路径区域,获得路径区域内每个栅格规避障碍物的初始值;自起点栅格起遍历获得路径区域内每个栅格基于动作集合中每个动作ai的代价值,包括:获得当前栅格sn执行每个动作ai能到达的下一栅格sn+1的初始值,作为当前栅格sn基于每个动作ai的当前收益Rn;获得每个下一栅格sn+1再执行每个动作ai能到达的再下一栅格sn+2的初始值中的最大值max(Q(sn+1,ai));根据当前收益Rn和最大值max(Q(sn+1,ai))获得当前栅格sn基于每个动作ai的代价值Q(sn,ai)。
优选地,上述的路径跟随方法还包括步骤:于当前栅格sn执行代价值Q(sn,ai)中最小代价值对应的动作。
优选地,上述的路径跟随方法中,获得代价值Q(sn,ai)的步骤中,根据当前收益Rn和当前栅格sn基于每个动作ai的未来收益Wn获得代价值Q(sn,ai),未来收益Wn=γ(max(Q(sn+1,ai))),γ为折扣因子,表示牺牲当前收益换取未来收益的程度,0<γ<1。
优选地,上述的路径跟随方法中,获得代价值Q(sn,ai)的公式为:Q(sn,ai)=Rn+γ(max(Q(sn+1,ai)))。
优选地,上述的路径跟随方法中,获得代价值Q(sn,ai)的步骤还包括:检测当前栅格sn是否位于所述路径区域内,若是则执行获得当前收益Rn的步骤,若否则自起点栅格起重新遍历。
优选地,上述的路径跟随方法中,遍历获得路径区域内每个栅格基于每个动作ai的代价值的步骤还包括:实时检测经过的栅格位置,当经过的栅格位置超出路径区域,则自起点栅格起重新遍历。
优选地,上述的路径跟随方法中,所述自起点栅格起遍历获得路径区域内每个栅格基于每个动作ai的代价值的步骤包括:自起点栅格起执行动作集合中的任一动作到达当前栅格sn;获得当前栅格sn基于每个动作ai的代价值Q(sn,ai);以及,将当前栅格sn作为起点栅格,遍历获得路径区域内每个栅格基于每个动作ai的代价值。
优选地,上述的路径跟随方法中,按照预设频率执行动作集合中的每个动作ai。
优选地,上述的路径跟随方法中,所述动作集合中包括j*k个动作,1≤i≤j*k,j为最小速度至最大速度的区间内j个不同的速度,k为最小角度至最大角度的区间内k个不同的角度。
优选地,上述的路径跟随方法中,获得路径区域的步骤包括:根据代价地图获得栅格地图的自由移动区域,在自由移动区域中自规划路径向两侧扩展预设距离,生成位于规划路径的两侧与规划路径相平行的两条边界;以所述两条边界为障碍物,生成位于所述两条边界之间的路径区域,所述路径区域内每个栅格具有规避障碍物的初始值。
根据本发明的另一个方面,提供一种路径跟随***,包括:初始化模块,所述初始化模块根据栅格地图获得起点栅格至终点栅格的规划路径和基于规划路径扩展得到的路径区域,并获得路径区域内每个栅格规避障碍物的初始值;训练模块,所述训练模块自起点栅格起遍历获得路径区域内每个栅格基于动作集合中每个动作ai的代价值,包括:获得当前栅格sn执行每个动作ai能到达的下一栅格sn+1的初始值,作为当前栅格sn基于每个动作ai的当前收益Rn;获得每个下一栅格sn+1再执行每个动作ai能到达的再下一栅格sn+2的初始值中的最大值max(Q(sn+1,ai));根据当前收益Rn和最大值max(Q(sn+1,ai))获得当前栅格sn基于每个动作ai的代价值Q(sn,ai)。
优选地,上述的路径跟随***还包括:跟随控制模块,所述跟随控制模块于当前栅格sn执行代价值Q(sn,ai)中最小代价值对应的动作。
根据本发明的一个方面,提供一种电子设备,包括处理器和存储器,存储器用于存储可执行指令,处理器配置为经由执行所述可执行指令来执行上述的路径跟随方法的步骤。
根据本发明的一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的路径跟随方法的步骤。
采用上述技术方案,本发明与现有技术相比的有益效果在于:
在规划路径允许误差范围内建立路径区域,以此为基础进行训练;基于Q-Learning算法对路径区域内每个栅格的代价值进行更新训练,从而能在训练完成后选择代价值最小的动作进行跟随控制。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出本发明实施例中一种路径跟随方法的步骤示意图;
图2示出实施例中获得当前栅格基于每个动作的代价值的步骤示意图;
图3示出实施例中遍历获得每个栅格基于每个动作的代价值的步骤示意图;
图4示出本发明实施例中规划路径和路径区域的示意图;
图5示出本发明实施例中一种路径跟随方法的详细流程图;
图6示出本发明实施例中一种路径跟随***的模块示意图;
图7示出本发明实施例中一种电子设备的示意图;
图8示出本发明实施例中一种计算机可读存储介质的示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的实施方式。相反,提供这些实施方式使得本发明将全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的结构,因而将省略对它们的重复描述。
本发明通过强化学***均曲率作为参照的路径跟随进行优化,解决复杂路径无法准确跟随的问题。
参照图1所示,在本发明的一个实施例中,路径跟随方法包括:
S10根据栅格地图,获得起点栅格至终点栅格的规划路径和基于规划路径扩展得到的路径区域,并获得路径区域内每个栅格规避障碍物的初始值;S20自起点栅格起遍历获得路径区域内每个栅格基于动作集合中每个动作ai的代价值。
以基于规划路径扩展得到的路径区域为基础,遍历获得该路径区域内每个栅格基于每个动作ai的代价值,以供路径跟随时选择最优动作。
在一个实施例中,路径跟随的控制方式为,S30于当前栅格sn执行代价值Q(sn,ai)中最小代价值对应的动作。具体来说,路径跟随时自起点栅格起在每个当前栅格sn执行代价值Q(sn,ai)中最小代价值对应的动作,如此循环实现以最小的代价,最优的动作在路径区域内跟随规划路径,至到达终点栅格。
参照图2所示,在优选的实施方式中,步骤S20包括:S221获得当前栅格sn执行每个动作ai能到达的下一栅格sn+1的初始值,作为当前栅格sn基于每个动作ai的当前收益Rn;S222获得每个下一栅格sn+1再执行每个动作ai能到达的再下一栅格sn+2的初始值中的最大值max(Q(sn+1,ai));S223根据当前收益Rn和最大值max(Q(sn+1,ai))获得当前栅格sn基于每个动作ai的代价值Q(sn,ai)。其中,当前栅格sn可以是路径区域内的任一栅格。下一栅格sn+1不一定与当前栅格sn相邻,而是自当前栅格sn执行动作集合中的某一动作能到达的栅格。自当前栅格sn执行动作集合中的不同动作,能到达的下一栅格sn+1也各不相同。同理,再下一栅格sn+2也不一定与下一栅格sn+1相邻。
进一步的,S223中根据当前收益Rn和最大值max(Q(sn+1,ai))获得代价值Q(sn,ai)的方式为:根据当前栅格sn基于每个动作ai的当前收益Rn,以及当前栅格sn基于每个动作ai的未来收益Wn,获得代价值Q(sn,ai)。未来收益Wn=γ(max(Q(sn+1,ai))),γ为折扣因子,表示牺牲当前收益换取未来收益的程度,0<γ<1。在一个实施例中,γ取值0.8。获得代价值Q(sn,ai)的公式为:Q(sn,ai)=Rn+γ(max(Q(sn+1,ai)))。当前栅格sn以坐标值进行标识,动作ai取自动作集合。
在一个优选的实施方式中,动作集合包括j*k个动作,1≤i≤j*k,j为最小速度至最大速度的区间内j个不同的速度,k为最小角度至最大角度的区间内k个不同的角度。其中,最小速度、最大速度、最小角度、最大角度均是在允许的范围内的限值。角度可以是方向盘转角,即方向盘相对于原位的转角。为实现精确控制,可以对最小速度至最大速度的区间进行j等分,使j个不同的速度等差递增,同理对最小角度至最大角度的区间进行k等分,使k个不同的角度等差递增,如此组合形成j*k个动作。
进一步的,按照预设频率执行动作集合中的每个动作ai,便于精确控制。该预设频率例如为80HZ。
采用上述任意实施例的方式,以栅格s1为当前栅格sn举例,获得栅格s1基于动作集合中某一动作a1的代价值Q(s1,a1)的方式为:首先获得栅格s1执行动作a1到达的栅格s2的初始值,作为栅格s1基于动作a1的当前收益R1;然后获得栅格s2执行动作集合中每个动作ai能到达的各个栅格s3的初始值中的最大值max(Q(s2,ai));最后根据当前收益R1和max(Q(s2,ai))来获得栅格s1基于动作a1的代价值Q(s1,a1)。类似地,可以获得栅格s1基于每个动作ai的代价值Q(s1,ai)。同理,自起点栅格起,路径区域内的每个当前栅格sn基于每个动作ai的代价值Q(sn,ai)均能依此遍历获得。
参照图3所示,遍历过程中具体的循环方式为:S21自起点栅格起执行动作集合中的一动作到达当前栅格sn。S22获得当前栅格sn基于每个动作ai的代价值Q(sn,ai),例如采用上述实施例中S221至S223的方式获得Q(sn,ai)。以及S23将当前栅格sn作为起点栅格进行循环,从而遍历获得路径区域内每个栅格基于每个动作ai的代价值。举例来说,获得某个栅格(如s11)基于每个动作ai的代价值Q(s11,ai)后,该栅格s11随机执行动作集合中的某个动作到达另一栅格(如s22),再获得栅格s22基于每个动作ai的代价值Q(s22,ai);然后栅格s22随机执行动作集合中的某个动作到达栅格s33…如此循环,直至遍历获得路径区域内每个栅格基于每个动作ai的代价值。
在遍历获得代价值的过程中,还可进一步包括检测是否触碰障碍物的步骤,若触碰障碍物则结束本次动作,重新开始遍历,避免获得的代价值出错。第一种检测方式为,当到达当前栅格sn,开始获得当前栅格sn基于每个动作ai的当前收益Rn之前,先检测当前栅格sn是否位于路径区域内,可以通过当前栅格sn的坐标值进行判定;若当前栅格sn位于路径区域内则表示本次动作有效,因此继续执行获得当前收益Rn的步骤,若当前栅格sn超出了路径区域的范围,则表示本次遍历无效,撞到了障碍物,因此自起点栅格起重新遍历,即返回起点栅格开启新一轮的遍历。第二种检测方式为,在遍历获得代价值的过程中,实时检测经过的栅格位置,此处所指的“经过的栅格位置”并不限于按照预设频率执行动作所到达的各个当前栅格sn,而是在执行动作的过程中所经过的各个栅格,实现实时检测而非如上述按照预设频率检测。若经过的栅格位置位于路径区域内则继续整个过程,当经过的栅格位置超出路径区域则返回起点栅格重新开启新一轮的遍历。类似地,还可采用其他检测方式,此处不再赘述。
此处列举的任意检测方式可与上述任意实施例所述的路径跟随方法进行结合,使得在遍历获得路径区域内每个栅格基于每个动作ai的代价值的过程中,保证每次获得代价值的步骤均有效。
进一步的,S10根据栅格地图获得起点栅格至终点栅格的规划路径后,基于规划路径扩展得到路径区域的步骤包括:根据代价地图获得栅格地图的自由移动区域,在自由移动区域中自规划路径向两侧扩展预设距离,生成位于规划路径的两侧与规划路径相平行的两条边界;以两条边界为障碍物,生成位于两条边界之间的路径区域,路径区域内每个栅格具有规避障碍物的初始值。
具体来说,代价地图(Costmap)会根据激光雷达的点云数据建立基于栅格地图的代价地图,根据点云数据的不同分布,整个栅格地图分为障碍物区域、自由移动区域和未知区域三部分。由路径规划算法(如A*算法)得出的自起点栅格至终点栅格的规划路径均在栅格地图中的自由移动区域范围内。参照图4所示,例如获得了自起点栅格S1至终点栅格S100的规划路径10。然后在自由移动区域(规划路径10及后续获得的路径区域均位于自由移动区域内,图中未标示出自由移动区域的边界)内,在规划路径10的两侧与规划路径10距离δ发布点云数据(Point Cloud),形成与规划路径10相平行的两条平行路径11。这两条由点云数据组成的平行路径11经过代价地图处理后形成障碍物,进而在自由移动区域内生成位于两条平行路径11之间的路径区域,该两条平行路径11即被处理为路径区域的边界。其中,路径区域即图中位于加粗黑线所示的两条平行路径11之间的区域,该路径区域内每个栅格具有规避障碍物(障碍物即图中加粗黑线所标示的两条平行路径11)的初始值。越靠近障碍物,即平行路径11的栅格,初始值越大,越接近规划路径10的栅格,初始值越小。
后续获得每个栅格基于每个动作ai的代价值的过程以路径区域为有效区域,路径跟随需要沿着规划路径10进行移动,允许的跟随误差为δ,当偏离规划路径10触碰到作为障碍物的平行路径11时,即视为超出了允许的跟随误差δ,偏离了有效的路径区域。其中跟随误差δ可以在不同的实施方式中根据需要进行设置,例如设为1cm。
下面结合一个实施例阐述路径跟随方法的具体流程。参照图5所示,本实施例中路径跟随方法包括三个阶段,初始化阶段S10、代价值更新阶段S20和跟随控制阶段S30。其中,初始化阶段S10、代价值更新阶段S20和跟随控制阶段S30分别对应上述实施例中的步骤S10、步骤S20和步骤S30,具体的步骤及其子步骤的布局可以根据需要进行选择,本实施例只是其中一个优选的实施方式。
在初始化阶段S10,主要是对地图信息进行处理。首先加载栅格地图、激光雷达获取的点云数据和路径规划算法得出的规划路径。然后通过代价地图对栅格地图进行代价值的处理,将栅格地图分为障碍物区域、自由移动区域和未知区域。最后在自由移动区域内在规划路径两侧发布点云数据,生成新的自由移动区域,即路径区域,以此约束无人车在路径跟随过程中的可容忍偏差。路径区域内每个栅格具有规避障碍物的初始值。
在代价值更新阶段S20,结合Q-Learning算法更新每个栅格的代价值。将初始化阶段S10形成的路径区域每个栅格的坐标作为Q-Learning算法的状态值s。对无人车运动速度在0m/s至2m/s区间内进行10等分,方向盘转角在0°至180°区间内进行10等分,将运动速度和方向盘转角进行组合,将形成的动作作为Q-Learning算法的动作值a。更新过程中,将每个栅格的初始值作为Q-Learning算法的奖惩值,并以路径区域的边界判断一个更新回合是否结束。
具体的更新过程为:首先初始化路径区域内每个栅格的Q值,即为每个栅格的初始值。然后随机选择一个动作,并执行该动作。获得执行动作后到达的当前栅格以及该当前栅格的初始值。之后判断该当前栅格是否在路径区域范围内,若是则更新该当前栅格基于每个动作的代价值,更新过后继续从当前栅格开始进行动作的选择以及整个更新过程。若否,即检测撞到了路径区域的边界,则返回起点栅格,相当于返回整个代价值更新阶段S20的起始步骤,进入下一回合的训练。采用上述方式,对所走过的栅格进行不同动作的Q值更新。
其中,更新当前栅格基于每个动作的代价值的公式为:Q(sn,ai)=Rn+γ(max(Q(sn+1,ai)))。s表示状态state,即栅格的坐标值;sn即当前栅格的坐标值。a表示从当前状态下采取的行动action,即在动作集合中选择的动作;ai即当前栅格sn所要执行的各个动作。Q(sn,ai)即当前栅格sn基于每个动作ai的代价值。Rn是即本次行动的奖励Reward,以动作a1为例,以当前栅格sn执行动作a1能到达的下一栅格sn+1的初始值作为本次行动的奖励,即当前栅格sn基于动作a1的当前收益Rn。Q(sn+1,ai)为当前栅格sn执行动作a1所到达的下一栅格sn+1再执行每个动作ai能到达的各个再下一栅sn+2的初始值,选取其中最大的一初始值,乘以折扣因子γ,作为当前栅格sn基于动作a1的未来收益。将当前栅格sn基于动作a1的当前收益Rn与当前栅格sn基于动作a1的未来收益γ(max(Q(sn+1,ai)))相加,作为当前栅格sn基于动作a1的代价值Q(sn,a1)。
同理,通过Q-Learning算法更新每个栅格基于动作集合中每个动作的代价值,最后输出路径区域更新后的代价地图,更新后的代价地图中每个栅格具有基于每个动作的规避障碍物的代价值。
在跟随控制阶段S30,按照路径区域内更新后的代价地图,无人车能够选择最优的动作对规划路径进行跟随。具体来说,是自起点栅格起,在每个当前栅格sn执行代价值Q(sn,ai)中最小代价值对应的动作,即能实现对规划路径的准确跟随。
上述实施例改善了传统控制方法依赖调参的问题和优化强化学***均曲率作为状态输入时不能覆盖所有路径的问题。以代价地图生成的路径区域为基础,通过强化学习的自主学习过程,对路径区域内每个栅格基于每个动作的代价值进行更新,以便路径跟随时选择代价值最小的动作进行跟随。
本发明的实施例还提供一种路径跟随***,参照图6所示,路径跟随***60包括:初始化模块601,用于根据栅格地图获得起点栅格至终点栅格的规划路径和基于规划路径扩展得到的路径区域,并获得路径区域内每个栅格规避障碍物的初始值;代价值更新模块602,用于自起点栅格起遍历获得路径区域内每个栅格基于动作集合中每个动作ai的代价值,包括:获得当前栅格sn执行每个动作ai能到达的下一栅格sn+1的初始值,作为当前栅格sn基于每个动作ai的当前收益Rn;获得每个下一栅格sn+1再执行每个动作ai能到达的再下一栅格sn+2的初始值中的最大值max(Q(sn+1,ai));根据当前收益Rn和最大值max(Q(sn+1,ai))获得当前栅格sn基于每个动作ai的代价值Q(sn,ai)。
进一步的,路径跟随***60还包括:跟随控制模块603,用于于当前栅格sn执行代价值Q(sn,ai)中最小代价值对应的动作。
其中,初始化模块601、代价值更新模块602和跟随控制模块603可分别用于执行上述各个实施例的步骤/阶段S10、步骤/阶段S20和步骤/阶段S30,以在规划路径的允许误差范围内建立路径区域作为约束,使用Q-Learning算法对路径区域内栅格代价值进行更新,并于更新后在每个栅格选择代价值最小的动作对规划路径进行跟随控制。
本发明实施例还提供一种电子设备,包括处理器和存储器,存储器中存储有可执行指令,处理器被配置为经由执行可执行指令来执行上述实施例中的路径跟随方法的步骤。
如上所述,本发明的电子设备能够在规划路径允许误差范围内建立路径区域,以此为基础进行训练;并基于Q-Learning算法对路径区域内每个栅格基于每个动作的代价值进行更新训练,从而能在训练完成后在每个栅格选择代价值最小的动作对规划路径进行跟随控制。
图7是本发明实施例中电子设备的结构示意图,应当理解的是,图7仅仅是示意性地绘示出各个模块,这些模块可以是虚拟的软件模块或实际的硬件模块,这些模块的合并、拆分及其余模块的增加都在本发明的保护范围之内。
所属技术领域的技术人员能够理解,本发明的各个方面可以实现为***、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“平台”。
如图7所示,电子设备700以通用计算设备的形式表现。电子设备700的组件可以包括但不限于:至少一个处理单元710、至少一个存储单元720、连接不同平台组件(包括存储单元720和处理单元710)的总线730、显示单元740等。
其中,存储单元存储有程序代码,程序代码可以被处理单元710执行,使得处理单元710执行本说明书上述路径跟随方法部分描述的根据本发明各种示例性实施方式的步骤。例如,处理单元710可以分别执行如图1-3及图5所示的步骤。
存储单元720可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)7201和/或高速缓存存储单元7202,还可以进一步包括只读存储单元(ROM)7203。
存储单元720还可以包括具有一组(至少一个)程序模块7205的程序/实用工具7204,这样的程序模块7205包括但不限于:操作***、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线730可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、***总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备700也可以与一个或多个外部设备800(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备700交互的设备通信,和/或与使得该电子设备700能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接750进行。并且,电子设备700还可以通过网络适配器760与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。网络适配器760可以通过总线730与电子设备700的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备700使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID***、磁带驱动器以及数据备份存储平台等。
本发明实施例还提供一种计算机可读存储介质,用于存储程序,程序被执行时实现上述实施例的路径跟随方法的步骤。在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在终端设备上运行时,程序代码用于使终端设备执行本说明书上述路径跟随方法部分描述的各种示例性实施方式的步骤。
如上所述,本发明的计算机可读存储介质能够在规划路径允许误差范围内建立路径区域,以此为基础进行训练;并基于Q-Learning算法对路径区域内每个栅格基于每个动作的代价值进行更新训练,从而能在训练完成后在每个栅格选择代价值最小的动作对规划路径进行跟随控制。
图8是本发明的计算机可读存储介质的结构示意图。参考图8所示,描述了根据本发明的实施方式的用于实现上述方法的程序产品900,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。
程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN)连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
Claims (13)
1.一种路径跟随方法,其特征在于,包括以下步骤:
根据栅格地图,获得起点栅格至终点栅格的规划路径和基于规划路径扩展得到的路径区域,并获得路径区域内每个栅格规避障碍物的初始值;
其中,基于规划路径扩展得到路径区域的步骤包括:根据代价地图获得栅格地图的自由移动区域,在自由移动区域中自规划路径向两侧扩展预设距离,生成位于规划路径的两侧且与规划路径相平行的两条边界;以两条边界为障碍物,生成位于两条边界之间的路径区域,路径区域内每个栅格具有规避障碍物的初始值;
自起点栅格起遍历获得路径区域内每个栅格基于动作集合中每个动作ai的代价值,包括:
获得当前栅格sn执行每个动作ai能到达的下一栅格sn+1的初始值,作为当前栅格sn基于每个动作ai的当前收益Rn;
获得每个下一栅格sn+1再执行每个动作ai能到达的再下一栅格sn+2的初始值中的最大值max(Q(sn+1,ai));
根据当前收益Rn和最大值max(Q(sn+1,ai))获得当前栅格sn基于每个动作ai的代价值Q(sn,ai)。
2.如权利要求1所述的路径跟随方法,其特征在于,还包括步骤:
于当前栅格sn执行代价值Q(sn,ai)中最小代价值对应的动作。
3.如权利要求1所述的路径跟随方法,其特征在于,获得代价值Q(sn,ai)的步骤中,根据当前收益Rn和当前栅格sn基于每个动作ai的未来收益Wn获得代价值Q(sn,ai),未来收益Wn=γ(max(Q(sn+1,ai))),γ为折扣因子,表示牺牲当前收益换取未来收益的程度,0<γ<1。
4.如权利要求3所述的路径跟随方法,其特征在于,获得代价值Q(sn,ai)的公式为:Q(sn,ai)=Rn+γ(max(Q(sn+1,ai)))。
5.如权利要求1所述的路径跟随方法,其特征在于,获得代价值Q(sn,ai)的步骤还包括:
检测当前栅格sn是否位于所述路径区域内,若是则执行获得当前收益Rn的步骤,若否则自起点栅格起重新遍历。
6.如权利要求1所述的路径跟随方法,其特征在于,遍历获得路径区域内每个栅格基于每个动作ai的代价值的步骤还包括:
实时检测经过的栅格位置,当经过的栅格位置超出路径区域,则自起点栅格起重新遍历。
7.如权利要求1所述的路径跟随方法,其特征在于,所述自起点栅格起遍历获得路径区域内每个栅格基于每个动作ai的代价值的步骤包括:
自起点栅格起执行动作集合中的任一动作到达当前栅格sn;
获得当前栅格sn基于每个动作ai的代价值Q(sn,ai);以及
将当前栅格sn作为起点栅格,遍历获得路径区域内每个栅格基于每个动作ai的代价值。
8.如权利要求1所述的路径跟随方法,其特征在于,按照预设频率执行动作集合中的每个动作ai。
9.如权利要求1所述的路径跟随方法,其特征在于,所述动作集合中包括j*k个动作,1≤i≤j*k,j为最小速度至最大速度的区间内j个不同的速度,k为最小角度至最大角度的区间内k个不同的角度。
10.一种路径跟随***,其特征在于,包括:
初始化模块,所述初始化模块根据栅格地图获得起点栅格至终点栅格的规划路径和基于规划路径扩展得到的路径区域,并获得路径区域内每个栅格规避障碍物的初始值;
其中,所述初始化模块基于规划路径扩展得到路径区域,包括:根据代价地图获得栅格地图的自由移动区域,在自由移动区域中自规划路径向两侧扩展预设距离,生成位于规划路径的两侧且与规划路径相平行的两条边界;以两条边界为障碍物,生成位于两条边界之间的路径区域,路径区域内每个栅格具有规避障碍物的初始值;
训练模块,所述训练模块自起点栅格起遍历获得路径区域内每个栅格基于动作集合中每个动作ai的代价值,包括:
获得当前栅格sn执行每个动作ai能到达的下一栅格sn+1的初始值,作为当前栅格sn基于每个动作ai的当前收益Rn;
获得每个下一栅格sn+1再执行每个动作ai能到达的再下一栅格sn+2的初始值中的最大值max(Q(sn+1,ai));
根据当前收益Rn和最大值max(Q(sn+1,ai))获得当前栅格sn基于每个动作ai的代价值Q(sn,ai)。
11.如权利要求10所述的路径跟随***,其特征在于,还包括:
跟随控制模块,所述跟随控制模块于当前栅格sn执行代价值Q(sn,ai)中最小代价值对应的动作。
12.一种电子设备,包括处理器和存储器,其特征在于,所述存储器用于存储可执行指令,所述处理器配置为经由执行所述可执行指令来执行权利要求1~9任一项所述的路径跟随方法的步骤。
13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1~9任一项所述的路径跟随方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811191784.5A CN110362070B (zh) | 2018-10-12 | 2018-10-12 | 路径跟随方法、***、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811191784.5A CN110362070B (zh) | 2018-10-12 | 2018-10-12 | 路径跟随方法、***、电子设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110362070A CN110362070A (zh) | 2019-10-22 |
CN110362070B true CN110362070B (zh) | 2022-09-06 |
Family
ID=68214767
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811191784.5A Active CN110362070B (zh) | 2018-10-12 | 2018-10-12 | 路径跟随方法、***、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110362070B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113124849B (zh) * | 2019-12-30 | 2023-11-14 | 广东博智林机器人有限公司 | 一种室内路径规划方法、装置、电子设备及存储介质 |
CN111442777A (zh) * | 2020-04-02 | 2020-07-24 | 东软睿驰汽车技术(沈阳)有限公司 | 路径规划方法、装置、电子设备及存储介质 |
CN111781925A (zh) * | 2020-06-22 | 2020-10-16 | 北京海益同展信息科技有限公司 | 路径规划方法、装置、机器人及存储介质 |
CN114167851B (zh) * | 2020-09-10 | 2024-04-30 | 北京极智嘉科技股份有限公司 | 机器人以及机器人行进方法 |
CN113607161B (zh) * | 2021-09-30 | 2022-03-18 | 深圳市普渡科技有限公司 | 机器人导航路径宽度获取***、方法、机器人及存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8224516B2 (en) * | 2009-12-17 | 2012-07-17 | Deere & Company | System and method for area coverage using sector decomposition |
CN106295164B (zh) * | 2016-08-05 | 2018-12-04 | 中国兵器科学研究院 | 一种路径规划方法及电子设备 |
CN107480638B (zh) * | 2017-08-16 | 2020-06-30 | 北京京东尚科信息技术有限公司 | 车辆避障方法、控制器、装置和车辆 |
CN108549378B (zh) * | 2018-05-02 | 2021-04-20 | 长沙学院 | 一种基于栅格地图的混合路径规划方法和*** |
CN108549388A (zh) * | 2018-05-24 | 2018-09-18 | 苏州智伟达机器人科技有限公司 | 一种基于改进a星策略的移动机器人路径规划方法 |
-
2018
- 2018-10-12 CN CN201811191784.5A patent/CN110362070B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110362070A (zh) | 2019-10-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110362070B (zh) | 路径跟随方法、***、电子设备和存储介质 | |
CN110260867B (zh) | 一种机器人导航中位姿确定、纠正的方法、设备及装置 | |
Zhang et al. | 2D Lidar‐Based SLAM and Path Planning for Indoor Rescue Using Mobile Robots | |
US10823575B2 (en) | Reference line smoothing method using piecewise spiral curves with weighted geometry costs | |
US20190235516A1 (en) | Path and speed optimization fallback mechanism for autonomous vehicles | |
US10429849B2 (en) | Non-linear reference line optimization method using piecewise quintic polynomial spiral paths for operating autonomous driving vehicles | |
WO2020237890A1 (zh) | 一种速度规划方法、装置、电子设备及存储介质 | |
EP3327464A1 (en) | Algorithm and infrastructure for robust and efficient vehicle localization | |
WO2021169993A1 (zh) | 自动驾驶地图的构建方法及相关装置 | |
CN109974699B (zh) | 一种机器人及其地图自主探索方法和装置 | |
JP2019135145A (ja) | 自動運転車両のための走行軌跡生成方法、システム及び機械可読媒体 | |
CN110647151A (zh) | 坐标转换方法及装置、计算机可读存储介质、电子设备 | |
CN114829225A (zh) | 自主载具的条件行为预测 | |
JP2022081613A (ja) | 自動運転特徴の特定方法、装置、設備、媒体及びコンピュータプログラム | |
CN116520847A (zh) | 路径规划方法、装置、移动机器人、电子设备及存储介质 | |
CN113848893A (zh) | 机器人导航方法、装置、设备及存储介质 | |
CN113848899A (zh) | 车辆横向控制方法、装置、设备及存储介质 | |
CN114995464B (zh) | 局部路径规划的控制方法及装置、机器人、存储介质 | |
CN113835099B (zh) | 点云地图更新方法及装置、存储介质、电子设备 | |
CN114741790A (zh) | 车辆路径跟踪控制方法、装置、存储介质及电子设备 | |
CN114571460A (zh) | 机器人控制方法、装置及存储介质 | |
CN113799798A (zh) | 车辆的行驶轨迹的确定方法、装置、电子设备和存储器 | |
US12038753B2 (en) | Speed planning method and apparatus, electronic device and storage medium | |
CN114506343B (zh) | 轨迹规划方法、装置、设备、存储介质及自动驾驶车辆 | |
CN112445242A (zh) | 航线的跟踪方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |