CN117077884B - 路径规划方法、装置、计算机设备和存储介质 - Google Patents
路径规划方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN117077884B CN117077884B CN202311345301.3A CN202311345301A CN117077884B CN 117077884 B CN117077884 B CN 117077884B CN 202311345301 A CN202311345301 A CN 202311345301A CN 117077884 B CN117077884 B CN 117077884B
- Authority
- CN
- China
- Prior art keywords
- point position
- road network
- node position
- node
- network connection
- 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 54
- 230000000875 corresponding effect Effects 0.000 claims description 80
- 238000004590 computer program Methods 0.000 claims description 26
- 230000008859 change Effects 0.000 claims description 18
- 230000002596 correlated effect Effects 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
- G06Q10/047—Optimisation of routes or paths, e.g. travelling salesman problem
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Economics (AREA)
- Strategic Management (AREA)
- General Physics & Mathematics (AREA)
- Game Theory and Decision Science (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Operations Research (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- Entrepreneurship & Innovation (AREA)
- Development Economics (AREA)
- Remote Sensing (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Traffic Control Systems (AREA)
Abstract
本申请提供了一种路径规划方法、装置、计算机设备和存储介质。其中,该方法包括:响应于路径规划请求,从路径规划请求中解析出起点位置和终点位置;在预存的离线代价表中,查询与起点位置相匹配的第一路网连接点位置,以及查询与终点位置相匹配的第二路网连接点位置;其中,第一路网连接点位置为路网中与起点位置相连接的点的位置,第二路网连接点位置为路网中与终点位置相连接的点的位置;规划从起点位置移动至第一路网连接点位置的第一路径,以及规划从第二路网连接点位置移动至终点位置的第二路径;拼接第一路径、路网中从第一路网连接点位置移动至第二路网连接点位置的路网路径以及第二路径,得到规划路径。采用本方法提高了路径规划的效率。
Description
技术领域
本申请涉及路径规划技术领域。具体地,本申请涉及一种路径规划方法、装置、计算机设备和存储介质。
背景技术
路径规划是指根据环境信息自主地指定移动路径,移动机器人基于该移动路径,避开环境信息中的障碍物,完成从起点位置到终点位置的自主移动。
传统的路径规划方法通常需要从起点位置开始,持续搜索下一个可行的节点,直至搜索到终点位置结束。这些点所形成的路径即为从起点位置移动至终点位置的规划路径。
然而,采用传统技术,节点搜索的工作量较大,导致路径规划效率较低。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高路径规划效率的路径规划方法、装置、计算机设备和存储介质。
第一方面,本申请提供了一种路径规划方法。所述方法包括:
响应于路径规划请求,从所述路径规划请求中解析得到起点位置和终点位置;
在预存的离线代价表中,查询与所述起点位置相匹配的第一路网连接点位置,以及查询与所述终点位置相匹配的第二路网连接点位置;其中,所述第一路网连接点位置为路网中与所述起点位置相连接的点的位置,所述第二路网连接点位置为所述路网中与所述终点位置相连接的点的位置;
规划从所述起点位置移动至所述第一路网连接点位置的第一路径,以及规划从所述第二路网连接点位置移动至所述终点位置的第二路径;
拼接所述第一路径、所述路网中从所述第一路网连接点位置移动至所述第二路网连接点位置的路网路径以及所述第二路径,得到从所述起点位置移动至所述终点位置的规划路径。
在其中一个实施例中,所述规划从所述起点位置移动至所述第一路网连接点位置的第一路径,包括:
将所述起点位置确定为当前节点位置;
判断所述当前节点位置是否满足预设的搜索步长确定条件,根据判断结果确定搜索步长;
基于所述当前节点位置,以不同曲率的搜索步长进行子节点搜索,确定至少一个初始子节点位置;其中,所述当前节点为所述初始子节点的父节点;
根据所述初始子节点位置对应的代价估计,在所述至少一个初始子节点位置中,确定目标子节点位置;其中,所述代价估计为从所述起点位置经由所述初始子节点位置移动至所述第一路网连接点位置的代价估计;
判断所述目标子节点位置是否可以通过Reeds-Shepp曲线连接到所述第一路网连接点位置;
若所述目标子节点位置可以通过Reeds-Shepp曲线连接到所述第一路网连接点位置,则对所述目标子节点位置进行父节点位置的搜寻遍历,直至搜寻到所述起点位置,获得从所述起点位置移动至所述目标子节点位置的搜寻路径;
拼接所述搜寻路径和所述目标子节点位置连接至所述第一路网连接点位置的Reeds-Shepp路径,得到第一路径。
在其中一个实施例中,所述规划从所述起点位置移动至所述第一路网连接点位置的第一路径,还包括:
若所述目标子节点位置不可以通过Reeds-Shepp曲线连接到所述第一路网连接点位置,则将所述目标子节点位置确定为所述当前节点位置,并返回执行判断所述当前节点位置是否满足预设的搜索步长确定条件,根据判断结果确定搜索步长的步骤。
在其中一个实施例中,所述规划从所述起点位置移动至所述第一路网连接点位置的第一路径,还包括:
针对每一初始子节点位置,获取所述初始子节点位置对应的曲率变化信息、所述初始子节点位置对应的曲率信息、所述初始子节点位置对应的换挡信息、所述初始子节点位置与障碍物位置之间的距离信息、所述初始子节点位置与所述起点位置之间的距离信息和所述初始子节点位置与所述第一路网连接点位置之间的距离信息;
针对每一初始子节点位置,根据所述初始子节点位置对应的曲率变化信息、所述初始子节点位置对应的曲率信息、所述初始子节点位置对应的换挡信息、所述初始子节点位置与障碍物位置之间的距离信息和所述初始子节点位置与所述起点位置之间的距离信息,计算从所述起点位置移动至所述初始子节点位置的实际代价;
针对每一初始子节点位置,根据所述初始子节点位置与障碍物位置之间的距离信息和所述初始子节点位置与所述第一路网连接点位置之间的距离信息,计算从所述初始子节点位置移动至所述第一路网连接点位置的估计代价;
针对每一初始子节点位置,根据所述实际代价、所述估计代价和所述估计代价对应的权重,计算得到所述初始子节点位置对应的代价估计。
在其中一个实施例中,所述规划从所述起点位置移动至所述第一路网连接点位置的第一路径,还包括:
根据所述初始子节点位置与所述第一路网连接点位置之间的距离信息,调整所述估计代价对应的权重;其中,所述估计代价对应的权重与所述初始子节点位置与所述第一路网连接点位置之间的距离信息正相关。
在其中一个实施例中,所述根据所述初始子节点位置对应的曲率变化信息、所述初始子节点位置对应的曲率信息、所述初始子节点位置对应的换挡信息、所述初始子节点位置与障碍物位置之间的距离信息和所述初始子节点位置与所述起点位置之间的距离信息,计算从所述起点位置移动至所述初始子节点位置的实际代价,具体通过如下公式计算:其中,/>表示从所述起点位置移动至所述初始子节点位置的实际代价,/>表示所述初始子节点位置与所述起点位置之间的距离信息,表示所述初始子节点位置对应的曲率变化信息,/>表示所述初始子节点位置对应的曲率信息,/>表示所述初始子节点位置与障碍物位置之间的距离信息,/>表示所述初始子节点位置对应的换挡信息;所述根据所述初始子节点位置与障碍物位置之间的距离信息和所述初始子节点位置与所述第一路网连接点位置之间的距离信息,计算从所述初始子节点位置移动至所述第一路网连接点位置的估计代价,具体通过如下公式计算:其中,/>表示从所述初始子节点位置移动至所述第一路网连接点位置的估计代价,/>表示所述初始子节点位置与所述第一路网连接点位置之间的距离信息;所述根据所述初始子节点位置与所述第一路网连接点位置之间的距离信息,调整所述估计代价对应的权重,包括:
若所述初始子节点位置与所述第一路网连接点位置之间的距离信息与所述初始子节点位置与所述起点位置之间的距离信息的比值大于3/7,则设定所述估计代价对应的权重为2;
若所述初始子节点位置与所述第一路网连接点位置之间的距离信息与所述初始子节点位置与所述起点位置之间的距离信息的比值小于或等于3/7,则设定所述估计代价对应的权重为1。
在其中一个实施例中,所述判断所述当前节点位置是否满足预设的搜索步长确定条件,根据判断结果确定搜索步长,包括:
判断所述当前节点位置与所述起点位置之间的距离是否小于或等于第一预设距离,判断所述当前节点位置与所述第一路网连接点位置之间的距离是否小于或等于第二预设距离,以及判断所述当前节点位置与障碍物位置之间的距离是否小于或等于第三预设距离;
若所述当前节点位置与所述起点位置之间的距离小于或等于第一预设距离,所述当前节点位置与所述第一路网连接点位置之间的距离小于或等于第二预设距离,以及所述当前节点位置与障碍物位置之间的距离小于或等于第三预设距离,则确定搜索步长为短距离搜索步长;
若所述当前节点位置与所述起点位置之间的距离大于所述第一预设距离,或者所述当前节点位置与所述第一路网连接点位置之间的距离大于所述第二预设距离,或者所述当前节点位置与障碍物位置之间的距离大于所述第三预设距离,则确定搜索步长为长距离搜索步长;
其中,所述短距离搜索步长小于所述长距离搜索步长。
在其中一个实施例中,所述基于所述当前节点位置,以不同曲率的搜索步长进行子节点搜索,确定至少一个初始子节点位置,包括:
基于所述当前节点位置,以不同曲率的搜索步长进行子节点搜索,得到至少一个候选子节点位置;
针对每一候选子节点位置,判断所述候选子节点位置是否满足预设的节点舍弃条件;
针对每一候选子节点位置,若所述候选子节点位置满足预设的节点舍弃条件,则舍弃所述候选子节点位置;
针对每一候选子节点位置,若所述候选子节点位置不满足预设的节点舍弃条件,则将所述候选子节点位置确定为所述初始子节点位置。
第二方面,本申请提供了一种路径规划装置。所述装置包括:
位置解析模块,用于响应于路径规划请求,从所述路径规划请求中解析得到起点位置和终点位置;
位置查询模块,用于在预存的离线代价表中,查询与所述起点位置相匹配的第一路网连接点位置,以及查询与所述终点位置相匹配的第二路网连接点位置;其中,所述第一路网连接点位置为路网中与所述起点位置相连接的点的位置,所述第二路网连接点位置为所述路网中与所述终点位置相连接的点的位置;
路径规划模块,用于规划从所述起点位置移动至所述第一路网连接点位置的第一路径,以及规划从所述第二路网连接点位置移动至所述终点位置的第二路径;
路径拼接模块,用于拼接所述第一路径、所述路网中从所述第一路网连接点位置移动至所述第二路网连接点位置的路网路径以及所述第二路径,得到从所述起点位置移动至所述终点位置的规划路径。
第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
响应于路径规划请求,从所述路径规划请求中解析得到起点位置和终点位置;
在预存的离线代价表中,查询与所述起点位置相匹配的第一路网连接点位置,以及查询与所述终点位置相匹配的第二路网连接点位置;其中,所述第一路网连接点位置为路网中与所述起点位置相连接的点的位置,所述第二路网连接点位置为所述路网中与所述终点位置相连接的点的位置;
规划从所述起点位置移动至所述第一路网连接点位置的第一路径,以及规划从所述第二路网连接点位置移动至所述终点位置的第二路径;
拼接所述第一路径、所述路网中从所述第一路网连接点位置移动至所述第二路网连接点位置的路网路径以及所述第二路径,得到从所述起点位置移动至所述终点位置的规划路径。
第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
响应于路径规划请求,从所述路径规划请求中解析得到起点位置和终点位置;
在预存的离线代价表中,查询与所述起点位置相匹配的第一路网连接点位置,以及查询与所述终点位置相匹配的第二路网连接点位置;其中,所述第一路网连接点位置为路网中与所述起点位置相连接的点的位置,所述第二路网连接点位置为所述路网中与所述终点位置相连接的点的位置;
规划从所述起点位置移动至所述第一路网连接点位置的第一路径,以及规划从所述第二路网连接点位置移动至所述终点位置的第二路径;
拼接所述第一路径、所述路网中从所述第一路网连接点位置移动至所述第二路网连接点位置的路网路径以及所述第二路径,得到从所述起点位置移动至所述终点位置的规划路径。
第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
响应于路径规划请求,从所述路径规划请求中解析得到起点位置和终点位置;
在预存的离线代价表中,查询与所述起点位置相匹配的第一路网连接点位置,以及查询与所述终点位置相匹配的第二路网连接点位置;其中,所述第一路网连接点位置为路网中与所述起点位置相连接的点的位置,所述第二路网连接点位置为所述路网中与所述终点位置相连接的点的位置;
规划从所述起点位置移动至所述第一路网连接点位置的第一路径,以及规划从所述第二路网连接点位置移动至所述终点位置的第二路径;
拼接所述第一路径、所述路网中从所述第一路网连接点位置移动至所述第二路网连接点位置的路网路径以及所述第二路径,得到从所述起点位置移动至所述终点位置的规划路径。
上述路径规划方法、装置、计算机设备、计算机可读存储介质和计算机程序产品,只需规划从起点位置移动至第一路网连接点位置的第一路径和从第二路网连接点位置移动至终点位置的第二路径,第一路网连接点位置与第二路网连接点位置之间直接采用路网路径,如此减少了节点搜索的工作量,有利于提高路径规划的效率。
附图说明
图1为一个实施例中路径规划方法的流程示意图;
图2为一个实施例中路网的示意图;
图3为一个实施例中路网混合Astar路径规划的流程示意图;
图4为一个实施例中规划从起点位置移动至第一路网连接点位置的第一路径的补充方案的流程示意图;
图5为一个实施例中路径规划装置的结构框图;
图6为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的路径规划方法,可以应用于终端,也可以应用于服务器,还可以应用于包括终端和服务器的***,并通过终端和服务器的交互实现。
其中,终端可以是手机(mobile phone)、平板电脑(Pad)、带无线收发功能的电脑、虚拟现实(virtual reality, VR)终端设备、增强现实(augmented reality, AR)终端设备、工业控制(industrial control)中的无线终端、无人驾驶(self driving)中的无线终端、智能电网(smart grid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smart city)中的无线终端、车载终端等。终端还可以是作为一个或多个部件或者单元而内置于车辆的车载模块、车载模组、车载部件、车载芯片或者车载单元,车辆通过内置的车载模块、车载模组、车载部件、车载芯片或者车载单元可以实施本申请实施例提供的路径规划方法。
服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图1所示,提供了一种路径规划方法。该方法包括以下步骤:
步骤S102,响应于路径规划请求,从路径规划请求中解析得到起点位置和终点位置。
具体而言,用户基于自身需求,在终端中选择或输入起点位置和终点位置,并触发终端的路径规划功能。终端响应于用户操作,生成包含起点位置和终点位置的路径规划请求。接下来,终端可以将该路径规划请求发送至服务器,由服务器执行路径规划方法的步骤。终端也可以自己来完成路径规划方法的实施。
步骤S104,在预存的离线代价表中,查询与起点位置相匹配的第一路网连接点位置,以及查询与终点位置相匹配的第二路网连接点位置。
其中,第一路网连接点位置为路网中与起点位置相连接的点的位置。第二路网连接点位置为路网中与终点位置相连接的点的位置。路网为根据全局地图离线手动或半自动生成的路网文件。路网中包括可通行的道路。如图2所示。
具体而言,离线代价表的生成过程为:构建3D节点列表(NodeList)。其中,每个3D节点为一个3D栅格,3D栅格以20cm为单位划分,航向角每5度(deg)为一层。构建以当前车辆坐标系下,半径为5m的范围。记录该范围内的每个3D栅格点。将记录的3D栅格点依次离线与当前车辆坐标系位姿进行优化后的混合Astar算法全局规划。计算每一条生成的路径代价,并放置到对应的栅格属性中,将栅格属性记录在离线代价表中。之后,在路网上,寻找代价最小的栅格点,作为路网连接点位置。
步骤S106,规划从起点位置移动至第一路网连接点位置的第一路径,以及规划从第二路网连接点位置移动至终点位置的第二路径。
具体而言,采用路径规划算法来规划从起点位置移动至第一路网连接点位置的第一路径,并规划从第二路网连接点位置移动至终点位置的第二路径。可选地,路径规划算法可以是迪杰斯特拉(Dijkstra)算法、A星算法等。
步骤S108,拼接第一路径、路网中从第一路网连接点位置移动至第二路网连接点位置的路网路径以及第二路径,得到从起点位置移动至终点位置的规划路径。
其中,路网路径是指在路网中从一个位置点移动至另一个位置点的路径。
可选地,在拼接第一路径、路网中从第一路网连接点位置移动至第二路网连接点位置的路网路径以及第二路径后,针对拼接后的路径进行贝塞尔曲线(B-Spline)平滑,得到从起点位置移动至终点位置的规划路径。如图3所示。
上述路径规划方法中,只需规划从起点位置移动至第一路网连接点位置的第一路径和从第二路网连接点位置移动至终点位置的第二路径,第一路网连接点位置与第二路网连接点位置之间直接采用路网路径,如此减少了节点搜索的工作量,有利于提高路径规划的效率。并且,路网路径可以复用,有利于提高路径规划的一致性和稳定性。
在一个实施例中,如图4所示,步骤S106中“规划从起点位置移动至第一路网连接点位置的第一路径”包括以下步骤:
步骤S111,将起点位置确定为当前节点位置;
步骤S112,判断当前节点位置是否满足预设的搜索步长确定条件,根据判断结果确定搜索步长;
步骤S113,基于当前节点位置,以不同曲率的搜索步长进行子节点搜索,确定至少一个初始子节点位置;其中,当前节点为初始子节点的父节点;
步骤S114,根据初始子节点位置对应的代价估计,在至少一个初始子节点位置中,确定目标子节点位置;其中,代价估计为从起点位置经由初始子节点位置移动至第一路网连接点位置的代价估计;目标子节点位置为代价估计最小的初始子节点位置或者为代价估计次小的初始子节点位置;
步骤S115,判断目标子节点位置是否可以通过Reeds-Shepp曲线连接到第一路网连接点位置;
步骤S116,若目标子节点位置可以通过Reeds-Shepp曲线连接到第一路网连接点位置,则对目标子节点位置进行父节点位置的搜寻遍历,直至搜寻到起点位置,获得从起点位置移动至目标子节点位置的搜寻路径;
步骤S117,若目标子节点位置不可以通过Reeds-Shepp曲线连接到第一路网连接点位置,则将目标子节点位置确定为当前节点位置,并返回执行判断当前节点位置是否满足预设的搜索步长确定条件,根据判断结果确定搜索步长的步骤;
步骤S118,拼接搜寻路径和目标子节点位置连接至第一路网连接点位置的Reeds-Shepp路径,得到第一路径。
在上述实施例的基础上,步骤S106中“规划从起点位置移动至第一路网连接点位置的第一路径”还包括以下步骤:
步骤S1141,针对每一初始子节点位置,获取初始子节点位置对应的曲率变化信息、初始子节点位置对应的曲率信息、初始子节点位置对应的换挡信息、初始子节点位置与障碍物位置之间的距离信息、初始子节点位置与起点位置之间的距离信息和初始子节点位置与第一路网连接点位置之间的距离信息;
步骤S1142,针对每一初始子节点位置,根据初始子节点位置对应的曲率变化信息、初始子节点位置对应的曲率信息、初始子节点位置对应的换挡信息、初始子节点位置与障碍物位置之间的距离信息和初始子节点位置与起点位置之间的距离信息,计算从起点位置移动至初始子节点位置的实际代价G,也即G代价;
步骤S1143,针对每一初始子节点位置,根据初始子节点位置与障碍物位置之间的距离信息和初始子节点位置与第一路网连接点位置之间的距离信息,计算从初始子节点位置移动至第一路网连接点位置的估计代价H,也即H代价;
步骤S1144,针对每一初始子节点位置,根据实际代价、估计代价和估计代价对应的权重,计算得到初始子节点位置对应的代价估计。具体地,iTmpPoint.m_dCost =iTmpPoint.GetG() + dCoefficient_H iTmpPoint.GetH(),其中,iTmpPoint.m_dCost表示代价估计,iTmpPoint.GetG()表示实际代价,dCoefficient_H表示估计代价对应的权重,iTmpPoint.GetH()表示估计代价。
进一步地,在一个实施例中,步骤S106中“规划从起点位置移动至第一路网连接点位置的第一路径”还包括以下步骤:
步骤S1145,根据初始子节点位置与第一路网连接点位置之间的距离信息,调整估计代价对应的权重。
其中,估计代价对应的权重与初始子节点位置与第一路网连接点位置之间的距离信息正相关。
本实施例中,通过动态调整估计代价的权重,使得在远距离搜索(即采用长距离搜索步长的情况)时会提高路径规划的效率,在近距离搜索(即采用短距离搜索步长的情况)时会保证路径规划的质量。同时在代价计算过程中考虑了与障碍物距离的代价,这样在整体计算出的路径中,会尽可能地远离障碍物,保证路径轨迹的安全性。
在一个实施例中,步骤S1142中“根据初始子节点位置对应的曲率变化信息、初始子节点位置对应的曲率信息、初始子节点位置对应的换挡信息、初始子节点位置与障碍物位置之间的距离信息和初始子节点位置与起点位置之间的距离信息,计算从起点位置移动至初始子节点位置的实际代价”,具体通过如下公式计算:其中,/>表示从起点位置移动至初始子节点位置的实际代价,/>表示初始子节点位置与起点位置之间的距离信息,/>表示初始子节点位置对应的曲率变化信息,/>表示初始子节点位置对应的曲率信息,/>表示初始子节点位置与障碍物位置之间的距离信息,/>表示初始子节点位置对应的换挡信息。
具体而言,上述实际代价计算公式中的各参数通过如下调用函数进行调用:
dTmpG = iPoint.GetG() + dSampleCellsize + 8 fabs(iTmpPoint.GetCurv() - iPoint.GetCurv()) +1 />fabs(iTmpPoint.GetCurv()) +3 /> (1.0 / m_iVoronoiDiagram.GetDistanceFromMap(iTmpPoint.GetX() / 0.05, iTmpPoint.GetY() /0.05)) +5/>iTmpPoint.m_nGearCost
dTmpG 为当前节点G代价的计算结果;
iPoint.GetG()为父节点的G代价;
dSampleCellsize 为当前节点到父节点的距离代价;
fabs(iTmpPoint.GetCurv() - iPoint.GetCurv())为当前节点到父节点的曲率变化代价;
fabs(iTmpPoint.GetCurv())为当前节点曲率代价;
m_iVoronoiDiagram.GetDistanceFromMap(iTmpPoint.GetX()/0.05,iTmpPoint.GetY() / 0.05))为当前节点障碍物代价;
iTmpPoint.m_nGearCost为当前节点换挡代价。
在一个实施例中,步骤S1143中“根据初始子节点位置与障碍物位置之间的距离信息和初始子节点位置与第一路网连接点位置之间的距离信息,计算从初始子节点位置移动至第一路网连接点位置的估计代价”,具体通过如下公式计算:其中,/>表示从初始子节点位置移动至第一路网连接点位置的估计代价,/>表示初始子节点位置与第一路网连接点位置之间的距离信息。
具体而言,上述估计代价计算公式中的各参数通过如下调用函数进行调用:
dH = iPoint.GetH() + Node3D::m_dCellsize iCurNode.MovementCost(vNode2DList[iCurNode.GetPred()])+m_iVoronoiDiagram.GetCostFromMap(iCurNode.GetX() /> Node3D::m_dCellsize / 0.05,iCurNode.GetY() /> Node3D::m_dCellsize / 0.05)/>30;
iPoint.GetH()为父节点H代价;
iCurNode.MovementCost(vNode2DList[iCurNode.GetPred()])为当前节点到父节点的距离代价;
m_iVoronoiDiagram.GetCostFromMap(iCurNode.GetX() Node3D::m_dCellsize / 0.05,iCurNode.GetY() /> Node3D::m_dCellsize / 0.05) 为当前节点到障碍物的距离代价。
在一个实施例中,步骤S1145“根据初始子节点位置与第一路网连接点位置之间的距离信息,调整估计代价对应的权重”包括:
若初始子节点位置与第一路网连接点位置之间的距离信息与初始子节点位置与起点位置之间的距离信息的比值大于3/7,则设定估计代价对应的权重为2;
若初始子节点位置与第一路网连接点位置之间的距离信息与初始子节点位置与起点位置之间的距离信息的比值小于或等于3/7,则设定估计代价对应的权重为1。
可替换地,权重设定为2也可以替换为权重在2附近的区间内,选取一个数值作为权重,例如预先设置区间[1.8, 2.2],并从该区间内随机选取一个数作为权重。同理,权重设定为1的情况也适用前述替换方案。
在一个实施例中,步骤S112“判断当前节点位置是否满足预设的搜索步长确定条件,根据判断结果确定搜索步长”包括以下步骤:
步骤S1122,判断当前节点位置与起点位置之间的距离是否小于或等于第一预设距离,判断当前节点位置与第一路网连接点位置之间的距离是否小于或等于第二预设距离,以及判断当前节点位置与障碍物位置之间的距离是否小于或等于第三预设距离;
步骤S1124,若当前节点位置与起点位置之间的距离小于或等于第一预设距离,当前节点位置与第一路网连接点位置之间的距离小于或等于第二预设距离,以及当前节点位置与障碍物位置之间的距离小于或等于第三预设距离,则确定搜索步长为短距离搜索步长;
步骤S1126,若当前节点位置与起点位置之间的距离大于第一预设距离,或者当前节点位置与第一路网连接点位置之间的距离大于第二预设距离,或者当前节点位置与障碍物位置之间的距离大于第三预设距离,则确定搜索步长为长距离搜索步长;
其中,短距离搜索步长小于长距离搜索步长。例如,短距离搜索步长为0.2米,长距离搜索步长为0.6米。再如,短距离搜索步长为0.3米,长距离搜索步长为0.8米。
具体而言,第一预设距离、第二预设距离和第三预设距离可以根据实际需求进行设定。第一预设距离、第二预设距离和第三预设距离可以相等,也可以不等。例如,第一预设距离为2米,第二预设距离为2米,第三预设距离为3米。再如,第一预设距离为3米,第二预设距离为3米,第三预设距离为3米。
本实施例中,根据当前节点位置和周围的障碍物环境来动态调整搜索步长,这样在障碍物较多的地方进行短距离搜索,提高规划路径搜索成功率。在开阔无障碍物的环境下,节点会进行长距离搜索,这样可以大大提高路径规划的效率。
在一个实施例中,步骤S106中“规划从第二路网连接点位置移动至终点位置的第二路径”包括以下步骤:
步骤S121,将第二路网连接点位置确定为当前节点位置;
步骤S122,判断当前节点位置是否满足预设的搜索步长确定条件,根据判断结果确定搜索步长;
步骤S123,基于当前节点位置,以不同曲率的搜索步长进行子节点搜索,确定至少一个初始子节点位置;其中,当前节点为初始子节点的父节点;
步骤S124,根据初始子节点位置对应的代价估计,在至少一个初始子节点位置中,确定目标子节点位置;其中,代价估计为从第二路网连接点位置经由初始子节点位置移动至终点位置的代价估计;
步骤S125,判断目标子节点位置是否可以通过Reeds-Shepp曲线连接到终点位置;
步骤S126,若目标子节点位置可以通过Reeds-Shepp曲线连接到终点位置,则对目标子节点位置进行父节点位置的搜寻遍历,直至搜寻到第二路网连接点位置,获得从第二路网连接点位置移动至目标子节点位置的搜寻路径;
步骤S127,若目标子节点位置不可以通过Reeds-Shepp曲线连接到终点位置,则将目标子节点位置确定为当前节点位置,并返回执行判断当前节点位置是否满足预设的搜索步长确定条件,根据判断结果确定搜索步长的步骤;
步骤S128,拼接搜寻路径和目标子节点位置连接至终点位置的Reeds-Shepp路径,得到第二路径。
在上述实施例的基础上,步骤S106中“规划从第二路网连接点位置移动至终点位置的第二路径”还包括以下步骤:
步骤S1241,针对每一初始子节点位置,获取初始子节点位置对应的曲率变化信息、初始子节点位置对应的曲率信息、初始子节点位置对应的换挡信息、初始子节点位置与障碍物位置之间的距离信息、初始子节点位置与第二路网连接点位置之间的距离信息和初始子节点位置与终点位置之间的距离信息;
步骤S1242,针对每一初始子节点位置,根据初始子节点位置对应的曲率变化信息、初始子节点位置对应的曲率信息、初始子节点位置对应的换挡信息、初始子节点位置与障碍物位置之间的距离信息和初始子节点位置与第二路网连接点位置之间的距离信息,计算从第二路网连接点位置移动至初始子节点位置的实际代价;
步骤S1243,针对每一初始子节点位置,根据初始子节点位置与障碍物位置之间的距离信息和初始子节点位置与终点位置之间的距离信息,计算从初始子节点位置移动至终点位置的估计代价;
步骤S1244,针对每一初始子节点位置,根据实际代价、实际代价对应的权重、估计代价和估计代价对应的权重,计算得到初始子节点位置对应的代价估计。
进一步地,在一个实施例中,步骤S106中“规划从第二路网连接点位置移动至终点位置的第二路径”还包括以下步骤:
步骤S1245,根据初始子节点位置与终点位置之间的距离信息,调整实际代价对应的权重和估计代价对应的权重。
其中,实际代价对应的权重与初始子节点位置与终点位置之间的距离信息负相关,估计代价对应的权重与初始子节点位置与终点位置之间的距离信息正相关。
本实施例中,通过动态调整估计代价的权重,使得在远距离搜索时会提高路径规划的效率,在近距离搜索时会保证路径规划的质量。同时在代价计算过程中考虑了与障碍物距离的代价,这样在整体计算出的路径中,会尽可能地远离障碍物,保证路径轨迹的安全性。
在一个实施例中,步骤S122“判断当前节点位置是否满足预设的搜索步长确定条件,根据判断结果确定搜索步长”包括以下步骤:
步骤S1222,判断当前节点位置与第二路网连接点位置之间的距离是否小于或等于第一预设距离,判断当前节点位置与终点位置之间的距离是否小于或等于第二预设距离,以及判断当前节点位置与障碍物位置之间的距离是否小于或等于第三预设距离;
步骤S1224,若当前节点位置与第二路网连接点位置之间的距离小于或等于第一预设距离,当前节点位置与终点位置之间的距离小于或等于第二预设距离,以及当前节点位置与障碍物位置之间的距离小于或等于第三预设距离,则确定搜索步长为短距离搜索步长;
步骤S1226,若当前节点位置与第二路网连接点位置之间的距离大于第一预设距离,或者当前节点位置与终点位置之间的距离大于第二预设距离,或者当前节点位置与障碍物位置之间的距离大于第三预设距离,则确定搜索步长为长距离搜索步长;
其中,短距离搜索步长小于长距离搜索步长。例如,短距离搜索步长为0.2米,长距离搜索步长为0.6米。再如,短距离搜索步长为0.3米,长距离搜索步长为0.8米。
具体而言,第一预设距离、第二预设距离和第三预设距离可以根据实际需求进行设定。第一预设距离、第二预设距离和第三预设距离可以相等,也可以不等。例如,第一预设距离为2米,第二预设距离为2米,第三预设距离为3米。再如,第一预设距离为3米,第二预设距离为3米,第三预设距离为3米。
本实施例中,根据当前节点位置和周围的障碍物环境来动态调整搜索步长,这样在障碍物较多的地方进行短距离搜索,提高规划路径搜索成功率。在开阔无障碍物的环境下,节点会进行长距离搜索,这样可以大大提高路径规划的效率。
在一个实施例中,步骤“基于当前节点位置,以不同曲率的搜索步长进行子节点搜索,确定至少一个初始子节点位置”包括以下步骤:
基于当前节点位置,以不同曲率的搜索步长进行子节点搜索,得到至少一个候选子节点位置;
针对每一候选子节点位置,判断候选子节点位置是否满足预设的节点舍弃条件;
针对每一候选子节点位置,若候选子节点位置满足预设的节点舍弃条件,则舍弃候选子节点位置;
针对每一候选子节点位置,若候选子节点位置不满足预设的节点舍弃条件,则将候选子节点位置确定为初始子节点位置。
具体而言,不同曲率是预先设定好的。不同曲率例如可以是左前方10度、右前方10度、正前方、左后方10度、右后方10度和正后方。搜索步长为前述的短距离搜索步长或长距离搜索步长。基于此,不同曲率的搜索步长例如可以是分别在左前方10度、右前方10度、正前方、左后方10度、右后方10度和正后方移动0.2米。如此搜索到的位置即为候选子节点位置。
预设的节点舍弃条件可以是判断候选子节点位置是否已经遍历搜寻过、判断候选子节点位置是否存在碰撞风险中的一种或多种。若是,则舍弃候选子节点位置。否则,将候选子节点位置确定为初始子节点位置。在一示例中,若候选子节点位置没有遍历搜寻过且候选子节点位置不存在碰撞风险,则将候选子节点位置确定为初始子节点位置。若候选子节点位置遍历搜寻过或候选子节点位置存在碰撞风险,则舍弃该候选子节点位置。
本实施例中,通过设定节点舍弃条件,可以筛选掉不满足该条件的候选子节点,从而优化子节点集合,确保只有满足条件的子节点被保留,有助于找到更优的路径。同时可以减少计算和内存开销,尤其在大规模路径规划任务中,可以降低资源消耗。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的路径规划方法的路径规划装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个路径规划装置实施例中的具体限定可以参见上文中对于路径规划方法的限定,在此不再赘述。
在一个实施例中,如图5所示,提供了一种路径规划装置20。该装置包括:
位置解析模块202,用于响应于路径规划请求,从路径规划请求中解析得到起点位置和终点位置;
位置查询模块204,用于在预存的离线代价表中,查询与起点位置相匹配的第一路网连接点位置,以及查询与终点位置相匹配的第二路网连接点位置;其中,第一路网连接点位置为路网中与起点位置相连接的点的位置,第二路网连接点位置为路网中与终点位置相连接的点的位置;
路径规划模块206,用于规划从起点位置移动至第一路网连接点位置的第一路径,以及规划从第二路网连接点位置移动至终点位置的第二路径;
路径拼接模块208,用于拼接第一路径、路网中从第一路网连接点位置移动至第二路网连接点位置的路网路径以及第二路径,得到从起点位置移动至终点位置的规划路径。
上述路径规划装置中,只需规划从起点位置移动至第一路网连接点位置的第一路径和从第二路网连接点位置移动至终点位置的第二路径,第一路网连接点位置与第二路网连接点位置之间直接采用路网路径,如此减少了节点搜索的工作量,有利于提高路径规划的效率。并且,路网路径可以复用,有利于提高路径规划的一致性和稳定性。
需要说明的是,上述实施例提供的路径规划装置在实现相应的功能时,仅以上述各功能模块的划分举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的路径规划装置与路径规划方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
根据本申请的一个方面,本发明实施例还提供一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分从网络上被下载和安装。在该计算机程序被处理器执行时,执行本申请实施例提供的路径规划方法。
此外,本发明实施例还提供了一种计算机设备,该设备包括处理器和存储器,存储器存储有计算机程序,处理器能够执行存储器中存储的计算机程序,计算机程序被处理器执行时,可以实现上述任一实施例提供的路径规划方法。
例如,图6示出了本发明实施例提供的一种计算机设备,该设备包括总线1110、处理器1120、收发器1130、总线接口1140、存储器1150和用户接口1160。
在本发明实施例中,该设备还包括:存储在存储器1150上并可在处理器1120上运行的计算机程序,计算机程序被处理器1120执行时实现上述路径规划方法实施例的各个过程。
收发器1130,用于在处理器1120的控制下接收和发送数据。
本发明实施例中,总线架构(用总线1110来代表),总线1110可以包括任意数量互联的总线和桥,总线1110将包括由处理器1120代表的一个或多个处理器与存储器1150代表的存储器的各种电路连接在一起。
总线1110表示若干类型的总线结构中的任何一种总线结构中的一个或多个,包括存储器总线以及存储器控制器、***总线、加速图形端口(Accelerate Graphical Port,AGP)、处理器或使用各种总线体系结构中的任意总线结构的局域总线。作为示例而非限制,这样的体系结构包括:工业标准体系结构(Industry Standard Architecture,ISA)总线、微通道体系结构(Micro Channel Architecture,MCA)总线、扩展ISA(Enhanced ISA,EISA)总线、视频电子标准协会(Video Electronics Standards Association,VESA)、***部件互连(Peripheral Component Interconnect,PCI)总线。
处理器1120可以是一种集成电路芯片,具有信号处理能力。在实现过程中,上述方法实施例的各步骤可以通过处理器中硬件的集成逻辑电路或软件形式的指令完成。上述的处理器包括:通用处理器、中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(FieldProgrammable Gate Array,FPGA)、复杂可编程逻辑器件(Complex Programmable LogicDevice,CPLD)、可编程逻辑阵列(Programmable Logic Array,PLA)、微控制单元(Microcontroller Unit,MCU)或其他可编程逻辑器件、分立门、晶体管逻辑器件、分立硬件组件。可以实现或执行本发明实施例中公开的各方法、步骤及逻辑框图。例如,处理器可以是单核处理器或多核处理器,处理器可以集成于单颗芯片或位于多颗不同的芯片。
处理器1120可以是微处理器或任何常规的处理器。结合本发明实施例所公开的方法步骤可以直接由硬件译码处理器执行完成,或者由译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存取存储器(Random Access Memory,RAM)、闪存(FlashMemory)、只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、寄存器等本领域公知的可读存储介质中。所述可读存储介质位于存储器中,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
总线1110还可以将,例如***设备、稳压器或功率管理电路等各种其他电路连接在一起,总线接口1140在总线1110和收发器1130之间提供接口,这些都是本领域所公知的。因此,本发明实施例不再对其进行进一步描述。
收发器1130可以是一个元件,也可以是多个元件,例如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。例如:收发器1130从其他设备接收外部数据,收发器1130用于将处理器1120处理后的数据发送给其他设备。取决于计算机***的性质,还可以提供用户接口1160,例如:触摸屏、物理键盘、显示器、鼠标、扬声器、麦克风、轨迹球、操纵杆、触控笔。
应理解,在本发明实施例中,存储器1150可进一步包括相对于处理器1120远程设置的存储器,这些远程设置的存储器可以通过网络连接至服务器。上述网络的一个或多个部分可以是自组织网络(ad hoc network)、内联网(intranet)、外联网(extranet)、虚拟专用网(VPN)、局域网(LAN)、无线局域网(WLAN)、广域网(WAN)、无线广域网(WWAN)、城域网(MAN)、互联网(Internet)、公共交换电话网(PSTN)、普通老式电话业务网(POTS)、蜂窝电话网、无线网络、无线保真(Wi-Fi)网络以及两个或更多个上述网络的组合。例如,蜂窝电话网和无线网络可以是全球移动通信(GSM)***、码分多址(CDMA)***、全球微波互联接入(WiMAX)***、通用分组无线业务(GPRS)***、宽带码分多址(WCDMA)***、长期演进(LTE)***、LTE频分双工(FDD)***、LTE时分双工(TDD)***、先进长期演进(LTE-A)***、通用移动通信(UMTS)***、增强移动宽带(Enhance Mobile Broadband,eMBB)***、海量机器类通信(massive Machine Type of Communication,mMTC)***、超可靠低时延通信(UltraReliable Low Latency Communications,uRLLC)***等。
应理解,本发明实施例中的存储器1150可以是易失性存储器或非易失性存储器,或可包括易失性存储器和非易失性存储器两者。其中,非易失性存储器包括:只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存(Flash Memory)。
易失性存储器包括:随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如:静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data RateSDRAM,DDRSDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(Synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(DirectRambus RAM,DRRAM)。本发明实施例描述的存储器1150包括但不限于上述和任意其他适合类型的存储器。
在本发明实施例中,存储器1150存储了操作***1151和应用程序1152的如下元素:可执行模块、数据结构,或者其子集,或者其扩展集。
具体而言,操作***1151包含各种***程序,例如:框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。应用程序1152包含各种应用程序,例如:媒体播放器(Media Player)、浏览器(Browser),用于实现各种应用业务。实现本发明实施例方法的程序可以包含在应用程序1152中。应用程序1152包括:小程序、对象、组件、逻辑、数据结构以及其他执行特定任务或实现特定抽象数据类型的计算机***可执行指令。
此外,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述路径规划方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
计算机可读存储介质包括:永久性和非永久性、可移动和非可移动媒体,是可以保留和存储供指令执行设备所使用指令的有形设备。计算机可读存储介质包括:电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备以及上述任意合适的组合。计算机可读存储介质包括:相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、非易失性随机存取存储器(NVRAM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带存储、磁带磁盘存储或其他磁性存储设备、记忆棒、机械编码装置(例如在其上记录有指令的凹槽中的穿孔卡或凸起结构)或任何其他非传输介质、可用于存储可以被计算设备访问的信息。按照本发明实施例中的界定,计算机可读存储介质不包括暂时信号本身,例如无线电波或其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例如穿过光纤电缆的光脉冲)或通过导线传输的电信号。
在本申请所提供的几个实施例中,应该理解到,所披露的装置、设备和方法,可以通过其他的方式实现。例如,以上描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或可以集成到另一个***,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的、机械的或其他的形式连接。
所述作为分离部件说明的单元可以是或也可以不是物理上分开的,作为单元显示的部件可以是或也可以不是物理单元,既可以位于一个位置,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或全部单元来解决本发明实施例方案要解决的问题。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术作出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(包括:个人计算机、服务器、数据中心或其他网络设备)执行本发明各个实施例所述方法的全部或部分步骤。而上述存储介质包括如前述所列举的各种可以存储程序代码的介质。
在本发明实施例的描述中,所属技术领域的技术人员应当知道,本发明实施例可以实现为方法、装置、设备及存储介质。因此,本发明实施例可以具体实现为以下形式:完全的硬件、完全的软件(包括固件、驻留软件、微代码等)、硬件和软件结合的形式。此外,在一些实施例中,本发明实施例还可以实现为在一个或多个计算机可读存储介质中的计算机程序产品的形式,该计算机可读存储介质中包含计算机程序代码。
上述计算机可读存储介质可以采用一个或多个计算机可读存储介质的任意组合。计算机可读存储介质包括:电、磁、光、电磁、红外或半导体的***、装置或器件,或者以上任意的组合。计算机可读存储介质更具体的例子包括:便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、闪存(Flash Memory)、光纤、光盘只读存储器(CD-ROM)、光存储器件、磁存储器件或以上任意组合。在本发明实施例中,计算机可读存储介质可以是任意包含或存储程序的有形介质,该程序可以被指令执行***、装置、器件使用或与其结合使用。
上述计算机可读存储介质包含的计算机程序代码可以用任意适当的介质传输,包括:无线、电线、光缆、射频(Radio Frequency,RF)或者以上任意合适的组合。
可以以汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、集成电路配置数据或以一种或多种程序设计语言或其组合来编写用于执行本发明实施例操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言,例如:Java、Smalltalk、C++,还包括常规的过程式程序设计语言,例如:C语言或类似的程序设计语言。计算机程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行以及完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络,包括:局域网(LAN)或广域网(WAN),可以连接到用户计算机,也可以连接到外部计算机。
本发明实施例通过流程图和/或方框图描述所提供的方法、装置、设备。
应当理解,流程图和/或方框图的每个方框以及流程图和/或方框图中各方框的组合,都可以由计算机可读程序指令实现。这些计算机可读程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,从而生产出一种机器,这些计算机可读程序指令通过计算机或其他可编程数据处理装置执行,产生了实现流程图和/或方框图中的方框规定的功能/操作的装置。
也可以将这些计算机可读程序指令存储在能使得计算机或其他可编程数据处理装置以特定方式工作的计算机可读存储介质中。这样,存储在计算机可读存储介质中的指令就产生出一个包括实现流程图和/或方框图中的方框规定的功能/操作的指令装置产品。
也可以将计算机可读程序指令加载到计算机、其他可编程数据处理装置或其他设备上,使得在计算机、其他可编程数据处理装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机或其他可编程数据处理装置上执行的指令能够提供实现流程图和/或方框图中的方框规定的功能/操作的过程。
以上所述,仅为本发明实施例的具体实施方式,但本发明实施例的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明实施例披露的技术范围内,可轻易地想到变化或替换,都应涵盖在本发明实施例的保护范围之内。因此,本发明实施例的保护范围应以权利要求的保护范围为准。
Claims (7)
1.一种路径规划方法,其特征在于,所述方法包括:
响应于路径规划请求,从所述路径规划请求中解析得到起点位置和终点位置;
在预存的离线代价表中,查询与所述起点位置相匹配的第一路网连接点位置,以及查询与所述终点位置相匹配的第二路网连接点位置;其中,所述第一路网连接点位置为路网中与所述起点位置相连接的点的位置,所述第二路网连接点位置为所述路网中与所述终点位置相连接的点的位置;
规划从所述起点位置移动至所述第一路网连接点位置的第一路径,以及规划从所述第二路网连接点位置移动至所述终点位置的第二路径;
拼接所述第一路径、所述路网中从所述第一路网连接点位置移动至所述第二路网连接点位置的路网路径以及所述第二路径,得到从所述起点位置移动至所述终点位置的规划路径;
其中,所述规划从所述起点位置移动至所述第一路网连接点位置的第一路径,包括:
将所述起点位置确定为当前节点位置;
判断所述当前节点位置是否满足预设的搜索步长确定条件,根据判断结果确定搜索步长;
基于所述当前节点位置,以不同曲率的搜索步长进行子节点搜索,确定至少一个初始子节点位置;其中,所述当前节点为所述初始子节点的父节点;
根据所述初始子节点位置对应的代价估计,在所述至少一个初始子节点位置中,确定目标子节点位置;其中,所述代价估计为从所述起点位置经由所述初始子节点位置移动至所述第一路网连接点位置的代价估计;
判断所述目标子节点位置是否可以通过Reeds-Shepp曲线连接到所述第一路网连接点位置;
若所述目标子节点位置可以通过Reeds-Shepp曲线连接到所述第一路网连接点位置,则对所述目标子节点位置进行父节点位置的搜寻遍历,直至搜寻到所述起点位置,获得从所述起点位置移动至所述目标子节点位置的搜寻路径;
拼接所述搜寻路径和所述目标子节点位置连接至所述第一路网连接点位置的Reeds-Shepp路径,得到第一路径;
若所述目标子节点位置不可以通过Reeds-Shepp曲线连接到所述第一路网连接点位置,则将所述目标子节点位置确定为所述当前节点位置,并返回执行判断所述当前节点位置是否满足预设的搜索步长确定条件,根据判断结果确定搜索步长的步骤;
所述规划从所述起点位置移动至所述第一路网连接点位置的第一路径,还包括:
针对每一初始子节点位置,获取所述初始子节点位置对应的曲率变化信息、所述初始子节点位置对应的曲率信息、所述初始子节点位置对应的换挡信息、所述初始子节点位置与障碍物位置之间的距离信息、所述初始子节点位置与所述起点位置之间的距离信息和所述初始子节点位置与所述第一路网连接点位置之间的距离信息;
针对每一初始子节点位置,根据所述初始子节点位置对应的曲率变化信息、所述初始子节点位置对应的曲率信息、所述初始子节点位置对应的换挡信息、所述初始子节点位置与障碍物位置之间的距离信息和所述初始子节点位置与所述起点位置之间的距离信息,计算从所述起点位置移动至所述初始子节点位置的实际代价;
针对每一初始子节点位置,根据所述初始子节点位置与障碍物位置之间的距离信息和所述初始子节点位置与所述第一路网连接点位置之间的距离信息,计算从所述初始子节点位置移动至所述第一路网连接点位置的估计代价;
针对每一初始子节点位置,根据所述实际代价、所述估计代价和所述估计代价对应的权重,计算得到所述初始子节点位置对应的代价估计。
2.根据权利要求1所述的方法,其特征在于,所述规划从所述起点位置移动至所述第一路网连接点位置的第一路径,还包括:
根据所述初始子节点位置与所述第一路网连接点位置之间的距离信息,调整所述估计代价对应的权重;其中,所述估计代价对应的权重与所述初始子节点位置与所述第一路网连接点位置之间的距离信息正相关。
3.根据权利要求2所述的方法,其特征在于,所述根据所述初始子节点位置对应的曲率变化信息、所述初始子节点位置对应的曲率信息、所述初始子节点位置对应的换挡信息、所述初始子节点位置与障碍物位置之间的距离信息和所述初始子节点位置与所述起点位置之间的距离信息,计算从所述起点位置移动至所述初始子节点位置的实际代价,具体通过如下公式计算:
其中,/>表示从所述起点位置移动至所述初始子节点位置的实际代价,/>表示所述初始子节点位置与所述起点位置之间的距离信息,/>表示所述初始子节点位置对应的曲率变化信息,/>表示所述初始子节点位置对应的曲率信息,/>表示所述初始子节点位置与障碍物位置之间的距离信息,/>表示所述初始子节点位置对应的换挡信息;
所述根据所述初始子节点位置与障碍物位置之间的距离信息和所述初始子节点位置与所述第一路网连接点位置之间的距离信息,计算从所述初始子节点位置移动至所述第一路网连接点位置的估计代价,具体通过如下公式计算:
其中,/>表示从所述初始子节点位置移动至所述第一路网连接点位置的估计代价,/>表示所述初始子节点位置与所述第一路网连接点位置之间的距离信息;所述根据所述初始子节点位置与所述第一路网连接点位置之间的距离信息,调整所述估计代价对应的权重,包括:
若所述初始子节点位置与所述第一路网连接点位置之间的距离信息与所述初始子节点位置与所述起点位置之间的距离信息的比值大于3/7,则设定所述估计代价对应的权重为2;
若所述初始子节点位置与所述第一路网连接点位置之间的距离信息与所述初始子节点位置与所述起点位置之间的距离信息的比值小于或等于3/7,则设定所述估计代价对应的权重为1。
4.根据权利要求1所述的方法,其特征在于,所述判断所述当前节点位置是否满足预设的搜索步长确定条件,根据判断结果确定搜索步长,包括:
判断所述当前节点位置与所述起点位置之间的距离是否小于或等于第一预设距离,判断所述当前节点位置与所述第一路网连接点位置之间的距离是否小于或等于第二预设距离,以及判断所述当前节点位置与障碍物位置之间的距离是否小于或等于第三预设距离;
若所述当前节点位置与所述起点位置之间的距离小于或等于第一预设距离,所述当前节点位置与所述第一路网连接点位置之间的距离小于或等于第二预设距离,以及所述当前节点位置与障碍物位置之间的距离小于或等于第三预设距离,则确定搜索步长为短距离搜索步长;
若所述当前节点位置与所述起点位置之间的距离大于所述第一预设距离,或者所述当前节点位置与所述第一路网连接点位置之间的距离大于所述第二预设距离,或者所述当前节点位置与障碍物位置之间的距离大于所述第三预设距离,则确定搜索步长为长距离搜索步长;
其中,所述短距离搜索步长小于所述长距离搜索步长。
5.一种路径规划装置,其特征在于,所述装置包括:
位置解析模块,用于响应于路径规划请求,从所述路径规划请求中解析得到起点位置和终点位置;
位置查询模块,用于在预存的离线代价表中,查询与所述起点位置相匹配的第一路网连接点位置,以及查询与所述终点位置相匹配的第二路网连接点位置;其中,所述第一路网连接点位置为路网中与所述起点位置相连接的点的位置,所述第二路网连接点位置为所述路网中与所述终点位置相连接的点的位置;
路径规划模块,用于规划从所述起点位置移动至所述第一路网连接点位置的第一路径,以及规划从所述第二路网连接点位置移动至所述终点位置的第二路径;
路径拼接模块,用于拼接所述第一路径、所述路网中从所述第一路网连接点位置移动至所述第二路网连接点位置的路网路径以及所述第二路径,得到从所述起点位置移动至所述终点位置的规划路径;
所述路径规划模块,具体用于将所述起点位置确定为当前节点位置;判断所述当前节点位置是否满足预设的搜索步长确定条件,根据判断结果确定搜索步长;基于所述当前节点位置,以不同曲率的搜索步长进行子节点搜索,确定至少一个初始子节点位置;其中,所述当前节点为所述初始子节点的父节点;根据所述初始子节点位置对应的代价估计,在所述至少一个初始子节点位置中,确定目标子节点位置;其中,所述代价估计为从所述起点位置经由所述初始子节点位置移动至所述第一路网连接点位置的代价估计;判断所述目标子节点位置是否可以通过Reeds-Shepp曲线连接到所述第一路网连接点位置;若所述目标子节点位置可以通过Reeds-Shepp曲线连接到所述第一路网连接点位置,则对所述目标子节点位置进行父节点位置的搜寻遍历,直至搜寻到所述起点位置,获得从所述起点位置移动至所述目标子节点位置的搜寻路径;拼接所述搜寻路径和所述目标子节点位置连接至所述第一路网连接点位置的Reeds-Shepp路径,得到第一路径;若所述目标子节点位置不可以通过Reeds-Shepp曲线连接到所述第一路网连接点位置,则将所述目标子节点位置确定为所述当前节点位置,并返回执行判断所述当前节点位置是否满足预设的搜索步长确定条件,根据判断结果确定搜索步长的步骤;
所述路径规划模块,还具体用于针对每一初始子节点位置,获取所述初始子节点位置对应的曲率变化信息、所述初始子节点位置对应的曲率信息、所述初始子节点位置对应的换挡信息、所述初始子节点位置与障碍物位置之间的距离信息、所述初始子节点位置与所述起点位置之间的距离信息和所述初始子节点位置与所述第一路网连接点位置之间的距离信息;针对每一初始子节点位置,根据所述初始子节点位置对应的曲率变化信息、所述初始子节点位置对应的曲率信息、所述初始子节点位置对应的换挡信息、所述初始子节点位置与障碍物位置之间的距离信息和所述初始子节点位置与所述起点位置之间的距离信息,计算从所述起点位置移动至所述初始子节点位置的实际代价;针对每一初始子节点位置,根据所述初始子节点位置与障碍物位置之间的距离信息和所述初始子节点位置与所述第一路网连接点位置之间的距离信息,计算从所述初始子节点位置移动至所述第一路网连接点位置的估计代价;针对每一初始子节点位置,根据所述实际代价、所述估计代价和所述估计代价对应的权重,计算得到所述初始子节点位置对应的代价估计。
6.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至4中任一项所述的方法的步骤。
7.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至4中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311345301.3A CN117077884B (zh) | 2023-10-18 | 2023-10-18 | 路径规划方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311345301.3A CN117077884B (zh) | 2023-10-18 | 2023-10-18 | 路径规划方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117077884A CN117077884A (zh) | 2023-11-17 |
CN117077884B true CN117077884B (zh) | 2024-01-23 |
Family
ID=88715722
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311345301.3A Active CN117077884B (zh) | 2023-10-18 | 2023-10-18 | 路径规划方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117077884B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109947100A (zh) * | 2019-03-12 | 2019-06-28 | 深圳优地科技有限公司 | 路径规划方法、***及终端设备 |
CN114162113A (zh) * | 2021-12-28 | 2022-03-11 | 武汉理工大学 | 一种结合多段式曲线的平行泊车路径规划方法 |
CN115014380A (zh) * | 2022-06-30 | 2022-09-06 | 智道网联科技(北京)有限公司 | 泊车路径规划方法以及装置、电子设备、存储介质 |
WO2022222718A1 (zh) * | 2021-04-19 | 2022-10-27 | 北京有竹居网络技术有限公司 | 导航方法、装置、存储介质及设备 |
-
2023
- 2023-10-18 CN CN202311345301.3A patent/CN117077884B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109947100A (zh) * | 2019-03-12 | 2019-06-28 | 深圳优地科技有限公司 | 路径规划方法、***及终端设备 |
WO2022222718A1 (zh) * | 2021-04-19 | 2022-10-27 | 北京有竹居网络技术有限公司 | 导航方法、装置、存储介质及设备 |
CN114162113A (zh) * | 2021-12-28 | 2022-03-11 | 武汉理工大学 | 一种结合多段式曲线的平行泊车路径规划方法 |
CN115014380A (zh) * | 2022-06-30 | 2022-09-06 | 智道网联科技(北京)有限公司 | 泊车路径规划方法以及装置、电子设备、存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN117077884A (zh) | 2023-11-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6632173B1 (ja) | ロボットの地図構築及び位置推定 | |
CN109540142B (zh) | 一种机器人定位导航的方法、装置、计算设备 | |
CN110260867B (zh) | 一种机器人导航中位姿确定、纠正的方法、设备及装置 | |
KR102599024B1 (ko) | 경로 안내를 위한 장치, 방법, 컴퓨터 프로그램 및 컴퓨터 판독 가능한 기록 매체 | |
KR101203897B1 (ko) | 이동체(mobile body)를 위한 셀?기반 경로 계획 장치 및 방법 | |
CN111121812B (zh) | 一种路径优化方法、电子设备及存储介质 | |
JP7330142B2 (ja) | 車両のuターン経路を決定する方法、装置、デバイスおよび媒体 | |
KR101896993B1 (ko) | 이동체의 경로 결정 방법 및 장치 | |
CN108444490B (zh) | 基于可视图和a*算法深度融合的机器人路径规划方法 | |
US9778052B2 (en) | Routing with data version stitching | |
CN111813101A (zh) | 机器人路径规划方法、装置、终端设备及存储介质 | |
KR20150145169A (ko) | 도로망에 기초하여 도달가능한 지역을 결정하는 방법 및 장치 | |
JP2019500691A (ja) | 急速探索ランダム化フィードバック主体の動作計画 | |
CN109341698B (zh) | 一种移动机器人的路径选择方法及装置 | |
EP4172707A1 (en) | An edge computing based path planning system for agv with intelligent deviation correction algorithm | |
CN109816131B (zh) | 路径规划方法、路径规划装置及计算机可读存储介质 | |
CN114998477B (zh) | 掉头区域车道中心线的绘制方法、装置、设备及产品 | |
CN113108806B (zh) | 路径规划方法、装置、设备及介质 | |
CN109827584B (zh) | 路径规划方法、装置、电子设备与存储介质 | |
CN115390551A (zh) | 一种机器人路径规划方法、装置、电子设备及存储介质 | |
CN117077884B (zh) | 路径规划方法、装置、计算机设备和存储介质 | |
CN116295354B (zh) | 一种无人车主动全局定位方法和*** | |
CN111830957A (zh) | 一种路径规划方法和装置 | |
CN113739798B (zh) | 路径规划方法和装置 | |
CN114510053A (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 |