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

一种基于自主建图的路线修正方法、装置以及电子设备与流程

2021-10-29 23:04:00 来源:中国专利 TAG:电子设备 修正 装置 驾驶 路线


1.本发明实施例涉及自动驾驶技术领域,特别是涉及一种基于自主建图的路线修正方法、装置以及电子设备。


背景技术:

2.随着社会科技的进步,自动驾驶汽车由于不需要人们驾驶车辆,因此,自动驾驶汽车成为近年来的研究热点。自动驾驶汽车在执行自动驾驶任务时需要一些信息的支持。打点地图是自主建图的一种,是一种轻量化的地图,打点地图能够表示各种自动驾驶任务中需要的信息。打点地图定义了一系列轨迹点的位置朝向、一些附加信息以及各个轨迹点间的连接关系。
3.在进行打点地图的轨迹点的采集形成路线时,容易因为采集轨迹点数据的采集车抖动、路上突遇不常见障碍物等的原因,从而导致打点地图的轨迹点出现较大跳变,形成跳变轨迹点的情况,这些跳变轨迹点需要被去掉或者被修正,从而保障打点地图的准确性。
4.但是,在实现本发明实施例的过程中,发明人发现:目前,尚没有一种基于自主建图的路线修正方法,从而修正跳变轨迹点。


技术实现要素:

5.鉴于上述问题,本发明实施例提供了一种基于自主建图的路线修正方法、装置以及电子设备,克服了上述问题或者至少部分地解决了上述问题。
6.根据本发明实施例的一个方面,提供了一种基于自主建图的路线修正方法,包括:获取跳变轨迹点,以及获取所述跳变轨迹点的得分,其中,所述跳变轨迹点的得分表示所述跳变轨迹点的曲率相对于与跳变轨迹点相邻的第一轨迹点的曲率、第二轨迹点的曲率的变化情况;获取所述跳变轨迹点周围的目标修正点,其中,所述目标修正点的得分最小,其中,所述目标修正点的得分最小表示所述目标修正点的曲率相对于所述第一轨迹点的曲率、第二轨迹点的曲率的变化最小;用所述目标修正点替换所述跳变轨迹点。
7.在一种可选的方式中,所述获取所述跳变轨迹点周围的目标修正点的步骤,进一步包括:获取距离所述跳变轨迹点预设步长的多个修正点,分别计算所述多个修正点的得分;判断所述多个修正点的得分是否均不小于所述跳变轨迹点的得分;若否,则获取所述多个修正点中得分最小的选定修正点;用所述选定修正点替换所述跳变轨迹点,以及返回所述获取距离所述跳变轨迹点预设步长的多个修正点,分别计算所述多个修正点的得分的步骤,直到所述多个修正点的得分均不小于所述跳变轨迹点的得分,将最终获得的所述选定修正点作为所述目标修正点。
8.在一种可选的方式中,所述跳变轨迹点的坐标为(x,y),所述距离所述跳变轨迹点预设步长的多个修正点的坐标分别为(x step,y)、(x

step,y)、(x,y step)和(x,y

step),其中,所述step为所述预设步长。
9.在一种可选的方式中,所述获取跳变轨迹点,以及获取所述跳变轨迹点的得分的
步骤之前,所述方法还包括:判断所述跳变轨迹点的初始得分是否大于预设阈值;若是,则获取所述跳变轨迹点的初始横纵坐标;根据所述初始横纵坐标,将所述跳变轨迹点调整至所述第一轨迹点和第二轨迹点所在的曲线,所述获取跳变轨迹点为获取调整后的跳变轨迹点,所述获取所述跳变轨迹点的得分为获取调整后的跳变轨迹点的得分;若否,则直接执行所述获取跳变轨迹点,以及获取所述跳变轨迹点的得分的步骤。
10.在一种可选的方式中,所述获取跳变轨迹点的步骤,进一步包括:获取待测轨迹点的曲率;获取与所述待测轨迹点相邻的第一轨迹点的曲率;获取与所述待测轨迹点相邻的第二轨迹点的曲率;根据所述待测轨迹点的曲率,所述第一轨迹点的曲率,以及所述第二轨迹点的曲率,计算所述待测轨迹点的得分;判断所述待测轨迹点的得分是否大于预设值;若是,则确定所述待测轨迹点是跳变轨迹点;否则,确定所述待测轨迹点不是跳变轨迹点。
11.在一种可选的方式中,所述获取待测轨迹点的曲率的步骤,进一步包括:拟合所述待测轨迹点和第二轨迹点所在的曲线的轨迹方程;根据所述轨迹方程,获取所述待测轨迹点的曲率。
12.在一种可选的方式中,所述根据所述待测轨迹点的曲率,所述第一轨迹点的曲率,以及所述第二轨迹点的曲率,计算所述待测轨迹点的得分的公式为:
13.score
i
=|k
i

k
i
‑1| |k
i 1

