无人驾驶仿真系统的世界坐标与道路坐标转换方法及装置
技术领域
本发明涉及无人驾驶
技术领域
,具体而言,涉及一种无人驾驶仿真系统的世界坐标与道路坐标转换方法及装置。背景技术
目前,在进行无人驾驶仿真测试时,无人驾驶仿真系统需要与被测无人驾驶算法软件进行双向的实时通信即交互,通过被测无人驾驶算法软件准确的控制无人驾驶仿真系统中的被测车辆的行驶来实现对被测无人驾驶软件进行测试。
由于无人驾驶仿真系统中的位置坐标是以道路坐标系来定义的,而被测无人驾驶算法软件中的位置坐标是以世界坐标系来定义的,当被测无人驾驶算法软件在与无人驾驶仿真系统实时通信发送被测车辆的某一位置的世界坐标后,无人驾驶仿真系统需要将世界坐标转换为道路坐标系下的道路坐标才能进行后续的步骤。
现有技术中,无人驾驶仿真系统将世界坐标转换为道路坐标系下的道路坐标的方式为:针对每一时刻被测无人驾驶算法软件发送的每一个世界坐标,都从无人驾驶仿真系统的整个地图中的第一条道路,依次遍历到最后一条道路进行搜索,找到与世界坐标对应的道路坐标。这种方式导致耗时较长且效率较低。
发明内容
本发明提供了一种无人驾驶仿真系统的世界坐标与道路坐标转换方法及装置,能够减少耗时,提高效率。具体的技术方案如下。
第一方面,本发明提供了一种无人驾驶仿真系统的世界坐标与道路坐标转换方法,应用于所述无人驾驶仿真系统,所述方法包括:
记录被测车辆的当前道路坐标,所述当前道路坐标至少包括当前道路标识;
接收被测无人驾驶算法软件发送的所述被测车辆的新的世界坐标;
根据所述新的世界坐标在所述当前道路标识所标识的目标道路上进行搜索,如果搜索成功,则将搜索到的道路坐标作为新的道路坐标;
如果未搜索成功,将与所述当前道路标识所标识的目标道路相连的道路作为新的道路,根据所述新的世界坐标在所述新的道路上进行搜索,如果搜索成功,则将搜索到的道路坐标作为新的道路坐标,如果未搜索成功,将与所述新的道路相连的未进行搜索的道路作为新的道路,返回执行根据所述新的世界坐标在所述新的道路上进行搜索的步骤;
将所述新的道路坐标与所述新的世界坐标发送至所述被测无人驾驶算法软件。
可选的,所述根据所述新的世界坐标在所述当前道路标识所标识的目标道路上进行搜索,如果搜索成功,则将搜索到的道路坐标作为新的道路坐标的步骤,包括:
将所述新的世界坐标转换至道路坐标系中,判断是否能得到位于所述目标道路上的转换后的道路坐标,如果能,确定搜索成功,将转换后的道路坐标作为搜索到的道路坐标,将搜索到的道路坐标作为新的道路坐标。
可选的,所述将所述新的世界坐标转换至道路坐标系中,判断是否能得到位于所述目标道路上的转换后的道路坐标,如果能,确定搜索成功的步骤,包括:
将所述新的世界坐标转换至道路坐标系中得到转换后的道路坐标中的s坐标和t坐标,其中,道路坐标系中的s轴的正方向为道路长度的延伸方向,t轴的正方向为向左的道路宽度的延伸方向,s轴与t轴的交点为道路坐标系的原点;
判断所述s坐标的大小是否小于所述目标道路的道路长度;
如果是,判断所述t坐标是否位于所述目标道路的道路宽度范围内;
如果是,根据所述t坐标确定转换后的道路坐标所在的点所位于的车道的车道标识,得到由所述s坐标、所述t坐标和所述车道标识组成的位于所述目标道路上的转换后的道路坐标,确定搜索成功。
可选的,所述将所述新的世界坐标转换至道路坐标系中得到转换后的道路坐标中的s坐标和t坐标的步骤,包括:
计算由所述目标道路的中心线的起始点指向所述新的世界坐标所在的点的第一向量;
计算所述目标道路的切向量,并将所述切向量转换为单位切向量,其中,所述目标道路的切向量为沿所述起始点处切线方向的向量;
对所述第一向量与所述单位切向量进行点积运算得到第一点积运算结果,将所述第一点积运算结果作为转换后的道路坐标中的s坐标;
计算所述s轴上的坐标为所述s坐标的点指向所述新的世界坐标所在的点的第二向量;
对所述单位切向量与所述第二向量进行差积运算得到差积运算结果;
对所述差积运算结果和向量(0,0,1)进行点积运算得到第二点积运算结果;
计算所述第二点积运算结果与所述第二点积运算结果的绝对值之间的商;
计算所述商与所述第二向量的长度之间的乘积,将所述乘积作为所述新的道路坐标中的t坐标。
可选的,所述当前道路坐标还包括当前车道的车道标识。
第二方面,本发明提供一种无人驾驶仿真系统的世界坐标与道路坐标转换装置,应用于所述无人驾驶仿真系统,所述装置包括:
记录模块,用于记录被测车辆的当前道路坐标,所述当前道路坐标至少包括当前道路标识;
接收模块,用于接收被测无人驾驶算法软件发送的所述被测车辆的新的世界坐标;
第一搜索模块,用于根据所述新的世界坐标在所述当前道路标识所标识的目标道路上进行搜索,如果搜索成功,则将搜索到的道路坐标作为新的道路坐标;
第二搜索模块,用于如果未搜索成功,将与所述当前道路标识所标识的目标道路相连的道路作为新的道路,根据所述新的世界坐标在所述新的道路上进行搜索,如果搜索成功,则将搜索到的道路坐标作为新的道路坐标,如果未搜索成功,将与所述新的道路相连的未进行搜索的道路作为新的道路,返回执行根据所述新的世界坐标在所述新的道路上进行搜索的步骤;
发送模块,用于将所述新的道路坐标与所述新的世界坐标发送至所述被测无人驾驶算法软件。
可选的,所述第一搜索模块,包括:
判断子模块,用于将所述新的世界坐标转换至道路坐标系中,判断是否能得到位于所述目标道路上的转换后的道路坐标,如果能,确定搜索成功,将转换后的道路坐标作为搜索到的道路坐标,将搜索到的道路坐标作为新的道路坐标。
可选的,所述判断子模块,包括:
转换单元,用于将所述新的世界坐标转换至道路坐标系中得到转换后的道路坐标中的s坐标和t坐标,其中,道路坐标系中的s轴的正方向为道路长度的延伸方向,t轴的正方向为向左的道路宽度的延伸方向,s轴与t轴的交点为道路坐标系的原点;
第一判断单元,用于判断所述s坐标的大小是否小于所述目标道路的道路长度,如果是,触发第二判断单元;
所述第二判断单元,用于判断所述t坐标是否位于所述目标道路的道路宽度范围内,如果是,触发确定单元;
所述确定单元,用于根据所述t坐标确定转换后的道路坐标所在的点所位于的车道的车道标识,得到由所述s坐标、所述t坐标和所述车道标识组成的位于所述目标道路上的转换后的道路坐标,确定搜索成功。
可选的,所述转换单元,具体用于:
计算由所述目标道路的中心线的起始点指向所述新的世界坐标所在的点的第一向量;
计算所述目标道路的切向量,并将所述切向量转换为单位切向量,其中,所述目标道路的切向量为沿所述起始点处切线方向的向量;
对所述第一向量与所述单位切向量进行点积运算得到第一点积运算结果,将所述第一点积运算结果作为转换后的道路坐标中的s坐标;
计算所述s轴上的坐标为所述s坐标的点指向所述新的世界坐标所在的点的第二向量;
对所述单位切向量与所述第二向量进行差积运算得到差积运算结果;
对所述差积运算结果和向量(0,0,1)进行点积运算得到第二点积运算结果;
计算所述第二点积运算结果与所述第二点积运算结果的绝对值之间的商;
计算所述商与所述第二向量的长度之间的乘积,将所述乘积作为所述新的道路坐标中的t坐标。
可选的,所述当前道路坐标还包括当前车道的车道标识。
由上述内容可知,本发明实施例提供的一种无人驾驶仿真系统的世界坐标与道路坐标转换方法及装置,可以记录被测车辆的当前道路坐标,当前道路坐标至少包括当前道路标识;接收被测无人驾驶算法软件发送的被测车辆的新的世界坐标;根据新的世界坐标在当前道路标识所标识的目标道路上进行搜索,如果搜索成功,则将搜索到的道路坐标作为新的道路坐标;如果未搜索成功,将与当前道路标识所标识的目标道路相连的道路作为新的道路,根据新的世界坐标在新的道路上进行搜索,如果搜索成功,则将搜索到的道路坐标作为新的道路坐标,如果未搜索成功,将与新的道路相连的未进行搜索的道路作为新的道路,返回执行根据新的世界坐标在新的道路上进行搜索的步骤;将新的道路坐标与新的世界坐标发送至被测无人驾驶算法软件。本实施例中,无人驾驶仿真系统将世界坐标转换为道路坐标系下的道路坐标的方式为先在当前道路标识所标识的目标道路上进行搜索,如果搜索成功,就找到与世界坐标对应的道路坐标,如果未搜索成功,再在与目标道路相连的新的道路上进行搜索,如果搜索成功,就找到与世界坐标对应的道路坐标,如果未搜索成功,再在与新的道路相连的道路上进行搜索,这种根据就近原则进行搜索的方式,使得无需对整个地图进行搜索就可以找到与世界坐标对应的道路坐标,能够减少耗时,提高效率。当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。
本发明实施例的创新点包括:
1、本实施例中,无人驾驶仿真系统将世界坐标转换为道路坐标系下的道路坐标的方式为先在当前道路标识所标识的目标道路上进行搜索,如果搜索成功,就找到与世界坐标对应的道路坐标,如果未搜索成功,再在与目标道路相连的新的道路上进行搜索,如果搜索成功,就找到与世界坐标对应的道路坐标,如果未搜索成功,再在与新的道路相连的道路上进行搜索,这种根据就近原则进行搜索的方式,使得无需对整个地图进行搜索就可以找到与世界坐标对应的道路坐标,能够减少耗时,提高效率。
2、在得到新的道路坐标后,无人驾驶仿真系统不仅将新的道路坐标发送至被测无人驾驶算法软件,还将新的世界坐标发送至被测无人驾驶算法软件,使得被测无人驾驶算法无需保存新的世界坐标,减少了内存消耗,并在接收到新的道路坐标和新的世界坐标后就可以根据接收到的新的道路坐标和新的世界坐标来计算下一步该如何控制被测车辆进行行驶,无需从自身的内存中查找新的世界坐标,提高了效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单介绍。显而易见地,下面描述中的附图仅仅是本发明的一些实施例。对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的无人驾驶仿真系统的世界坐标与道路坐标转换方法的一种流程示意图;
图2为道路坐标系的示意图;
图3为本发明实施例提供的无人驾驶仿真系统的世界坐标与道路坐标转换装置的一种结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述。显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,本发明实施例及附图中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。例如包含的一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
本发明实施例公开了一种无人驾驶仿真系统的世界坐标与道路坐标转换方法及装置,能够减少耗时,提高效率。下面对本发明实施例进行详细说明。
图1为本发明实施例提供的无人驾驶仿真系统的世界坐标与道路坐标转换方法的一种流程示意图。该方法应用于无人驾驶仿真系统。该方法具体包括以下步骤。
S110:记录被测车辆的当前道路坐标,当前道路坐标至少包括当前道路标识。
在无人驾驶仿真系统刚启动时,可以加载预设的初始化文件,初始化文件中存储有被测车辆的初始道路坐标和初始世界坐标,无人驾驶仿真系统将所加载的被测车辆的初始道路坐标作为被测车辆的当前道路坐标进行记录,将所加载的被测车辆的初始世界坐标作为被测车辆的当前世界坐标进行记录。
其中,当前道路坐标至少包括当前道路标识,当前道路标识表示被测车辆当前所位于的道路是无人驾驶仿真系统地图中的哪一条道路。当前道路坐标还可以包括当前车道的车道标识,当前道路标识表示被测车辆当前所位于的车道是当前道路标识所标识的道路上的哪一车道。当前道路坐标还可以包括被测车辆的当前s坐标和当前t坐标,当前s坐标表示被测车辆当前在道路坐标系中的横坐标,当前t坐标表示被测车辆当前在道路坐标系中的纵坐标。
S120:接收被测无人驾驶算法软件发送的被测车辆的新的世界坐标。
由于在进行无人驾驶仿真测试时,无人驾驶仿真系统需要与被测无人驾驶算法软件进行双向的实时通信即交互,通过被测无人驾驶算法软件准确的控制无人驾驶仿真系统中的被测车辆的行驶来实现对被测无人驾驶软件进行测试。因此,被测无人驾驶算法软件为了控制被测车辆进行行驶会发送被测车辆的新的世界坐标至无人驾驶仿真系统。
无人驾驶仿真系统接收被测无人驾驶算法软件发送的被测车辆的新的世界坐标,示例性的,被测无人驾驶算法为Automatic driving算法。
S130:根据新的世界坐标在当前道路标识所标识的目标道路上进行搜索,如果搜索成功,则将搜索到的道路坐标作为新的道路坐标。
由于在未接收到新的世界坐标之前,被测车辆是行驶在当前道路标识所标识的目标道路上的,因此,被测无人驾驶算法软件是很有可能仍然控制被测车辆行驶在当前道路标识所标识的目标道路上,因此,在接收到新的世界坐标之后,根据新的世界坐标在当前道路标识所标识的目标道路上进行搜索,再根据搜索结果进行后续步骤。
如果搜索成功,说明被测无人驾驶算法软件仍然控制被测车辆行驶在当前道路标识所标识的目标道路上,则将搜索到的道路坐标作为新的道路坐标。
在本发明实施例中,根据新的世界坐标在当前道路标识所标识的目标道路上进行搜索的过程实际上是世界坐标转换为道路坐标的过程,具体的,步骤S130可以包括:
将新的世界坐标转换至道路坐标系中,判断是否能得到位于目标道路上的转换后的道路坐标,如果能,确定搜索成功,将转换后的道路坐标作为搜索到的道路坐标,将搜索到的道路坐标作为新的道路坐标。
由于无人驾驶仿真系统中的位置坐标是以道路坐标系来定义的,而被测无人驾驶算法软件中的位置坐标是以世界坐标系来定义的,当被测无人驾驶算法软件在与无人驾驶仿真系统实时通信发送被测车辆的新的世界坐标后,无人驾驶仿真系统为了能够根据新的世界坐标在当前道路标识所标识的目标道路上进行搜索,需要将新的世界坐标转换至道路坐标系中。
然后无人驾驶仿真系统判断是否能得到位于当前道路标识所标识的目标道路上的转换后的道路坐标,如果能,确定搜索成功,将转换后的道路坐标作为搜索到的道路坐标,将搜索到的道路坐标作为新的道路坐标,这说明被测无人驾驶算法软件控制被测车辆从当前道路坐标所在位置行驶至新的道路坐标所在位置。
上述将世界坐标转换为道路坐标的方式可以为现有技术中任意一种坐标转换方式,只要可以实现世界坐标到道路坐标的转换即可,本发明实施例对此并不做任何限定。
具体的,上述将新的世界坐标转换至道路坐标系中,判断是否能得到位于目标道路上的转换后的道路坐标,如果能,确定搜索成功,可以包括:
将新的世界坐标转换至道路坐标系中得到转换后的道路坐标中的s坐标和t坐标,其中,道路坐标系中的s轴的正方向为道路长度的延伸方向,t轴的正方向为向左的道路宽度的延伸方向,s轴与t轴的交点为道路坐标系的原点;
判断s坐标的大小是否小于目标道路的道路长度;
如果是,判断t坐标是否位于目标道路的道路宽度范围内;
如果是,根据t坐标确定转换后的道路坐标所在的点所位于的车道的车道标识,得到由s坐标、t坐标和车道标识组成的位于目标道路上的转换后的道路坐标,确定搜索成功。
图2为道路坐标系的示意图,参见图2,在道路坐标系中,包括相互垂直的s轴和t轴,道路坐标系中的s轴的正方向为道路长度的延伸方向,由于图2中的道路延伸方向为向上,因此,s轴的正方向为向上,t轴的正方向为向左的道路宽度的延伸方向,s轴与t轴的交点为道路坐标系的原点。
一般情况下,道路的中心线与s轴重合,道路的中心线的起始点即为道路坐标系的原点,图2中为了查看方便未使得道路的中心线与s轴重合,位于s轴左侧的车道的车道标识为正数,如紧挨着s轴的为1车道,顺次向左为2车道、3车道……,位于s轴右侧的车道的车道标识为正数,如紧挨着s轴的为-1车道,顺次向左为-2车道、-3车道……,图2中仅标出了1车道和-1车道。
上述将新的世界坐标转换至道路坐标系中得到转换后的道路坐标中的s坐标和t坐标,可以包括:
计算由目标道路的中心线的起始点指向新的世界坐标所在的点的第一向量;
计算目标道路的切向量,并将切向量转换为单位切向量,其中,目标道路的切向量为沿起始点处切线方向的向量;
对第一向量与单位切向量进行点积运算得到第一点积运算结果,将第一点积运算结果作为转换后的道路坐标中的s坐标;
计算s轴上的坐标为s坐标的点指向新的世界坐标所在的点的第二向量;
对单位切向量与第二向量进行差积运算得到差积运算结果;
对差积运算结果和向量(0,0,1)进行点积运算得到第二点积运算结果;
计算第二点积运算结果与第二点积运算结果的绝对值之间的商;
计算商与第二向量的长度之间的乘积,将乘积作为新的道路坐标中的t坐标。
上述计算目标道路的切向量的方式为:将沿目标道路的中心线的起始点处切线方向的向量作为目标道路的切向量,将切向量转换为单位切向量的方式为现有技术中的任意一种向量转换为单位向量的方式,本发明实施例对此并不做任何限定。
为了方便理解,下面通过一具体实施例对将新的世界坐标转换至道路坐标系中得到转换后的道路坐标中的s坐标和t坐标的过程进行介绍:
假设目标道路的中心线的起始点即道路坐标系的原点为(0, 0, 0),目标道路的道路长度为100米,目标道路的道路长度的延伸方向为平行于y轴即航向角hdg=90度,有-1车道和- 2车道共两个车道,每个车道宽度为1.0米,即目标道路的世界坐标x的范围为[0,2],道路坐标中的t坐标的范围为[0, 2], 道路坐标中的s坐标的范围为[0, 100]。假设新的世界坐标所在点为P,新的世界坐标为(1.5, 1, 0),则将新的世界坐标(1.5, 1, 0) 转换至道路坐标系中得到转换后的道路坐标中的s坐标和t坐标的过程为:
1.计算由目标道路的中心线的起始点指向点P的第一向量,=(1.5, 1, 0);
2.计算目标道路的切向量,并将切向量转换为单位切向量,=(0, 1, 0);
3. 对第一向量与单位切向量进行点积运算得到第一点积运算结果= 1.5*0+ 1*1 + 0*0 = 1.0,将第一点积运算结果1.0作为转换后的道路坐标中的s坐标;
4. 计算s轴上的坐标为s坐标即1.0的点指向新的世界坐标所在的点P的第二向量,=(1.5, 0, 0);
5. 对单位切向量与第二向量进行差积运算得到差积运算结果,对差积运算结果和向量(0,0,1)进行点积运算得到第二点积运算结果,即第二点积运算结果dir=差积运算结果与向量(0, 0, 1)进行点积运算=-1.5;
6、计算第二点积运算结果-1.5与第二点积运算结果-1.5的绝对值之间的商,计算商与第二向量的长度之间的乘积,将乘积作为新的道路坐标中的t坐标的值,即t = dir/ dir的绝对值 * 第二向量的长度 = -1.5。
在将新的世界坐标转换至道路坐标系中后,得到转换后的道路坐标中的s坐标和t坐标,然后判断s坐标的大小是否小于目标道路的道路长度,如果是,说明s坐标位于目标道路的道路长度范围内,如果否,说明s坐标未位于目标道路的道路长度范围内,搜索失败。
当s坐标的大小小于目标道路的道路长度时,继续判断t坐标是否位于目标道路的道路宽度范围内,如果是,根据t坐标确定转换后的道路坐标所在的点所位于的车道的车道标识。例如:承接上述t=-1.5的例子,则根据t坐标-1.5可以确定转换后的道路坐标所在的点所位于的车道的车道标识为-2,也就是说转换后的道路坐标所在的点位于-2车道。
综上,得到由s坐标、t坐标和车道标识组成的位于目标道路上的转换后的道路坐标,确定搜索成功,将搜索到的道路坐标作为新的道路坐标。
S140:如果未搜索成功,将与当前道路标识所标识的目标道路相连的道路作为新的道路,根据新的世界坐标在新的道路上进行搜索,如果搜索成功,则将搜索到的道路坐标作为新的道路坐标,如果未搜索成功,将与新的道路相连的未进行搜索的道路作为新的道路,返回执行根据新的世界坐标在新的道路上进行搜索的步骤。
如果未搜索成功,说明被测无人驾驶算法软件未控制被测车辆行驶在当前道路标识所标识的目标道路上,根据就近原则,被测无人驾驶算法软件可能控制被测车辆行驶在与目标道路相连的道路上,因此,可以继续在与目标道路相连的道路上进行搜索,即如果未搜索成功,将与当前道路标识所标识的目标道路相连的道路作为新的道路,根据新的世界坐标在新的道路上进行搜索,其中,根据新的世界坐标在新的道路上进行搜索的方式参见步骤S130中根据新的世界坐标在当前道路标识所标识的目标道路上进行搜索的方式,在此不再赘述。
如果搜索成功,说明被测无人驾驶算法软件控制被测车辆行驶在与目标道路相连的新的道路上,则将搜索到的道路坐标作为新的道路坐标。
如果未搜索成功,说明被测无人驾驶算法软件未控制被测车辆行驶在与目标道路相连的新的道路上,则继续在与新的道路相连的道路上进行搜索,如果还未搜索成功,则一直不停的搜索下去,即如果未搜索成功,将与新的道路相连的未进行搜索的道路作为新的道路,返回执行根据新的世界坐标在新的道路上进行搜索的步骤。
为了方便理解,下面通过一具体实施例对上述根据就近原则在道路上循环搜索的方式进行介绍:
假设目标道路为road1,与目标道路road1相连的道路为road2和road3,与road2相连的未进行搜索的道路为road4和road5,与road3相连的未进行搜索的道路为road6和road7,与road4相连的未进行搜索的道路为road8……就,假设根据新的世界坐标在当前道路标识所标识的目标道路road1上未搜索成功。
上述根据就近原则在道路上循环搜索的方式为:
1、将与目标道路road1相连的道路road2和road3作为新的道路;
2、根据新的世界坐标在新的道路road2和road3上进行搜索;
3、如果搜索成功,则将搜索到的道路坐标作为新的道路坐标;
4、如果未搜索成功,将与新的道路road2和road3相连的未进行搜索的道路road4、road5、road6和road7作为新的道路;
5、根据新的世界坐标在新的道路road4、road5、road6和road7上进行搜索;
6、如果搜索成功,则将搜索到的道路坐标作为新的道路坐标;
7、如果未搜索成功,将与新的道路road4、road5、road6和road7相连的未进行搜索的道路road8……作为新的道路;
8、根据新的世界坐标在新的道路road8……上进行搜索,如此按照就近原则进行搜索,直到完整遍历了无人驾驶仿真系统的地图。
S150:将新的道路坐标与新的世界坐标发送至被测无人驾驶算法软件。
由于被测无人驾驶算法软件是需要根据新的道路坐标和新的世界坐标来计算下一步该如何控制被测车辆进行行驶的,因此,无人驾驶仿真系统将新的道路坐标与新的世界坐标发送至被测无人驾驶算法软件以使被测无人驾驶算法软件可以根据接收到的新的道路坐标和新的世界坐标来计算下一步该如何控制被测车辆进行行驶。
由上述内容可知,本实施例可以记录被测车辆的当前道路坐标,当前道路坐标至少包括当前道路标识;接收被测无人驾驶算法软件发送的被测车辆的新的世界坐标;根据新的世界坐标在当前道路标识所标识的目标道路上进行搜索,如果搜索成功,则将搜索到的道路坐标作为新的道路坐标;如果未搜索成功,将与当前道路标识所标识的目标道路相连的道路作为新的道路,根据新的世界坐标在新的道路上进行搜索,如果搜索成功,则将搜索到的道路坐标作为新的道路坐标,如果未搜索成功,将与新的道路相连的未进行搜索的道路作为新的道路,返回执行根据新的世界坐标在新的道路上进行搜索的步骤;将新的道路坐标与新的世界坐标发送至被测无人驾驶算法软件。本实施例中,无人驾驶仿真系统将世界坐标转换为道路坐标系下的道路坐标的方式为先在当前道路标识所标识的目标道路上进行搜索,如果搜索成功,就找到与世界坐标对应的道路坐标,如果未搜索成功,再在与目标道路相连的新的道路上进行搜索,如果搜索成功,就找到与世界坐标对应的道路坐标,如果未搜索成功,再在与新的道路相连的道路上进行搜索,这种根据就近原则进行搜索的方式,使得无需对整个地图进行搜索就可以找到与世界坐标对应的道路坐标,能够减少耗时,提高效率。
并且,在得到新的道路坐标后,无人驾驶仿真系统不仅将新的道路坐标发送至被测无人驾驶算法软件,还将新的世界坐标发送至被测无人驾驶算法软件,使得被测无人驾驶算法无需保存新的世界坐标,减少了内存消耗,并在接收到新的道路坐标和新的世界坐标后就可以根据接收到的新的道路坐标和新的世界坐标来计算下一步该如何控制被测车辆进行行驶,无需从自身的内存中查找新的世界坐标,提高了效率。
相应于上述方法实施例,本发明实施例提供了一种无人驾驶仿真系统的世界坐标与道路坐标转换装置,应用于所述无人驾驶仿真系统,如图3所示,所述装置可以包括:
记录模块310,用于记录被测车辆的当前道路坐标,所述当前道路坐标至少包括当前道路标识;
接收模块320,用于接收被测无人驾驶算法软件发送的所述被测车辆的新的世界坐标;
第一搜索模块330,用于根据所述新的世界坐标在所述当前道路标识所标识的目标道路上进行搜索,如果搜索成功,则将搜索到的道路坐标作为新的道路坐标;
第二搜索模块340,用于如果未搜索成功,将与所述当前道路标识所标识的目标道路相连的道路作为新的道路,根据所述新的世界坐标在所述新的道路上进行搜索,如果搜索成功,则将搜索到的道路坐标作为新的道路坐标,如果未搜索成功,将与所述新的道路相连的未进行搜索的道路作为新的道路,返回执行根据所述新的世界坐标在所述新的道路上进行搜索的步骤;
发送模块350,用于将所述新的道路坐标与所述新的世界坐标发送至所述被测无人驾驶算法软件。
本实施例提供的装置可以记录被测车辆的当前道路坐标,当前道路坐标至少包括当前道路标识;接收被测无人驾驶算法软件发送的被测车辆的新的世界坐标;根据新的世界坐标在当前道路标识所标识的目标道路上进行搜索,如果搜索成功,则将搜索到的道路坐标作为新的道路坐标;如果未搜索成功,将与当前道路标识所标识的目标道路相连的道路作为新的道路,根据新的世界坐标在新的道路上进行搜索,如果搜索成功,则将搜索到的道路坐标作为新的道路坐标,如果未搜索成功,将与新的道路相连的未进行搜索的道路作为新的道路,返回执行根据新的世界坐标在新的道路上进行搜索的步骤;将新的道路坐标与新的世界坐标发送至被测无人驾驶算法软件。本实施例中,无人驾驶仿真系统将世界坐标转换为道路坐标系下的道路坐标的方式为先在当前道路标识所标识的目标道路上进行搜索,如果搜索成功,就找到与世界坐标对应的道路坐标,如果未搜索成功,再在与目标道路相连的新的道路上进行搜索,如果搜索成功,就找到与世界坐标对应的道路坐标,如果未搜索成功,再在与新的道路相连的道路上进行搜索,这种根据就近原则进行搜索的方式,使得无需对整个地图进行搜索就可以找到与世界坐标对应的道路坐标,能够减少耗时,提高效率。
在本发明的另一实施例中,所述第一搜索模块330,可以包括:
判断子模块,用于将所述新的世界坐标转换至道路坐标系中,判断是否能得到位于所述目标道路上的转换后的道路坐标,如果能,确定搜索成功,将转换后的道路坐标作为搜索到的道路坐标,将搜索到的道路坐标作为新的道路坐标。
在本发明的另一实施例中,所述判断子模块,可以包括:
转换单元,用于将所述新的世界坐标转换至道路坐标系中得到转换后的道路坐标中的s坐标和t坐标,其中,道路坐标系中的s轴的正方向为道路长度的延伸方向,t轴的正方向为向左的道路宽度的延伸方向,s轴与t轴的交点为道路坐标系的原点;
第一判断单元,用于判断所述s坐标的大小是否小于所述目标道路的道路长度,如果是,触发第二判断单元;
所述第二判断单元,用于判断所述t坐标是否位于所述目标道路的道路宽度范围内,如果是,触发确定单元;
所述确定单元,用于根据所述t坐标确定转换后的道路坐标所在的点所位于的车道的车道标识,得到由所述s坐标、所述t坐标和所述车道标识组成的位于所述目标道路上的转换后的道路坐标,确定搜索成功。
在本发明的另一实施例中,所述转换单元,可以具体用于:
计算由所述目标道路的中心线的起始点指向所述新的世界坐标所在的点的第一向量;
计算所述目标道路的切向量,并将所述切向量转换为单位切向量,其中,所述目标道路的切向量为沿所述起始点处切线方向的向量;
对所述第一向量与所述单位切向量进行点积运算得到第一点积运算结果,将所述第一点积运算结果作为转换后的道路坐标中的s坐标;
计算所述s轴上的坐标为所述s坐标的点指向所述新的世界坐标所在的点的第二向量;
对所述单位切向量与所述第二向量进行差积运算得到差积运算结果;
对所述差积运算结果和向量(0,0,1)进行点积运算得到第二点积运算结果;
计算所述第二点积运算结果与所述第二点积运算结果的绝对值之间的商;
计算所述商与所述第二向量的长度之间的乘积,将所述乘积作为所述新的道路坐标中的t坐标。
在本发明的另一实施例中,所述当前道路坐标还可以包括当前车道的车道标识。
上述装置实施例与方法实施例相对应,与该方法实施例具有同样的技术效果,具体说明参见方法实施例。装置实施例是基于方法实施例得到的,具体的说明可以参见方法实施例部分,此处不再赘述。
本领域普通技术人员可以理解:附图只是一个实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域普通技术人员可以理解:实施例中的装置中的模块可以按照实施例描述分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围。
- 上一篇:石墨接头机器人自动装卡簧、装栓机
- 下一篇:一种适用于运载火箭级间冷分离的实现方法