障碍物轨迹生成方法、装置、计算机设备和存储介质与流程
未命名
07-27
阅读:118
评论:0
1.本发明涉及仿真模拟技术领域,尤其涉及一种障碍物轨迹生成方法、装置、计算机设备和存储介质。
背景技术:
2.在自动驾驶仿真场景设计中,为了充分测试自动驾驶车辆的性能,需要设计动态移动的障碍物来测试自动驾驶车辆,如突然闯出的行人,变道或转弯的汽车等。
3.目前,动态障碍物轨迹生成是手动添加障碍物之后,设置障碍物的起点、中间点以及终点,相邻两个点之间通过直线连接得到障碍物的轨迹。
4.上述方法所生成的轨迹能够满足基本的直线行驶的场景,但无法满足需要变道或者转弯等复杂场景,所生成的障碍物的轨迹无法符合车辆动力学轨迹,影响场景的合理性,另外,若需要障碍物的轨迹贴合实际场景规则,则需要在轨迹中间添加尽可能多的点,使轨迹更加平滑,需要花费大量的人力,并且轨迹需要变更时所有的点都要重新绘制。
技术实现要素:
5.本发明提供了一种障碍物轨迹生成方法、装置、计算机设备和存储介质,以解决现有技术中生成贴合实际场景的障碍物轨迹需要耗费大量人力以及难以变更轨迹的问题。
6.第一方面,本发明提供一种障碍物轨迹生成方法,包括:
7.响应用户对仿真场景的操作,加载所述用户所选择的仿真场景对应的画面,所述画面包括至少一个障碍物以及所述障碍物的轨迹点;
8.响应用户在所述画面中对所述障碍物的操作,确定目标障碍物并确定所述目标障碍物的轨迹点;
9.当用户在所述画面中选择曲线拟合公式后,响应轨迹生成操作,采用所述曲线拟合公式对所述目标障碍物的轨迹点拟合,得到所述目标障碍物的轨迹。
10.第二方面,本发明提供一种障碍物轨迹生成装置,包括:
11.仿真场景加载模块,用于响应用户对仿真场景的操作,加载所述用户所选择的仿真场景对应的画面,所述画面包括至少一个障碍物以及所述障碍物的轨迹点;
12.障碍物和轨迹点确定模块,用于响应用户在所述画面中对所述障碍物的操作,确定目标障碍物并确定所述目标障碍物的轨迹点;
13.轨迹生成模块,用于当用户在所述画面中选择曲线拟合公式后,响应轨迹生成操作,采用所述曲线拟合公式对所述目标障碍物的轨迹点拟合,得到所述目标障碍物的轨迹。
14.第三方面,本发明提供了一种计算机设备,所述计算机设备包括:
15.至少一个处理器;以及
16.与所述至少一个处理器通信连接的存储器;其中,
17.所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明第一方面所述的障
碍物轨迹生成方法。
18.第四方面,本发明提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本发明第一方面所述的障碍物轨迹生成方法。
19.本发明实施例中在加载用户所选择的仿真场景对应的画面后,响应用户在画面中对障碍物的操作,确定目标障碍物并确定目标障碍物的轨迹点,当用户在画面中选择曲线拟合公式后,响应轨迹生成操作,采用曲线拟合公式对目标障碍物的轨迹点拟合得到目标障碍物的轨迹,本实施例中,用户可以选择仿真场景,在仿真场景中确定障碍物的轨迹点,并通过选择曲线拟合公式来拟合轨迹点,所生成的目标障碍物的轨迹为平滑曲线,目标障碍物的轨迹更贴合实际场景以及符合车辆动力学轨迹,提高自动驾驶仿真的真实性,并且在需要变更轨迹时可以在画面中微调轨迹点重新生成轨迹,操作简单方便。
20.应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
附图说明
21.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
22.图1是本发明实施例一提供的一种障碍物轨迹生成方法的流程图;
23.图2a是本发明实施例二提供的一种障碍物轨迹生成方法的流程图;
24.图2b为一个示例中生成的障碍物轨迹的示意图;
25.图2c为另一个示例中生成的障碍物轨迹的示意图;
26.图3是本发明实施例三提供的一种障碍物轨迹生成方法的流程图;
27.图4是本发明实施例四提供的一种障碍物轨迹生成装置的结构示意图;
28.图5是本发明实施例五提供的计算机设备的结构示意图。
具体实施方式
29.为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
30.实施例一
31.图1为本发明实施例一提供的一种障碍物轨迹生成方法的流程图,本实施例可适用于自动驾驶仿真测试中生成障碍物轨迹的情况,该方法可以由障碍物轨迹生成装置来执行,该障碍物轨迹生成装置可以采用硬件和/或软件的形式实现,该障碍物轨迹生成装置可配置于计算机设备中,如图1所示,该障碍物轨迹生成方法包括:
32.s101、响应用户对仿真场景的操作,加载用户所选择的仿真场景对应的画面,画面
包括至少一个障碍物以及障碍物的轨迹点。
33.本实施例中仿真场景可以是自动驾驶车辆测试过程中的测试场景,障碍物可以是测试场景中对自动驾驶车辆有影响的车辆、行人等物体。在一个示例中,仿真场景可以包括变道、急刹车、会车、急打方向盘等场景。
34.本实施例可以在仿真应用程序的界面提供仿真场景的选项,用户可以在界面中选择仿真场景,在用户选择仿真场景后在界面加载所选择的仿真场景对应的画面,该画面中包括至少一个障碍物和障碍物的轨迹点。示例性地,对于变道场景,可以在自动驾驶车辆所行驶的道路前方加载障碍物和障碍物的轨迹,以模拟自动驾驶车辆遇到障碍物时变道。
35.s102、响应用户在画面中对障碍物的操作,确定目标障碍物并确定目标障碍物的轨迹点。
36.具体地,画面中可以有一个以上的障碍物,用户可以在画面中选择障碍物、删除障碍物、增加障碍物以确定目标障碍物,并可以对目标障碍物的轨迹点进行选择、删除、增加以及微调等操作,从而确定目标障碍物的轨迹点。
37.s103、当用户在画面中选择曲线拟合公式后,响应轨迹生成操作,采用曲线拟合公式对目标障碍物的轨迹点拟合,得到目标障碍物的轨迹。
38.在一个示例中,曲线拟合公式可以是对目标障碍物的轨迹点拟合平滑曲线的函数,在画面中可以提供多种曲线拟合公式以供用户选择,示例性地,曲线拟合公式可以包括贝塞尔曲线拟合公式、羊角螺线拟合公式、拉格朗日多项式拟合公式、牛顿插值拟合公式等,当用户选择曲线拟合公式并确定生成轨迹后,通过所选择的曲线拟合公式对障碍物的轨迹点进行拟合,得到平滑曲线以作为障碍物的目标轨迹。
39.本发明实施例中在加载用户所选择的仿真场景对应的画面后,响应用户在画面中对障碍物的操作,确定目标障碍物并确定目标障碍物的轨迹点,当用户在画面中选择曲线拟合公式后,响应轨迹生成操作,采用曲线拟合公式对目标障碍物的轨迹点拟合得到目标障碍物的轨迹,本实施例中,用户可以选择仿真场景,在仿真场景中确定障碍物的轨迹点,并通过选择曲线拟合公式来拟合轨迹点,所生成的目标障碍物的轨迹为平滑曲线,目标障碍物的轨迹更贴合实际场景以及符合车辆动力学轨迹,提高自动驾驶仿真的真实性,并且在需要变更轨迹时可以在画面中微调轨迹点重新生成轨迹,操作简单方便。
40.实施例二
41.图2a为本发明实施例二提供的一种障碍物轨迹生成方法的流程图,本发明实施例在上述实施例一的基础上进行优化,如图2a所示,该障碍物轨迹生成方法包括:
42.s201、响应用户对仿真场景的操作,加载用户所选择的仿真场景对应的画面,画面包括至少一个障碍物以及障碍物的轨迹点。
43.本实施例中仿真场景可以是指自动驾驶车辆测试过程中的测试场景,障碍物可以是测试场景中对自动驾驶车辆有影响的车辆、行人等物体。在一个示例中,仿真场景可以包括变道、急刹车、会车、急打方向盘等。
44.本实施例可以在仿真应用程序的界面提供仿真场景的选项,用户可以在界面中选择仿真场景,在用户选择仿真场景后,可以在界面加载所选择的仿真场景对应的画面,该画面中包括至少一个障碍物和障碍物的轨迹点。示例性地,对于变道场景,可以在自动驾驶车辆所行驶的道路前方加载障碍物和障碍物的轨迹,以模拟自动驾驶车辆遇到障碍物时变
道。
45.s202、响应用户在画面中对障碍物的操作,确定目标障碍物,其中,对障碍物的操作包括增加障碍物、选择障碍物、删除障碍物中的一种。
46.示例性地,仿真场景的画面可以显示一个以上的障碍物,其中,障碍物可以是车辆、行人或者其他物体,车辆可以是大型车、小型车、自行车等。用户可以在画面中选择需要的障碍物并删除不需要的障碍物,在无合适的障碍物时,用户可以增加自定义的障碍物。
47.s203、响应用户在画面中对目标障碍物的轨迹点操作,确定目标障碍物的起点轨迹点、至少一个中间轨迹点以及终点轨迹点。
48.仿真场景的画面中除了加载障碍物,还加载障碍物的轨迹点,对于目标障碍物,用户可以选择轨迹点、删除轨迹点、微调轨迹点、增加轨迹点以满足仿真需求,并在用户确定轨迹点后,将第一个轨迹点作为起始轨迹点、最后一个轨迹点为终点轨迹点,其他轨迹点为中间轨迹点。
49.本实施例通过在仿真场景的画面加载障碍物和障碍物的轨迹点,使得用户可以方便地加载相应仿真场景的雏形,用户可以在该雏形中微调障碍物和障碍物的轨迹点,减少用户的工作量,加快仿真场景设计,提高仿真测试的效率。
50.s204、当用户在画面中选择贝塞尔曲线拟合公式后,响应轨迹生成操作,将目标障碍物的起始轨迹点确定为第一轨迹点。
51.本实施例中,曲线拟合公式可以是贝塞尔曲线拟合公式,其中,三阶贝塞尔曲线公式如下:
52.b(t)=p0(1-t)3+3p1(1-t)2+3p2(1-t)+p3t3,t∈[0,1]
[0053]
上述公式中,p0、p1、p3为需要拟合的轨迹点,t为比例。
[0054]
本实施例中,在接收到轨迹生成操作时,将目标障碍物的起始轨迹点确定为第一轨迹点,如图2b所示,目标障碍物的轨迹点包括轨迹点a、b、c、d、e、f六个点,当然,在实际应用中可以包括更多的轨迹点,其中,轨迹点a为起始轨迹点,轨迹点f为终点轨迹点,则可以将轨迹点a确定为第一轨迹点。
[0055]
s205、将第一轨迹点之后的第一个轨迹点确定为第二轨迹点、第一轨迹点之后的第二个轨迹点确定为第三轨迹点,并确定第二轨迹点和第三轨迹点的中间点。
[0056]
示例性地,如图2b所示,可以将轨迹点b确定为第二轨迹点,将轨迹点c确定为第三轨迹点,并通过轨迹点b和轨迹点c的x、y坐标计算出轨迹点b和轨迹点b的中点作为中间点,如图2b中,分别计算轨迹点b和轨迹点c的x、y坐标和值后除以2即可以得到中间点b1的坐标。
[0057]
s206、以第一轨迹点为起点、第二轨迹点为控制点、中间点为终点,并采用贝塞尔曲线拟合公式对第一轨迹点、控制点以及中间点进行拟合,得到子轨迹。
[0058]
如上所示的三阶贝塞尔曲线公式以及结合图2b,轨迹点a为公式中的p0,轨迹点b为公式中的p1,中间点b1为公式中的p3,在轨迹点a和轨迹点b的连接线段中任取一点m,t=am/ab,其中,am表示轨迹点a到点m的距离,ab表示轨迹点a到轨迹点b的距离,t大于等于0并小于等于1。由此可以通过贝塞尔曲线公式对轨迹点a、轨迹点b、中间点b1进行拟合,得到子轨迹。
[0059]
s207、判断是否所有轨迹点均已拟合曲线。
[0060]
目标障碍物包括多个轨迹点,贝塞尔曲线公式每次拟合3个轨迹点,需要判断是否所有轨迹点均已拟合曲线,若是,执行s208,若否,执行s209。
[0061]
s208、连接所有子轨迹得到目标障碍物的轨迹。
[0062]
在目标障碍物的所有轨迹点均已拟合曲线之后,连接所拟合得到的所有子轨迹即得到目标障碍物的轨迹,如图2b所示,在轨迹点a、b、c、d、e、f六个点均拟合曲线之后,得到目标障碍物的轨迹,该轨迹为平滑曲线。
[0063]
s209、将中间点确定为第一轨迹点。
[0064]
如图2b所示,在拟合轨迹点a、轨迹点b和中间点b1之后,将中间点b1作为第一轨迹点,并返回s205,即将中间点b1之后的第一个轨迹点c确定为第二轨迹点、中间点b1之后的第二个轨迹点d确定为第三轨迹点,并确定第二轨迹点c和第三轨迹点d的中间点c1,然后继续拟合贝塞尔曲线,以此类推,直到所有轨迹点均拟合曲线。
[0065]
本实施例在加载用户所选择的仿真场景对应的画面之后,响应用户在画面中对障碍物的操作,确定目标障碍物,以及响应用户在画面中对目标障碍物的轨迹点操作,确定目标障碍物的起点轨迹点、至少一个中间轨迹点以及终点轨迹点,并采用贝塞尔曲线拟合公式拟合目标障碍物的轨迹,通过贝塞尔曲线拟合轨迹,适用于障碍物直线运动、转弯幅度小、运动距离长的场景,并且贝塞尔曲线拟合简单,速度快,能够快速生成障碍物的轨迹。
[0066]
在另一个可选实施例中,曲线拟合公式包括羊角螺线拟合公式,当用户在画面中选择羊角螺线拟合公式后,响应轨迹生成操作,将目标障碍物的起始轨迹点确定为第一轨迹点,将第一轨迹点之后的第一个轨迹点确定为第二轨迹点、第一轨迹点之后的第二个轨迹点确定为第三轨迹点,并确定第二轨迹点和第三轨迹点的中间点,以第一轨迹点为起点、第二轨迹点为控制点、中间点为终点,以第一轨迹点到第二轨迹点的方向为运动起始方向、以第一轨迹点到中间点的方向为终点方向,并采用羊角螺线拟合公式对第一轨迹点、控制点以及中间点进行拟合,得到子轨迹,判断是否所有轨迹点均已拟合曲线,若是,连接所有子轨迹得到目标障碍物的轨迹,若否,将中间点确定为第一轨迹点,返回将第一轨迹点之后的第一个轨迹点确定为第二轨迹点、第一轨迹点之后的第二个轨迹点确定为第三轨迹点,并确定第二轨迹点和第三轨迹点的中间点的步骤。
[0067]
具体地,由于羊角螺线又称欧拉螺线,其最大的特点是曲线的曲率与弧长成正比,即,k(t)=at,其中,k(t)表示羊角螺线上弧长为t处的曲率,该k(t)与t成正比,比例系数为a,被称为锋利度,羊角螺线上弧长为t的某点坐标(c(x),s(x))如下所示:
[0068][0069][0070]
本实施例中需要采用多条羊角螺线来拼凑出目标障碍物的轨迹,如图2c所示,采用羊角螺线先拟合点a、点b和点b1,其中,点a为起始轨迹点,点b为控制点,点b1为终点轨迹点,羊角螺线第一个轨迹点a时障碍物的运动方向为ab,并且第一个轨迹点a的曲率是0,在点b1时障碍物的运动方向为ab1,可以定义羊角螺线向左转时比例系数为a为正,羊角螺线向右转时比例系数为a为负,由此通过羊角螺线拟合出点a到点b1的子轨迹,详见羊角螺线
拟合曲线,在此不再详述。
[0071]
在拟合点a到点b1的轨迹之后,将点b1之后的第一个轨迹点c确定为第二轨迹点、点b1之后的第二个轨迹点d确定为第三轨迹点,并确定第二轨迹点c和第三轨迹点d的中间点c1,然后继续拟合羊角螺线,以此类推,直到所有轨迹点均拟合曲线。
[0072]
本实施例采用贝羊角螺线拟合公式拟合目标障碍物的轨迹,通过羊角螺线拟合轨迹,轨迹更为平滑,适用于转弯道路狭窄、转弯幅度大的场景。
[0073]
实施例三
[0074]
图3为本发明实施例二提供的一种障碍物轨迹生成方法的流程图,本发明实施例在上述实施例一的基础上进行优化,如图3所示,该障碍物轨迹生成方法包括:
[0075]
s301、响应用户对仿真场景的操作,加载用户所选择的仿真场景对应的画面,画面包括至少一个障碍物以及障碍物的轨迹点。
[0076]
s302、响应用户在画面中对障碍物的操作,确定目标障碍物,其中,对障碍物的操作包括增加障碍物、选择障碍物、删除障碍物中的一种。
[0077]
s303、响应用户在画面中对目标障碍物的轨迹点操作,确定目标障碍物的起点轨迹点、至少一个中间轨迹点以及终点轨迹点。
[0078]
本实施例中s301-s303可参考实施例二的s201-s203,在此不再详述。
[0079]
s304、当用户在画面中选择拉格朗日多项式后,响应轨迹生成操作,根据目标障碍物的各个轨迹点的x坐标,生成每个轨迹点的拉格朗日多项式。
[0080]
本实施例中,曲线拟合公式可以是拉格朗日多项式,当用户选择拉格朗日多项式并确定生成轨迹后,可以先针对每个轨迹点,计算轨迹点的x坐标与其余轨迹点的x坐标的差值得到多个第一差值,并计算多个第一差值的乘积得到第一乘积,计算其余轨迹点中两个轨迹点的x坐标的差值得到多个第二差值,并计算多个第二差值的乘积得到第二乘积,将计算第一乘积与第二乘积的比值的算式确定为轨迹点的拉格朗日多项式。
[0081]
示例性地,以目标障碍物包括留个轨迹点作为示例,每个轨迹点的拉格朗日多项式如下:
[0082][0083][0084][0085][0086]
[0087][0088]
上述公式中xi为第i个轨迹点的x坐标。
[0089]
s305、计算每个轨迹点的y坐标与每个轨迹点的拉格朗日多项式的乘积。
[0090]
s306、将求取每个轨迹点的乘积的和值的函数确定为曲线函数,并以曲线函数生成轨迹得到目标障碍物的轨迹。
[0091]
其中,曲线函数y如下:
[0092][0093]
亦即,y=y0l0(x)+y1l1(x)+y2l2(x)+y3l3(x)+y4l4(x)+y5l5(x)
[0094]
上述公式中,y为曲线函数,n为目标障碍物的轨迹点的数量(本实施例中n=5),i为第i个轨迹点,yi为第i个轨迹点的y坐标,li(x)为第i个轨迹点的拉格朗日多项式。
[0095]
在得到曲线函数y之后,不同的x坐标可以得到不同的y值,即可以得到目标障碍物的轨迹。
[0096]
本实施例在加载用户所选择的仿真场景对应的画面之后,响应用户在画面中对障碍物的操作,确定目标障碍物,以及响应用户在画面中对目标障碍物的轨迹点操作,确定目标障碍物的起点轨迹点、至少一个中间轨迹点以及终点轨迹点,并采用拉格朗日多项式拟合目标障碍物的轨迹,通过拉格朗日多项式拟合轨迹方法简单,效率高,并且适用于轨迹点添加少的场景。
[0097]
实施例四
[0098]
图4为本发明实施例四提供的一种障碍物轨迹生成装置的结构示意图。如图4所示,该障碍物轨迹生成装置包括:
[0099]
仿真场景加载模块401,用于响应用户对仿真场景的操作,加载所述用户所选择的仿真场景对应的画面,所述画面包括至少一个障碍物以及所述障碍物的轨迹点;
[0100]
障碍物和轨迹点确定模块402,用于响应用户在所述画面中对所述障碍物的操作,确定目标障碍物并确定所述目标障碍物的轨迹点;
[0101]
轨迹生成模块403,用于当用户在所述画面中选择曲线拟合公式后,响应轨迹生成操作,采用所述曲线拟合公式对所述目标障碍物的轨迹点拟合,得到所述目标障碍物的轨迹。
[0102]
可选的,所述障碍物和轨迹点确定模块402包括:
[0103]
目标障碍物确定单元,用于响应用户在所述画面中对障碍物的操作,确定目标障碍物,其中,对障碍物的操作包括增加障碍物、选择障碍物、删除障碍物中的一种;
[0104]
轨迹点确定单元,用于响应用户在所述画面中对所述目标障碍物的轨迹点操作,确定所述目标障碍物的起点轨迹点、至少一个中间轨迹点以及终点轨迹点。
[0105]
可选的,所述曲线拟合公式包括贝塞尔曲线拟合公式,所述轨迹生成模块403包括:
[0106]
第一轨迹点确定单元,用于当用户在所述画面中选择贝塞尔曲线拟合公式后,响
应轨迹生成操作,将所述目标障碍物的起始轨迹点确定为第一轨迹点;
[0107]
第二、第三轨迹点确定单元,用于将所述第一轨迹点之后的第一个轨迹点确定为第二轨迹点、所述第一轨迹点之后的第二个轨迹点确定为第三轨迹点,并确定所述第二轨迹点和所述第三轨迹点的中间点;
[0108]
贝塞尔曲线拟合单元,用于以所述第一轨迹点为起点、所述第二轨迹点为控制点、所述中间点为终点,并采用贝塞尔曲线拟合公式对所述第一轨迹点、所述控制点以及所述中间点进行拟合,得到子轨迹;
[0109]
判断单元,用于判断是否所有轨迹点均已拟合曲线;
[0110]
轨迹连接单元,用于连接所有子轨迹得到所述目标障碍物的轨迹;
[0111]
第一轨迹点更新单元,用于将所述中间点确定为第一轨迹点,返回所述第二、第三轨迹点确定单元。
[0112]
可选的,所述曲线拟合公式包括羊角螺线拟合公式,所述轨迹生成模块403包括:
[0113]
第一轨迹点确定单元,用于当用户在所述画面中选择羊角螺线拟合公式后,响应轨迹生成操作,将所述目标障碍物的起始轨迹点确定为第一轨迹点;
[0114]
第二、第三轨迹点确定单元,用于将所述第一轨迹点之后的第一个轨迹点确定为第二轨迹点、所述第一轨迹点之后的第二个轨迹点确定为第三轨迹点,并确定所述第二轨迹点和所述第三轨迹点的中间点;
[0115]
羊角螺线拟合单元,用于以所述第一轨迹点为起点、所述第二轨迹点为控制点、所述中间点为终点,以所述第一轨迹点到所述第二轨迹点的方向为运动起始方向、以所述第一轨迹点到所述中间点的方向为终点方向,并采用羊角螺线拟合公式对所述第一轨迹点、所述控制点以及所述中间点进行拟合,得到子轨迹;
[0116]
判断单元,用于判断是否所有轨迹点均已拟合曲线;
[0117]
轨迹连接单元,用于连接所有子轨迹得到所述目标障碍物的轨迹;
[0118]
第一轨迹点更新单元,用于将所述中间点确定为第一轨迹点,返回所述第二、第三轨迹点确定单元。
[0119]
可选的,所述曲线拟合公式包括拉格朗日多项式,所述轨迹生成模块403包括:
[0120]
拉格朗日多项式生成单元,用于当用户在所述画面中选择拉格朗日多项式后,响应轨迹生成操作,根据所述目标障碍物的各个轨迹点的x坐标,生成每个轨迹点的拉格朗日多项式;
[0121]
乘积计算单元,用于计算每个轨迹点的y坐标与每个轨迹点的拉格朗日多项式的乘积;
[0122]
轨迹生成单元,用于将求取每个轨迹点的乘积的和值的函数确定为曲线函数,并以所述曲线函数生成轨迹得到所述目标障碍物的轨迹。
[0123]
可选的,所述拉格朗日多项式生成单元包括:
[0124]
第一乘积计算子单元,用于针对每个轨迹点,计算所述轨迹点的x坐标与其余轨迹点的x坐标的差值得到多个第一差值,并计算多个第一差值的乘积得到第一乘积;
[0125]
第二乘积计算子单元,用于计算其余轨迹点中两个轨迹点的x坐标的差值得到多个第二差值,并计算多个第二差值的乘积得到第二乘积;
[0126]
拉格朗日多项式确定子单元,用于将计算所述第一乘积与所述第二乘积的比值的
算式确定为所述轨迹点的拉格朗日多项式。
[0127]
可选的,所述曲线函数为:
[0128][0129]
上述公式中,y为曲线函数,n为目标障碍物的轨迹点的数量,i为第i个轨迹点,yi为第i个轨迹点的y坐标,li(x)为第i个轨迹点的拉格朗日多项式。
[0130]
本发明实施例所提供的障碍物轨迹生成装置可执行本发明实施例一、实施例二、实施例三所提供的障碍物轨迹生成方法,具备执行方法相应的功能模块和有益效果。
[0131]
实施例五
[0132]
图5示出了可以用来实施本发明的计算机设备50的结构示意图。计算机设备旨在表示包含各种形式的数字计算机的设备,诸如,包含膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机的设备。
[0133]
如图5所示,计算机设备包括至少一个处理器51,以及与至少一个处理器51通信连接的存储器,如只读存储器(rom)52、随机访问存储器(ram)53等,其中,存储器存储有可被至少一个处理器执行的计算机程序,处理器51可以根据存储在只读存储器(rom)52中的计算机程序或者从存储单元58加载到随机访问存储器(ram)53中的计算机程序,来执行各种适当的动作和处理。在ram 53中,还可存储计算机设备50操作所需的各种程序和数据。处理器51、rom 52以及ram 53通过总线54彼此相连。输入/输出(i/o)接口55也连接至总线54。
[0134]
计算机设备50中的多个部件连接至i/o接口55,包括:输入单元56,例如键盘、鼠标、获取深度图像的摄像头等;输出单元57,例如各种类型的显示器、扬声器等;存储单元58,例如磁盘、光盘等;以及通信单元59,例如网卡、调制解调器、无线通信收发机等。通信单元59允许计算机设备50通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
[0135]
处理器51可以是各种具有处理和计算能力的通用和/或专用处理组件。处理器51的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的处理器、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。处理器51执行上文所描述的各个方法和处理,例如障碍物轨迹生成方法。
[0136]
在一些实施例中,障碍物轨迹生成方法可被实现为计算机程序,其被有形地包含于计算机可读存储介质,例如存储单元58。在一些实施例中,计算机程序的部分或者全部可以经由rom 52和/或通信单元59而被载入和/或安装到计算机设备50上。当计算机程序加载到ram 53并由处理器51执行时,可以执行上文描述的障碍物轨迹生成方法的一个或多个步骤。备选地,在其他实施例中,处理器51可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行障碍物轨迹生成方法。
[0137]
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、现场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、复杂可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计
算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
[0138]
用于实施本发明的方法的计算机程序可以采用一个或多个编程语言的任何组合来编写。这些计算机程序可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,使得计算机程序当由处理器执行时使流程图和/或框图中所规定的功能/操作被实施。计算机程序可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
[0139]
在本发明的上下文中,计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的计算机程序。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。备选地,计算机可读存储介质可以是机器可读信号介质。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
[0140]
为了提供与用户的交互,可以在计算机设备上实施此处描述的系统和技术,该计算机设备具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机设备。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
[0141]
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)、区块链网络和互联网。
[0142]
计算系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与vps服务中,存在的管理难度大,业务扩展性弱的缺陷。
[0143]
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。
[0144]
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明
白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
技术特征:
1.一种障碍物轨迹生成方法,其特征在于,包括:响应用户对仿真场景的操作,加载所述用户所选择的仿真场景对应的画面,所述画面包括至少一个障碍物以及所述障碍物的轨迹点;响应用户在所述画面中对所述障碍物的操作,确定目标障碍物并确定所述目标障碍物的轨迹点;当用户在所述画面中选择曲线拟合公式后,响应轨迹生成操作,采用所述曲线拟合公式对所述目标障碍物的轨迹点拟合,得到所述目标障碍物的轨迹。2.如权利要求1所述的障碍物轨迹生成方法,其特征在于,所述响应用户在所述画面中对所述障碍物的操作,确定目标障碍物并确定所述目标障碍物的轨迹点,包括:响应用户在所述画面中对障碍物的操作,确定目标障碍物,其中,对障碍物的操作包括增加障碍物、选择障碍物、删除障碍物中的一种;响应用户在所述画面中对所述目标障碍物的轨迹点操作,确定所述目标障碍物的起点轨迹点、至少一个中间轨迹点以及终点轨迹点。3.如权利要求1或2所述的障碍物轨迹生成方法,其特征在于,所述曲线拟合公式包括贝塞尔曲线拟合公式,所述当用户在所述画面中选择曲线拟合公式后,响应轨迹生成操作,采用所述曲线拟合公式对所述目标障碍物的轨迹点拟合,得到所述目标障碍物的轨迹,包括:当用户在所述画面中选择贝塞尔曲线拟合公式后,响应轨迹生成操作,将所述目标障碍物的起始轨迹点确定为第一轨迹点;将所述第一轨迹点之后的第一个轨迹点确定为第二轨迹点、所述第一轨迹点之后的第二个轨迹点确定为第三轨迹点,并确定所述第二轨迹点和所述第三轨迹点的中间点;以所述第一轨迹点为起点、所述第二轨迹点为控制点、所述中间点为终点,并采用贝塞尔曲线拟合公式对所述第一轨迹点、所述控制点以及所述中间点进行拟合,得到子轨迹;判断是否所有轨迹点均已拟合曲线;若是,连接所有子轨迹得到所述目标障碍物的轨迹;若否,将所述中间点确定为第一轨迹点,返回将所述第一轨迹点之后的第一个轨迹点确定为第二轨迹点、所述第一轨迹点之后的第二个轨迹点确定为第三轨迹点,并确定所述第二轨迹点和所述第三轨迹点的中间点的步骤。4.如权利要求1或2所述的障碍物轨迹生成方法,其特征在于,所述曲线拟合公式包括羊角螺线拟合公式,所述当用户在所述画面中选择曲线拟合公式后,响应轨迹生成操作,采用所述曲线拟合公式对所述目标障碍物的轨迹点拟合,得到所述目标障碍物的轨迹,包括:当用户在所述画面中选择羊角螺线拟合公式后,响应轨迹生成操作,将所述目标障碍物的起始轨迹点确定为第一轨迹点;将所述第一轨迹点之后的第一个轨迹点确定为第二轨迹点、所述第一轨迹点之后的第二个轨迹点确定为第三轨迹点,并确定所述第二轨迹点和所述第三轨迹点的中间点;以所述第一轨迹点为起点、所述第二轨迹点为控制点、所述中间点为终点,以所述第一轨迹点到所述第二轨迹点的方向为运动起始方向、以所述第一轨迹点到所述中间点的方向为终点方向,并采用羊角螺线拟合公式对所述第一轨迹点、所述控制点以及所述中间点进行拟合,得到子轨迹;
判断是否所有轨迹点均已拟合曲线;若是,连接所有子轨迹得到所述目标障碍物的轨迹;若否,将所述中间点确定为第一轨迹点,返回将所述第一轨迹点之后的第一个轨迹点确定为第二轨迹点、所述第一轨迹点之后的第二个轨迹点确定为第三轨迹点,并确定所述第二轨迹点和所述第三轨迹点的中间点的步骤。5.如权利要求1或2所述的障碍物轨迹生成方法,其特征在于,所述曲线拟合公式包括拉格朗日多项式,所述当用户在所述画面中选择曲线拟合公式后,响应轨迹生成操作,采用所述曲线拟合公式对所述目标障碍物的轨迹点拟合,得到所述目标障碍物的轨迹,包括:当用户在所述画面中选择拉格朗日多项式后,响应轨迹生成操作,根据所述目标障碍物的各个轨迹点的x坐标,生成每个轨迹点的拉格朗日多项式;计算每个轨迹点的y坐标与每个轨迹点的拉格朗日多项式的乘积;将求取每个轨迹点的乘积的和值的函数确定为曲线函数,并以所述曲线函数生成轨迹得到所述目标障碍物的轨迹。6.如权利要求5所述的障碍物轨迹生成方法,其特征在于,所述根据所述目标障碍物的各个轨迹点的x坐标,生成每个轨迹点的拉格朗日多项式,包括:针对每个轨迹点,计算所述轨迹点的x坐标与其余轨迹点的x坐标的差值得到多个第一差值,并计算多个第一差值的乘积得到第一乘积;计算其余轨迹点中两个轨迹点的x坐标的差值得到多个第二差值,并计算多个第二差值的乘积得到第二乘积;将计算所述第一乘积与所述第二乘积的比值的算式确定为所述轨迹点的拉格朗日多项式。7.如权利要求5所述的障碍物轨迹生成方法,其特征在于,所述曲线函数为:上述公式中,y为曲线函数,n为目标障碍物的轨迹点的数量,i为第i个轨迹点,y
i
为第i个轨迹点的y坐标,l
i
(x)为第i个轨迹点的拉格朗日多项式。8.一种障碍物轨迹生成装置,其特征在于,包括:仿真场景加载模块,用于响应用户对仿真场景的操作,加载所述用户所选择的仿真场景对应的画面,所述画面包括至少一个障碍物以及所述障碍物的轨迹点;障碍物和轨迹点确定模块,用于响应用户在所述画面中对所述障碍物的操作,确定目标障碍物并确定所述目标障碍物的轨迹点;轨迹生成模块,用于当用户在所述画面中选择曲线拟合公式后,响应轨迹生成操作,采用所述曲线拟合公式对所述目标障碍物的轨迹点拟合,得到所述目标障碍物的轨迹。9.一种计算机设备,其特征在于,所述计算机设备包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-7中任一项所述的
障碍物轨迹生成方法。10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现权利要求1-7中任一项所述的障碍物轨迹生成方法。
技术总结
本发明公开了一种障碍物轨迹生成方法、装置、计算机设备和存储介质,包括:响应用户对仿真场景的操作,加载用户所选择的仿真场景对应的画面,响应用户在画面中对障碍物的操作,确定目标障碍物并确定目标障碍物的轨迹点;当用户在画面中选择曲线拟合公式后,响应轨迹生成操作,采用曲线拟合公式对目标障碍物的轨迹点拟合得到目标障碍物的轨迹。本发明用户可以选择仿真场景,在仿真场景中确定障碍物的轨迹点,并通过选择曲线拟合公式来拟合轨迹点,所生成的目标障碍物的轨迹为平滑曲线,目标障碍物的轨迹更贴合实际场景以及符合车辆动力学轨迹,提高自动驾驶仿真的真实性,并且在需要变更轨迹时可以在画面中微调轨迹点重新生成轨迹,操作简单方便。操作简单方便。操作简单方便。
技术研发人员:谢瑞标 梁植源
受保护的技术使用者:广州文远知行科技有限公司
技术研发日:2023.01.29
技术公布日:2023/7/25
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
