CN112729326B - 运动智能体轨迹规划方法、装置、存储介质和电子设备 - Google Patents

运动智能体轨迹规划方法、装置、存储介质和电子设备 Download PDF

Info

Publication number
CN112729326B
CN112729326B CN202011538659.4A CN202011538659A CN112729326B CN 112729326 B CN112729326 B CN 112729326B CN 202011538659 A CN202011538659 A CN 202011538659A CN 112729326 B CN112729326 B CN 112729326B
Authority
CN
China
Prior art keywords
node
time
map
current node
time period
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
Application number
CN202011538659.4A
Other languages
English (en)
Other versions
CN112729326A (zh
Inventor
冯酉南
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Yikong Zhijia Technology Co Ltd
Original Assignee
Beijing Yikong Zhijia Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Yikong Zhijia Technology Co Ltd filed Critical Beijing Yikong Zhijia Technology Co Ltd
Priority to CN202011538659.4A priority Critical patent/CN112729326B/zh
Publication of CN112729326A publication Critical patent/CN112729326A/zh
Application granted granted Critical
Publication of CN112729326B publication Critical patent/CN112729326B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/3407Route searching; Route guidance specially adapted for specific applications
    • G01C21/343Calculating itineraries, i.e. routes leading from a starting point to a series of categorical destinations using a global route restraint, round trips, touristic trips
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/3446Details of route searching algorithms, e.g. Dijkstra, A*, arc-flags, using precalculated routes

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Automation & Control Theory (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本发明提供了一种运动智能体轨迹规划方法、装置、存储介质和电子设备,涉及轨迹规划技术领域。每次取开放队列中期望最小的节点作为当前节点,判断是否满足到达目标;若不满足,对当前节点的空间状态向多个运动方向进行拓展;再计算当前节点的停留允许时间段;进而计算期望到达时间段;以此构建新节点存入开放队列,重复执行,直至到达目标,则根据父节点从最终节点向前回溯找到起始节点,将回溯序列反转,提取对应的空间状态与时刻信息,输出最终轨迹。将时间维度考虑到规划过程中,将静态环境中的规划提升到动态环境中的规划。极大的降低了搜索空间的复杂度,结果更接近最优解。不需要提前在环境中预设节点与轨迹,在不同环境中部署迅速。

Description

运动智能体轨迹规划方法、装置、存储介质和电子设备
技术领域
本发明涉及轨迹规划技术领域,具体涉及一种运动智能体轨迹规划方法、装置、存储介质和电子设备。
背景技术
无人车,无人机等运动智能体的轨迹规划是自动驾驶系统重要的组成部分,关于轨迹规划的研究大多继承自机器人轨迹规划的研究成果。在静态环境中的轨迹规划算法已经相当完备,但在动态环境中的轨迹规划仍没有很好的解决方案。目前通常的作法是全局轨迹规划考虑静态环境,在执行过程中考虑动态环境,通过局部轨迹规划处理动态环境中的变化。但上述方式规划出的最终轨迹往往是非优的,且有可能陷入局部最优甚至死锁。也有将动态障碍物在一段时间内的拖影定义成静态障碍物进行规划的,但此方法有可能无解且解一般都不是最优的。
在自动仓储领域,通常采用预先设定轨迹、铺设地磁线等手段来达到多目标的无冲突规划。
不同于仓库环境,矿区环境变化迅速,预设轨迹的复用率极低,也不具备铺设地磁线的条件。交通管制,时间窗口管理等手段可以一定程度上缓解无人驾驶车辆多车作业的相互冲突问题,但并不能充分利用时间与空间,效率也明显低于人工。亟需一种考虑动态目标的轨迹规划算法实现多目标协同规划。
发明内容
(一)解决的技术问题
针对现有技术的不足,本发明提供了一种运动智能体轨迹规划方法、装置、存储介质和电子设备,解决了现有算法通过预先设定轨迹、铺设地磁线的方法无法适用于矿区的问题。
(二)技术方案
为实现以上目的,本发明通过以下技术方案予以实现:
第一方面,提供了一种运动智能体轨迹规划方法,该方法包括:
S1、获取目标e的空间状态se以及包含运动智能体空间状态、节点时刻和父节点的初始节点X0,并将X0存入空的开放队列中;其中,
X=(s,t,Xpre)表示节点,其中:
s表示X的空间状态,包含运动智能体的二维坐标(x,y)和朝向
t表示节点X的时刻;
Xpre表示节点X的父节点;
所述初始节点X0=(s0,t0,null),其中:
s0表示运动智能体初始节点的空间状态;
t0表示规划开始时间;
null表示初始节点的父节点为空;
S2、基于栅格化的地图,将其他对象的轨迹投影到地图内的栅格中,计算地图内的所有栅格的地图有效时间Tmap,地图有效时间Tmap由若干时间段(tl,tr)组成;其中,
所述其它对象为任意几何外形与轨迹可知的物体;
所述轨迹为由多个有序的空间状态与对应速度构成的集合;
tl和tr分别表示有效时间段在时间轴上的左边界和右边界;
S3、取开放队列中期望最小的节点作为当前节点Xc,判断当前节点Xc是否满足到达se或开放队列为空;
若不满足,执行S4~S6;若满足,执行S7;
其中,所述期望是从X0到达当前节点Xc的耗时加上从当前节点Xc到达目标e的耗时估计;
S4、对当前节点Xc的空间状态sc向多个运动方向进行拓展,得到由多个拓展后的空间状态sn构成的集合SN
S5、基于当前节点Xc的空间状态sc以及运动智能体位于sc时所占栅格对应的若干个地图有效时间Tmap,计算当前节点的停留允许时间段Tstop=(tstop1,tstop2);
S6、基于停留允许时间段Tstop和从sc移动到sn的耗时Δtn,计算期望到达时间段Tdesire=(tdesire1,tdesire2);并基于sn、Tdesire构建新节点Xn,且标记Xn的父节点为Xc;再判断Xn是否在闭合队列中,若不在闭合队列中,则将Xn存入开放队列,将当前节点Xc存入闭合队列;返回S3,以更新当前节点Xc
S7、若当前节点Xc到达se,则根据父节点从最终节点Xf向前回溯,直至找到起始节点X0,将回溯序列反转,得到从起始节点X0到最终节点Xf的有序集合,根据每个节点对应的空间状态与时刻信息输出最终轨迹;
若开放队列为空,则输出规划执行失败。
进一步的,所述S4、对当前节点Xc的空间状态sc向多个运动方向进行拓展,得到由多个拓展后的空间状态sn构成的集合SN包括:
基于sc分别向前、向后以多个方向盘转角进行的运动递推,并去除与地图边界发生碰撞的空间状态,得到SN=[sn1,sn2,...]。
进一步的,所述S5、基于当前节点Xc的空间状态sc以及运动智能体位于sc时所占栅格对应的若干个地图有效时间Tmap,计算当前节点的停留允许时间段Tstop=(tstop1,tstop2),包括:
获取运动智能体位于sc时所占栅格对应的地图有效时间的集合Tmap=[tmap1,tmap2,...,tmapi,...];
计算所述集合中地图有效时间的交集,得到交集时间段的集合Tc=[tc1,tc2,...,tci,...];
获取当前节点Xc的时刻tc作为tstop1,并向时间轴右侧探索到首个交集时间段的右边界作为tstop2;得到停留允许时间段Tstop=(tstop1,tstop2)。
进一步的,所述S6、基于停留允许时间段Tstop和从sc移动到sn的耗时Δtn,计算期望到达时间段Tdesire=(tdesire1,tdesire2);并基于sn、Tdesire构建新节点Xn,且标记Xn的父节点为Xc,再判断Xn是否在闭合队列中,若不在闭合队列中,则将Xn存入开放队列,将当前节点Xc存入闭合队列包括:
获取从sc移动到各个sn的耗时Δtn
计算期望到达时间段Tdesire=(tdesire1,tdesire2),其中,tdesire1=tstop1+Δtn,tdesire2=tstop2+Δtn
计算各个sn对应的期望到达时间段Tdesire与各个交集时间段tci的交集的左边界,取第一个左边界为tn;若tn存在,则记为新节点Xn=(sn,tn,Xc),并判断Xn是否在闭合队列中,若不在闭合队列中,则将Xn存入开放队列,将当前节点Xc存入闭合队列。
第二方面,一种运动智能体轨迹规划装置,该装置包括:
初始化模块,用于获取目标e的空间状态se以及包含运动智能体空间状态、节点时刻和父节点的初始节点X0,并将X0存入空的开放队列中;其中,
X=(s,t,Xpre)表示节点,其中:
s表示X的空间状态,包含运动智能体的二维坐标(x,y)和朝向
t表示节点X的时刻;
Xpre表示节点X的父节点;
所述初始节点X0=(s0,t0,null),其中:
s0表示运动智能体初始节点的空间状态;
t0表示规划开始时间;
null表示初始节点的父节点为空;
地图有效时间计算模块,用于基于栅格化的地图,将其他对象的轨迹投影到地图内的栅格中,计算地图内的所有栅格的地图有效时间Tmap,用于表示栅格未被占用的若干个有效时间段(tl,tr);其中,
所述其它对象为任意几何外形与轨迹可知的物体;
所述轨迹为由多个有序的空间状态与对应速度构成的集合;
tl和tr分别表示有效时间段在时间轴上的左边界和右边界;
轨迹规划模块,用于重复执行步骤S3-S6,直至当前节点Xc满足到达目标se或开放队列为空,执行S7;且S3-S7包括:
S3、取开放队列中期望最小的节点作为当前节点Xc,判断当前节点Xc是否满足到达se或开放队列为空;
若不满足,执行S4~S6;若满足,执行S7;
其中,所述期望是从X0到达当前节点Xc的耗时加上从当前节点Xc到达目标e的耗时估计;
S4、对当前节点Xc的空间状态sc向多个运动方向进行拓展,得到由多个拓展后的空间状态sn构成的集合SN
S5、基于当前节点Xc的空间状态sc以及运动智能体位于sc时所占栅格对应的若干个地图有效时间Tmap,计算当前节点的停留允许时间段Tstop=(tstop1,tstop2);
S6、基于停留允许时间段Tstop和从sc移动到sn的耗时Δtn,计算期望到达时间段Tdesire=(tdesire1,tdesire2);并基于sn、Tdesire构建新节点Xn,且标记Xn的父节点为Xc;再判断Xn是否在闭合队列中,若不在闭合队列中,则将Xn存入开放队列,将当前节点Xc存入闭合队列;返回S3,以更新当前节点Xc
S7、若当前节点Xc到达se,则根据父节点从最终节点Xf向前回溯,直至找到起始节点X0,将回溯序列反转,得到从起始节点X0到最终节点Xf的有序集合,根据每个节点对应的空间状态与时刻信息输出最终轨迹;
若开放队列为空,则输出规划执行失败。
进一步的,所述轨迹规划模块对当前节点Xc的空间状态sc向多个运动方向进行拓展,得到由多个拓展后的空间状态sn构成的集合SN包括:
基于sc分别向前、向后以多个方向盘转角进行的运动递推,并去除与地图边界发生碰撞的空间状态,得到SN=[sn1,sn2,...]。
进一步的,所述轨迹规划模块基于当前节点Xc的空间状态sc以及运动智能体位于sc时所占栅格对应的地图有效时间Tmap,计算当前节点的停留允许时间段Tstop=(tstop1,tstop2)包括:
获取运动智能体位于Sc时所占栅格对应的地图有效时间的集合Tmap=[tmap1,tmap2,...,tmapi,...];
计算所述集合中地图有效时间的交集,得到交集时间段的集合Tc=[tc1,tc2,...,tci,...];
获取当前节点Xc的时刻tc作为tstop1,并向时间轴右侧探索到首个交集时间段的右边界作为tstop2;得到停留允许时间段Tstop=(tstop1,tstop2)。
进一步的,所述轨迹规划模块基于停留允许时间段Tstop和从sc移动到sn的耗时Δtn,计算期望到达时间段Tdesire=(tdesire1,tdesire2);并基于sn、Tdesire构建新节点Xn,再判断Xn是否在闭合队列中,若不在闭合队列中,且标记Xn的父节点为Xc,则将Xn存入开放队列包括:
获取从sc移动到各个sn的耗时Δtn
计算期望到达时间段Tdesire=(tdesire1,tdesire2),其中,tdesire1=tstop1+Δtn,tdesire2=tstop2+Δtn
计算各个sn对应的期望到达时间段Tdesire与各个交集时间段tci的交集的左边界,取第一个左边界为tn;若tn存在,则记为新节点Xn=(sn,tn,Xc),并判断Xn是否在闭合队列中,若不在闭合队列中,则将Xn存入开放队列,将当前节点Xc存入闭合队列。
第三方面,一种计算机可读存储介质,其存储用于运动智能体轨迹规划的计算机程序,其中,所述计算机程序使得计算机执行如下方法:
S1、获取目标e的空间状态se以及包含运动智能体空间状态、节点时刻和父节点的初始节点X0,并将X0存入空的开放队列中;其中,
X=(s,t,Xpre)表示节点,其中:
s表示X的空间状态,包含运动智能体的二维坐标(x,y)和朝向
t表示节点X的时刻;
Xpre表示节点X的父节点;
所述初始节点X0=(s0,t0,null),其中:
s0表示运动智能体初始节点的空间状态;
t0表示规划开始时间;
null表示初始节点的父节点为空;
S2、基于栅格化的地图,将其他对象的轨迹投影到地图内的栅格中,计算地图内的所有栅格的地图有效时间Tmap,地图有效时间Tmap由若干时间段(tl,tr)组成;其中,
所述其它对象为任意几何外形与轨迹可知的物体;
所述轨迹为由多个有序的空间状态与对应速度构成的集合;
tl和tr分别表示有效时间段在时间轴上的左边界和右边界;
S3、取开放队列中期望最小的节点作为当前节点Xc,判断当前节点Xc是否满足到达se或开放队列为空;
若不满足,执行S4~S6;若满足,执行S7;
其中,所述期望是从X0到达当前节点Xc的耗时加上从当前节点Xc到达目标e的耗时估计;
S4、对当前节点Xc的空间状态sc向多个运动方向进行拓展,得到由多个拓展后的空间状态sn构成的集合SN
S5、基于当前节点Xc的空间状态sc以及运动智能体位于sc时所占栅格对应的若干个地图有效时间Tmap,计算当前节点的停留允许时间段Tstop=(tstop1,tstop2);
S6、基于停留允许时间段Tstop和从sc移动到sn的耗时Δtn,计算期望到达时间段Tdesire=(tdesire1,tdesire2);并基于sn、Tdesire构建新节点Xn,且标记Xn的父节点为Xc;再判断Xn是否在闭合队列中,若不在闭合队列中,则将Xn存入开放队列,将当前节点Xc存入闭合队列;返回S3,以更新当前节点Xc
S7、若当前节点Xc到达se,则根据父节点从最终节点Xf向前回溯,直至找到起始节点X0,将回溯序列反转,得到从起始节点X0到最终节点Xf的有序集合,根据每个节点对应的空间状态与时刻信息输出最终轨迹;
若开放队列为空,则输出规划执行失败。
进一步的,所述S4、对当前节点Xc的空间状态sc向多个运动方向进行拓展,得到由多个拓展后的空间状态sn构成的集合SN包括:
基于sc分别向前、向后以多个方向盘转角进行的运动递推,并去除与地图边界发生碰撞的空间状态,得到SN=[sn1,sn2,...]。
进一步的,所述S5、基于当前节点Xc的空间状态sc以及运动智能体位于sc时所占栅格对应的若干个地图有效时间Tmap,计算当前节点的停留允许时间段Tstop=(tstop1,tstop2),包括:
获取运动智能体位于sc时所占栅格对应的地图有效时间的集合Tmap=[tmap1,tmap2,...,tmapi,...];
计算所述集合中地图有效时间的交集,得到交集时间段的集合Tc=[tc1,tc2,...,tci,...];
获取当前节点Xc的时刻tc作为tstop1,并向时间轴右侧探索到首个交集时间段的右边界作为tstop2;得到停留允许时间段Tstop=(tstop1,tstop2)。
进一步的,所述S6、基于停留允许时间段Tstop和从sc移动到sn的耗时Δtn,计算期望到达时间段Tdesire=(tdesire1,tdesire2);并基于sn、Tdesire构建新节点Xn,且标记Xn的父节点为Xc,再判断Xn是否在闭合队列中,若不在闭合队列中,则将Xn存入开放队列,将当前节点Xc存入闭合队列包括:
获取从sc移动到各个sn的耗时Δtn
计算期望到达时间段Tdesire=(tdesire1,tdesire2),其中,tdesire1=tstop1+Δtn,tdesire2=tstop2+Δtn
计算各个sn对应的期望到达时间段Tdesire与各个交集时间段tci的交集的左边界,取第一个左边界为tn;若tn存在,则记为新节点Xn=(sn,tn,Xc),并判断Xn是否在闭合队列中,若不在闭合队列中,则将Xn存入开放队列,将当前节点Xc存入闭合队列。
第四方面,一种电子设备,包括:
一个或多个处理器;
存储器;以及
一个或多个程序,其中所述一个或多个程序被存储在所述存储器中,并且被配置成由所述一个或多个处理器执行,所述程序包括用于执行如下方法:
S1、获取目标e的空间状态se以及包含运动智能体空间状态、节点时刻和父节点的初始节点X0,并将X0存入空的开放队列中;其中,
X=(s,t,Xpre)表示节点,其中:
s表示X的空间状态,包含运动智能体的二维坐标(x,y)和朝向
t表示节点X的时刻;
Xpre表示节点X的父节点;
所述初始节点X0=(s0,t0,null),其中:
s0表示运动智能体初始节点的空间状态;
t0表示规划开始时间;
null表示初始节点的父节点为空;
S2、基于栅格化的地图,将其他对象的轨迹投影到地图内的栅格中,计算地图内的所有栅格的地图有效时间Tmap,地图有效时间Tmap由若干时间段(tl,tr)组成;其中,
所述其它对象为任意几何外形与轨迹可知的物体;
所述轨迹为由多个有序的空间状态与对应速度构成的集合;
tl和tr分别表示有效时间段在时间轴上的左边界和右边界;
S3、取开放队列中期望最小的节点作为当前节点Xc,判断当前节点Xc是否满足到达se或开放队列为空;
若不满足,执行S4~S6;若满足,执行S7;
其中,所述期望是从X0到达当前节点Xc的耗时加上从当前节点Xc到达目标e的耗时估计;
S4、对当前节点Xc的空间状态sc向多个运动方向进行拓展,得到由多个拓展后的空间状态sn构成的集合SN
S5、基于当前节点Xc的空间状态sc以及运动智能体位于sc时所占栅格对应的若干个地图有效时间Tmap,计算当前节点的停留允许时间段Tstop=(tstop1,tstop2);
S6、基于停留允许时间段Tstop和从sc移动到sn的耗时Δtn,计算期望到达时间段Tdesire=(tdesire1,tdesire2);并基于sn、Tdesire构建新节点Xn,且标记Xn的父节点为Xc;再判断Xn是否在闭合队列中,若不在闭合队列中,则将Xn存入开放队列,将当前节点Xc存入闭合队列;返回S3,以更新当前节点Xc
S7、若当前节点Xc到达se,则根据父节点从最终节点Xf向前回溯,直至找到起始节点X0,将回溯序列反转,得到从起始节点X0到最终节点Xf的有序集合,根据每个节点对应的空间状态与时刻信息输出最终轨迹;
若开放队列为空,则输出规划执行失败。
进一步的,所述S4、对当前节点Xc的空间状态sc向多个运动方向进行拓展,得到由多个拓展后的空间状态sn构成的集合SN包括:
基于sc分别向前、向后以多个方向盘转角进行的运动递推,并去除与地图边界发生碰撞的空间状态,得到SN=[sn1,sn2,...]。
进一步的,所述S5、基于当前节点Xc的空间状态sc以及运动智能体位于sc时所占栅格对应的若干个地图有效时间Tmap,计算当前节点的停留允许时间段Tstop=(tstop1,tstop2),包括:
获取运动智能体位于sc时所占栅格对应的地图有效时间的集合Tmap=[tmap1,tmap2,...,tmapi,...];
计算所述集合中地图有效时间的交集,得到交集时间段的集合Tc=[tc1,tc2,...,tci,...];
获取当前节点Xc的时刻tc作为tstop1,并向时间轴右侧探索到首个交集时间段的右边界作为tstop2;得到停留允许时间段Tstop=(tstop1,tstop2)。
进一步的,所述S6、基于停留允许时间段Tstop和从sc移动到sn的耗时Δtn,计算期望到达时间段Tdesire=(tdesire1,tdesire2);并基于sn、Tdesire构建新节点Xn,且标记Xn的父节点为Xc,再判断Xn是否在闭合队列中,若不在闭合队列中,则将Xn存入开放队列,将当前节点Xc存入闭合队列包括:
获取从sc移动到各个sn的耗时Δtn
计算期望到达时间段Tdesire=(tdesire1,tdesire2),其中,tdesire1=tstop1+Δtn,tdesire2=tstop2+Δtn
计算各个sn对应的期望到达时间段Tdesire与各个交集时间段tci的交集的左边界,取第一个左边界为tn;若tn存在,则记为新节点Xn=(sn,tn,Xc),并判断Xn是否在闭合队列中,若不在闭合队列中,则将Xn存入开放队列,将当前节点Xc存入闭合队列。
(三)有益效果
本发明提供了一种运动智能体轨迹规划方法、装置、存储介质和电子设备。与现有技术相比,具备以下有益效果:
本发明通过计算地图内的所有栅格的地图有效时间,结合构建的开放队列和闭合队列,每次取开放队列中期望最小的节点作为当前节点,判断当前节点是否满足到达;若不满足,对当前节点的空间状态向多个运动方向进行拓展;再计算当前节点的停留允许时间段;进而计算期望到达时间段;以此构建新节点存入开放队列,重复执行,直至到达目标,则根据父节点从最终节点向前回溯找到起始节点,将回溯序列反转,提取对应的空间状态与时刻信息,输出最终轨迹。将时间维度考虑到规划过程中,将静态环境中的规划提升到动态环境中的规划。与将时间列成一个独立的维度并进行采样的方式相比,采用地图有效时间的方式极大的降低了搜索空间的复杂度。在规划过程中可进行“让行”与“停等”等操作,一些场景下可提前避开冲突,结果更接近最优解。对于变化迅速,交通环境结构化低的场景有较好的适应能力,对环境的要求低。不需要提前在环境中预设节点与轨迹,在不同环境中部署迅速。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例的流程图;
图2为本发明实施例的地图有效时间的示意图;
图3为本发明实施例的停留允许时间段的计算示意图;
图4为本发明实施例的生成的新节点Xn的示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请实施例通过提供一种运动智能体轨迹规划方法、装置、存储介质和电子设备,解决了现有算法通过预先设定轨迹、铺设地磁线的方法无法适用于矿区的问题。
本申请实施例中的技术方案为解决上述技术问题,总体思路如下:
通过计算地图内的所有栅格的地图有效时间,结合构建的开放队列和闭合队列,每次取开放队列中期望最小的节点作为当前节点,判断当前节点是否满足到达;若不满足,对当前节点的空间状态向多个运动方向进行拓展;再计算当前节点的停留允许时间段;进而计算期望到达时间段;以此构建新节点存入开放队列,重复执行,直至到达目标,则根据父节点从最终节点向前回溯找到起始节点,将回溯序列反转,提取对应的空间状态与时刻信息,输出最终轨迹。将时间维度考虑到规划过程中,将静态环境中的规划提升到动态环境中的规划。与将时间列成一个独立的维度并进行采样的方式相比,采用地图有效时间的方式极大的降低了搜索空间的复杂度。在规划过程中可进行“让行”与“停等”等操作,一些场景下可提前避开冲突,结果更接近最优解。对于变化迅速,交通环境结构化低的场景有较好的适应能力,对环境的要求低。不需要提前在环境中预设节点与轨迹,在不同环境中部署迅速。
为了更好的理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上述技术方案进行详细的说明。
实施例1:
如图1所示,以运动智能体为用于矿场的无人驾驶车辆为例,本发明提供了一种运动智能体轨迹规划方法,其运动智能体也可为对于其它运动智能体同样适用,例如用于无人机,该方法由计算机执行,该方法包括:
S1、获取目标e的空间状态se以及包含运动智能体空间状态、节点时刻和父节点的初始节点X0,并将X0存入空的开放队列中;其中,
X=(s,t,Xpre)表示节点,其中:
s表示X的空间状态,包含运动智能体的二维坐标(x,y)和朝向
t表示节点X的时刻;
Xpre表示节点X的父节点;
所述初始节点X0=(s0,t0,null),其中:
s0表示运动智能体初始节点的空间状态;
t0表示规划开始时间;
null表示初始节点的父节点为空;
S2、基于栅格化的地图,将其他对象的轨迹投影到地图内的栅格中,计算地图内的所有栅格的地图有效时间Tmap,地图有效时间Tmap由若干时间段(tl,tr)组成;其中,
所述其它对象为任意几何外形与轨迹可知的物体;
所述轨迹为由多个有序的空间状态与对应速度构成的集合;
tl和tr分别表示有效时间段在时间轴上的左边界和右边界;
S3、取开放队列中期望最小的节点作为当前节点Xc,判断当前节点Xc是否满足到达se或开放队列为空;
若不满足,执行S4~S6;若满足,执行S7;
其中,所述期望是从X0到达当前节点Xc的耗时加上从当前节点Xc到达目标e的耗时估计;
S4、对当前节点Xc的空间状态sc向多个运动方向进行拓展,得到由多个拓展后的空间状态sn构成的集合SN
S5、基于当前节点Xc的空间状态sc以及运动智能体位于sc时所占栅格对应的若干个地图有效时间Tmap,计算当前节点的停留允许时间段Tstop=(tstop1,tstop2);
S6、基于停留允许时间段Tstop和从sc移动到sn的耗时Δtn,计算期望到达时间段Tdesire=(tdesire1,tdesire2);并基于sn、Tdesire构建新节点Xn,且标记Xn的父节点为Xc;再判断Xn是否在闭合队列中,若不在闭合队列中,则将Xn存入开放队列,将当前节点Xc存入闭合队列;返回S3,以更新当前节点Xc
S7、若当前节点Xc到达se,则根据父节点从最终节点Xf向前回溯,直至找到起始节点X0,将回溯序列反转,得到从起始节点X0到最终节点Xf的有序集合,根据每个节点对应的空间状态与时刻信息输出最终轨迹;
若开放队列为空,则输出规划执行失败。
本实施例的有益效果为:
①将时间维度考虑到规划过程中,将静态环境中的规划提升到动态环境中的规划。
②与将时间列成一个独立的维度并进行采样的方式相比,采用地图有效时间的方式极大的降低了搜索空间的复杂度。
③在规划过程中可进行“让行”与“停等”等操作,一些场景下可提前避开冲突,结果更接近最优解。
④对于变化迅速,交通环境结构化低的场景有较好的适应能力,对环境的要求低。
⑤不需要提前在环境中预设节点与轨迹,在不同环境中部署迅速。
进一步的,所述S4、对当前节点Xc的空间状态sc向多个运动方向进行拓展,得到由多个拓展后的空间状态sn构成的集合SN包括:
基于sc分别向前、向后以多个方向盘转角进行的运动递推,并去除与地图边界发生碰撞的空间状态,得到SN=[sn1,sn2,...]。
进一步的,所述S5、基于当前节点Xc的空间状态sc以及运动智能体位于sc时所占栅格对应的若干个地图有效时间Tmap,计算当前节点的停留允许时间段Tstop=(tstop1,tstop2),包括:
获取运动智能体位于sc时所占栅格对应的地图有效时间的集合Tmap=[tmap1,tmap2,...,tmapi,...];
计算所述集合中地图有效时间的交集,得到交集时间段的集合Tc=[tc1,tc2,...,tci,...];
获取当前节点Xc的时刻tc作为tstop1,并向时间轴右侧探索到首个交集时间段的右边界作为tstop2;得到停留允许时间段Tstop=(tstop1,tstop2)。
进一步的,所述S6、基于停留允许时间段Tstop和从sc移动到sn的耗时Δtn,计算期望到达时间段Tdesire=(tdesire1,tdesire2);并基于sn、Tdesire构建新节点Xn,且标记Xn的父节点为Xc,再判断Xn是否在闭合队列中,若不在闭合队列中,则将Xn存入开放队列,将当前节点Xc存入闭合队列包括:
获取从sc移动到各个sn的耗时Δtn
计算期望到达时间段Tdesire=(tdesire1,tdesire2),其中,tdesire1=tstop1+Δtn,tdesire2=tstop2+Δtn
计算各个sn对应的期望到达时间段Tdesire与各个交集时间段tci的交集的左边界,取第一个左边界为tn;若tn存在,则记为新节点Xn=(sn,tn,Xc),并判断Xn是否在闭合队列中,若不在闭合队列中,则将Xn存入开放队列,将当前节点Xc存入闭合队列。
下面对本发明实施例的实现过程进行详细说明;如图1所示:
S1、获取目标e的空间状态se以及包含车辆空间状态、节点时刻和父节点的初始节点X0,并将X0存入空的开放队列中;其中,
X=(s,t,Xpre)表示节点,其中:
s表示节点X的空间状态,包含车辆的二维坐标(x,y)和朝向
t表示节点X的时刻;
Xpre表示节点X的父节点;
所述初始节点X0=(s0,t0,null),其中:
s0表示车辆初始节点的空间状态;
t0表示规划开始时间,即时间轴的原点;
null表示初始节点的父节点为空;
对于任意两个节点X中,空间状态s和与之对应的时刻t任一变量不同,则认为节点是不同的。空间状态s可以独立存在,但时刻t必须有与之对应的空间状态s;是否相同的判断还需考虑一定的误差,当所有变量的差异都在误差范围内时则认为两者相同。
上述目标se仅指空间状态,时刻t不作限制。即只限制了目标的空间状态,对何时到达未作要求。在此遵循快速原则,即尽可能早的到达目标,在存入初始节点X0前,开放队列是一个空队列。
S2、基于栅格化的地图,将其他对象的轨迹投影到地图内的栅格中,计算地图内的所有栅格的地图有效时间Tmap
其中,所述其它对象为任意几何外形与轨迹可知的物体;例如自动驾驶车辆未来一段时间内的运动轨迹可通过调度系统获得,或通过V2V通信获得,也可以根据目标车辆的速度、加速度、转向趋势等可观测条件预测所得,未来一段时间内的运动是可知的,且几何外形可知。
所述轨迹为由多个有序的空间状态与对应速度构成的集合;
所述空间栅格是正方形的一片区域,与之对应的地图有效时间描述了其在哪些时间段是未被占用的。对于地图范围内的任一空间状态至少有一个栅格与之对应,所述一个空间栅格可与若干个有效时间段对应。tl和tr分别表示有效时间段(tl,tr)在时间轴上的左边界和右边界,分别表示开始时刻与结束时刻。
举例说明,如图2所示,某栅格在t1~t2期间被占用,则地图有效时间Tmap中包含两个有效时间段,分别为(t0,t1)和(t2,t);此外,如地图内某栅格在规划的有限时间内都未被占用,则其地图有效时间为Tmap=(t0,t)。如某栅格始终被占用则没有地图有效时间与之对应。
其它对象轨迹所达的全部空间栅格都将被占用,结合轨迹的速度可推导出其占用相应栅格的时间信息,便可得到与被占用栅格对应的地图有效时间。在计算栅格对应的地图有效时间时,可以将时间的边界压缩,保留一定的安全余量,以免车辆无法准确跟踪轨迹时发生危险。
S3、取开放队列中期望最小的节点作为当前节点Xc,判断当前节点Xc是否满足到达se或开放队列为空;
若不满足,执行S4~S6;若满足,执行S7;
其中,所述期望是从X0到达当前节点Xc的耗时加上从当前节点Xc到达目标se的耗时估计;即其物理意义为通过该节点的轨迹的预计总耗时。
当前节点Xc到达目标se指当前节点Xc的空间状态sc与目标的空间状态se已足够接近。且从sc到达se的过程中与地图以及其它对象没有冲突。
上述从sc到达se的耗时估计不得大于车辆sc到达se的真实耗时。可以假设车辆将以均速完成剩余路程,则耗时预估与两状态的几何距离成正比。上述几何距离可以是欧式距离,也可以是曼哈顿距离、或切比雪夫距离。
S4、对当前节点Xc的空间状态sc向多个运动方向进行拓展,得到由多个拓展后的空间状态sn构成的集合SN;具体为:
基于sc分别向前、向后以多个方向盘转角进行的运动递推,例如方向包括车辆的左前方、正前方、右前方、左后方、正后方和右后方,并去除与地图边界发生碰撞的空间状态,得到SN=[sn1,sn2,...]。
S5、基于当前节点Xc的空间状态sc以及车辆位于sc时所占栅格对应的若干个地图有效时间Tmap,计算当前节点的停留允许时间段Tstop=(tstop1,tstop2),包括:
S51、获取车辆位于sc时所占栅格对应的地图有效时间的集合Tmap=[tmap1,tmap2,...,tmapi,...];
S52、计算所述集合中地图有效时间的交集,得到交集时间段的集合Tcn=[tc1,tc2,...,tci,...];
S53、获取当前节点Xc的时刻tc作为tstop1,并向时间轴右侧探索到首个交集时间段的右边界作为tstop2;得到停留允许时间段Tstop=(tstop1,tstop2)。
上述当前节点的停留允许时间段Tstop=(tstop1,tstop2)与地图有效时间Tmap不同。此处停留允许时间段的物理意义表示车辆可以在Tstop=(tstop1,tstop2)时段内在当前空间状态sc进行停等。
举例说明,如图3所示,假设当前空间状态sc占用三个栅格,三个栅格对应三条时间轴,
第一个栅格对应的地图有效时间Tmap1=[tmap11,tmap12],且tmap11=(t0,t1),tmap12=(t2,t);
第二个栅格对应的地图有效时间Tmap2=[tmap21,tmap22],且tmap21=(t0,t3),tmap22=(t4,t);
第三个栅格对应的地图有效时间Tmap3=[tmap31],且tmap31=(t0,t)。
则三个栅格对应的地图有效时间取交集,得到交集时间段的集合:
Tcn=[tc1=(t0,t1),tc2=(t2,t3),tc3=(t4,t)];
从tstop1=tc向时间轴右侧探索到首个交集时间段为tc2=(t2,t3),右边界为t3,即tstop2=t3,得到当前节点的停留允许时间段Tstop=(tc,t3)。
S6、基于停留允许时间段Tstop和从sc移动到sn的耗时Δtn,计算期望到达时间段Tdesire=(tdesire1,tdesire2);并基于sn、Tdesire构建新节点Xn,且标记Xn的父节点为Xc;再判断Xn是否在闭合队列中,若不在闭合队列中,则将Xn存入开放队列,将当前节点Xc存入闭合队列;返回S3,以更新当前节点Xc;包括:
S61、获取从sc移动到各个sn的耗时Δtn;上述Δtn考虑到车辆的转向、前进方向以及是否存在换向等问题,不同的转向,前进方向以及换向状态对应的Δtn是不同的。可以是预先设定好的Δtn,针对不同的情况选用不同的Δtn
S62、计算期望到达时间段Tdesire=(tdesire1,tdesire2),其中,tdesire1=tc+Δtn,tdesire2=tc’+Δtn;表示车辆预计可以在tdesire1~tdesire2时段内到达sn
S63、计算各个sn对应的期望到达时间段Tdesire与各个交集时间段tci的交集的左边界,可能不止一个,取第一个左边界为tn;若tn存在,则记为新节点Xn=(sn,tn,Xc),并判断Xn是否在闭合队列中,即判断该节点是否被探索过,若不在闭合队列中,则将Xn存入开放队列,将当前节点Xc存入闭合队列。
举例说明,如图4所示,假设sn对应的交集时间段分别为:tc1=(tl1,tr1),tc2=(tl2,tr2);
sn对应的期望到达时间段Tdesire=(tdesire1,tdesire2)
tc1∩Tdesire为空,表示车辆不能在期望到达时间段Tdesire内到达sn
tc2∩Tdesire=(tl2,tdesire2),则在该情况下取其交集的左边界时刻tl2=tn。其中时段(tdesire1,tr2)车辆在sc进行停等。
此时,可构成新节点Xn=(sn,tn,Xc)。
所述闭合队列存放一系列节点,在闭合队列中元素无需排序,只需能够快速验证某个节点是否已探索过。
返回S3,重复执行S3-S6,直至已经探索到目标空间状态或开放队列为空时停止。当开放队列为空时,规划执行失败。
S7、若当前节点Xc到达se,则根据父节点从最终节点Xf向前回溯,直至找到起始节点X0,将回溯序列反转,得到从起始节点X0到最终节点Xf的有序集合,根据每个节点对应的空间状态与时刻信息输出最终轨迹;
若开放队列为空,则输出规划执行失败。
上述最终节点Xf对应的空间状态为se。根据每个节点对应的空间状态与时刻信息输出轨迹的过程即根据空间状态和对应时间计算轨迹的过程。由于其它对象所占用栅格对应的地图有效时间是经过压缩的,此处可消除部分由于惯性以及误差的影响。
实施例2:
第二方面,提供了一种运动智能体轨迹规划装置,该装置包括:
初始化模块,用于获取目标e的空间状态se以及包含运动智能体空间状态、节点时刻和父节点的初始节点X0,并将X0存入空的开放队列中;其中,
X=(s,t,Xpre)表示节点,其中:
s表示X的空间状态,包含运动智能体的二维坐标(x,y)和朝向
t表示节点X的时刻;
Xpre表示节点X的父节点;
所述初始节点X0=(s0,t0,null),其中:
s0表示运动智能体初始节点的空间状态;
t0表示规划开始时间;
null表示初始节点的父节点为空;
地图有效时间计算模块,用于基于栅格化的地图,将其他对象的轨迹投影到地图内的栅格中,计算地图内的所有栅格的地图有效时间Tmap,用于表示栅格未被占用的若干个有效时间段(tl,tr);其中,
所述其它对象为任意几何外形与轨迹可知的物体;
所述轨迹为由多个有序的空间状态与对应速度构成的集合;
tl和tr分别表示有效时间段在时间轴上的左边界和右边界;
轨迹规划模块,用于重复执行步骤S3-S6,直至当前节点Xc满足到达目标se或开放队列为空,执行S7;且S3-S7包括:
S3、取开放队列中期望最小的节点作为当前节点Xc,判断当前节点Xc是否满足到达se或开放队列为空;
若不满足,执行S4~S6;若满足,执行S7;
其中,所述期望是从X0到达当前节点Xc的耗时加上从当前节点Xc到达目标e的耗时估计;
S4、对当前节点Xc的空间状态sc向多个运动方向进行拓展,得到由多个拓展后的空间状态sn构成的集合SN
S5、基于当前节点Xc的空间状态sc以及运动智能体位于sc时所占栅格对应的若干个地图有效时间Tmap,计算当前节点的停留允许时间段Tstop=(tstop1,tstop2);
S6、基于停留允许时间段Tstop和从sc移动到sn的耗时Δtn,计算期望到达时间段Tdesire=(tdesire1,tdesire2);并基于sn、Tdesire构建新节点Xn,且标记Xn的父节点为Xc;再判断Xn是否在闭合队列中,若不在闭合队列中,则将Xn存入开放队列,将当前节点Xc存入闭合队列;返回S3,以更新当前节点Xc
S7、若当前节点Xc到达se,则根据父节点从最终节点Xf向前回溯,直至找到起始节点X0,将回溯序列反转,得到从起始节点X0到最终节点Xf的有序集合,根据每个节点对应的空间状态与时刻信息输出最终轨迹;
若开放队列为空,则输出规划执行失败。
进一步的,所述轨迹规划模块对当前节点Xc的空间状态sc向多个运动方向进行拓展,得到由多个拓展后的空间状态sn构成的集合SN包括:
基于sc分别向前、向后以多个方向盘转角进行的运动递推,并去除与地图边界发生碰撞的空间状态,得到SN=[sn1,sn2,...]。
进一步的,所述轨迹规划模块基于当前节点Xc的空间状态sc以及运动智能体位于sc时所占栅格对应的地图有效时间Tmap,计算当前节点的停留允许时间段Tstop=(tstop1,tstop2)包括:
获取运动智能体位于Sc时所占栅格对应的地图有效时间的集合Tmap=[tmap1,tmap2,...,tmapi,...];
计算所述集合中地图有效时间的交集,得到交集时间段的集合Tc=[tc1,tc2,...,tci,...];
获取当前节点Xc的时刻tc作为tstop1,并向时间轴右侧探索到首个交集时间段的右边界作为tstop2;得到停留允许时间段Tstop=(tstop1,tstop2)。
进一步的,所述轨迹规划模块基于停留允许时间段Tstop和从sc移动到sn的耗时Δtn,计算期望到达时间段Tdesire=(tdesire1,tdesire2);并基于sn、Tdesire构建新节点Xn,再判断Xn是否在闭合队列中,若不在闭合队列中,且标记Xn的父节点为Xc,则将Xn存入开放队列包括:
获取从sc移动到各个sn的耗时Δtn
计算期望到达时间段Tdesire=(tdesire1,tdesire2),其中,tdesire1=tstop1+Δtn,tdesire2=tstop2+Δtn
计算各个sn对应的期望到达时间段Tdesire与各个交集时间段tci的交集的左边界,取第一个左边界为tn;若tn存在,则记为新节点Xn=(sn,tn,Xc),并判断Xn是否在闭合队列中,若不在闭合队列中,则将Xn存入开放队列,将当前节点Xc存入闭合队列。
可理解的是,本发明实施例提供的运动智能体轨迹规划装置与上述运动智能体轨迹规划方法相对应,其有关内容的解释、举例、有益效果等部分可以参考运动智能体轨迹规划方法中的相应内容,此处不再赘述。
实施例3:
提供了一种计算机可读存储介质,其存储用于运动智能体轨迹规划的计算机程序,其中,所述计算机程序使得计算机执行如下方法:
S1、获取目标e的空间状态se以及包含运动智能体空间状态、节点时刻和父节点的初始节点X0,并将X0存入空的开放队列中;其中,
X=(s,t,Xpre)表示节点,其中:
s表示X的空间状态,包含运动智能体的二维坐标(x,y)和朝向
t表示节点X的时刻;
Xpre表示节点X的父节点;
所述初始节点X0=(s0,t0,null),其中:
s0表示运动智能体初始节点的空间状态;
t0表示规划开始时间;
null表示初始节点的父节点为空;
S2、基于栅格化的地图,将其他对象的轨迹投影到地图内的栅格中,计算地图内的所有栅格的地图有效时间Tmap,地图有效时间Tmap由若干时间段(tl,tr)组成;其中,
所述其它对象为任意几何外形与轨迹可知的物体;
所述轨迹为由多个有序的空间状态与对应速度构成的集合;
tl和tr分别表示有效时间段在时间轴上的左边界和右边界;
S3、取开放队列中期望最小的节点作为当前节点Xc,判断当前节点Xc是否满足到达se或开放队列为空;
若不满足,执行S4~S6;若满足,执行S7;
其中,所述期望是从X0到达当前节点Xc的耗时加上从当前节点Xc到达目标e的耗时估计;
S4、对当前节点Xc的空间状态sc向多个运动方向进行拓展,得到由多个拓展后的空间状态sn构成的集合SN
S5、基于当前节点Xc的空间状态sc以及运动智能体位于sc时所占栅格对应的若干个地图有效时间Tmap,计算当前节点的停留允许时间段Tstop=(tstop1,tstop2);
S6、基于停留允许时间段Tstop和从sc移动到sn的耗时Δtn,计算期望到达时间段Tdesire=(tdesire1,tdesire2);并基于sn、Tdesire构建新节点Xn,且标记Xn的父节点为Xc;再判断Xn是否在闭合队列中,若不在闭合队列中,则将Xn存入开放队列,将当前节点Xc存入闭合队列;返回S3,以更新当前节点Xc
S7、若当前节点Xc到达se,则根据父节点从最终节点Xf向前回溯,直至找到起始节点X0,将回溯序列反转,得到从起始节点X0到最终节点Xf的有序集合,根据每个节点对应的空间状态与时刻信息输出最终轨迹;
若开放队列为空,则输出规划执行失败。
进一步的,所述S4、对当前节点Xc的空间状态sc向多个运动方向进行拓展,得到由多个拓展后的空间状态sn构成的集合SN包括:
基于sc分别向前、向后以多个方向盘转角进行的运动递推,并去除与地图边界发生碰撞的空间状态,得到SN=[sn1,sn2,...]。
进一步的,所述S5、基于当前节点Xc的空间状态sc以及运动智能体位于sc时所占栅格对应的若干个地图有效时间Tmap,计算当前节点的停留允许时间段Tstop=(tstop1,tstop2),包括:
获取运动智能体位于sc时所占栅格对应的地图有效时间的集合Tmap=[tmap1,tmap2,...,tmapi,...];
计算所述集合中地图有效时间的交集,得到交集时间段的集合Tc=[tc1,tc2,...,tci,...];
获取当前节点Xc的时刻tc作为tstop1,并向时间轴右侧探索到首个交集时间段的右边界作为tstop2;得到停留允许时间段Tstop=(tstop1,tstop2)。
进一步的,所述S6、基于停留允许时间段Tstop和从sc移动到sn的耗时Δtn,计算期望到达时间段Tdesire=(tdesire1,tdesire2);并基于sn、Tdesire构建新节点Xn,且标记Xn的父节点为Xc,再判断Xn是否在闭合队列中,若不在闭合队列中,则将Xn存入开放队列,将当前节点Xc存入闭合队列包括:
获取从sc移动到各个sn的耗时Δtn
计算期望到达时间段Tdesire=(tdesire1,tdesire2),其中,tdesire1=tstop1+Δtn,tdesire2=tstop2+Δtn
计算各个sn对应的期望到达时间段Tdesire与各个交集时间段tci的交集的左边界,取第一个左边界为tn;若tn存在,则记为新节点Xn=(sn,tn,Xc),并判断Xn是否在闭合队列中,若不在闭合队列中,则将Xn存入开放队列,将当前节点Xc存入闭合队列。
实施例4:
提供了一种电子设备,包括:
一个或多个处理器;
存储器;以及
一个或多个程序,其中所述一个或多个程序被存储在所述存储器中,并且被配置成由所述一个或多个处理器执行,所述程序包括用于执行如下方法:
S1、获取目标e的空间状态se以及包含运动智能体空间状态、节点时刻和父节点的初始节点X0,并将X0存入空的开放队列中;其中,
X=(s,t,Xpre)表示节点,其中:
s表示X的空间状态,包含运动智能体的二维坐标(x,y)和朝向
t表示节点X的时刻;
Xpre表示节点X的父节点;
所述初始节点X0=(s0,t0,null),其中:
s0表示运动智能体初始节点的空间状态;
t0表示规划开始时间;
null表示初始节点的父节点为空;
S2、基于栅格化的地图,将其他对象的轨迹投影到地图内的栅格中,计算地图内的所有栅格的地图有效时间Tmap,地图有效时间Tmap由若干时间段(tl,tr)组成;其中,
所述其它对象为任意几何外形与轨迹可知的物体;
所述轨迹为由多个有序的空间状态与对应速度构成的集合;
tl和tr分别表示有效时间段在时间轴上的左边界和右边界;
S3、取开放队列中期望最小的节点作为当前节点Xc,判断当前节点Xc是否满足到达se或开放队列为空;
若不满足,执行S4~S6;若满足,执行S7;
其中,所述期望是从X0到达当前节点Xc的耗时加上从当前节点Xc到达目标e的耗时估计;
S4、对当前节点Xc的空间状态sc向多个运动方向进行拓展,得到由多个拓展后的空间状态sn构成的集合SN
S5、基于当前节点Xc的空间状态sc以及运动智能体位于sc时所占栅格对应的若干个地图有效时间Tmap,计算当前节点的停留允许时间段Tstop=(tstop1,tstop2);
S6、基于停留允许时间段Tstop和从sc移动到sn的耗时Δtn,计算期望到达时间段Tdesire=(tdesire1,tdesire2);并基于sn、Tdesire构建新节点Xn,且标记Xn的父节点为Xc;再判断Xn是否在闭合队列中,若不在闭合队列中,则将Xn存入开放队列,将当前节点Xc存入闭合队列;返回S3,以更新当前节点Xc
S7、若当前节点Xc到达se,则根据父节点从最终节点Xf向前回溯,直至找到起始节点X0,将回溯序列反转,得到从起始节点X0到最终节点Xf的有序集合,根据每个节点对应的空间状态与时刻信息输出最终轨迹;
若开放队列为空,则输出规划执行失败。
进一步的,所述S4、对当前节点Xc的空间状态sc向多个运动方向进行拓展,得到由多个拓展后的空间状态sn构成的集合SN包括:
基于sc分别向前、向后以多个方向盘转角进行的运动递推,并去除与地图边界发生碰撞的空间状态,得到SN=[sn1,sn2,...]。
进一步的,所述S5、基于当前节点Xc的空间状态sc以及运动智能体位于sc时所占栅格对应的若干个地图有效时间Tmap,计算当前节点的停留允许时间段Tstop=(tstop1,tstop2),包括:
获取运动智能体位于sc时所占栅格对应的地图有效时间的集合Tmap=[tmap1,tmap2,...,tmapi,...];
计算所述集合中地图有效时间的交集,得到交集时间段的集合Tc=[tc1,tc2,...,tci,...];
获取当前节点Xc的时刻tc作为tstop1,并向时间轴右侧探索到首个交集时间段的右边界作为tstop2;得到停留允许时间段Tstop=(tstop1,tstop2)。
进一步的,所述S6、基于停留允许时间段Tstop和从sc移动到sn的耗时Δtn,计算期望到达时间段Tdesire=(tdesire1,tdesire2);并基于sn、Tdesire构建新节点Xn,且标记Xn的父节点为Xc,再判断Xn是否在闭合队列中,若不在闭合队列中,则将Xn存入开放队列,将当前节点Xc存入闭合队列包括:
获取从sc移动到各个sn的耗时Δtn
计算期望到达时间段Tdesire=(tdesire1,tdesire2),其中,tdesire1=tstop1+Δtn,tdesire2=tstop2+Δtn
计算各个sn对应的期望到达时间段Tdesire与各个交集时间段tci的交集的左边界,取第一个左边界为tn;若tn存在,则记为新节点Xn=(sn,tn,Xc),并判断Xn是否在闭合队列中,若不在闭合队列中,则将Xn存入开放队列,将当前节点Xc存入闭合队列。
综上所述,与现有技术相比,本发明具备以下有益效果:
①将时间维度考虑到规划过程中,将静态环境中的规划提升到动态环境中的规划。
②与将时间列成一个独立的维度并进行采样的方式相比,采用地图有效时间的方式极大的降低了搜索空间的复杂度。
③在规划过程中可进行“让行”与“停等”等操作,一些场景下可提前避开冲突,结果更接近最优解。
④对于变化迅速,交通环境结构化低的场景有较好的适应能力,对环境的要求低。
⑤不需要提前在环境中预设节点与轨迹,在不同环境中部署迅速。
需要说明的是,通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种运动智能体轨迹规划方法,其特征在于,该方法包括:
S1、获取目标e的空间状态se以及包含运动智能体空间状态、节点时刻和父节点的初始节点X0,并将X0存入空的开放队列中;其中,
X=(s,t,Xpre)表示节点,其中:
s表示X的空间状态,包含运动智能体的二维坐标(x,y)和朝向φ;
t表示节点X的时刻;
Xpre表示节点X的父节点;
所述初始节点X0=(s0,t0,null),其中:
s0表示运动智能体初始节点的空间状态;
t0表示规划开始时间;
null表示初始节点的父节点为空;
S2、基于栅格化的地图,将其它对象的轨迹投影到地图内的栅格中,计算地图内的所有栅格的地图有效时间Tmap,所述地图有效时间Tmap由若干时间段(tl,tr)组成;其中,
所述其它对象为任意几何外形与轨迹可知的物体;
所述轨迹为由多个有序的空间状态与对应速度构成的集合;
tl和tr分别表示有效时间段在时间轴上的左边界和右边界;
S3、取开放队列中期望最小的节点作为当前节点Xc,判断当前节点Xc是否满足到达se或开放队列为空;
若不满足,执行S4~S6;若满足,执行S7;
其中,所述期望是从X0到达当前节点Xc的耗时加上从当前节点Xc到达目标e的耗时估计;
S4、对当前节点Xc的空间状态sc向多个运动方向进行拓展,得到由多个拓展后的空间状态sn构成的集合SN
S5、基于当前节点Xc的空间状态sc以及运动智能体位于sc时所占栅格对应的若干个地图有效时间Tmap,计算当前节点的停留允许时间段Tstop=(tstop1,tstop2);
其中,tstop1表示时间段Tstop的左边界,tstop2表示时间段Tstop的右边界;
S6、基于停留允许时间段Tstop和从sc移动到sn的耗时Δtn,计算期望到达时间段Tdesire=(tdesire1,tdesire2);并基于sn、Tdesire构建新节点Xn,且标记Xn的父节点为Xc;再判断Xn是否在闭合队列中,若不在闭合队列中,则将Xn存入开放队列,将当前节点Xc存入闭合队列;返回S3,以更新当前节点Xc
其中,tdesire1表示时间段Tdesire的左边界,tdesire2表示时间段Tdesire的右边界;
S7、若当前节点Xc到达se,则根据父节点从最终节点Xf向前回溯,直至找到初始节点X0,将回溯序列反转,得到从初始节点X0到最终节点Xf的有序集合,根据每个节点对应的空间状态与时刻信息输出最终轨迹;
若开放队列为空,则输出规划执行失败。
2.如权利要求1所述的一种运动智能体轨迹规划方法,其特征在于,所述S4、对当前节点Xc的空间状态sc向多个运动方向进行拓展,得到由多个拓展后的空间状态sn构成的集合SN包括:
基于sc分别向前、向后以多个方向盘转角进行的运动递推,并去除与地图边界发生碰撞的空间状态,得到SN=[sn1,sn2,...];
其中,sn1表示第1个拓展后的空间状态sn;sn2表示第2个拓展后的空间状态sn
3.如权利要求1所述的一种运动智能体轨迹规划方法,其特征在于,所述S5、基于当前节点Xc的空间状态sc以及运动智能体位于sc时所占栅格对应的若干个地图有效时间Tmap,计算当前节点的停留允许时间段Tstop=(tstop1,tstop2),包括:
获取运动智能体位于sc时所占栅格对应的地图有效时间的集合Tmap=[tmap1,tmap2,...,tmapi,...];
其中,tmap1、tmap2、tmapi分别表示栅格对应的地图有效时间中的第1个地图有效时间段、第2个地图有效时间段、第i个地图有效时间段;
计算所述集合中地图有效时间的交集,得到交集时间段的集合Tc=[tc1,tc2,...,tci,...];
其中,tc1、tc2、tci分别表示第1个交集时间段、第2个交集时间段、第i个交集时间段;
获取当前节点Xc的时刻tc作为tstop1,并向时间轴右侧探索到首个交集时间段的右边界作为tstop2;得到停留允许时间段Tstop=(tstop1,tstop2)。
4.如权利要求3所述的一种运动智能体轨迹规划方法,其特征在于,所述S6、基于停留允许时间段Tstop和从sc移动到sn的耗时Δtn,计算期望到达时间段Tdesire=(tdesire1,tdesire2);并基于sn、Tdesire构建新节点Xn,且标记Xn的父节点为Xc,再判断Xn是否在闭合队列中,若不在闭合队列中,则将Xn存入开放队列,将当前节点Xc存入闭合队列包括:
获取从sc移动到各个sn的耗时Δtn
计算期望到达时间段Tdesire=(tdesire1,tdesire2),其中,tdesire1=tstop1+Δtn,tdesire2=tstop2+Δtn
计算各个sn对应的期望到达时间段Tdesire与各个交集时间段tci的交集的左边界,取第一个左边界为tn;若tn存在,则记为新节点Xn=(sn,tn,Xc),并判断Xn是否在闭合队列中,若不在闭合队列中,则将Xn存入开放队列,将当前节点Xc存入闭合队列。
5.一种运动智能体轨迹规划装置,其特征在于,该装置包括:
初始化模块,用于获取目标e的空间状态se以及包含运动智能体空间状态、节点时刻和父节点的初始节点X0,并将X0存入空的开放队列中;其中,
X=(s,t,Xpre)表示节点,其中:
s表示X的空间状态,包含运动智能体的二维坐标(x,y)和朝向φ;
t表示节点X的时刻;
Xpre表示节点X的父节点;
所述初始节点X0=(s0,t0,null),其中:
s0表示运动智能体初始节点的空间状态;
t0表示规划开始时间;
null表示初始节点的父节点为空;
地图有效时间计算模块,用于基于栅格化的地图,将其它对象的轨迹投影到地图内的栅格中,计算地图内的所有栅格的地图有效时间Tmap,用于表示栅格未被占用的若干个有效时间段(tl,tr);其中,
所述其它对象为任意几何外形与轨迹可知的物体;
所述轨迹为由多个有序的空间状态与对应速度构成的集合;
tl和tr分别表示有效时间段在时间轴上的左边界和右边界;
轨迹规划模块,用于重复执行步骤S3-S6,直至当前节点Xc满足到达目标se或开放队列为空,执行S7;且S3-S7包括:
S3、取开放队列中期望最小的节点作为当前节点Xc,判断当前节点Xc是否满足到达se或开放队列为空;
若不满足,执行S4~S6;若满足,执行S7;
其中,所述期望是从X0到达当前节点Xc的耗时加上从当前节点Xc到达目标e的耗时估计;
S4、对当前节点Xc的空间状态sc向多个运动方向进行拓展,得到由多个拓展后的空间状态sn构成的集合SN
S5、基于当前节点Xc的空间状态sc以及运动智能体位于sc时所占栅格对应的若干个地图有效时间Tmap,计算当前节点的停留允许时间段Tstop=(tstop1,tstop2);
其中,tstop1表示时间段Tstop的左边界,tstop2表示时间段Tstop的右边界;
S6、基于停留允许时间段Tstop和从sc移动到sn的耗时Δtn,计算期望到达时间段Tdesire=(tdesire1,tdesire2);并基于sn、Tdesire构建新节点Xn,且标记Xn的父节点为Xc;再判断Xn是否在闭合队列中,若不在闭合队列中,则将Xn存入开放队列,将当前节点Xc存入闭合队列;返回S3,以更新当前节点Xc
其中,tdesire1表示时间段Tdesire的左边界,tdesire2表示时间段Tdesire的右边界;
S7、若当前节点Xc到达se,则根据父节点从最终节点Xf向前回溯,直至找到初始节点X0,将回溯序列反转,得到从初始节点X0到最终节点Xf的有序集合,根据每个节点对应的空间状态与时刻信息输出最终轨迹;
若开放队列为空,则输出规划执行失败。
6.如权利要求5所述的一种运动智能体轨迹规划装置,其特征在于,所述轨迹规划模块对当前节点Xc的空间状态sc向多个运动方向进行拓展,得到由多个拓展后的空间状态sn构成的集合SN包括:
基于sc分别向前、向后以多个方向盘转角进行的运动递推,并去除与地图边界发生碰撞的空间状态,得到SN=[sn1,sn2,...];
其中,sn1表示第1个拓展后的空间状态sn;sn2表示第2个拓展后的空间状态sn
7.如权利要求5所述的一种运动智能体轨迹规划装置,其特征在于,所述轨迹规划模块基于当前节点Xc的空间状态sc以及运动智能体位于sc时所占栅格对应的地图有效时间Tmap,计算当前节点的停留允许时间段Tstop=(tstop1,tstop2)包括:
获取运动智能体位于Sc时所占栅格对应的地图有效时间的集合Tmap=[tmap1,tmap2,...,tmapi,...];
其中,tmap1、tmap2、tmapi分别表示栅格对应的地图有效时间中的第1个地图有效时间段、第2个地图有效时间段、第i个地图有效时间段;
计算所述集合中地图有效时间的交集,得到交集时间段的集合Tc=[tc1,tc2,...,tci,...];
其中,tc1、tc2、tci分别表示第1个交集时间段、第2个交集时间段、第i个交集时间段;
获取当前节点Xc的时刻tc作为tstop1,并向时间轴右侧探索到首个交集时间段的右边界作为tstop2;得到停留允许时间段Tstop=(tstop1,tstop2)。
8.如权利要求7所述的一种运动智能体轨迹规划装置,其特征在于,所述轨迹规划模块基于停留允许时间段Tstop和从sc移动到sn的耗时Δtn,计算期望到达时间段Tdesire=(tdesire1,tdesire2);并基于sn、Tdesire构建新节点Xn,再判断Xn是否在闭合队列中,若不在闭合队列中,且标记Xn的父节点为Xc,则将Xn存入开放队列包括:
获取从sc移动到各个sn的耗时Δtn
计算期望到达时间段Tdesire=(tdesire1,tdesire2),其中,tdesire1=tstop1+Δtn,tdesire2=tstop2+Δtn
计算各个sn对应的期望到达时间段Tdesire与各个交集时间段tci的交集的左边界,取第一个左边界为tn;若tn存在,则记为新节点Xn=(sn,tn,Xc),并判断Xn是否在闭合队列中,若不在闭合队列中,则将Xn存入开放队列,将当前节点Xc存入闭合队列。
9.一种计算机可读存储介质,其特征在于,其存储用于运动智能体轨迹规划的计算机程序,其中,所述计算机程序使得计算机执行如权利要求1-4任一项所述的运动智能体轨迹规划方法。
10.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储器;以及
一个或多个程序,其中所述一个或多个程序被存储在所述存储器中,并且被配置成由所述一个或多个处理器执行,所述程序包括用于执行如权利要求1-4任一项所述的运动智能体轨迹规划方法。
CN202011538659.4A 2020-12-23 2020-12-23 运动智能体轨迹规划方法、装置、存储介质和电子设备 Active CN112729326B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011538659.4A CN112729326B (zh) 2020-12-23 2020-12-23 运动智能体轨迹规划方法、装置、存储介质和电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011538659.4A CN112729326B (zh) 2020-12-23 2020-12-23 运动智能体轨迹规划方法、装置、存储介质和电子设备

Publications (2)

Publication Number Publication Date
CN112729326A CN112729326A (zh) 2021-04-30
CN112729326B true CN112729326B (zh) 2023-12-26

Family

ID=75604549

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011538659.4A Active CN112729326B (zh) 2020-12-23 2020-12-23 运动智能体轨迹规划方法、装置、存储介质和电子设备

Country Status (1)

Country Link
CN (1) CN112729326B (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107179078A (zh) * 2017-05-24 2017-09-19 合肥工业大学(马鞍山)高新技术研究院 一种基于时间窗优化的agv路径规划方法
CN108267149A (zh) * 2018-01-19 2018-07-10 广东美的智能机器人有限公司 多移动机器人的冲突管理方法及系统
CN108803660A (zh) * 2018-06-22 2018-11-13 苏州得尔达国际物流有限公司 货运无人机群路径规划方法
CN109540146A (zh) * 2018-11-29 2019-03-29 珠海格力智能装备有限公司 路径规划方法及装置
CN110362083A (zh) * 2019-07-17 2019-10-22 北京理工大学 一种基于多目标跟踪预测的时空地图下自主导航方法
CN110456825A (zh) * 2019-07-22 2019-11-15 清华大学 一种基于改进快速随机搜索树的无人机在线运动规划方法
CN111024081A (zh) * 2019-12-01 2020-04-17 中国人民解放军军事科学院评估论证研究中心 一种无人机群对单移动时敏目标侦察路径规划方法
CN111735470A (zh) * 2020-07-29 2020-10-02 上海国际港务(集团)股份有限公司 一种动态环境下的自动导引运输车路径规划方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106970648B (zh) * 2017-04-19 2019-05-14 北京航空航天大学 城市低空环境下无人机多目标路径规划联合搜索方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107179078A (zh) * 2017-05-24 2017-09-19 合肥工业大学(马鞍山)高新技术研究院 一种基于时间窗优化的agv路径规划方法
CN108267149A (zh) * 2018-01-19 2018-07-10 广东美的智能机器人有限公司 多移动机器人的冲突管理方法及系统
CN108803660A (zh) * 2018-06-22 2018-11-13 苏州得尔达国际物流有限公司 货运无人机群路径规划方法
CN109540146A (zh) * 2018-11-29 2019-03-29 珠海格力智能装备有限公司 路径规划方法及装置
CN110362083A (zh) * 2019-07-17 2019-10-22 北京理工大学 一种基于多目标跟踪预测的时空地图下自主导航方法
CN110456825A (zh) * 2019-07-22 2019-11-15 清华大学 一种基于改进快速随机搜索树的无人机在线运动规划方法
CN111024081A (zh) * 2019-12-01 2020-04-17 中国人民解放军军事科学院评估论证研究中心 一种无人机群对单移动时敏目标侦察路径规划方法
CN111735470A (zh) * 2020-07-29 2020-10-02 上海国际港务(集团)股份有限公司 一种动态环境下的自动导引运输车路径规划方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Optimal Path Maps on the GPU;Renato Farias等;《IEEE Transactions on Visualization and Computer Graphics》;第26卷(第9期);第2863-2874页 *
基于GPS浮动车的城市交通状态时空分布规律研究;苟锡荣;《中国优秀硕士学位论文全文数据库 工程科技Ⅱ辑》(第2期);第C034-216页 *
某无人驾驶车辆路径规划算法设计与实验研究;冯酉南;《中国优秀硕士学位论文全文数据库 工程科技Ⅱ辑》(第11期);第C035-146页 *

Also Published As

Publication number Publication date
CN112729326A (zh) 2021-04-30

Similar Documents

Publication Publication Date Title
Stahl et al. Multilayer graph-based trajectory planning for race vehicles in dynamic scenarios
CN110136481B (zh) 一种基于深度强化学习的停车策略
CN109885891B (zh) 一种智能车gpu并行加速轨迹规划方法
US11292456B2 (en) Apparatus, method and article to facilitate motion planning of an autonomous vehicle in an environment having dynamic objects
CN110703804B (zh) 一种固定翼无人机集群的分层防撞控制方法
CN109947120B (zh) 仓储系统中的路径规划方法
CN107357168B (zh) 一种基于机会约束模型预测控制的无人车避障方法
CN112284393B (zh) 一种智能移动机器人全局路径规划方法和系统
CN112577506B (zh) 一种自动驾驶局部路径规划方法和系统
Shu et al. Autonomous driving at intersections: A behavior-oriented critical-turning-point approach for decision making
CN113682312B (zh) 一种融合深度强化学习的自主换道方法及系统
Schulz et al. Learning interaction-aware probabilistic driver behavior models from urban scenarios
CN114281084B (zh) 一种基于改进a*算法的智能车全局路径规划方法
Ferrera et al. Decentralized safe conflict resolution for multiple robots in dense scenarios
Debada et al. Occlusion-aware motion planning at roundabouts
Heinrich et al. Real-time trajectory optimization under motion uncertainty using a GPU
CN112406905A (zh) 基于交通工具的数据处理方法、装置、计算机及存储介质
Alighanbari et al. Deep reinforcement learning with nmpc assistance nash switching for urban autonomous driving
Li et al. Adaptive sampling-based motion planning with a non-conservatively defensive strategy for autonomous driving
CN114442630A (zh) 一种基于强化学习和模型预测的智能车规划控制方法
Masmoudi et al. Autonomous car-following approach based on real-time video frames processing
CN112729326B (zh) 运动智能体轨迹规划方法、装置、存储介质和电子设备
CN113189985B (zh) 基于自适应粒子与信念填充的部分可观察驾驶规划方法
Haiming et al. Algorithm of path planning based on time window for multiple mobile robots in warehousing system
Wang et al. Risk-based path planning for autonomous vehicles

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