k
i
|;
14.其中,所述score
i
为所述待测轨迹点的得分,所述k
i
为所述待测轨迹点的曲率,所述k
i
‑1为所述第一轨迹点的曲率,所述k
i
‑1为所述第一轨迹点相对于所述待测轨迹点的曲率,所述k
i 1
为所述第二轨迹点的曲率,所述k
i 1
为所述第二轨迹点相对于所述待测轨迹点的曲率。
15.在一种可选的方式中,所述待测轨迹点为所述跳变轨迹点时,所述待测轨迹点的得分即为所述跳变轨迹点的得分;所述目标修正点的得分的计算公式为:
16.score
j
=|k
j

k
j
‑1| |k
j 1

k
j
|;
17.其中,所述score
j
为所述目标修正点的得分,所述k
j
为所述目标修正点的曲率,所述k
j
‑1为所述第一轨迹点相对于所述目标修正点的曲率,所述k
j 1
为所述第二轨迹点相对于所述目标修正点的曲率。
18.根据本发明实施例的一个方面,提供了一种基于自主建图的路线修正装置,所述装置包括:第一获取模块,用于获取跳变轨迹点,以及获取所述跳变轨迹点的得分,其中,所述跳变轨迹点的得分表示所述跳变轨迹点的曲率相对于与跳变轨迹点相邻的第一轨迹点的曲率、第二轨迹点的曲率的变化情况;第二获取模块,用于获取所述跳变轨迹点周围的目标修正点,其中,所述目标修正点的得分最小,其中,所述目标修正点的得分最小表示所述目标修正点的曲率相对于所述第一轨迹点的曲率、第二轨迹点的曲率的变化最小;替换模块,用于用所述目标修正点替换所述跳变轨迹点。
19.在一种可选的方式中,第二获取模块包括:第一获取单元,用于获取距离所述跳变轨迹点预设步长的多个修正点,分别计算所述多个修正点的得分;第一判断单元,用于判断所述多个修正点的得分是否均不小于所述跳变轨迹点的得分;第二获取单元,用于若所述多个修正点的得分中存在小于所述跳变轨迹点的得分的修正点,则获取所述多个修正点中得分最小的选定修正点;替换单元,用于用所述选定修正点替换所述跳变轨迹点,以及返回所述获取距离所述跳变轨迹点预设步长的多个修正点,分别计算所述多个修正点的得分的
步骤,直到所述多个修正点的得分均不小于所述跳变轨迹点的得分,将最终获得的所述选定修正点作为所述目标修正点。
20.在一种可选的方式中,所述跳变轨迹点的坐标为(x,y),所述距离所述跳变轨迹点预设步长的多个修正点的坐标分别为(x step,y)、(x

step,y)、(x,y step)和(x,y

step),其中,所述step为所述预设步长。
21.在一种可选的方式中,所述装置还包括:判断模块,用于判断所述跳变轨迹点的初始得分是否大于预设阈值;第三获取模块,用于若所述跳变轨迹点的初始得分大于所述预设阈值,则获取所述跳变轨迹点的初始横纵坐标;调整模块,用于根据所述初始横纵坐标,将所述跳变轨迹点调整至所述第一轨迹点和第二轨迹点所在的曲线,所述获取跳变轨迹点为获取调整后的跳变轨迹点,所述获取所述跳变轨迹点的得分为获取调整后的跳变轨迹点的得分;若所述跳变轨迹点的初始得分不大于所述预设阈值,则进入所述第一获取模块。
22.在一种可选的方式中,第一获取模块包括:第三获取单元,用于获取待测轨迹点的曲率;第四获取单元,用于获取与所述待测轨迹点相邻的第一轨迹点的曲率;第五获取单元,用于获取与所述待测轨迹点相邻的第二轨迹点的曲率;计算单元,用于根据所述待测轨迹点的曲率,所述第一轨迹点的曲率,以及所述第二轨迹点的曲率,计算所述待测轨迹点的得分;第二判断单元,用于判断所述待测轨迹点的得分是否大于预设值;第一确定单元,用于若所述待测轨迹点的得分大于所述预设值,则确定所述待测轨迹点是跳变轨迹点;第二确定单元,用于若所述待测轨迹点的得分不大于所述预设值,则确定所述待测轨迹点不是跳变轨迹点。
23.在一种可选的方式中,第三获取单元具体用于:拟合所述待测轨迹点和第二轨迹点所在的曲线的轨迹方程;根据所述轨迹方程,获取所述待测轨迹点的曲率。
24.在一种可选的方式中,所述根据所述待测轨迹点的曲率,所述第一轨迹点的曲率,以及所述第二轨迹点的曲率,计算所述待测轨迹点的得分的公式为:
25.score
i
=|k
i

k
i
‑1| |k
i 1

k
i
|;
26.其中,所述score
i
为所述待测轨迹点的得分,所述k
i
为所述待测轨迹点的曲率,所述k
i
‑1为所述第一轨迹点的曲率,所述k
i
‑1为所述第一轨迹点相对于所述待测轨迹点的曲率,所述k
i 1
为所述第二轨迹点的曲率,所述k
i 1
为所述第二轨迹点相对于所述待测轨迹点的曲率。
27.在一种可选的方式中,所述待测轨迹点为所述跳变轨迹点时,所述待测轨迹点的得分即为所述跳变轨迹点的得分;所述修正点的得分的计算公式为:
28.score
j
=|k
j

