路径规划方法及相关装置、电子设备、存储介质
技术领域
本申请涉及路径规划
技术领域
,特别是涉及一种路径规划方法及相关装置、电子设备、存储介质。背景技术
随着信息技术的发展,路径规划在路径导航、无人驾驶等诸多领域得到广泛应用,因此路径规划一直以来都是研究热点,对于其规划优劣通常会采用一系列标准来评价。经研究测试,诸如迪杰斯特拉等现有路径规划算法在路径规划长度方面具有较优效果,能够较好地满足规划从起点到终点的最短路径需求。
然而,本申请发明人研究发现,现有路径规划算法通常将人、车等移动对象视为质点,从而导致所规划的路径可能穿过障碍物之间的缝隙,而当缝隙特别小时,移动对象在按照该路径移动时,实际上可能并不能通过缝隙。由此可见,现有路径规划仍然存在安全隐患。有鉴于此,如何提高路径规划的安全性成为亟待解决的问题。
发明内容
本申请主要解决的技术问题是提供一种路径规划方法及相关装置、电子设备、存储介质,能够提高路径规划的安全性。
为了解决上述技术问题,本申请第一方面提供了一种路径规划方法,包括:基于环境信息,生成栅格地图;其中,栅格地图包含若干栅格,若干栅格包括起点栅格、终点栅格和候选栅格,起点栅格表示路径起点所在栅格,终点栅格表示路径终点所在栅格,候选栅格位于障碍物之外的活动区域,且各个栅格均标注有栅格至障碍物的第一距离;对于包围参考栅格的第一区域内的各个候选栅格,基于各个候选栅格的第一路径代价,选择候选栅格作为已选栅格;其中,参考栅格为前一次选择作为已选栅格的候选栅格,且第一路径代价是基于候选栅格所标注的第一距离得到的;基于起点栅格、终点栅格和历次选择到的已选栅格,得到由路径起点至路径终点的运动路径。
为了解决上述技术问题,本申请第二方面提供了一种路径规划装置,包括:地图生成模块、栅格选择模块和路径生成模块,地图生成模块,用于基于环境信息,生成栅格地图;其中,栅格地图包含若干栅格,若干栅格包括起点栅格、终点栅格和候选栅格,起点栅格表示路径起点所在栅格,终点栅格表示路径终点所在栅格,候选栅格位于障碍物之外的活动区域,且各个栅格均标注有栅格至障碍物的第一距离;栅格选择模块,用于对于包围参考栅格的第一区域内的各个候选栅格,基于各个候选栅格的第一路径代价,选择候选栅格作为已选栅格;其中,参考栅格为前一次选择作为已选栅格的候选栅格,且第一路径代价是基于候选栅格所标注的第一距离得到的;路径生成模块,用于基于起点栅格、终点栅格和历次选择到的已选栅格,得到由路径起点至路径终点的运动路径。
为了解决上述技术问题,本申请第三方面提供了一种电子设备,包括相互耦接的存储器和处理器,存储器中存储有程序指令,处理器用于执行程序指令以实现上述第一方面中的路径规划方法。
为了解决上述技术问题,本申请第四方面提供了一种计算机可读存储介质,存储有能够被处理器运行的程序指令,程序指令用于实现上述第一方面中的路径规划方法。
上述方案,基于环境信息,生成栅格地图,且栅格地图包含若干栅格,若干栅格包括起点栅格、终点栅格和候选栅格,起点栅格表示路径起点所在栅格,终点栅格表示路径终点所在栅格,候选栅格位于障碍物之外的活动区域,各个栅格均标注有栅格至障碍物的第一距离,在此基础上,对于包围参考栅格的第一区域内的各个候选栅格,基于各个候选栅格的第一路径代价,选择候选栅格作为已选栅格,且参考栅格为前一次选择作为已选栅格的候选栅格,第一路径代价是基于候选栅格所标注的第一距离得到的,从而基于起点栅格、终点栅格和历次选择到的已选栅格,得到由路径起点至路径终点的运动路径,由于各个栅格均标注有栅格至障碍物的第一距离,而在选择候选栅格作为已选栅格的过程中又考虑候选栅格的第一路径代价,且第一路径代价是基于候选栅格所标注的第一距离得到的,故候选栅格至障碍物的第一距离能够约束路径规划过程中候选栅格的选择,有利于尽可能地降低运动路径穿过实际无法通行的缝隙的可能性,能够提高路径规划的安全性。
附图说明
图1是本申请路径规划方法一实施例的流程示意图;
图2是栅格地图一实施例的示意图;
图3是栅格地图另一实施例的示意图;
图4是距离地图一实施例的示意图;
图5是AGV小车一实施例的示意图;
图6是本申请路径规划方法另一实施例的流程示意图;
图7是运动路径和平滑路径一实施例的示意图;
图8是本申请路径规划装置一实施例的框架示意图;
图9是本申请电子设备一实施例的框架示意图;
图10是本申请计算机可读存储介质一实施例的框架示意图。
具体实施方式
下面结合说明书附图,对本申请实施例的方案进行详细说明。
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、接口、技术之类的具体细节,以便透彻理解本申请。
本文中术语“系统”和“网络”在本文中常被可互换使用。本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。此外,本文中的“多”表示两个或者多于两个。
请参阅图1,图1是本申请路径规划方法一实施例的流程示意图。具体而言,可以包括如下步骤:
步骤S11:基于环境信息,生成栅格地图。
本公开实施例中,栅格地图包含若干栅格。具体地,每一栅格可以包括若干像素点,如可以包括一个像素点,或者可以包括四个像素点,或者可以包括九个像素点,在此不做限定。请参阅图2,图2是栅格地图一实施例的示意图。如图2所示,每一矩形方格表示一个栅格,每一栅格包含两行两列共四个像素点(如图中点状阴影填充的虚线框所示)。需要说明的是,每一栅格的边长可以表示为该栅格对应于现实场景中长度,如每一栅格的边长可以对应于现实场景中10厘米、20厘米、30厘米等等,在此不做限定。此外,图2所示仅仅是现实场景中栅格一种可能的设置方式,并不因此而限定栅格中具体所包含的像素点,如每一栅格也可以包含三行三列共九个像素点,或者可以包含四行四列共十六个像素点,在此不再一一举例。
本公开实施例中,若干栅格包括起点栅格、终点栅格和候选栅格,起点栅格表示路径起点所在栅格,终点栅格表示路径终点所在栅格,候选栅格位于障碍物之外的活动区域。请继续结合参阅图2,图2中横线阴影填充的圆形表示路径起点,该圆形所在的矩形方格表示起点栅格,图2中竖线阴影填充的圆形表示路径终点,该圆形所在的矩形方格表示终点栅格。此外,未填充阴影的矩形方格表示候选栅格。进一步地,为了区分活动区域和非活动区域,若干栅格中还包括用于表示障碍物的障碍栅格。如图2所示,图2中以网格阴影填充的矩形方格表示障碍栅格。需要说明的是,图2所示的路径起点、路径终点以及障碍栅格所在位置,仅仅是现实场景中一种可能的设置方式,并不因此而限定上述三者实际所在位置。
本公开实施例中,各个栅格均标注有栅格至障碍物的第一距离。第一距离具体可以是栅格至障碍物的最近距离。具体地,可以获取栅格预设位置至障碍栅格的最近距离,作为该栅格所标注的第一距离。请结合参阅图2,以图2中起点栅格为中心的邻域内八个候选栅格为例,为了便于区分这八个候选栅格,分别采用不同字母进行编号,左上角候选栅格编号为A,上方候选栅格编号为B,右上角候选栅格编号为C,左侧候选栅格编号为D,右侧候选栅格编号为E,左下角候选栅格编号为F,下方候选栅格编号为G,右下角候选栅格编号为H,为了便于描述,后续分别称为:候选栅格A、候选栅格B、候选栅格C、候选栅格D,候选栅格E、候选栅格F、候选栅格G、候选栅格H。以预设位置为候选栅格中心且栅格边长对应于现实场景中10厘米为例,请结合参阅表1,表1是栅格所标注的第一距离一实施例的示意表,如表1所示,候选栅格A所标注的第一距离为25厘米,表示候选栅格A中心位置在现实场景中至障碍物的最短距离为25厘米,以此类推,候选栅格B所标注的第一距离为15厘米,表示候选栅格B中心位置在现实场景中至障碍物的最短距离为15厘米,以及候选栅格C所标注的第一距离为5厘米,表示候选栅格C中心位置在现实场景中至障碍物的最短距离为5厘米,其余候选栅格可以以此类推,在此不再一一举例。
表1 栅格所标注的第一距离一实施例的示意表
栅格
第一距离(厘米)
栅格
第一距离(厘米)
候选栅格A
25
候选栅格B
15
候选栅格C
5
候选栅格D
25
候选栅格E
5
候选栅格F
25
候选栅格G
15
候选栅格H
5
在一个实施场景中,为了提高在路径规划过程中获取第一距离的便利性,可以生成与栅格地图相同分辨率的距离地图,且距离地图中也包含若干栅格,每一栅格的像素值为该栅格至障碍物的第一距离,即距离地图中颜色越亮的栅格,表示其至障碍物的第一距离越远,反之颜色越暗的栅格,表示其至障碍物的第一距离越近。故此,通过保存距离地图,即在路径规划过程中随时访问到各个栅格至障碍物的第一距离。
在一个实施场景中,如前所述,为了提高在路径规划过程中获取第一距离的便利性,可以生成与栅格地图相同分辨率的距离地图,区别在于,距离地图中每一像素点的像素值表示该像素点至障碍物的第一距离,即距离地图中颜色越亮的像素点,表示其至障碍物的第一距离越远,反之颜色越暗的像素点,表示其至障碍物的第一距离越近。请结合参阅图3和图4,图3是栅格地图另一实施例的示意图,图4是距离地图一实施例的示意图,图4具体是由图3所示栅格地图所生成的距离地图,为了清楚表现各个像素点至障碍物的第一距离,图中仅示意性地表示出障碍栅格,其他诸如候选栅格、起点栅格和终点栅格等均未表示。如图所示,颜色越亮的像素点距离障碍物越远,而颜色越暗的像素点距离障碍物越近。故此,通过保存距离地图,也能够在路径规划中随时访问到第一距离,且由于距离地图中每一像素点的像素值均能够反映该像素点至障碍物的第一距离,故同时还能够提高距离地图的精细化程度。
需要说明的是,为了提高路径规划的准确性,每次路径规划之前,可以请求获取环境信息,以生成新的栅格地图,从而能够及时地捕获环境变化,尽可能地降低发生规划路径与实际环境不符等情况的概率。例如,环境中可能新增/移除障碍物,若仍按照旧的栅格地图来进行路径规划,可能会发生规划路径经过新增障碍物而导致无法按规划路径运动的情况,或者可能会发生规划路径绕开移除障碍物而导致规划路径绕远路的情况,故此在每次路径规划之前,通过请求获取环境信息,并重新基于环境信息生成新的栅格地图,能够提升路径规划的准确性和稳定性。
在一个实施场景中,环境信息可以通过摄像机、雷达等采集设备自动捕获得到。以AGV(Automated Guided Vehicle)小车为例,可以在AGV小车上装载诸如上述摄像机、雷达等采集设备,AGV小车在路径规划之前,可以按照一定的运动轨迹在活动场地移动(或者,在活动场地随机移动),并在移动过程中通过上述采集设备采集得到环境信息。例如,在采集设备包括摄像机的情况下,环境信息可以包括在活动场地内所拍摄到的环境图像,或者,在采集设备包括雷达的情况下,环境信息可以包括在活动场地所捕获到的点云数据,在此不做限定。此外,可以基于SLAM(simultaneous localization and mapping,即时定位与地图构建)等算法处理上述环境信息,以生成得到栅格地图。具体生成过程,可以参阅SLAM等算法的技术细节,在此不再赘述。需要说明的是,为了避免每次路径规划之前捕获环境信息而带来的额外负担,在路径规划之前,可以向用户设备发送请求确认消息,该请求确认消息用于请求用户确认是否需要重新捕获环境信息,在接收到用户设备的同意捕获消息之后,可以开始采集环境信息,反之在接收到用户设备的取消捕获消息之后,可以直接开始规划路径。
在一个实施场景中,环境信息也可以由用户手动输入。具体地,用户可以基于当前环境发生变化而输入新的环境信息。仍以前述AGV小车为例,在当前环境发生变化的情况下,用户可以重新绘制当前环境的平面地图,并将平面地图发送至AGV小车,AGV小车再基于接收到的平面地图生成栅格地图。其他情况可以以此类推,在此不再一一举例。
步骤S12:对于包围参考栅格的第一区域内的各个候选栅格,基于各个候选栅格的第一路径代价,选择候选栅格作为已选栅格。
本公开实施例中,参考栅格为前一次选择作为已选栅格的候选栅格,且第一路径代价是基于候选栅格所标注的第一距离得到的。需要说明的是,在首次选择候选栅格的情况下,由于其前一次并未发生栅格选择操作,故可以直接将起点栅格作为参考栅格,即首次选择栅格时,可以对于包围起点栅格的第一区域内的各个候选栅格,基于候选栅格的第一路径代价,选择候选栅格作为已选栅格;以此类推,在第二选择候选栅格的情况下,可以将第一次选择作为已选栅格的候选栅格作为参考栅格,并对于该包围参考栅格的第一区域内的各个候选栅格,基于各个候选栅格的第一路径代价,选择候选栅格作为已选栅格;如此往复,在第i次选择候选栅格的情况下,可以将第i-1次选择作为已选栅格的候选栅格作为参考栅格,并对于该包围参考栅格的第一区域内的各个候选栅格,基于各个候选栅格的第一路径代价,选择候选栅格作为已选栅格,以此类推,在此不再一一举例。
在一个实施场景中,在每次选择到已选栅格之后,可以检测已选栅格是否为终点栅格,若是则可以结束候选栅格的选择过程,否则可以将该已选栅格作为下一次选择候选栅格过程中的参考栅格,并重新执行上述对于包围参考栅格的第一区域内的各个候选栅格,基于各个候选栅格的第一路径代价,选择候选栅格作为已选栅格的步骤,直至选择到的已选栅格为终点栅格为止。
在一个实施场景中,包围参考栅格的第一区域可以为以参考栅格为中心且以栅格边长的预设倍数为边长的正方形区域。例如,预设倍数可以为3倍,则第一区域即为参考栅格的八邻域。其他情况可以以此类推,在此不再一一距离。
在一个实施场景中,为了便于选择候选栅格,在每次选择之后可以将未选择的候选栅格存储于第一列表中,并在每次选择时,可以将以参考栅格为中心的邻域范围内各个未选择的候选栅格,一同存储于第一列表中,且在每次选择之后,可以将选择到的候选栅格从第一列表中移除。需要说明的是,在此情况下,参考列表的第一区域内的各个候选栅格包括:前一次选择之后第一列表剩下的候选栅格以及本次选择时以参考栅格为中心的邻域范围内各个未选择的候选栅格。
在一个实施场景中,为了便于后续基于已选栅格规划路径,可以将已选栅格存储于第二列表中,在结束选择候选栅格的流程之后,可以直接根据第二列表中的已选栅格构建得到运动路径,具体构建过程可以参阅下述相关描述,在此暂不赘述。
在一个实施场景中,第一路径代价可以包括第一代价,第一代价是基于候选栅格所标注的第一距离得到的,且候选栅格所标注的第一距离与候选栅格的第一代价负相关。也就是说,候选栅格所标注的第一距离越大,候选栅格的第一代价越小,反之候选栅格所标注的第一距离越小,候选栅格的第一代价越大。上述方式,通过设置第一路径代价包括第一代价,且第一代价是基于候选栅格所标注的第一距离得到的,候选栅格所标注的第一距离与候选栅格第一代价负相关,从而能够通过第一代价约束路径规划过程中尽可能地与障碍物边缘保持一定距离,有利于提高规划路径的安全性。
在一个具体的实施场景中,为了简化前述第一代价的计算步骤,可以在路径规划之前先设置若干预设区间,且若干预设区间分别对应有代价系数,预设区间的端点值越大,预设区间对应的代价系数越小。需要说明的是,端点值表示上限值或下限值,即预设区间的上限值越大,预设区间对应的代价系数越小,或者,预设区间的下限值越大,预设区间对应的代价系数越小。在此基础上,可以在若干预设区间中,选择候选栅格所标注的第一距离所对应的预设区间作为目标区间,并利用目标区间的代价系数对候选栅格所标注的第一距离进行加权,得到候选栅格的第一代价。上述方式,通过从若干预设区间中选择候选栅格所标注的第一距离对应的预设区间作为目标区间,且预设区间的端点值越大,预设区间对应的代价系数越小,从而利用目标区间的代价系数对候选栅格所标注的第一距离进行加权即可得到候选栅格的第一代价,故仅通过选择预设区间即可利用加权计算得到第一代价,有利于大大简化第一代价的计算流程,降低计算负荷。
在一个具体的实施场景中,需要说明的是,最终规划得到的运动路径用于为移动对象(如,前述AGV小车,或者行人,或者其他移动载体等)提供导航信息,预设区间的端点值是基于移动对象的宽度设置的,且移动对象在运动过程中沿移动对象的长度方向运动。请结合参阅图5,图5是移动对象一实施例的示意图。具体地,图5是AGV小车一实施例的示意图,如图5所示,AGV小车的运动方向为其长度方向,为了便于描述,其长度可以记为L,且其宽度可以记为W。上述方式,预设区间的端点值是基于移动对象的宽度设置的,且移动对象在运动过程中沿移动对象的长度方向运动,故能够有利于进一步降低移动对象按照规划到的运动路径进行移动过程中触碰到障碍物的可能性,有利于提高规划路径的安全性。
在一个具体的实施场景中,预设区间的个数也可以根据实际需要进行设置,例如,可以设置为2个、3个、4个、5个等等,在此不做限定。为了尽可能地提高第一代价的准确性,可以设置6个预设区间,根据端点值(如,上限值,或下限值)由大到小的顺序,六个预设区间可以分别为命名为:绝对安全区间、安全区间、较安全区间、较危险区间、危险区间、十分危险区间,其中,处于绝对安全区间表示运动绝对安全(即绝对不会触碰到障碍物),处于安全区间表示运动是安全(即正常情况下不会触碰到障碍物),处于较安全区间表示运动较为安全(即给运动留出适当冗余,以克服定位和地图之间偏差对导航的影响),处于较危险区间表示运动存在一定风险(即运动过程中已经存在一定几率触碰到障碍物,但也可能不会触碰到障碍物),处于危险区间表示运动存在较大风险(即运动过程一定会触碰到障碍物),处于十分危险区间表示运动存在极大风险(即运动过程中一定会触碰到障碍物,且无法通过缝隙)。由于理论上,所规划路径与障碍物之间的距离小于一半宽度(即W/2)时,移动对象在该路径上运动就存在危险性。故此可以基于宽度设置各个预设区间的端点值。请参阅表2,表2是预设区间一实施例的示意表。如表1所示,绝对安全区间的区间范围为大于等于3倍宽度W,若在该区间运动,则认为具有绝对安全性;安全区间的区间范围为大于等于1.56倍宽度W,且小于3倍宽度W,若在该区间运动,则认为在通常情况下安全;较安全区间的区间范围为大于等于0.78倍宽度W,且小于1.56倍宽度W,若在该区间内运动,仍然能够确保稍大于宽度的一半,故仍然能给运动留出适当冗余,以克服定位和地图之间偏差对导航的影响;较危险区间的区间范围为大于等于0.39倍宽度W,且小于0.78倍宽度W,即既可能小于宽度W的一半,也可能大于宽度W的一半,故运动存在一定风险;危险区间的区间范围为大于等于0.195倍宽度W,且小于0.39倍宽度W,若在该区间内运动,必然小于宽度的一半,故存在危险性;十分危险区间的区间范围为大于等于0,且小于0.195倍宽度W,若在该区间内运动,存在极大风险,即运动过程中一定会触碰到障碍物,且无法通过缝隙。
表2 预设区间一实施例的示意表
预设区间
区间范围
预设区间
区间范围
绝对安全区间
[3W,+∞)
安全区间
[1.56W,3W)
较安全区间
[0.78W,1.56W)
较危险区间
[0.39W,0.78W)
危险区间
[0.195W,0.39W)
十分危险区间
[0,0.195W)
在一个具体的实施场景中,请继续结合参阅图2,仍以起点栅格为中心的邻域内八个候选栅格为例,在宽度W为20厘米的情况下,请结合参阅表3,表3是预设区间另一实施例的示意表,在设置上述6个预设区间的情况下,各个预设区间的区间范围如表3所示。请进一步结合参阅表1,对于候选栅格A,其第一距离落在较安全区间,对于候选栅格B,其第一距离落在较危险区间,对于候选栅格C,其第一距离落在危险区间,对于候选栅格D,其第一距离落在较安全区间,对于候选栅格E,其第一距离落在危险区间,对于候选栅格F,其第一距离落在较安全区间,对于候选栅格G,其第一距离落在较危险区间,对于候选栅格H,其第一距离落在危险区间。其他情况可以以此类推,在此不再一一举例。
表3 预设区间另一实施例的示意表
预设区间
区间范围(厘米)
预设区间
区间范围(厘米)
绝对安全区间
[60,+∞)
安全区间
[32.2,60)
较安全区间
[15.6,31.2)
较危险区间
[7.8,15.6)
危险区间
[3.9,7.8)
十分危险区间
[0,3.9)
在一个具体的实施场景中,仍以上述六个预设区间为例,绝对安全区间对应的代价系数可以记为δ1,安全区间对应的代价系数可以记为δ2,较安全区间对应的代价系数可以记为δ3,较危险区间对应的代价系数可以记为δ4,危险区间对应的代价系数记为δ5,十分危险区间对应的代价系数记为δ6。在此基础上,对于第n个候选栅格,其第一代价d(n)可以表示为:
……(1)
上述公式(1)中,d表示第n个候选栅格所标注的第一距离。
在一个具体的实施场景中,在若干预设区间中端点值(最大值或最小值)最大的预设区间,其对应的代价系数可以设置为0。以前述六个预设区间为例,可以将绝对安全区间对应的代价系数设置为0。上述方式,通过将端点值最大的预设区间对应的代价系数设置为0,能够忽略绝对安全区间内候选栅格的距离代价,有利于提升第一路径代价的准确性。
在一个具体的实施场景中,仍以前述六个预设区间为例,在前述代价系数δ1、δ2、δ3、δ4、δ5、δ5分别设置为0、1、2、3、12、20的情况下,对于图2中起点栅格邻域内八个候选栅格而言,由于候选栅格A的第一距离落在较安全区间,故其第一代价可以计算为2*25=50(如图2中候选栅格A右上角数字所示),类似地,可计算得到候选栅格B的第一代价为45(如图2中候选栅格B右上角数字所示),候选栅格C的第一代价为60(如图2中候选栅格B右上角数字所示),候选栅格D的第一代价为50(如图2中候选栅格B右上角数字所示),候选栅格E的第一代价为60(如图2中候选栅格B右上角数字所示),候选栅格F的第一代价为50(如图2中候选栅格B右上角数字所示),候选栅格G的第一低价为45(如图2中候选栅格B右上角数字所示),候选栅格H的第一代价为60(如图2中候选栅格B右上角数字所示)。其他情况可以以此类推,在此不再一一举例。
在一个实施场景中,为了进一步提升第一路径代价的准确性,第一路径代价还可以包括第二代价,且第二代价是基于候选栅格至参考栅格的第二距离得到的。为了便于描述,包围参考栅格的第一区域内中第n个候选栅格的第二代价可以记为m(n,neighbor),以候选栅格位于参考栅格八邻域为例,请结合参阅图2,在栅格的边长对应于现实场景中10厘米的情况下,位于参考栅格上方的候选栅格(如图2中候选栅格B)至参考栅格(如图2中起点栅格)的第二距离为10,则其第二代价可以记为10(如图2中候选栅格B左下角数字所示),位于参考栅格下方的候选栅格(如图2中候选栅格G)至参考栅格(如图2中起点栅格)的第二距离为10,则其第二代价可以记为10(如图2中候选栅格G左下角数字所示),位于参考栅格左侧的候选栅格(如图2中候选栅格D)至参考栅格(如图2中起点栅格)的第二距离为10,则其第二代价可以记为10(如图2中候选栅格D左下角数字所示),位于参考栅格右侧的候选栅格(如图2中候选栅格E)至参考栅格(如图2中起点栅格)的第二距离为10,则其第二代价可以记为10(如图2中候选栅格E左下角数字所示);类似地,位于参考栅格左上角的候选栅格(如图2中候选栅格A)至参考栅格(如图2中起点栅格)的第二距离为14(具体可以根据勾股定理计算,在此不做赘述),则其第二代价可以记为14(如图2中候选栅格G左下角数字所示),位于参考栅格右上角的候选栅格(如图2中候选栅格C)至参考栅格(如图2中起点栅格)的第二距离为14(具体可以根据勾股定理计算,在此不做赘述),则其第二代价可以记为14(如图2中候选栅格C左下角数字所示),位于参考栅格左下角的候选栅格(如图2中候选栅格F)至参考栅格(如图2中起点栅格)的第二距离为14(具体可以根据勾股定理计算,在此不做赘述),则其第二代价可以记为14(如图2中候选栅格F左下角数字所示),位于参考栅格右下角的候选栅格(如图2中候选栅格H)至参考栅格(如图2中起点栅格)的第二距离为14(具体可以根据勾股定理计算,在此不做赘述),则其第二代价可以记为14(如图2中候选栅格H左下角数字所示)。其他情况可以以此类推,在此不再一一举例。
在一个实施场景中,为了进一步提升第一路径代价的准确性,第一路径代价还包括第三代价,且第三代价是基于参考栅格至起点栅格的第三距离得到的。为了便于描述,第三代价可以记为g(c)。请结合参与图2,在首次选择候选栅格的情况下,参考栅格即为起点栅格,故各个候选栅格的第三代价均为0(如图2中各个候选栅格右下角数字所示)。
在一个实施场景中,为了进一步提升第一路径代价的准确性,第一路径代价还包括第四代价,且第四代价是基于候选栅格至终点栅格的第四距离得到的。为了便于描述,包围参考栅格的第一区域内中第n个候选栅格的第四代价可以记为h(n,neighbor),以候选栅格位于参考栅格八邻域为例,请结合参与图2,在栅格的边长对应于现实场景中10厘米的情况下,位于参考栅格上方的候选栅格(如图2中候选栅格B)至终点栅格的第四距离为50(具体可以根据曼哈顿距离公式计算得到,在此不再赘述),则其第四代价可以记为50(如图2中候选栅格B左上角数字所示),位于参考栅格下方的候选栅格(如图2中候选栅格G)至终点栅格的第四距离为70(具体可以根据曼哈顿距离公式计算得到,在此不再赘述),则其第四代价可以记为70(如图2中候选栅格G左上角数字所示),位于参考栅格左侧的候选栅格(如图2中候选栅格D)至终点栅格的第四距离为70(具体可以根据曼哈顿距离公式计算得到,在此不再赘述),则其第四代价可以记为70(如图2中候选栅格D左上角数字所示),位于参考栅格右侧的候选栅格(如图2中候选栅格E)至终点栅格的第四距离为50(具体可以根据曼哈顿距离公式计算得到,在此不再赘述),则其第四代价可以记为50(如图2中候选栅格E左上角数字所示);类似地,位于参考栅格左上角的候选栅格(如图2中候选栅格A)至终点栅格的第四距离为60(具体可以根据曼哈顿距离公式计算得到,在此不再赘述),则其第四代价可以记为60(如图2中候选栅格G左上角数字所示),位于参考栅格右上角的候选栅格(如图2中候选栅格C)至终点栅格的第四距离为40(具体可以根据曼哈顿距离公式计算得到,在此不再赘述),则其第四代价可以记为40(如图2中候选栅格C左上角数字所示),位于参考栅格左下角的候选栅格(如图2中候选栅格F)至终点栅格的第四距离为80(具体可以根据曼哈顿距离公式计算得到,在此不再赘述),则其第四代价可以记为80(如图2中候选栅格F左上角数字所示),位于参考栅格右下角的候选栅格(如图2中候选栅格H)至终点栅格的第四距离为60(具体可以根据曼哈顿距离公式计算得到,在此不再赘述),则其第四代价可以记为60(如图2中候选栅格H左上角数字所示)。其他情况可以以此类推,在此不再一一举例。
在一个实施场景中,以第一路径代价包含上述第一代价、第二代价、第三代价和第四代价为例,对于包围参考栅格的第一区域内的各个候选栅格,可以选择最小第一路径代价对应的候选栅格作为已选栅格。请结合参阅图2,候选栅格A的第一路径代价可以由第一代价、第二代价、第三代价和第四代价之和得到,即候选栅格A的第一路径代价为124,以此类推,可以计算得到候选栅格B的第一路径代价为105,候选栅格C的第一路径代价为114,候选栅格D的第一路径代价为130,候选栅格E的第一路径代价为120,候选栅格F的第一路径代价为144,候选栅格G的第一路径代价为125,候选栅格H的第一路径代价为134,故可以选择候选栅格B作为已选栅格。由此可见,虽然候选栅格C在整体上的路径开销更小一些,但是由于AGV小车的宽度为20厘米,而栅格边长对应于现实场景中10厘米,即若选择候选栅格C作为已选栅格,在现实场景中必然会导致AGV小车触碰到障碍物,故此通过结合以第二代价、第二代价和第四代价为代表的路径开销以及以第一代价为代表的距离代价共同约束路径规划,能够在提升路径规划安全性的前提下,尽可能地缩短规划路径长度。
步骤S13:基于起点栅格、终点栅格和历次选择到的已选栅格,得到由路径起点至路径终点的运动路径。
具体地,可以将终点栅格作为路径栅格,并对于包围路径栅格的第二区域内各个已选栅格,基于已选栅格各自的第二路径代价,选择一个已选栅格作为新的路径栅格,且第二路径代价是基于已选栅格所标注的第一距离得到的,在此基础上,可以响应于选择的路径栅格并非起点栅格,重新执行上述对于包围路径栅格的第二区域内各个已选栅格,基于已选栅格各自的第二路径代价,选择一个已选栅格作为新的路径栅格的步骤,直至选择到的路径栅格是起点栅格为止,最终可以基于历次选择到的路径栅格,得到运动路径。上述方式,从终点栅格开始基于第二路径代价逐个选择出路径栅格,且第二路径代价是基于已选栅格所标注的第一距离得到的,在此基础上,再基于历次选择到的路径栅格得到运动路径,即在起点栅格至终点栅格的前向规划过程中以及在终点栅格至起点栅格的后向规划过程中均参考第一距离来选择栅格,故能够有利于进一步尽可能地降低运动路径穿过实际无法通行的缝隙的可能性,能够提高路径规划的安全性。
在一个实施场景中,如前所述,为了便于后续基于已选栅格规划路径,可以将已选栅格存储于第二列表中,则在结束选择候选栅格的流程之后,可以基于第二列表中来检测包围路径栅格的第二区域内各个是否是已选栅格。
在一个实施场景中,与第一区域类似地,第二区域可以是以路径栅格为中心且以栅格边长的预设倍数为边长的正方形区域。例如,预设倍数可以为3,则第二区域可以是路径栅格的八邻域。与前述第一区域不同的是,第二区域内各个已选栅格可以包括以路径栅格为中心的邻域范围内已选栅格。
在一个实施场景中,与前述第一路径代价不同的是,第二路径代价与已选栅格至终点栅格的距离无关。具体地,第二路径代价可以包含第五代价、第六代价和第七代价。其中,第五代价是基于已选栅格所标注的第一距离得到的,且已选栅格所标注的第一距离与已选栅格的第五代价负相关,也就是说,已选栅格的第五代价等同于该已选栅格作为候选栅格时的第一代价d;此外,第六代价是基于已选栅格至路径栅格的第二距离得到的,也就是说,已选栅格的第六代价等同于该已选栅格作为候选栅格时的第二代价m;此外,第七代价是基于路径栅格至起点栅格的第三距离得到的,也就是说,已选栅格的第七代价等同于该已选栅格对应的路径栅格作为参考栅格时的第三代价g。在现实场景中,在前述起点栅格至终点栅格的前向规划过程中,针对每一已选栅格,可以基于其作为候选栅格时的第一代价、第二代价和第三代价,得到该已选栅格的第二路径代价,以便于后续在终点栅格至起点栅格的后向规划过程中直接获取到已选栅格的第二路径代价,从而能够免于在后向规划过程中再重新计算,有利于提升路径规划速度。
在一个实施场景中,具体可以选择最小第二路径代价对应的已选栅格,作为新的路径栅格。上述方式,通过选择最小第二路径代价对应的已选栅格,作为新的路径栅格,能够尽可能地降低运动路径穿过实际无法通行的缝隙的可能性,能够提高路径规划的安全性。
在一个实施场景中,可以顺次连接每次选择到的路径栅格,得到运动路径。具体地,可以连接路径栅格的预设位置处像素点(如,中心、右上顶点等),得到运动路径。此外,可以将路径栅格预设位置处像素点,作为路径点。
上述方案,基于环境信息,生成栅格地图,且栅格地图包含若干栅格,若干栅格包括起点栅格、终点栅格和候选栅格,起点栅格表示路径起点所在栅格,终点栅格表示路径终点所在栅格,候选栅格位于障碍物之外的活动区域,各个栅格均标注有栅格至障碍物的第一距离,在此基础上,对于包围参考栅格的第一区域内的各个候选栅格,基于各个候选栅格的第一路径代价,选择候选栅格作为已选栅格,且参考栅格为前一次选择作为已选栅格的候选栅格,第一路径代价是基于候选栅格所标注的第一距离得到的,从而基于起点栅格、终点栅格和历次选择到的已选栅格,得到由路径起点至路径终点的运动路径,由于各个栅格均标注有栅格至障碍物的第一距离,而在选择候选栅格作为已选栅格的过程中又考虑候选栅格的第一路径代价,且第一路径代价是基于候选栅格所标注的第一距离得到的,故候选栅格至障碍物的第一距离能够约束路径规划过程中候选栅格的选择,有利于尽可能地降低运动路径穿过实际无法通行的缝隙的可能性,能够提高路径规划的安全性。
请参阅图6,图6是本申请路径规划方法另一实施例的流程示意图。本公开实施例中,运动路径包括由路径起点至路径终点的若干路径点,关于路径点的具体含义,可以参阅前述公开实施例中相关描述,在此不再赘述。本公开实施例具体可以包括如下步骤:
步骤S61:基于环境信息,生成栅格地图。
本公开实施例中,栅格地图包含若干栅格,若干栅格包括起点栅格、终点栅格和候选栅格,起点栅格表示路径起点所在栅格,终点栅格表示路径终点所在栅格,候选栅格位于障碍物之外的活动区域,且各个栅格均标注有栅格至障碍物的第一距离。具体可以参阅前述公开实施例中相关描述,在此不再赘述。
步骤S62:对于包围参考栅格的第一区域内的各个候选栅格,基于各个候选栅格的第一路径代价,选择候选栅格作为已选栅格。
本公开实施例中,参考栅格为前一次选择作为已选栅格的候选栅格,且第一路径代价是基于候选栅格所标注的第一距离得到的。具体可以参阅前述公开实施例中相关描述,在此不再赘述。
步骤S63:基于起点栅格、终点栅格和历次选择到的已选栅格,得到由路径起点至路径终点的运动路径。
具体可以参阅前述公开实施例中相关描述,在此不再赘述。
步骤S64:分别检测各个路径点至障碍物的最短距离。
具体地,可以获取路径点至附近各个障碍物的垂直距离,并将最小的垂直距离,作为该路径点至障碍物的最短距离。
步骤S65:检测路径点对应的最短距离是否满足预设条件,若是,则执行步骤S66,否则执行步骤S67。
具体地,预设条件可以包括:最短距离大于预设阈值,且平滑路径用于为移动对象提供导航信息,预设阈值是基于移动对象的宽度设置的,且移动对象在运动过程中沿移动对象的长度方向运动。关于移动对象及其长度、宽度等含义,具体可以参阅前述公开实施例中相关描述,在此不再赘述。
在一个实施场景中,预设阈值还可以结合移动对象在运动过程中的参考位置以及前述移动对象的宽度来设置,需要说明的是,参考位置是运动路径垂直于地面的平面与移动对象的相交位置,即移动对象是以参考位置为基准沿着运动路径而运动的。以参考位置为移动对象的中心位置为例,预设阈值可以设置为宽度一半的N倍,且N为大于1的数值(如,2、3、4等),若最短距离大于预设阈值,则可以认为即使在该路径点处进行平滑,也不可能发生移动对象沿平滑路径运动会触碰障碍物的情况,反之,若最短距离小于预设阈值,则可以认为移动对象沿运动路径运动时,在该路径点处已经离障碍物较近了,如果再在该路径点进行平滑,则有可能发生移动对象沿平滑路径运动会触碰障碍物的情况。
步骤S66:在路径点处对运动路径进行平滑处理。
具体地,可以基于路径点,及其对应的优化点,以及在平滑路径中位于该优化点下一位置处的优化点,构建关于该路径点对应的优化点的优化函数。其中,优化函数包含两个优化子函数,其中一个优化子函数用于约束路径点及其对应的优化点之间的距离偏差,另一个优化子函数用于约束优化点与其下一位置处优化点之间的距离偏差。为了便于描述,可以将该路径点记为Pi,并将路径点Pi对应的优化点记为Si,优化点Si下一位置处优化点记为Si+1,则优化函数可以表示为:
norm(Pi-Si)+norm(Si-Si+1)→min……(2)
上述公式(2)中,norm表示距离偏差的计算函数,如该计算函数可以表示两点在x轴方向坐标之差的平方与在y轴方向坐标之差的平方的和值再开根号。
在一个实施场景中,可以采用梯度下降法对上述优化函数进行优化,求解得到优化点Si,梯度下降法的具体过程中,可以参阅其相关技术细节,在此不再赘述。
在一个实施场景中,可以在不同优化子函数上采用不同的权重,使得优化函数能够生成优化点。具体地,对于第一项优化子函数而言,其权重可以记为α,则可以迭代下述公式优化到优化点Si:
Si=Si+α(Pi-Si)……(3)
在经过优化得到优化点Si之后,可以基于该优化点Si,以及第二优化子函数继续进行优化,得到最终的优化点Si。具体地,对于第二项优化子函数而言,其权重可以记为β,则可以迭代下述公式优化得到最终的优化点Si:
Si=Si+β(Pi-1+Si+1-2Si)……(4)
上述公式(4)中,Pi-1表示运动路径中位于路径点Pi上一位置处的路径点。
步骤S67:在路径点处不对运动路径进行平滑处理。
如前所述,若最短距离不满足预设条件,则可以认为移动对象沿运动路径运动时,在该路径点处已经离障碍物较近了,如果再在该路径点进行平滑,则有可能发生移动对象沿平滑路径运动会触碰障碍物的情况,故可以在路径点处不对运动路径进行平滑处理。
步骤S68:基于运动路径在各个路径点处的处理结果,得到平滑路径。
具体地,若在路径点处执行平滑处理,则路径点的处理结果包括该路径点对应的优化点,若未在路径点处执行平滑处理,则路径点的处理结果包括该路径点,最终可以依序将各个点连接得到平滑路径。请结合参阅图7,图7是运动路径和平滑路径一实施例的示意图。如图7所示,平滑路径相较于运动路径更为平滑,特别是在路径转折点处,从而更加符合正常移动轨迹。
上述方案,在获取到运动路径之后,通过对运动路径上各个路径点检测其是否满足预设条件,并在满足条件的情况下再在路径点处对运动路径进行平滑处理,故能够有利于在确保路径安全性的前提下,提升路径自然度。
请参阅图8,图8是本申请路径规划装置80一实施例的框架示意图。路径规划装置80包括:地图生成模块81、栅格选择模块82和路径生成模块83,地图生成模块81,用于基于环境信息,生成栅格地图;其中,栅格地图包含若干栅格,若干栅格包括起点栅格、终点栅格和候选栅格,起点栅格表示路径起点所在栅格,终点栅格表示路径终点所在栅格,候选栅格位于障碍物之外的活动区域,且各个栅格均标注有栅格至障碍物的第一距离;栅格选择模块82,用于对于包围参考栅格的第一区域内的各个候选栅格,基于各个候选栅格的第一路径代价,选择候选栅格作为已选栅格;其中,参考栅格为前一次选择作为已选栅格的候选栅格,且第一路径代价是基于候选栅格所标注的第一距离得到的;路径生成模块83,用于基于起点栅格、终点栅格和历次选择到的已选栅格,得到由路径起点至路径终点的运动路径。
上述方案,由于各个栅格均标注有栅格至障碍物的第一距离,而在选择候选栅格作为已选栅格的过程中又考虑候选栅格的第一路径代价,且第一路径代价是基于候选栅格所标注的第一距离得到的,故候选栅格至障碍物的第一距离能够约束路径规划过程中候选栅格的选择,有利于尽可能地降低运动路径穿过实际无法通行的缝隙的可能性,能够提高路径规划的安全性。
在一些公开实施例中,第一路径代价包括第一代价,第一代价是基于候选栅格所标注的第一距离得到的,且候选栅格所标注的第一距离与候选栅格的第一代价负相关。
因此,通过设置第一路径代价包括第一代价,且第一代价是基于候选栅格所标注的第一距离得到的,候选栅格所标注的第一距离与候选栅格第一代价负相关,从而能够通过第一代价约束路径规划过程中尽可能地与障碍物边缘保持一定距离,有利于提高规划路径的安全性。
在一些公开实施例中,栅格选择模块82包括第一代价计算子模块,第一代价计算子模块包括目标区间选择单元,用于从若干预设区间中,选择候选栅格所标注的第一距离所对应的预设区间作为目标区间;其中,若干预设区间分别对应有代价系数,且预设区间的端点值越大,预设区间对应的代价系数越小;第一代价计算子模块包括第一代价计算单元,用于利用目标区间的代价系数对候选栅格所标注的第一距离进行加权,得到候选栅格的第一代价。
因此,通过从若干预设区间中选择候选栅格所标注的第一距离对应的预设区间作为目标区间,且预设区间的端点值越大,预设区间对应的代价系数越小,从而利用目标区间的代价系数对候选栅格所标注的第一距离进行加权即可得到候选栅格的第一代价,故仅通过选择预设区间即可利用加权计算得到第一代价,有利于大大简化第一代价的计算流程,降低计算负荷。
在一些公开实施例中,运动路径用于为移动对象提供导航信息,预设区间的端点值是基于移动对象的宽度设置的,且移动对象在运动过程中沿移动对象的长度方向运动。
因此,预设区间的端点值是基于移动对象的宽度设置的,且移动对象在运动过程中沿移动对象的长度方向运动,故能够有利于进一步降低移动对象按照规划到的运动路径进行移动过程中触碰到障碍物的可能性,有利于提高规划路径的安全性。
在一些公开实施例中,端点值最大的预设区间对应的代价系数为0。
因此,通过将端点值最大的预设区间对应的代价系数设置为0,能够忽略绝对安全区间内候选栅格的距离代价,有利于提升第一路径代价的准确性。
在一些公开实施例中,第一路径代价还包括第二代价,且第二代价是基于候选栅格至参考栅格的第二距离得到的;和/或,第一路径代价还包括第三代价,第三代价是基于参考栅格至起点栅格的第三距离得到的;和/或,第一路径代价还包括第四代价,第四代价是基于候选栅格至终点栅格的第四距离得到的。
因此,通过将第一路径代价设置为还包括第二代价、第三代价、第四代价,能够有利于从不同角度衡量路径代价,有利于提升第一路径代价的准确性。
在一些公开实施例中,路径生成模块83包括路径栅格获取子模块,用于将终点栅格作为路径栅格;路径生成模块83包括路径栅格选择子模块,用于对于包围路径栅格的第二区域内各个已选栅格,基于已选栅格各自的第二路径代价,选择一个已选栅格作为新的路径栅格;其中,第二路径代价是基于已选栅格所标注的第一距离得到的;路径生成模块83包括选择循环执行子模块,用于响应于选择到的路径栅格并非起点栅格,结合路径栅格选择子模块重新执行对于包围路径栅格的第二区域内各个已选栅格,基于已选栅格各自的第二路径代价,选择一个已选栅格作为新的路径栅格的步骤,直至选择到的路径栅格是起点栅格为止;路径生成模块83包括运动路径获取子模块,用于基于历次选择到的路径栅格,得到运动路径。
因此,从终点栅格开始基于第二路径代价逐个选择出路径栅格,且第二路径代价是基于已选栅格所标注的第一距离得到的,在此基础上,再基于历次选择到的路径栅格得到运动路径,即在起点栅格至终点栅格的前向规划过程中以及在终点栅格至起点栅格的后向规划过程中均参考第一距离来选择栅格,故能够有利于进一步尽可能地降低运动路径穿过实际无法通行的缝隙的可能性,能够提高路径规划的安全性。
在一些公开实施例中,第二路径代价与已选栅格至终点栅格的距离无关。
因此,通过将第二路径代价设置为与已选栅格至终点栅格的距离无关,能够在选择得到已选栅格之后,不再关注已选栅格至终点栅格的距离,有利于提高从终点栅格开始反向回溯至起点栅格以确定运动路径的准确性。
在一些公开实施例中,路径栅格选择子模块具体用于选择最小第二路径代价对应的已选栅格,作为新的路径栅格。
因此,通过选择最小第二路径代价对应的已选栅格,作为新的路径栅格,能够尽可能地降低运动路径穿过实际无法通行的缝隙的可能性,能够提高路径规划的安全性。
在一些公开实施例中,运动路径包括由路径起点至路径终点的若干路径点;路径规划装置80还包括距离检测模块,用于分别检测各个路径点至障碍物的最短距离;路径规划装置80还包括平滑处理模块,用于响应于路径点对应的最短距离满足预设条件,在路径点处对运动路径进行平滑处理;路径规划装置80还包括路径获取模块,用于基于运动路径在各个路径点处的处理结果,得到平滑路径。
因此,在获取到运动路径之后,通过对运动路径上各个路径点检测其是否满足预设条件,并在满足条件的情况下再在路径点处对运动路径进行平滑处理,故能够有利于在确保路径安全性的前提下,提升路径自然度。
在一些公开实施例中,平滑处理模块还用于响应于路径点对应的最短距离不满足预设条件,在路径点处不对运动路径进行平滑处理。
因此,在路径点对应的最短距离不满足预设条件的情况下,在路径点处不对运动路径进行平滑处理,能够有利于防止由于在路径点处进行平滑后触碰到障碍物的可能性,有利于进一步提升路径安全性。
在一些公开实施例中,预设条件包括:最短距离大于预设阈值;其中,平滑路径用于为移动对象提供导航信息,预设阈值是基于移动对象的宽度设置的,且移动对象在运动过程中沿移动对象的长度方向运动。
因此,通过将预设条件设置为最短距离大于预设阈值,且平滑路径用于为移动对象提供导航信息,预设阈值是基于移动对象的宽度设置的,且移动对象在运动过程中沿移动对象的长度方向运动,故能够基于运动过程中的宽度来设置预设阈值,从而能够有利于降低移动对象触碰到障碍物的可能性,提升路径安全性。
请参阅图9,图9是本申请电子设备90一实施例的框架示意图。电子设备90包括相互耦接的存储器91和处理器92,存储器91中存储有程序指令,处理器92用于执行程序指令以实现上述任一路径规划方法实施例中的步骤。具体地,电子设备90还可以包括与处理器92耦接的驱动电机和驱动轮,且驱动电机用于使驱动轮转动;电子设备90还可以包括与处理器92耦接的信息采集装置,信息采集装置可以包括但不限于:摄像机、雷达等,信息采集装置用于采集环境信息;电子设备90还可以包括与处理器92耦接的通信电路,通信电路可以包括但不限于:WiFi(Wireless Fidelity,无线保真)电路等,通信电路用于传输信息。
具体而言,处理器92用于控制其自身以及存储器91以实现上述任一路径规划方法实施例中的步骤。处理器92还可以称为CPU(Central Processing Unit,中央处理单元)。处理器92可能是一种集成电路芯片,具有信号的处理能力。处理器92还可以是通用处理器、数字信号处理器(Digital Signal Processor, DSP)、专用集成电路(Application SpecificIntegrated Circuit, ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。另外,处理器92可以由集成电路芯片共同实现。
上述方案,由于各个栅格均标注有栅格至障碍物的第一距离,而在选择候选栅格作为已选栅格的过程中又考虑候选栅格的第一路径代价,且第一路径代价是基于候选栅格所标注的第一距离得到的,故候选栅格至障碍物的第一距离能够约束路径规划过程中候选栅格的选择,有利于尽可能地降低运动路径穿过实际无法通行的缝隙的可能性,能够提高路径规划的安全性。
请参阅图10,图10是本申请计算机可读存储介质100一实施例的框架示意图。计算机可读存储介质100存储有能够被处理器运行的程序指令101,程序指令101用于实现上述任一路径规划方法实施例中的步骤。
上述方案,由于各个栅格均标注有栅格至障碍物的第一距离,而在选择候选栅格作为已选栅格的过程中又考虑候选栅格的第一路径代价,且第一路径代价是基于候选栅格所标注的第一距离得到的,故候选栅格至障碍物的第一距离能够约束路径规划过程中候选栅格的选择,有利于尽可能地降低运动路径穿过实际无法通行的缝隙的可能性,能够提高路径规划的安全性。
在一些实施例中,本公开实施例提供的装置具有的功能或包含的模块可以用于执行上文方法实施例描述的方法,其具体实现可以参照上文方法实施例的描述,为了简洁,这里不再赘述。
上文对各个实施例的描述倾向于强调各个实施例之间的不同之处,其相同或相似之处可以互相参考,为了简洁,本文不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的方法和装置,可以通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性、机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施方式方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
- 上一篇:石墨接头机器人自动装卡簧、装栓机
- 下一篇:自动驾驶地图的构建方法及相关装置