一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

轨迹规划方法、电子设备及存储介质与流程

2022-11-14 00:05:09 来源:中国专利 TAG:


1.本技术涉及计算机技术领域,特别是涉及一种轨迹规划方法、电子设备及计算机可读存储介质。


背景技术:

2.机器人的轨迹规划技术通常包括路径规划和轨迹规划。在动态场景下机器人的路径规划由于缺乏时间维度,因此不能确保机器人的安全行驶。轨迹规划在路径规划的基础上增加的时间维度,相对路径规划而言安全性更高。
3.但是,轨迹规划的一种可行方式为路径 速度的规划方式,即先生成几何路径,然后在路径上分配速度,以此生成时空轨迹。但是,现有技术中,该种可行方式的轨迹规划的鲁棒性不高。


技术实现要素:

4.本技术提供一种轨迹规划方法、电子设备及计算机可读存储介质,能够解决轨迹规划的鲁棒性不高的问题。
5.为解决上述技术问题,本技术采用的一个技术方案是:提供一种轨迹规划方法。该方法包括:确定当前位姿下的局部目标点;预测当前位姿下动态障碍物的第一轨迹;基于第一轨迹规划从当前位姿至局部目标点的局部路径;规划从当前位姿沿着局部路径移动至局部目标点的速度,得到第二轨迹。
6.为解决上述技术问题,本技术采用的一个技术方案是:提供一种轨迹规划方法。该方法包括:确定当前位姿下的局部目标点;预测当前位姿下动态障碍物的第一轨迹,第一轨迹的形式为概率分布;基于概率分布规划从当前位姿至局部目标点的第二轨迹。
7.为解决上述技术问题,本技术采用的另一个技术方案是:提供一种电子设备,该电子设备包括处理器、与处理器连接的存储器,其中,存储器存储有程序指令;处理器用于执行存储器存储的程序指令以实现上述方法。
8.为解决上述技术问题,本技术采用的又一个技术方案是:提供一种计算机可读存储介质,存储有程序指令,该程序指令被执行时能够实现上述方法。
9.通过上述方式,本技术的轨迹规划包括局部路径规划和速度规划两个部分,由于在局部路径规划中考虑了动态障碍物的运动轨迹(第一轨迹),因此能够降低规划出的局部路径与动态障碍物发生空间冲突的概率,从而能够降低沿着局部路径移动至局部目标点的过程与动态障碍物发生碰撞的概率,进而使得轨迹规划能够应对动态障碍物的干扰,提高轨迹规划的鲁棒性。
附图说明
10.图1是本技术轨迹规划方法一实施例的流程示意图;图2是本技术轨迹规划方法另一实施例的流程示意图;
图3是本技术轨迹规划方法又一实施例的流程示意图;图4是第一轨迹的轮廓示意图;图5是时空地图映射的示意图;图6是本技术轨迹规划方法又一实施例的流程示意图;图7是本技术电子设备一实施例的结构示意图;图8是本技术计算机可读存储介质一实施例的结构示意图。
具体实施方式
11.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本技术的一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
12.本技术中的术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”、“第三”的特征可以明示或者隐含地包括至少一个该特征。本技术的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
13.在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本技术的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,在不冲突的情况下,本文所描述的实施例可以与其它实施例相结合。
14.图1是本技术轨迹规划方法一实施例的流程示意图。需注意的是,若有实质上相同的结果,本实施例并不以图1所示的流程顺序为限。如图1所示,本实施例可以包括:s11:确定当前位姿下的局部目标点。
15.局部目标点可以是全局路径中的一个点。可以获取当前位姿下的局部地图;基于局部地图从全局路径中截取局部目标点。局部地图包含机器人在当前位姿下实时观测到的环境信息。全局路径为预先规划好的从起点到终点的路径。
16.机器人所在的场景可能是动态场景,动态场景下静态障碍物的位置可能因人为搬动等原因而改变,因此局部目标点可能落在静态障碍物内。若局部目标点落在静态障碍物内,则设定松弛量,在局部目标点的松弛范围内,搜索最近的可行点作为局部规划目标点。若在松弛范围内无可行目标点,则重新规划全局路径,以适应场景的变化,基于重新规划的全局路径,重新确定局部目标点。
17.s12:预测当前位姿下动态障碍物的第一轨迹。
18.机器人从当前位姿移动至局部目标点的时长为t,动态障碍物的第一轨迹可以是动态障碍物在时长t内的轨迹。第一轨迹的形式可以是一条确定的轨迹,也可以是轨迹的概率分布。可以通过确定性预测,得到动态障碍物在时长t内的一条确定的轨迹。或者,可以通过不确定性预测得到动态障碍物在时长t内的轨迹的概率分布。概率分布能够度量动态障碍物运动的不确定性。概率分布可以但不限于是高斯分布。
19.s13:基于第一轨迹规划从当前位姿至局部目标点的局部路径。
20.可以理解的是,在规划局部路径时考虑第一轨迹,能够规划出尽量远离动态障碍
物的局部路径,降低机器人与动态障碍物发生碰撞的概率。规划局部路径依据的算法可以是a*、hybird a*、dijkstra等等。具体a*、hybird a*、dijkstra算法的说明请参考相关的现有技术,在此不赘述。
21.s14:规划从当前位姿沿着局部路径移动至局部目标点的速度,得到第二轨迹。
22.通过本实施例的实施,本技术的轨迹规划包括局部路径规划和速度规划两个部分,由于在局部路径规划中考虑了动态障碍物的运动轨迹(第一轨迹),因此能够降低规划出的局部路径与动态障碍物发生空间冲突的概率,从而能够降低沿着局部路径移动至局部目标点的过程与动态障碍物发生碰撞的概率,进而使得轨迹规划能够应对动态障碍物的干扰,提高轨迹规划的鲁棒性。
23.图2是本技术轨迹规划方法另一实施例的流程示意图。需注意的是,若有实质上相同的结果,本实施例并不以图2所示的流程顺序为限。本实施例是对s12的进一步扩展,第一轨迹的形式为高斯概率分布,如图2所示,本实施例可以包括:s21:确定局部地图中的可通行区域。
24.可以对局部地图进行分割,得到其中的可通行区域。分割的方式可以包括二值化分割、边缘分割等等。例如,对局部地图进行二值化分割,得到分割结果,分割结果中像素值为
“‑
1”的区域组成不可通行区域(即静态障碍物所在的区域),像素值为“0”的区域组成可通行区域。
25.可以理解的是,仅依赖全局路径来规避静态障碍物的方法在动态场景下不适用。因此本实施例中通过当前位姿观测到的局部地图,确定静态障碍物所在的区域,基于静态障碍物所在的区域进行局部路径规划,能够避免对全局路径的过度依赖,与动态场景相适应。
26.s22:确定可通行区域中当前位姿的邻接点的通行代价。
27.通行代价至少包括邻接点与第一轨迹之间的距离代价。
28.可以理解的是,局部地图被划分为多个栅格点(像素点),在局部路径规划的过程中,机器人走下一步之前,都会对与当前位姿邻接的可通行的栅格点(称之为邻接点)进行代价计算,从而确定下一步怎么走,直至达到局部目标点。
29.可通行区域界定了沿当前位姿移动可以到达的邻接点,可以计算从当前位姿移动至各个可扩展的邻接点所需的代价,即通行代价。可扩展的邻接点可以是可以到达的邻接点,也可以是可以到达且符合车辆运动学约束的邻接点等等。
30.以第一轨迹的形式为高斯分布为例,对距离代价的计算进行说明。确定邻接点与第一轨迹之间的距离代价的计算公式如下:;其中,n表示动态障碍物的数量,表示距离代价,x,y分别表示邻接点在横轴和纵轴方向的坐标,、分别表示第i个动态障碍物的第一轨迹对应的高斯分布在横轴和纵轴方向的均值,、分别表示第i个动态障碍物的第一轨迹对应的高斯分布在横轴
和纵轴方向的方差,表示第i个动态障碍物的权重。
31.以hybird a*算法规划局部路径为例,在利用hybird a*算法规划符合车辆运动学的局部路径时,设置车辆最大转弯角度为,转弯角度离散采样个数为,步进长度为l。在确定目标邻接点时,根据机器人当前位姿,对机器人能完成的转弯角度进行离散采样,以步进长度l等生成符合运动学约束的邻接点。在计算邻接点的通行代价时,通行代价还可以包括起点到当前位姿的移动路径代价、当前位姿到终点的启发项代价、当前位姿到邻接点的航向角变化代价中的至少一个。例如,通行代价的计算公式如下:;其中,表示通行代价,、、和分别表示、、和的权重。
32.s23:基于通行代价确定下一步到达的目标邻接点,以得到从当前位姿至局部目标点的初始局部路径。
33.例如,将通行代价最小的邻接点作为目标邻接点。
34.s24:对初始局部路径进行平滑,得到最终局部路径。
35.可以基于初始局部路径确定关于路径的可行通道(corridor),可行通道的边界为静态障碍物;可以在可行通道内对初始局部路径进行曲线拟合,得到最终局部路径。最终局部路径可以是贝塞尔曲线、多项式曲线等等。
36.可以以最终局部路径与第一轨迹的距离,以及最终局部路径的曲率之间的和最小为优化目标(软约束),求解得到最终局部路径。另外,为了得到最终局部路径,还可以基于机器人的碰撞约束、运动学约束、分段贝塞尔曲线的连续性构建硬约束,以使得最终局部路径在安全范围内能够被底层有效地执行。
37.举例说明,求解最终局部路径依据的优化函数如下:;其中,m表示分段贝塞尔曲线个数,表示平滑项,可以用曲率表示,表示最终局部路径与第一轨迹的距离,即优化目标为规划一条平滑的远离动态障碍物的最终局部路径。等式约束表示机器人运动学约束以及分段贝塞尔曲线的连续性约束,不等式表示机器人的碰撞约束,对应的是贝塞尔曲线的控制点在可行通道corridor内。
38.进一步地,上述s13中,在进行速度规划时,可以考虑第一轨迹,也可以不考虑第一轨迹。不考虑第一轨迹时速度规划的具体说明,请参见相关技术,在此不赘述。
39.可以理解的是,基于第一轨迹规划的局部路径,可能无法完全避开所有的动态障碍物,即可能存在第一轨迹与局部路径有空间冲突的动态障碍物。为此,可以在进行速度规划时考虑第一轨迹,即基于第一轨迹规划从当前位姿沿着局部路径移动至局部目标点的速
度,得到第二轨迹,以避开第一轨迹与局部路径有空间冲突的动态障碍物。如下详细说明:图3是本技术轨迹规划方法又一实施例的流程示意图。需注意的是,若有实质上相同的结果,本实施例并不以图3所示的流程顺序为限。本实施例是对s13的进一步扩展,第一轨迹的形式为概率分布,如图2所示,本实施例可以包括:s31:确定概率阈值下第一轨迹的轮廓。
40.例如,概率阈值为90%,则确定的轮廓为90%的可能性下第一轨迹的轮廓。
41.可以理解的是,概率阈值限制了动态障碍物运动的不确定程度,相应地,将第一轨迹应用于速度规划,限制了第二轨迹的保守程度。
42.s32:确定与局部路径有空间冲突的第一轨迹的轮廓。
43.s33:将局部路径和与其有空间冲突的第一轨迹的轮廓映射至时空地图。
44.s34:在时空地图搜索得到初始速度曲线。
45.得到初始速度曲线的过程与得到初始局部路径的过程类似,不同之处在于邻接点的扩展需满足机器人的运动学约束。即,在hybird a*算法下,设定机器人的加速度范围,采样个数为,步进时间为。邻接点扩展时,根据机器人当前速度,在加速度范围内采样,获得目标速度,并根据运动学、动力学推算第二轨迹,若第二轨迹在时空地图遇到静态障碍物,则丢弃对该邻接点的扩展。
46.s35:对初始速度曲线进行平滑,得到最终速度曲线。
47.对初始速度曲线进行平滑的过程与对初始局部路径平滑的过程类似。例如,以加速度/加加速度的值为优化目标,以分段贝塞尔曲线的连续性约束、速度/加速度的限制区间、动力学约束和碰撞约束为软约束,求解得到最终速度曲线。
48.结合图4~图5对s31~s35进行举例说明:图4是第一轨迹的轮廓示意图。图4中的a表示机器人本体,b表示动态障碍物,b1表示概率阈值下第一轨迹的轮廓。
49.图5是时空地图映射的示意图。图5的左侧图中,a表示机器人本体,a表示局部路径,v1表示动态障碍物1,v1表示动态障碍物1的第一轨迹,v2表示动态障碍物2,v2表示动态障碍物2的第一轨迹。右侧图为时空地图,横轴t表示时间,纵轴s表示移动位移,x
unf
表示动力学约束不可达区域,x
obs1
表示v1的映射结果,x
obs2
表示v2的映射结果,c表示最终速度曲线。
50.图6是本技术轨迹规划方法又一实施例的流程示意图。需注意的是,若有实质上相同的结果,本实施例并不以图6所示的流程顺序为限。如图6所示,本实施例可以包括:s41:确定当前位姿下的局部目标点。
51.可以获取当前位姿下的局部地图;基于局部地图从全局路径中截取局部目标点。
52.s42:预测当前位姿下动态障碍物的第一轨迹。
53.第一轨迹的形式为概率分布。
54.s43:基于概率分布规划从当前位姿至局部目标点的第二轨迹。
55.可以基于概率分布规划从当前位姿至局部目标点的局部路径;基于概率分布规划从当前位姿沿着局部路径移动至局部目标点的速度,以得到第二轨迹。
56.本实施例的其他详细描述请参考前面实施例,在此不赘述。
57.通过本实施例的实施,本技术在规划机器人的运动轨迹(第二轨迹)时,考虑了动
态障碍物的第一轨迹,因此能够使得第二轨迹避开动态障碍物,使得轨迹规划能够应对动态障碍物的干扰,提高轨迹规划的鲁棒性。并且,由于第一轨迹的形式是概率分布而不是一条确定的轨迹,能够度量动态障碍物的运动不确定性,给于轨迹规划相应的保守程度。
58.图7是本技术电子设备一实施例的结构示意图。如图7所示,该电子设备包括处理器21、与处理器21耦接的存储器22。
59.其中,存储器22存储有用于实现上述任一实施例的方法的程序指令;处理器21用于执行存储器22存储的程序指令以实现上述方法实施例的步骤。其中,处理器21还可以称为cpu(central processing unit,中央处理单元)。处理器21可能是一种集成电路芯片,具有信号的处理能力。处理器21还可以是通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
60.图8是本技术计算机可读存储介质一实施例的结构示意图。如图8所示,本技术实施例的计算机可读存储介质30存储有程序指令31,该程序指令31被执行时实现本技术上述实施例提供的方法。其中,该程序指令31可以形成程序文件以软件产品的形式存储在上述计算机可读存储介质30中,以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本技术各个实施方式方法的全部或部分步骤。而前述的计算机可读存储介质30包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质,或者是计算机、服务器、手机、平板等终端设备。
61.在本技术所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
62.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。以上仅为本技术的实施方式,并非因此限制本技术的专利范围,凡是利用本技术说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本技术的专利保护范围内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献