k
j
‑1| |k
j 1

k
j
|;
29.其中,所述score
j
为所述修正点的得分,所述k
j
为所述修正点的曲率,所述k
j
‑1为所述第一轨迹点相对于所述修正点的曲率,所述k
j 1
为所述第二轨迹点相对于所述修正点的曲率。
30.根据本发明实施例的一个方面,提供了一种电子设备,该电子设备包括:至少一个处理器,以及存储器,所述存储器与所述至少一个处理器通信连接,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上所述的方法。
31.本发明实施例的有益效果是:通过获取跳变轨迹点,以及获取所述跳变轨迹点的
得分,其中,所述跳变轨迹点的得分表示所述跳变轨迹点的曲率相对于与跳变轨迹点相邻的第一轨迹点的曲率、第二轨迹点的曲率的变化情况;获取所述跳变轨迹点周围的目标修正点,其中,所述目标修正点的得分最小,其中,所述目标修正点的得分最小表示所述目标修正点的曲率相对于所述第一轨迹点的曲率、第二轨迹点的曲率的变化最小;用所述目标修正点替换所述跳变轨迹点,可快速将跳变轨迹点修正到合适的位置上,提高打点地图的准确性。
附图说明
32.一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
33.图1是本发明实施例提供的一种基于自主建图的路线修正方法的流程示意图;
34.图2是本发明实施例提供的一种获取跳变轨迹点的流程示意图;
35.图3是本发明实施例提供的四个相邻的轨迹点的示意图;
36.图4是本发明实施例提供的一种获取跳变轨迹点周围的目标修正点的流程示意图;
37.图5是本发明实施例提供的未修正的跳变轨迹点在打点地图中的示意图;
38.图6是本发明实施例提供的修正后的跳变轨迹点在打点地图中的示意图;
39.图7是本发明实施例提供的另一种基于自主建图的路线修正方法的流程示意图
40.图8是本发明实施例提供的一种基于自主建图的路线修正装置的示意图;
41.图9是本发明实施例提供的执行基于自主建图的路线修正方法的电子设备的硬件结构示意图。
具体实施方式
42.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
43.需要说明的是,当元件被表述“固定于”另一个元件,它可以直接在另一个元件上、或者其间可以存在一个或多个居中的元件。当一个元件被表述“连接”另一个元件,它可以是直接连接到另一个元件、或者其间可以存在一个或多个居中的元件。本说明书所使用的术语“垂直的”、“水平的”、“左”、“右”以及类似的表述只是为了说明的目的。
44.此外,下面所描述的本发明各个实施例中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
45.实施例一
46.请参阅图1,图1是本发明实施例提供的一种基于自主建图的路线修正方法的流程示意图,该方法包括以下步骤:
47.步骤s10,获取跳变轨迹点,以及获取所述跳变轨迹点的得分。
48.其中,所述跳变轨迹点的得分表示所述跳变轨迹点的曲率相对于与跳变轨迹点相邻的第一轨迹点的曲率、第二轨迹点的曲率的变化情况。
49.所述获取跳变轨迹点的一种可行的方式,请参阅图2,步骤s101包括以下步骤:
50.步骤s101,获取待测轨迹点的曲率。
51.其中,待测轨迹点可以是待检测打点地图中的任意一个轨迹点。本技术修正跳变轨迹点时,需要对待检测打点地图中的每个轨迹点分别进行检测。
52.其中,曲率表示曲线的弯曲程度,对于特定的曲线,曲线上的各个点的曲率即可获得。
53.在一些实施例中,所述获取待测轨迹点的曲率的方法,具体的包括拟合所述待测轨迹点和第二轨迹点所在的曲线的轨迹方程,以及根据所述轨迹方程,获取所述待测轨迹点的曲率。
54.在一些实施例中,所述第二轨迹点与所述待测轨迹点相邻。
55.请参阅图3,例如,p1为待测轨迹点,p2为第二轨迹点,则第二轨迹点p2为所述待测轨迹点p1后方的轨迹点。
56.在一些实施例中,在拟合所述待测轨迹点和第二轨迹点所在的曲线的轨迹方程的时候,需要用到相邻的四个轨迹点。请继续参阅图3,使用相邻的四个轨迹点p0、p1、p2和p3的横纵坐标,可以获得p1和p2两个轨迹点所述在的曲线的轨迹方程。令p1为待测轨迹点,p2为第二轨迹点,p0为第一轨迹点,第一轨迹点p0为所述待测轨迹点p1前方的轨迹点,p3为第三轨迹点,第三轨迹点p3为与所述第二轨迹点p2相邻的轨迹点,第三轨迹点p3远离待测轨迹点p1,通过第一轨迹点p0、待测轨迹点p1、第二轨迹点p2和第三轨迹点p3可实现步骤s1011,即拟合处待测轨迹点和第二轨迹点所在的曲线的轨迹方程。
57.所述拟合所述待测轨迹点和第二轨迹点所在的曲线的轨迹方程的方法具体包括:获取所述待测轨迹点的横纵坐标;获取所述第二轨迹点的横纵坐标;获取所述第一轨迹点的横纵坐标;获取与所述第二轨迹点相邻的第三轨迹点的横纵坐标,其中,所述第三轨迹点远离所述待测轨迹点;根据所述待测轨迹点的横纵坐标、第二轨迹点的横纵坐标、第一轨迹点的横纵坐标和第三轨迹点的横纵坐标,拟合所述待测轨迹点和第二轨迹点所在的曲线的轨迹方程。
58.其中,待测轨迹点的横纵坐标、第二轨迹点的横纵坐标、第一轨迹点的横纵坐标,以及第三轨迹点的横纵坐标在采集车采集数据时即已经获得。
59.所述待测轨迹点和第二轨迹点所在的曲线的轨迹方程为:
60.p(t)=a bt ct2 dt3;
61.其中,所述t为参数,t∈[0,1];其中,所述a、b、c和d可根据四个约束条件求解;所述四个约束条件包括:t=0时,p(0)等于所述待测轨迹点的纵坐标;t=1时,p(1)等于所述第二轨迹点的纵坐标;t=0时,p

(0)等于第二轨迹点的纵坐标与第一轨迹点的纵坐标的差值,再乘以预设参数;t=1时,p

(1)等于第三轨迹点的纵坐标与待测轨迹点的纵坐标的差值,再乘以所述预设参数。
[0062]
其中,p

(0)为轨迹方程p(t)在t=0时的一阶导数。
[0063]
其中,p

(1)为轨迹方程p(t)在t=1时的一阶导数。
[0064]
其中,所述预设参数为s,s∈[0,1],所述s表示待测轨迹点和第二轨迹点所在的曲
线的松紧程度,所述s越大,待测轨迹点和第二轨迹点所在的曲线越紧,所述s越小,待测轨迹点和第二轨迹点所在的曲线越松。
[0065]
所述s的数值可根据实际情况进行选择,例如,可选择s为0.5。
[0066]
通过上述四个约束条件,则可求解所述a、b、c和d,进而可求解所述待测轨迹点和第二轨迹点所在的曲线的轨迹方程。
[0067]
其中,p(t)∈r2,其中,r为实数域,r2表示p(t)所在的平面。
[0068]
所述根据所述轨迹方程,获取所述待测轨迹点的曲率的方法具体包括:获取所述待测轨迹点和第二轨迹点所在的曲线上的各个点的横坐标关于参数t的参数方程x(t);获取所述待测轨迹点和第二轨迹点所在的曲线上的各个点的纵坐标关于参数t的参数方程y(t);所述待测轨迹点和第二轨迹点所在的曲线上的各个点的曲率公式为:
[0069][0070]
其中,t=o时,k(0)即为所述待测轨迹点的曲率。
[0071]
其中,所述x(t)为所述待测轨迹点和第二轨迹点所在的曲线上的各个点的横坐标关于参数t的参数方程,所述x(t)与参数t的一种可选的关系为:
[0072][0073]
其中,所述x1为所述待测轨迹点的横坐标,所述x2为所述第二轨迹点的横坐标,因此,所述x(t)的一种可选的公式为:
[0074]
x(t)=(x2

x1)t x1;
[0075]
其中,所述y(t)为所述待测轨迹点和第二轨迹点所在的曲线上的各个点的纵坐标关于参数t的参数方程,所述x(t)与参数t的一种可选的关系为:
[0076]
y(t)=p(t)。
[0077]
其中,x

(t)为参数方程x(t)的一阶导数,x

(t)为参数方程x(t)的二阶导数,y

(t)为参数方程y(t)的一阶导数,y

(t)为参数方程y(t)的二阶导数。
[0078]
步骤s102,获取与所述待测轨迹点相邻的第一轨迹点的曲率。
[0079]
获取第一轨迹点的曲率时,可根据第一轨迹点前方的一个轨迹点的横纵坐标、第一轨迹点的横纵坐标、待测轨迹点的横纵坐标以及第二轨迹点的横纵坐标获得,具体的方法可参考步骤s101中待测轨迹点的曲率的获取方法,此处不再赘述。
[0080]
步骤s103,获取与所述待测轨迹点相邻的第二轨迹点的曲率。
[0081]
获取第二轨迹点的曲率时,可根据待测轨迹点的横纵坐标、第二轨迹点的横纵坐标、第三轨迹点的横纵坐标以及第三轨迹点后方的另一个轨迹点的横纵坐标获得,具体的方法可参考步骤s101中待测轨迹点的曲率的获取方法,此处不再赘述。
[0082]
步骤s104,根据所述待测轨迹点的曲率,所述第一轨迹点的曲率,以及所述第二轨迹点的曲率,计算所述待测轨迹点的得分。
[0083]
待测轨迹点的得分表示待测轨迹点的曲率相对于与待测轨迹点相邻的第一轨迹点的曲率、第二轨迹点的曲率的变化情况。
[0084]
在一些实施例中,所述根据所述待测轨迹点的曲率,所述第一轨迹点的曲率,以及所述第二轨迹点的曲率,计算所述待测轨迹点的得分的公式为:
[0085]
score
i
=|k
i

k
i
‑1| |k
i 1

k
i
|;
[0086]
其中,所述score
i
为所述待测轨迹点的得分,所述k
i
为所述待测轨迹点的曲率,所述k
i
‑1为所述第一轨迹点的曲率,所述k
i
‑1为所述第一轨迹点相对于所述待测轨迹点的曲率,所述k
i 1
为所述第二轨迹点的曲率,所述k
i 1
为所述第二轨迹点相对于所述待测轨迹点的曲率。
[0087]
可以理解的是,计算所述待测轨迹点的得分的公式不限于上述形式,还是可以是其他形式,例如,
[0088][0089]
其中,所述score
i
为所述待测轨迹点的得分,所述k
i
为所述待测轨迹点的曲率,所述k
i
‑1和k
i 1
分别为与所述待测轨迹点相邻的两个轨迹点的曲率,在本技术中,所述k
i
‑1为所述第一轨迹点的曲率,所述k
i
‑1为所述第一轨迹点相对于所述待测轨迹点的曲率,所述k
i 1
为所述第二轨迹点的曲率,所述k
i 1
为所述第二轨迹点相对于所述待测轨迹点的曲率。
[0090]
步骤s105,判断所述待测轨迹点的得分是否大于预设值,若是,则执行步骤s106,否则,执行步骤s107。
[0091]
由于曲率表示的是曲线的弯曲程度,在理想的情况下,即待测轨迹点,与待测轨迹点相邻的第一轨迹点和第二轨迹点均不是跳变轨迹点的情况下,待测轨迹点的曲率、第一轨迹点的曲率和第二轨迹点的曲率相差不大,若表示待测轨迹点的曲率相对于与待测轨迹点相邻的第一轨迹点的曲率、第二轨迹点的曲率的变化情况的待测轨迹点的得分大于预设值,则说明待测轨迹点为跳变轨迹点,否则确定待测轨迹点不是跳变轨迹点。
[0092]
其中,预设值可根据实际情况进行选择,例如,预设值可选择为1。或者,在对打点地图中的轨迹点的要求比较高时,可将预设值设置的小一些,例如,预设值可选择为0.2。或者,在对打点地图中的轨迹点的要求不高时,可将预设值设置的大一些,例如,预设值可选择为1.2。
[0093]
步骤s106,确定所述待测轨迹点是跳变轨迹点。
[0094]
所述待测轨迹点为所述跳变轨迹点时,所述待测轨迹点的得分即为所述跳变轨迹点的得分。
[0095]
在一些实施例中,在确定处所述待测轨迹点是跳变轨迹点时,可标记所述跳变轨迹点,从而方便后续对跳变轨迹点的剔除或修正等。
[0096]
步骤s107,确定所述待测轨迹点不是跳变轨迹点。
[0097]
步骤s20,获取所述跳变轨迹点周围的目标修正点,其中,所述目标修正点的得分最小。
[0098]
其中,所述目标修正点的得分最小表示所述目标修正点的曲率相对于所述第一轨迹点的曲率、第二轨迹点的曲率的变化最小。
[0099]
所述获取所述跳变轨迹点周围的目标修正点的一种可行的方式,请参阅图4,步骤s20包括以下步骤:
[0100]
步骤s201,获取距离所述跳变轨迹点预设步长的多个修正点,分别计算所述多个修正点的得分。
[0101]
例如,所述跳变轨迹点的坐标为(x,y),所述距离所述跳变轨迹点预设步长的多个
修正点的坐标分别为(x step,y)、(x

step,y)、(x,y step)和(x,y

step),其中,所述step为所述预设步长。
[0102]
所述预设步长可根据实际需求进行合理选择,在一些实施例中,所述预设步长为0.1米,在另一些实施例中,所述预设步长为0.05米。
[0103]
在一些实施例中,所述修正点的得分的计算公式为:
[0104]
score
j
=|k
j

k
j
‑1| |k
j 1

k
j
|;
[0105]
其中,所述score
j
为所述修正点的得分,所述k
j
为所述修正点的曲率,所述k
j
‑1为所述第一轨迹点相对于所述修正点的曲率,所述k
j 1
为所述第二轨迹点相对于所述修正点的曲率。
[0106]
可以理解的是,由于曲率是表示的曲线的弯曲程度,即曲率是和曲线密切相关的。换而言之,曲线改变,则曲率将随之改变。
[0107]
在本技术中,所述k
j
‑1为所述第一轨迹点相对于所述修正点的曲率,即所述k
j
‑1为,所述第一轨迹点和所述修正点所在的曲线上,所述第一轨迹点的曲率。
[0108]
在本技术中,所述k
j 1
为所述第二轨迹点相对于所述修正点的曲率,即所述k
j 1
为,所述第二轨迹点和所述修正点所在的曲线上,所述第二轨迹点的曲率。
[0109]
值得说明的是,在一些实施例中,为了简化系统的计算,取k
j
‑1=k
i
‑1,以及取k
j 1
=k
i 1

[0110]
所述目标修正点的得分的计算方法可以与上述跳变轨迹点的得分的计算方法相同,此处不再赘述。
[0111]
步骤s202,判断所述多个修正点的得分是否均不小于所述跳变轨迹点的得分,若否,则执行步骤s203。
[0112]
可以理解的是,若所述多个修正点的得分均不小于所述跳变轨迹点的得分,则可直接结束程序,即不再对跳变轨迹点进行修正,也即不再获取所述跳变轨迹点周围的目标修正点。
[0113]
步骤s203,获取所述多个修正点中得分最小的选定修正点。
[0114]
步骤s204,用所述选定修正点替换所述跳变轨迹点,以及返回所述获取距离所述跳变轨迹点预设步长的多个修正点,分别计算所述多个修正点的得分的步骤,直到所述多个修正点的得分均不小于所述跳变轨迹点的得分,将最终获得的所述选定修正点作为所述目标修正点。
[0115]
其中,最终获得的所述选定修正点的得分小于其周围的任意一个修正点的得分。
[0116]
步骤s30,用所述目标修正点替换所述跳变轨迹点。
[0117]
请参阅图5和图6,图5为未修正的跳变轨迹点在打点地图中的示意图,其中,a为跳变轨迹点,图6为修正后的跳变轨迹点在打点地图中的示意图,其中,b为修正后的跳变轨迹点,跳变轨迹点经过修正后,打点地图中的路线平滑。
[0118]
在一些实施例中,所述用所述目标修正点替换所述跳变轨迹点,即使用所述目标修正点的横坐标替换所述跳变轨迹点的横坐标,使用所述目标修正点的纵坐标替换所述跳变轨迹点的纵坐标。
[0119]
在本发明实施例中,通过获取跳变轨迹点,以及获取所述跳变轨迹点的得分,其中,所述跳变轨迹点的得分表示所述跳变轨迹点的曲率相对于与跳变轨迹点相邻的第一轨
迹点的曲率、第二轨迹点的曲率的变化情况;通过获取所述跳变轨迹点周围的目标修正点,其中,所述目标修正点的得分最小,其中,所述目标修正点的得分最小表示所述目标修正点的曲率相对于所述第一轨迹点的曲率、第二轨迹点的曲率的变化最小;通过用所述目标修正点替换所述跳变轨迹点,可实现对跳变轨迹点进行修正,可快速将跳变轨迹点修正到合适的位置上,提高打点地图的准确性。
[0120]
实施例二
[0121]
请参阅图7,图7是本发明实施例提供的另一种基于自主建图的路线修正方法的流程示意图,该方法包括以下步骤:
[0122]
步骤s10’,判断所述跳变轨迹点的初始得分是否大于预设阈值,若是,则执行步骤s20’,否则直接执行步骤s10。
[0123]
跳变轨迹点的初始得分表示跳变轨迹点的曲率相对于与跳变轨迹点相邻的第一轨迹点的曲率、第二轨迹点的曲率的变化情况。
[0124]
预设阈值是根据实际情况设定的,跳变轨迹点的初始得分大于预设阈值,表明跳变轨迹点属于明显的跳变点,即表面跳变轨迹点的曲率相对于与跳变轨迹点相邻的第一轨迹点的曲率、第二轨迹点的曲率的变化非常大,此时在执行本技术实施例一的各个步骤之前,需要将跳变轨迹点的初始得分大于预设阈值的跳变轨迹点调整到合适的位置,可以选择将跳变轨迹点的初始得分大于预设阈值的跳变轨迹点调整到第一轨迹点和第二轨迹点所在的曲线上。
[0125]
其中,预设阈值可根据实际情况进行选择,例如,预设阈值可选择为2。
[0126]
步骤s20’,获取所述跳变轨迹点的初始横纵坐标。
[0127]
数据采集车在采集轨迹点的数据,形成打点地图时,将获取各个轨迹点在世界坐标系的横纵坐标,因此,可获取所述跳变轨迹点的初始横纵坐标,所述跳变轨迹点的初始横纵坐标即为采集车采集数据时采集到的横纵坐标。
[0128]
步骤s30’,根据所述初始横纵坐标,将所述跳变轨迹点调整至所述第一轨迹点和第二轨迹点所在的曲线,所述获取跳变轨迹点为获取调整后的跳变轨迹点,所述获取所述跳变轨迹点的得分为获取调整后的跳变轨迹点的得分。
[0129]
所述第一轨迹点和第二轨迹点所在的曲线的轨迹方程的拟合方法,可参考实施例一中的待测轨迹点和第二轨迹点所在的曲线的轨迹方程的拟合方法,此处不再赘述。
[0130]
所述将所述跳变轨迹点调整至所述第一轨迹点和第二轨迹点所在的曲线的一种可选的方式为,将所述跳变轨迹点的横坐标带入所述第一轨迹点和第二轨迹点所在的曲线的轨迹方程,获得所述调整后的跳变轨迹点的纵坐标,使用所述跳变轨迹点的横坐标以及所述调整后的跳变轨迹点的纵坐标表示调整后的跳变轨迹点。
[0131]
所述将所述跳变轨迹点调整至所述第一轨迹点和第二轨迹点所在的曲线的一种可选的方式为,将所述跳变轨迹点的纵坐标带入所述第一轨迹点和第二轨迹点所在的曲线的轨迹方程,获得所述调整后的跳变轨迹点的横坐标,使用所述调整后的跳变轨迹点的横坐标以及所述跳变轨迹点的纵坐标表示调整后的跳变轨迹点。
[0132]
步骤s10,获取跳变轨迹点,以及获取所述跳变轨迹点的得分。
[0133]
步骤s20,获取所述跳变轨迹点周围的目标修正点。
[0134]
步骤s30,用所述目标修正点替换所述跳变轨迹点。
[0135]
上述步骤s10、步骤s20和步骤s30可参考实施例一,此处不再赘述。
[0136]
在本技术实施例中,通过判断所述跳变轨迹点的初始得分是否大于预设阈值;若是,则获取所述跳变轨迹点的初始横纵坐标;根据所述初始横纵坐标,将所述跳变轨迹点调整至所述第一轨迹点和第二轨迹点所在的曲线,所述获取跳变轨迹点为获取调整后的跳变轨迹点,所述获取所述跳变轨迹点的得分为获取调整后的跳变轨迹点的得分;若否,则直接执行所述获取跳变轨迹点,以及获取所述跳变轨迹点的得分的步骤,从而将明显的跳变点线调整至所述第一轨迹点和第二轨迹点所在的曲线,从而在后续对跳变轨迹点进行修正时,修正后的跳变轨迹点、第一轨迹点和第二轨迹点所在的路线平滑,更符合实际需求。
[0137]
实施例三
[0138]
请参阅图8,图8是本发明实施例提供的一种基于自主建图的路线修正装置的示意图,该装置400包括:第一获取模块401,用于获取跳变轨迹点,以及获取所述跳变轨迹点的得分,其中,所述跳变轨迹点的得分表示所述跳变轨迹点的曲率相对于与跳变轨迹点相邻的第一轨迹点的曲率、第二轨迹点的曲率的变化情况;第二获取模块402,用于获取所述跳变轨迹点周围的目标修正点,其中,所述目标修正点的得分最小,其中,所述目标修正点的得分最小表示所述目标修正点的曲率相对于所述第一轨迹点的曲率、第二轨迹点的曲率的变化最小;替换模块403,用于用所述目标修正点替换所述跳变轨迹点。
[0139]
在一些实施例中,第二获取模块402包括:第一获取单元4021,用于获取距离所述跳变轨迹点预设步长的多个修正点,分别计算所述多个修正点的得分;第一判断单元4022,用于判断所述多个修正点的得分是否均不小于所述跳变轨迹点的得分;第二获取单元4023,用于若所述多个修正点的得分中存在小于所述跳变轨迹点的得分的修正点,则获取所述多个修正点中得分最小的选定修正点;替换单元4024,用于用所述选定修正点替换所述跳变轨迹点,以及返回所述获取距离所述跳变轨迹点预设步长的多个修正点,分别计算所述多个修正点的得分的步骤,直到所述多个修正点的得分均不小于所述跳变轨迹点的得分,将最终获得的所述选定修正点作为所述目标修正点。
[0140]
在一些实施例中,所述跳变轨迹点的坐标为(x,y),所述距离所述跳变轨迹点预设步长的多个修正点的坐标分别为(x step,y)、(x

step,y)、(x,y step)和(x,y

step),其中,所述step为所述预设步长。
[0141]
在一些实施例中,所述装置400还包括:判断模块404,用于判断所述跳变轨迹点的初始得分是否大于预设阈值;第三获取模块405,用于若所述跳变轨迹点的初始得分大于所述预设阈值,则获取所述跳变轨迹点的初始横纵坐标;调整模块406,用于根据所述初始横纵坐标,将所述跳变轨迹点调整至所述第一轨迹点和第二轨迹点所在的曲线,所述获取跳变轨迹点为获取调整后的跳变轨迹点,所述获取所述跳变轨迹点的得分为获取调整后的跳变轨迹点的得分;若所述跳变轨迹点的初始得分不大于所述预设阈值,则进入所述第一获取模块。
[0142]
在一些实施例中,第一获取模块401包括:第三获取单元4011,用于获取待测轨迹点的曲率;第四获取单元4012,用于获取与所述待测轨迹点相邻的第一轨迹点的曲率;第五获取单元4013,用于获取与所述待测轨迹点相邻的第二轨迹点的曲率;计算单元4014,用于根据所述待测轨迹点的曲率,所述第一轨迹点的曲率,以及所述第二轨迹点的曲率,计算所述待测轨迹点的得分;第二判断单元4015,用于判断所述待测轨迹点的得分是否大于预设
值;第一确定单元4016,用于若所述待测轨迹点的得分大于所述预设值,则确定所述待测轨迹点是跳变轨迹点;第二确定单元4017,用于若所述待测轨迹点的得分不大于所述预设值,则确定所述待测轨迹点不是跳变轨迹点。
[0143]
在一些实施例中,第三获取单元4011具体用于:拟合所述待测轨迹点和第二轨迹点所在的曲线的轨迹方程;根据所述轨迹方程,获取所述待测轨迹点的曲率。
[0144]
在一些实施例中,所述根据所述待测轨迹点的曲率,所述第一轨迹点的曲率,以及所述第二轨迹点的曲率,计算所述待测轨迹点的得分的公式为:
[0145]
score
i
=|k
i

k
i
‑1| |k
i 1

k
i
|;
[0146]
其中,所述score
i
为所述待测轨迹点的得分,所述k
i
为所述待测轨迹点的曲率,所述k
i
‑1为所述第一轨迹点的曲率,所述k
i
‑1为所述第一轨迹点相对于所述待测轨迹点的曲率,所述k
i 1
为所述第二轨迹点的曲率,所述k
i 1
为所述第二轨迹点相对于所述待测轨迹点的曲率。
[0147]
在一些实施例中,所述待测轨迹点为所述跳变轨迹点时,所述待测轨迹点的得分即为所述跳变轨迹点的得分;所述修正点的得分的计算公式为:
[0148]
score
j
=|k
j

k
j
‑1| |k
j 1

k
j
|;
[0149]
其中,所述score
j
为所述修正点的得分,所述k
j
为所述修正点的曲率,所述k
j
‑1为所述第一轨迹点相对于所述修正点的曲率,所述k
j 1
为所述第二轨迹点相对于所述修正点的曲率。
[0150]
在本发明实施例中,通过第一获取模块401获取跳变轨迹点,以及获取所述跳变轨迹点的得分,其中,所述跳变轨迹点的得分表示所述跳变轨迹点的曲率相对于与跳变轨迹点相邻的第一轨迹点的曲率、第二轨迹点的曲率的变化情况;第二获取模块402获取所述跳变轨迹点周围的目标修正点,其中,所述目标修正点的得分最小,其中,所述目标修正点的得分最小表示所述目标修正点的曲率相对于所述第一轨迹点的曲率、第二轨迹点的曲率的变化最小;替换模块403用所述目标修正点替换所述跳变轨迹点,可实现对跳变轨迹点进行修正,可快速将跳变轨迹点修正到合适的位置上,提高打点地图的准确性。
[0151]
实施例四
[0152]
请参阅图9,图9是本发明实施例提供的执行基于自主建图的路线修正方法的电子设备的硬件结构示意图。该电子设备50包括:一个或多个处理器51以及存储器52,图9中以一个存储器为例。
[0153]
处理器51和存储器52可以通过总线或者其他方式连接,本发明实施例中以通过总线连接为例。
[0154]
存储器52作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本发明实施例中的基于自主建图的路线修正方法对应的程序指令/模块(例如,附图8所示的各个模块)。处理器51通过运行存储在存储器52中的非易失性软件程序、指令以及模块,从而执行基于自主建图的路线修正装置的各种功能应用以及数据处理,即实现上述方法实施例的基于自主建图的路线修正方法。
[0155]
存储器52可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据基于自主建图的路线修正装置的使用所创建的数据等。此外,存储器52可以包括高速随机存取存储器,还可以包括非易失性
存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器52可选包括相对于处理器51远程设置的存储器,这些远程存储器可以通过网络连接至修正跳变轨迹点装置。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
[0156]
所述一个或者多个模块存储在所述存储器52中,当被所述一个或者多个处理器51执行时,执行上述任意方法实施例中的基于自主建图的路线修正方法。
[0157]
上述产品可执行本发明实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明实施例所提供的方法。
[0158]
本发明实施例提供了一种非易失性计算机可读存储介质,所述非易失性计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被电子设备执行上述任意方法实施例中的基于自主建图的路线修正方法。
[0159]
本发明实施例提供了一种计算机程序产品,包括存储在非易失性计算机可读存储介质上的计算程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时时,使所述计算机执行上述任意方法实施例中的基于自主建图的路线修正方法。
[0160]
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
[0161]
通过以上的实施方式的描述,本领域普通技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件来实现。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read

only memory,rom)或随机存储记忆体(random access memory,ram)等。
[0162]
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;在本发明的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本发明的不同方面的许多其它变化,为了简明,它们没有在细节中提供;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献

  • 日榜
  • 周榜
  • 月榜