一种自动驾驶车辆的控制命令检测方法和装置转让专利

申请号 : CN201810359293.0

文献号 : CN109213115B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 林於菟刘浏孙行

申请人 : 北京图森未来科技有限公司

摘要 :

本发明公开一种自动驾驶车辆的控制命令检测方法和装置,用于解决现有的自动驾驶技术中,无法检测识别控制系统做出的控制命令是否是安全的控制命令的问题。该方法包括:检测装置接收车辆控制系统生成的一个车辆控制命令;判断该车辆控制命令对应的车辆控制操作是否包括在预先构建的安全驾驶行为集群中;在判断为是的情况下,确定该车辆控制命令是安全的车辆控制命令;在判断为否的情况下,确定该车辆控制命令是异常的车辆控制命令。

权利要求 :

1.一种自动驾驶车辆的控制命令检测方法,其特征在于,包括:检测装置接收车辆控制系统生成的一个车辆控制命令;

预先构建安全驾驶行为集群,包括:

检测装置预先将多种人类驾驶行为对应的车辆控制操作的高维空间数据投影到一个低维空间;

得到低维空间中聚类的至少一个安全驾驶行为集群;其中,一个安全驾驶行为集群对应一种人类驾驶行为,每个安全驾驶行为集群包括聚类的同一种安全驾驶行为对应的多个车辆控制操作的数据;

判断该车辆控制命令对应的车辆控制操作是否包括在预先构建的安全驾驶行为集群中;

在判断为是的情况下,确定该车辆控制命令是安全的车辆控制命令;

在判断为否的情况下,确定该车辆控制命令是异常的车辆控制命令。

2.根据权利要求1所述的方法,其特征在于,将多种人类驾驶行为对应的车辆控制操作的高维空间数据投影到低维空间,包括:使用数据挖掘方法将高维空间数据投影到低维空间。

3.根据权利要求1所述的方法,其特征在于,判断该车辆控制命令对应的车辆控制操作是否包括在预先构建的安全驾驶行为集群中,包括:确定车辆控制命令对应的车辆控制操作在低维空间中投影的数据点,得到车辆控制命令投影的数据点;

将车辆控制命令投影的数据点与低维空间中预先构建的至少一个安全驾驶行为集群进行对比,判断车辆控制命令投影的数据点是否位于一个安全驾驶行为集群的内部。

4.根据权利要求3所述的方法,其特征在于,确定车辆控制命令对应的车辆控制操作在低维空间中投影的数据点,包括:确定车辆控制命令包括的至少两个车辆控制机构以及至少两个车辆控制机构的操作数值;

在至少两个车辆控制机构是低维空间的坐标系的坐标轴的情况下,根据至少两个车辆控制机构的操作数值确定车辆控制命令在低维空间中投影的数据点;

在至少两个车辆控制机构不是低维空间的坐标系的坐标轴的情况下,根据至少两个车辆控制机构与低维空间的坐标系的转换关系,将车辆控制命令转换投影到低维空间中,确定车辆控制命令对应的车辆行为在低维空间中投影的数据点。

5.根据权利要求3所述的方法,其特征在于,该方法还包括:生成至少一个安全驾驶行为集群的封闭的边界线;则,判断车辆控制命令投影的数据点是否位于一个安全驾驶行为集群的内部,包括:确定低维空间中与车辆控制命令投影的数据点最接近的一个安全驾驶行为集群;

判断车辆控制命令投影的数据点是否位于最接近的安全驾驶行为集群的边界上或者其内部。

6.根据权利要求3所述的方法,其特征在于,判断车辆控制命令投影的数据点是否位于一个安全驾驶行为集群的内部,包括:确定低维空间中与车辆控制命令投影的数据点最接近的一个安全驾驶行为集群,以及与最接近的安全驾驶行为集群的距离;

在该距离小于或等于一个预定阈值的情况下,确定该控制命令投影的数据点位于最接近的安全驾驶行为集群的内部;

在该距离大于预定阈值的情况下,确定该控制命令投影的数据点位于最接近的安全驾驶行为集群的外部。

7.根据权利要求5或6所述的方法,其特征在于,在确定该车辆控制命令是异常车辆控制命令之后,该方法还包括:确定最接近的安全驾驶行为集群中与异常车辆控制命令对应的数据点距离最短的一个点;

确定该距离最短的点对应的车辆控制操作,根据该确定的车辆控制操作替换异常车辆控制命令,得到新的车辆控制命令。

8.根据权利要求7所述的方法,其特征在于,在替换异常车辆控制命令后,该方法还包括:发送错误消息或者告警消息。

9.根据权利要求1所述的方法,其特征在于,在确定该车辆控制命令是异常的车辆控制命令之后,该方法还包括:发送错误消息或者告警消息。

10.一种自动驾驶车辆的控制命令检测装置,其特征在于,包括:接收模块,用于接收车辆控制系统生成的一个车辆控制命令;

构建模块,用于预先将多种人类驾驶行为对应的车辆控制操作的高维空间数据投影到一个低维空间;得到低维空间中聚类的至少一个安全驾驶行为集群;其中,一个安全驾驶行为集群对应一种人类驾驶行为,每个安全驾驶行为集群包括聚类的同一种安全驾驶行为对应的多个车辆控制操作的数据;

判断模块,用于判断该车辆控制命令对应的车辆控制操作是否更包括在预先构建的安全驾驶行为集群中;

确定模块,用于在判断模块判断为是的情况下,确定该车辆控制命令是安全的车辆控制命令;在判断模块判断为否的情况下,确定该车辆控制命令是异常的车辆控制命令。

11.根据权利要求10所述的装置,其特征在于,构建模块将多种人类驾驶行为对应的车辆控制操作的高维空间数据投影到低维空间,包括:使用数据挖掘方法将高维空间数据投影到低维空间。

12.根据权利要求10所述的装置,其特征在于,判断模块判断该车辆控制命令对应的车辆控制操作是否包括在预先构建的安全驾驶行为集群中,包括:确定车辆控制命令对应的车辆控制操作在低维空间中投影的数据点,得到车辆控制命令投影的数据点;

将车辆控制命令投影的数据点与低维空间中预先构建的至少一个安全驾驶行为集群进行对比,判断车辆控制命令投影的数据点是否位于一个安全驾驶行为集群的内部。

13.根据权利要求12所述的装置,其特征在于,判断模块确定车辆控制命令对应的车辆控制操作在低维空间中投影的数据点,包括:确定车辆控制命令包括的至少两个车辆控制机构以及至少两个车辆控制机构的操作数值;

在至少两个车辆控制机构是低维空间的坐标系的坐标轴的情况下,根据至少两个车辆控制机构的操作数值确定车辆控制命令在低维空间中投影的数据点;

在至少两个车辆控制机构不是低维空间的坐标系的坐标轴的情况下,根据至少两个车辆控制机构与低维空间的坐标系的转换关系,将车辆控制命令转换投影到低维空间中,确定车辆控制命令对应的车辆行为在低维空间中投影的数据点。

14.根据权利要求12所述的装置,其特征在于,所述装置还包括边界线生成模块,用于生成至少一个安全驾驶行为集群的封闭的边界线;则,判断模块判断车辆控制命令投影的数据点是否位于一个安全驾驶行为集群的内部,包括:确定低维空间中与车辆控制命令投影的数据点最接近的一个安全驾驶行为集群;

判断车辆控制命令投影的数据点是否位于最接近的安全驾驶行为集群的边界上或者其内部。

15.根据权利要求12所述的装置,其特征在于,判断模块判断车辆控制命令投影的数据点是否位于一个安全驾驶行为集群的内部,包括:确定低维空间中与车辆控制命令投影的数据点最接近的一个安全驾驶行为集群,以及与最接近的安全驾驶行为集群的距离;

在该距离小于或等于一个预定阈值的情况下,确定该控制命令投影的数据点位于最接近的安全驾驶行为集群的内部;

在该距离大于预定阈值的情况下,确定该控制命令投影的数据点位于最接近的安全驾驶行为集群的外部。

16.根据权利要求14或者15所述的装置,其特征在于,所述装置还包括替换模块,用于确定最接近的安全驾驶行为集群中与异常车辆控制命令对应的数据点距离最短的一个点;

确定该距离最短的点对应的车辆控制操作,根据该确定的车辆控制操作替换异常车辆控制命令,得到新的车辆控制命令。

17.根据权利要求16所述的装置,其特征在于,所述装置还包括告警模块,用于在替换模块替换异常车辆控制命令后,发送错误消息或者告警消息。

18.根据权利要求10所述的装置,其特征在于,所述装置还包括告警模块,用于在确定模块确定该车辆控制命令是异常的车辆控制命令之后,发送错误消息或者告警消息。

19.一种自动驾驶车辆的控制命令检测装置,其特征在于,包括一个处理器和至少一个存储器,至少一个存储器中存储有至少一条机器可执行指令,处理器执行至少一条机器可执行指令以实现:接收车辆控制系统生成的一个车辆控制命令;

实现预先构建的安全驾驶行为集群,包括:

预先将多种人类驾驶行为对应的车辆控制操作的高维空间数据投影到一个低维空间;

得到低维空间中聚类的至少一个安全驾驶行为集群;其中,一个安全驾驶行为集群对应一种人类驾驶行为,每个安全驾驶行为集群包括聚类的同一种安全驾驶行为对应的多个车辆控制操作的数据;

判断该车辆控制命令对应的车辆控制操作是否包括在预先构建的安全驾驶行为集群中;

在判断为是的情况下,确定该车辆控制命令是安全的车辆控制命令;

在判断为否的情况下,确定该车辆控制命令是异常的车辆控制命令。

20.根据权利要求19所述的装置,其特征在于,处理器执行至少一条机器可执行指令实现将多种人类驾驶行为对应的车辆控制操作的高维空间数据投影到低维空间,包括:使用数据挖掘方法将高维空间数据投影到低维空间。

21.根据权利要求19所述的装置,其特征在于,处理器执行至少一条机器可执行指令实现判断该车辆控制命令对应的车辆控制操作是否包括在预先构建的安全驾驶行为集群中,包括:确定车辆控制命令对应的车辆控制操作在低维空间中投影的数据点,得到车辆控制命令投影的数据点;

将车辆控制命令投影的数据点与低维空间中预先构建的至少一个安全驾驶行为集群进行对比,判断车辆控制命令投影的数据点是否位于一个安全驾驶行为集群的内部。

22.根据权利要求21所述的装置,其特征在于,处理器执行至少一条机器可执行指令实现确定车辆控制命令对应的车辆控制操作在低维空间中投影的数据点,包括:确定车辆控制命令包括的至少两个车辆控制机构以及至少两个车辆控制机构的操作数值;

在至少两个车辆控制机构是低维空间的坐标系的坐标轴的情况下,根据至少两个车辆控制机构的操作数值确定车辆控制命令在低维空间中投影的数据点;

在至少两个车辆控制机构不是低维空间的坐标系的坐标轴的情况下,根据至少两个车辆控制机构与低维空间的坐标系的转换关系,将车辆控制命令转换投影到低维空间中,确定车辆控制命令对应的车辆行为在低维空间中投影的数据点。

23.根据权利要求21所述的装置,其特征在于,处理器执行至少一条机器可执行指令还实现:生成至少一个安全驾驶行为集群的封闭的边界线;则,处理器执行至少一条机器可执行指令实现判断车辆控制命令投影的数据点是否位于一个安全驾驶行为集群的内部,包括:确定低维空间中与车辆控制命令投影的数据点最接近的一个安全驾驶行为集群;

判断车辆控制命令投影的数据点是否位于最接近的安全驾驶行为集群的边界上或者其内部。

24.根据权利要求21所述的装置,其特征在于,处理器执行至少一条机器可执行指令实现判断车辆控制命令投影的数据点是否位于一个安全驾驶行为集群的内部,包括:确定低维空间中与车辆控制命令投影的数据点最接近的一个安全驾驶行为集群,以及与最接近的安全驾驶行为集群的距离;

在该距离小于或等于一个预定阈值的情况下,确定该控制命令投影的数据点位于最接近的安全驾驶行为集群的内部;

在该距离大于预定阈值的情况下,确定该控制命令投影的数据点位于最接近的安全驾驶行为集群的外部。

25.根据权利要求23或24所述的装置,其特征在于,处理器执行至少一条机器可执行指令实现确定该车辆控制命令是异常车辆控制命令之后,还包括:确定最接近的安全驾驶行为集群中与异常车辆控制命令对应的数据点距离最短的一个点;

确定该距离最短的点对应的车辆控制操作,根据该确定的车辆控制操作替换异常车辆控制命令,得到新的车辆控制命令。

26.根据权利要求25所述的装置,其特征在于,处理器执行至少一条机器可执行指令实现替换异常车辆控制命令后,还包括:发送错误消息或者告警消息。

27.根据权利要求19所述的装置,其特征在于,处理器执行至少一条机器可执行指令实现确定该车辆控制命令是异常的车辆控制命令之后,还包括:发送错误消息或者告警消息。

说明书 :

一种自动驾驶车辆的控制命令检测方法和装置

技术领域

[0001] 本发明涉及智能交通领域,特别涉及一种自动驾驶车辆的控制命令检测方法和装置。

背景技术

[0002] 自动驾驶车辆通常沿着控制系统计算出来的一条驾驶路径进行行驶。但是,当例如障碍物这样的变量出现在驾驶路径上时,控制系统必须执行控制操作以使车辆实时地改变驾驶路径来实现安全驾驶。控制系统通常采取一些控制调整,使车辆根据理想的路径行驶并避开障碍物。在研发和测试自动驾驶车辆的控制系统的过程中,控制系统出现的漏洞或者错误将会引起对车辆的危险控制或者异常控制。这些危险或者异常的控制会危及自动驾驶车辆的乘客以及车辆附近其它的人或物的安全。可见,在现有的自动驾驶技术中,无法检测识别控制系统做出的控制命令是否是安全的控制命令。

发明内容

[0003] 有鉴于此,本发明实施例提供了一种自动驾驶车辆的控制命令检测方法和装置,用于解决现有的自动驾驶技术中,无法检测识别控制系统做出的控制命令是否是安全的控制命令的问题。
[0004] 一个方面,本发明实施例提供了一种自动驾驶车辆的控制命令检测方法,包括:
[0005] 检测装置接收车辆控制系统生成的一个车辆控制命令;
[0006] 判断该车辆控制命令对应的车辆控制操作是否包括在预先构建的安全驾驶行为集群中;
[0007] 在判断为是的情况下,确定该车辆控制命令是安全的车辆控制命令;
[0008] 在判断为否的情况下,确定该车辆控制命令是异常的车辆控制命令。
[0009] 另一个方面,本发明实施例提供了一种自动驾驶车辆的控制命令检测装置,包括:
[0010] 接收模块,用于接收车辆控制系统生成的一个车辆控制命令;
[0011] 判断模块,用于判断该车辆控制命令对应的车辆控制操作是否更包括在预先构建的安全驾驶行为集群中;
[0012] 确定模块,用于在判断模块判断为是的情况下,确定该车辆控制命令是安全的车辆控制命令;在判断模块判断为否的情况下,确定该车辆控制命令是异常的车辆控制命令。
[0013] 另一个方面,本发明实施例提供了一种自动驾驶车辆的控制命令检测装置,包括:一个处理器和至少一个存储器,至少一个存储器中存储有至少一条机器可执行指令,处理器执行至少一条机器可执行指令以实现:
[0014] 接收车辆控制系统生成的一个车辆控制命令;
[0015] 判断该车辆控制命令对应的车辆控制操作是否包括在预先构建的安全驾驶行为集群中;
[0016] 在判断为是的情况下,确定该车辆控制命令是安全的车辆控制命令;
[0017] 在判断为否的情况下,确定该车辆控制命令是异常的车辆控制命令。
[0018] 根据本发明实施例提供的技术方案,检测装置对自动驾驶车辆的车辆控制系统生成的一个车辆控制命令进行检测,判断该车辆控制命令对应的车辆行为是否处于预先构建的安全驾驶行为集群内部,在判断为是的情况下,也即该车辆控制命令对应的车辆行为处于预先构建的安全驾驶行为集群内部,确定该车辆控制命令是安全的车辆控制命令,在判断为否的情况下,也即该车辆控制命令对应的车辆行为不处于预先构建的安全驾驶行为集群内部,确定该车辆控制命令是异常的车辆控制命令,从而能够有效地识别自动驾驶车辆的控制系统生成的控制命令是否是安全有效的命令,进而能够解决现有技术中无法检测识别控制系统控制命令是否是安全的控制命令的问题。

附图说明

[0019] 附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。
[0020] 图1为本申请实施例提供的自动驾驶车辆的控制命令检测方法的处理流程图;
[0021] 图2为本申请实施例提供的预先构建安全驾驶行为集群的处理流程图;
[0022] 图3为人类驾驶行为对应的车辆控制操作的历史高维空间数据示意图;
[0023] 图4为将图3中的高维空间数据投影到一个二维空间的示意图;
[0024] 图5为图1中步骤102的处理流程图;
[0025] 图6为图5中步骤1021的处理流程图;
[0026] 图7为图4所示的数据集群中的一个数据集群的示意图;
[0027] 图8为图7所示的数据集群之外的数据点的示意图;
[0028] 图9为本申请实施例提供的自动驾驶车辆的控制命令检测方法的另一个处理流程图;
[0029] 图10为根据本申请实施例的确定数据集群中距离集群外的一个数据点最近的数据点的示意图;
[0030] 图11为本申请实施例提供的自动驾驶车辆的控制命令检测装置的结构示意图;
[0031] 图12为本申请实施例提供的自动驾驶车辆的控制命令检测装置的另一个结构示意图;
[0032] 图13为本申请实施例提供的自动驾驶车辆的控制命令检测装置的另一个结构示意图;
[0033] 图14为本申请实施例提供的自动驾驶车辆的控制命令检测装置的另一个结构示意图;
[0034] 图15为本申请实施例提供的自动驾驶车辆的控制命令检测装置的另一个结构示意图;
[0035] 图16为本申请实施例提供的自动驾驶车辆的控制命令检测装置的另一个结构示意图。

具体实施方式

[0036] 为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
[0037] 针对现有自动驾驶技术中,无法检测识别控制系统做出的控制命令是否是安全的控制命令的问题,本申请实施例提供了一种自动驾驶车辆的控制命令检测方法和装置,用以解决该问题。在本申请实施例提供的技术方案中,检测装置对自动驾驶车辆的车辆控制系统生成的一个车辆控制命令进行检测,判断该车辆控制命令对应的车辆行为是否处于预先构建的安全驾驶行为集群内部,在判断为是的情况下,也即该车辆控制命令对应的车辆行为处于预先构建的安全驾驶行为集群内部,确定该车辆控制命令是安全的车辆控制命令,在判断为否的情况下,也即该车辆控制命令对应的车辆行为不处于预先构建的安全驾驶行为集群内部,确定该车辆控制命令是异常的车辆控制命令,从而能够有效地识别自动驾驶车辆的控制系统生成的控制命令是否是安全有效的命令,进而能够解决现有技术中无法检测识别控制系统控制命令是否是安全的控制命令的问题。
[0038] 以上是本发明的核心思想,为了使本技术领域的人员更好地理解本发明实施例中的技术方案,并使本发明实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明实施例中技术方案作进一步详细的说明。
[0039] 图1示出了本申请实施例提供的自动驾驶车辆的控制命令检测方法的处理流程图,该方法包括:
[0040] 步骤101、检测装置接收车辆控制系统生成的一个车辆控制命令;
[0041] 步骤102、判断该车辆控制命令对应的车辆行为是否包括在预先构建的安全驾驶行为集群中;
[0042] 步骤103、在判断为是的情况下,确定该车辆控制命令是安全的车辆控制命令;
[0043] 步骤104、在判断为否的情况下,确定该车辆控制命令是异常的车辆控制命令。
[0044] 通过图1所示的方法,本申请实施例能够对自动驾驶车辆的控制系统生成的车辆控制命令进行检测识别,判断车辆控制命令对应的车辆行为是否包括在预先构建的安全驾驶行为集群中,如果包括在安全驾驶行为集群中,说明该车辆控制命令是一个安全的车辆控制命令,如果不包括在安全驾驶行为集群中,说明该车辆控制命令不是一个安全的车辆控制命令。从而,图1所示的方法能够有效地检测识别出控制系统生成的车辆控制命令是否是安全的车辆控制命令,能够解决现有的自动驾驶技术中,无法检测识别控制系统控制命令是否是安全的控制命令的问题。
[0045] 下面对图1中的处理步骤进行详细说明。
[0046] 在步骤102中存在预先构建的安全驾驶行为集群,图2中示出了预先构建安全驾驶行为集群的处理过程,该过程包括:
[0047] 步骤201、检测装置预先将多种人类驾驶行为对应的车辆控制操作的历史高维空间数据投影到一个低维空间;
[0048] 步骤202、得到低维空中聚类的至少一个安全驾驶行为集群;其中,一个安全驾驶行为集群对应一种人类驾驶行为,每个安全驾驶行为集群包括聚类得到的同一种安全驾驶行为对应的多个车辆控制操作的数据。
[0049] 其中,在步骤201中,人类驾驶行为是在现实世界中人类驾驶员驾驶车辆的实际行为,人类驾驶行为对应的车辆控制操作是人类驾驶员做出一个驾驶行为时施加在车辆上的控制操作,人类驾驶行为与车辆控制操作的数据以及二者之间的对应关系,是在实际驾驶过程中通过车辆的各种感知装置和感知信息处理单元获取到的。例如,一个右侧转弯操作对应的车辆控制操作的高维空间数据可以包括:油门开度数据、方向盘转向角度数据、惯性测量单元(IMU)测量得到的加速度数据、刹车踏板数据等等数据。
[0050] 图3为人类驾驶行为对应的车辆控制操作的历史高维空间数据示意图,图3中示出了一个人类驾驶行为对应的车辆控制操作的n个获取数据的来源,传感器1~n即为n个获取数据的来源。
[0051] 在步骤201中,将多种人类驾驶行为对应的车辆控制操作的历史高维空间数据投影到一个低维空间,可以通过数据挖掘的方法将高维空间数据投影到低维空间。低维空间的坐标轴的选取,可以根据数据的重要程度、典型程度或者代表性程度要选取,例如,可以选取油门开度和方向盘作为低维空间的坐标轴,并构成一个二维空间。选取维度的操作可以是预置的,由操作人员来人为设定,也可以是通过数据挖掘技术来确定的。该低维空间可以作为后续控制系统生成车辆控制命令的控制空间,也可以与控制系统的控制空间不同,不同的低维空间之间可以进行转换和投影,可以利用本申请之前的技术或者本申请之后的技术实现低维空间的转换和投影,本申请不做严格限制。
[0052] 在步骤202中,将多种人类驾驶行为对应的车辆控制操作的历史高维空间数据投影到低维空间后,能够得到低维空间中聚类的至少一个安全驾驶行为集群,一个安全驾驶行为集群对应一种人类驾驶行为,每个安全驾驶行为集群包括聚类得到的同一种安全驾驶行为对应的多个车辆控制操作的数据。也即,同一种的、类似的或者一致的安全驾驶行为通常会具有类似的数据,将多种人类驾驶行为对应的车辆控制操作的历史高维空间数据投影到低维空间后,对应同一种安全驾驶行为的数据会在低维空间中聚类,从而得到至少一个数据集群,也即至少一个安全驾驶行为集群。
[0053] 图4中示出了将图3所示的高维空间数据投影到一个二维空间的示意图,在图4中二维空间的两个坐标轴构件1和构件2分别是图3中传感器1~n中的一种,在该二维空间中投影得到多个数据点,其中部分的数据点之间显示出趋于一致的分散聚类效果,从而聚类成为一个数据集群,图4中示出了聚类得到的四个数据集群。
[0054] 在图1的步骤102中,判断车辆控制命令对应的车辆控制操作是否包括在预先构建的安全驾驶行为集群中,具体包括如图5所示的处理过程,包括:
[0055] 步骤1021、确定车辆控制命令对应的车辆控制操作在低维空间中投影的数据点,得到车辆控制命令投影的数据点;
[0056] 步骤1022、将车辆控制命令投影的数据点与低维空间中预先构建的至少一个安全驾驶行为集群进行对比,判断车辆控制命令投影的数据点是否位于一个安全驾驶行为集群的内部。
[0057] 其中,步骤1021可以包括如图6所示的处理过程,包括:
[0058] 步骤1021a、确定车辆控制命令包括的至少两个车辆控制机构以及至少两个车辆控制机构的操作数值;
[0059] 例如,如果车辆控制命令包括的车辆操作为油门开度X度,方向盘Y向转向Z度,可以确定车辆控制命令包括的车辆控制机构为油门和方向盘,油门操作操作数值为X,方向盘操作数值为Z(假设,X和Z均为正值);
[0060] 步骤1021b、判断至少两个车辆控制机构是否是低维空间的坐标系的坐标轴;
[0061] 也即,判断车辆控制命令包括的车辆控制机构与低维空间的坐标系的坐标轴是否一致。例如一个二维空间的坐标轴为油门和方向盘,如果车辆控制命令包括的车辆控制机构为油门和方向盘,则,车辆控制命令包括的车辆控制机构与低维空间的坐标系的坐标轴是一致的;
[0062] 步骤1021c、在至少两个车辆控制机构是低维空间的坐标系的坐标轴的情况下,根据至少两个车辆控制机构的操作数值确定车辆控制命令在低维空间中投影的数据点;
[0063] 也即,在至少两个车辆控制机构是低维空间的坐标系的坐标轴时,根据至少两个车辆控制机构的操作数值,可以确定得到在低维空间中的一个数据点,该数据点即为控制命令在低维空间中投影的数据点;例如,如果车辆控制命令包括的车辆操作为油门开度X度,方向盘Y向转向Z度,二维空间的坐标轴为油门和方向盘,则可以根据油门开度的X值和方向盘转向的Z值,在该二维空间中确定得到一个数据点,即车辆控制命令对应的数据点。
[0064] 步骤1021d、在至少两个车辆控制机构不是低维空间的坐标系的坐标轴的情况下,根据至少两个车辆控制机构与低维空间的坐标系的转换关系,将车辆控制命令转换投影到低维空间中,确定车辆控制命令对应的车辆行为在低维空间中投影的数据点。
[0065] 也即,在至少两个车辆控制机构不是低维空间的坐标系的坐标轴的情况下,可以通过一定的转换关系,将车辆控制命令中包括的至少两个车辆控制机构转换为低维空间的坐标轴,这种转换操作可根据现有的转换操作或者本申请之后的转换操作得以执行,本申请对此不做严格限定。并且,在转换之后确定得到车辆控制命令投影的数据点。
[0066] 在上述步骤1022中,判断车辆控制命令投影的数据点是否位于一个安全驾驶行为集群的内部,可以包括如下两种对比方式:
[0067] 方式一:
[0068] 步骤A1、生成至少一个安全驾驶行为集群的封闭的边界线。
[0069] 以图4所示的数据集群为例,从图中分离出一个数据集群,被放大该数据集群,得到如图7所示的一个数据集群,在该集群的外围生成一个封闭的边界线505;生成边界线的操作,可以通过本申请之前的或者之后的操作实现,本申请对此不做严格限定。
[0070] 步骤A2、确定低维空间中与车辆控制命令投影的数据点最接近的一个安全驾驶行为集群。
[0071] 可通过几何方法确定与车辆控制命令投影的数据点最接近的一个安全驾驶行为集群。
[0072] 步骤A3、判断车辆控制命令投影的数据点是否位于最接近的安全驾驶行为集群的边界上或者其内部。
[0073] 可通过几何方法确定车辆控制命令投影的数据点是否位于最接近的安全驾驶行为集群的边界上或者其内部。
[0074] 方式二:
[0075] 步骤B1、确定低维空间中与车辆控制命令投影的数据点最接近的一个安全驾驶行为集群,以及与最接近的安全驾驶行为集群的距离;
[0076] 确定与车辆控制名投影的数据点最接近的一个安全驾驶行为集群的操作与上述步骤A2相同,这里不再赘述;确定车辆控制命令投影的数据点与最接近的安全驾驶行为集群的距离,可以通过几何方法实现;
[0077] 步骤B2、判断该距离是否大于一个预定阈值;该阈值可以是一个由操作人员预先设定的数值;
[0078] 步骤B3、在该距离小于或等于一个预定阈值的情况下,确定该控制命令投影的数据点位于最接近的安全驾驶行为集群的内部;
[0079] 步骤B4、在该距离大于预定阈值的情况下,确定该控制命令投影的数据点位于最接近的安全驾驶行为集群的外部。
[0080] 通过上述方式一和方式二,可以确定得到在低维空间中,车辆控制命令投影的数据点与至少一个安全驾驶行为集群的关系。图7中示出了位于安全驾驶行为集群的边界505内部的一个数据点510,图8中示出了位于安全驾驶行为集群的边界505外部的一个数据点515。
[0081] 当车辆控制命令投影的数据点位于一个安全驾驶行为集群内部时,表明该数据点与安全驾驶行为集群内部的其它数据点具有相同或者类似的车辆控制操作,也即该车辆控制操作也是一个安全的操作,该车辆控制操作对应的车辆控制命令是一个安全的控制命令。当车辆控制命令投影的数据点位于一个安全驾驶行为集群外部时,表明该数据点不具有安全驾驶行为集群内部其它数据点相同或者类似的车辆控制操作,该车辆控制操作不是一个安全的操作,该车辆控制操作对应的车辆控制命令也不是一个安全的控制命令,也即是一个异常的车辆控制命令。从而,得到如上述步骤103和步骤104的确定操作。
[0082] 根据上述操作,本申请实施例能够有效地识别自动驾驶车辆的控制系统生成的控制命令是否是安全有效的命令,进而能够解决现有技术中无法检测识别控制系统控制命令是否是安全的控制命令的问题。
[0083] 进一步,在如图1所示的处理方法基础上,本申请实施例还提供了一种自动驾驶车辆的控制命令检测方法,该方法在图1所示步骤101~104的基础上,还进一步包括步骤105和步骤106,如图9所示:
[0084] 步骤105、确定最接近的安全驾驶行为集群中与异常车辆控制命令对应的数据点距离最短的一个点;
[0085] 图10中示出了通过几何方法确定出在最接近的安全驾驶行为集群中与异常车辆控制命令对应的数据点距离最短的一个点,其中,数据点515是异常车辆控制命令投影的数据点,距离矢量710数据点515到安全驾驶行为集群的距离矢量,切线712垂直于距离矢量710、并与安全驾驶行为集群的边界505相切,切线712用于找到边界线505上与数据点515最接近的数据点715;
[0086] 步骤106、确定该距离最短的点对应的车辆控制操作,根据该确定的车辆控制操作替换异常车辆控制命令,得到新的车辆控制命令。
[0087] 如图10所示,当确定了与数据点515最接近的安全驾驶行为集群中的数据点715后,确定数据点715对应的车辆控制操作,该确定得到的车辆控制操作是一个历史数据,根据该历史数据来替换异常车辆控制命令。例如数据点715对应的车辆控制操作为油门开度为U,方向盘转向为V,则可以替换得到新的车辆控制命令,也即油门开度为U,方向盘转向为V。由于数据点715是安全驾驶行为集群中与数据点515距离最近的一个数据点,可知数据点715对应的车辆控制操作是与数据点515对应的车辆控制操作最为接近的、安全的一个车辆控制操作。
[0088] 从而,根据图9所示的方法,在确定出控制系统生成的车辆控制命令是一个异常命令后,还可以对该命令进行修改和替换,得到一个新的安全的车辆控制命令,并且该新的车辆控制命令是与原来的异常车辆控制命令最为接近的车辆控制命令,能够保证车辆的安全行驶,并且避免对车辆控制操作做出较大的修改。可见,本申请实施例提供的技术方案不仅能检测识别出异常的车辆控制命令,还能够进一步地对异常车辆控制命令进行修改或者替换,保证车辆的安全行驶。
[0089] 根据本申请的实施例,在图1和图9所示方法的基础上,在识别出异常车辆控制命令后,检测装置还可以发送错误消息或者告警消息;在替换异常车辆控制命令后,检测装置也可以发送错误消息或者告警消息。
[0090] 从而,如图1或图9所示,根据本申请实施例提供的技术方案,检测装置对自动驾驶车辆的车辆控制系统生成的一个车辆控制命令进行检测,判断该车辆控制命令对应的车辆行为是否处于预先构建的安全驾驶行为集群内部,在判断为是的情况下,也即该车辆控制命令对应的车辆行为处于预先构建的安全驾驶行为集群内部,确定该车辆控制命令是安全的车辆控制命令,在判断为否的情况下,也即该车辆控制命令对应的车辆行为不处于预先构建的安全驾驶行为集群内部,确定该车辆控制命令是异常的车辆控制命令,从而能够有效地识别自动驾驶车辆的控制系统生成的控制命令是否是安全有效的命令,进而能够解决现有技术中无法检测识别控制系统控制命令是否是安全的控制命令的问题。并且,如图9所示,本申请实施例还能够进一步地对异常车辆控制命令进行修改或者替换,保证车辆的安全行驶。
[0091] 基于相同的发明构思,本申请实施例还提供了一种自动驾驶车辆的控制命令检测装置。
[0092] 图11示出了本申请实施例提供的自动驾驶车辆的控制命令检测装置的结构示意图,包括:
[0093] 接收模块11,用于接收车辆控制系统生成的一个车辆控制命令;
[0094] 判断模块13,用于判断该车辆控制命令对应的车辆控制操作是否更包括在预先构建的安全驾驶行为集群中;
[0095] 确定模块15,用于在判断模块判断为是的情况下,确定该车辆控制命令是安全的车辆控制命令;在判断模块判断为否的情况下,确定该车辆控制命令是异常的车辆控制命令。
[0096] 在一些实施例中,本申请实施例提供的自动驾驶车辆的控制命令检测装置还可以进一步包括如图12所示的构建模块12。构建模块12用于预先将多种人类驾驶行为对应的车辆控制操作的历史高维空间数据投影到一个低维空间;得到低维空间中聚类的至少一个安全驾驶行为集群;其中,一个安全驾驶行为集群对应一种人类驾驶行为,每个安全驾驶行为集群包括聚类的同一种安全驾驶行为对应的多个车辆控制操作的数据。
[0097] 其中,构建模块12将多种人类驾驶行为对应的车辆控制操作的历史高维空间数据投影到低维空间,包括:使用数据挖掘方法将高维空间数据投影到低维空间。
[0098] 在一些实施例中,判断模块13判断该车辆控制命令对应的车辆控制操作是否包括在预先构建的安全驾驶行为集群中,包括:确定车辆控制命令对应的车辆控制操作在低维空间中投影的数据点,得到车辆控制命令投影的数据点;将车辆控制命令投影的数据点与低维空间中预先构建的至少一个安全驾驶行为集群进行对比,判断车辆控制命令投影的数据点是否位于一个安全驾驶行为集群的内部。
[0099] 其中,判断模块13确定车辆控制命令对应的车辆控制操作在低维空间中投影的数据点,包括:确定车辆控制命令包括的至少两个车辆控制机构以及至少两个车辆控制机构的操作数值;在至少两个车辆控制机构是低维空间的坐标系的坐标轴的情况下,根据至少两个车辆控制机构的操作数值确定车辆控制命令在低维空间中投影的数据点;在至少两个车辆控制机构不是低维空间的坐标系的坐标轴的情况下,根据至少两个车辆控制机构与低维空间的坐标系的转换关系,将车辆控制命令转换投影到低维空间中,确定车辆控制命令对应的车辆行为在低维空间中投影的数据点。
[0100] 在一些实施例中,对应上述方式一,本申请实施例提供的自动驾驶车辆的控制命令检测装置还可以进一步包括如图13所示的边界线生成模块14,用于生成至少一个安全驾驶行为集群的封闭的边界线;则,判断模块13判断车辆控制命令投影的数据点是否位于一个安全驾驶行为集群的内部,包括:确定低维空间中与车辆控制命令投影的数据点最接近的一个安全驾驶行为集群;判断车辆控制命令投影的数据点是否位于最接近的安全驾驶行为集群的边界上或者其内部。
[0101] 在一些实施例中,对应上述方式二,判断模块13判断车辆控制命令投影的数据点是否位于一个安全驾驶行为集群的内部,包括:确定低维空间中与车辆控制命令投影的数据点最接近的一个安全驾驶行为集群,以及与最接近的安全驾驶行为集群的距离;在该距离小于或等于一个预定阈值的情况下,确定该控制命令投影的数据点位于最接近的安全驾驶行为集群的内部;在该距离大于预定阈值的情况下,确定该控制命令投影的数据点位于最接近的安全驾驶行为集群的外部。
[0102] 更进一步,在一些实施例中,如图14所示,本申请实施例提供的自动驾驶车辆的控制命令检测装置还可以进一步包括替换模块16,用于确定最接近的安全驾驶行为集群中与异常车辆控制命令对应的数据点距离最短的一个点;确定该距离最短的点对应的车辆控制操作,根据该确定的车辆控制操作替换异常车辆控制命令,得到新的车辆控制命令。此外,在一些实施例中,如图15所示,本申请实施例提供的自动驾驶车辆的控制命令检测装置还可以进一步包括告警模块17,用于在替换模块16替换异常车辆控制命令后,发送错误消息或者告警消息;和/或,用于在确定模块15确定该车辆控制命令是异常的车辆控制命令之后,发送错误消息或者告警消息。
[0103] 根据本申请实施例提供的技术方案,检测装置对自动驾驶车辆的车辆控制系统生成的一个车辆控制命令进行检测,判断该车辆控制命令对应的车辆行为是否处于预先构建的安全驾驶行为集群内部,在判断为是的情况下,也即该车辆控制命令对应的车辆行为处于预先构建的安全驾驶行为集群内部,确定该车辆控制命令是安全的车辆控制命令,在判断为否的情况下,也即该车辆控制命令对应的车辆行为不处于预先构建的安全驾驶行为集群内部,确定该车辆控制命令是异常的车辆控制命令,从而能够有效地识别自动驾驶车辆的控制系统生成的控制命令是否是安全有效的命令,进而能够解决现有技术中无法检测识别控制系统控制命令是否是安全的控制命令的问题。并且,在本申请的一些实施例中,检测装置还能够进一步地对异常车辆控制命令进行修改或者替换,保证车辆的安全行驶。
[0104] 基于相同的发明构思,本申请实施例还提供了一种自动驾驶车辆的控制命令检测装置。
[0105] 图16示出了本申请实施例提供的一种自动驾驶车辆的控制命令检测装置的结构示意图,包括:一个处理器1601和至少一个存储器1602,至少一个存储器1602中存储有至少一条机器可执行指令,处理器1601执行至少一条机器可执行指令以实现:
[0106] 接收车辆控制系统生成的一个车辆控制命令;
[0107] 判断该车辆控制命令对应的车辆控制操作是否包括在预先构建的安全驾驶行为集群中;
[0108] 在判断为是的情况下,确定该车辆控制命令是安全的车辆控制命令;
[0109] 在判断为否的情况下,确定该车辆控制命令是异常的车辆控制命令。
[0110] 在一些实施例中,处理器1601执行至少一条机器可执行指令实现预先构建的安全驾驶行为集群,包括:预先将多种人类驾驶行为对应的车辆控制操作的历史高维空间数据投影到一个低维空间;得到低维空间中聚类的至少一个安全驾驶行为集群;其中,一个安全驾驶行为集群对应一种人类驾驶行为,每个安全驾驶行为集群包括聚类的同一种安全驾驶行为对应的多个车辆控制操作的数据。
[0111] 在一些实施例中,处理器1601执行至少一条机器可执行指令实现将多种人类驾驶行为对应的车辆控制操作的历史高维空间数据投影到低维空间,包括:使用数据挖掘方法将高维空间数据投影到低维空间。
[0112] 在一些实施例中,处理器1601执行至少一条机器可执行指令实现判断该车辆控制命令对应的车辆控制操作是否包括在预先构建的安全驾驶行为集群中,包括:确定车辆控制命令对应的车辆控制操作在低维空间中投影的数据点,得到车辆控制命令投影的数据点;将车辆控制命令投影的数据点与低维空间中预先构建的至少一个安全驾驶行为集群进行对比,判断车辆控制命令投影的数据点是否位于一个安全驾驶行为集群的内部。
[0113] 在一些实施例中,处理器1601执行至少一条机器可执行指令实现确定车辆控制命令对应的车辆控制操作在低维空间中投影的数据点,包括:确定车辆控制命令包括的至少两个车辆控制机构以及至少两个车辆控制机构的操作数值;在至少两个车辆控制机构是低维空间的坐标系的坐标轴的情况下,根据至少两个车辆控制机构的操作数值确定车辆控制命令在低维空间中投影的数据点;在至少两个车辆控制机构不是低维空间的坐标系的坐标轴的情况下,根据至少两个车辆控制机构与低维空间的坐标系的转换关系,将车辆控制命令转换投影到低维空间中,确定车辆控制命令对应的车辆行为在低维空间中投影的数据点。
[0114] 在一些实施例中,处理器1601执行至少一条机器可执行指令还实现:生成至少一个安全驾驶行为集群的封闭的边界线;则,与上述方式一对应,处理器1601执行至少一条机器可执行指令实现判断车辆控制命令投影的数据点是否位于一个安全驾驶行为集群的内部,包括:确定低维空间中与车辆控制命令投影的数据点最接近的一个安全驾驶行为集群;判断车辆控制命令投影的数据点是否位于最接近的安全驾驶行为集群的边界上或者其内部。
[0115] 在一些实施例中,与上述方式二对应,处理器1601执行至少一条机器可执行指令实现判断车辆控制命令投影的数据点是否位于一个安全驾驶行为集群的内部,包括:确定低维空间中与车辆控制命令投影的数据点最接近的一个安全驾驶行为集群,以及与最接近的安全驾驶行为集群的距离;在该距离小于或等于一个预定阈值的情况下,确定该控制命令投影的数据点位于最接近的安全驾驶行为集群的内部;在该距离大于预定阈值的情况下,确定该控制命令投影的数据点位于最接近的安全驾驶行为集群的外部。
[0116] 在一些实施例中,处理器1601执行至少一条机器可执行指令实现确定该车辆控制命令是异常车辆控制命令之后,还包括:确定最接近的安全驾驶行为集群中与异常车辆控制命令对应的数据点距离最短的一个点;确定该距离最短的点对应的车辆控制操作,根据该确定的车辆控制操作替换异常车辆控制命令,得到新的车辆控制命令。
[0117] 在一些实施例中,处理器1601执行至少一条机器可执行指令实现替换异常车辆控制命令后,还包括:发送错误消息或者告警消息。
[0118] 在一些实施例中,处理器1601执行至少一条机器可执行指令实现确定该车辆控制命令是异常的车辆控制命令之后,该方法还包括:发送错误消息或者告警消息。
[0119] 根据本申请实施例提供的技术方案,检测装置对自动驾驶车辆的车辆控制系统生成的一个车辆控制命令进行检测,判断该车辆控制命令对应的车辆行为是否处于预先构建的安全驾驶行为集群内部,在判断为是的情况下,也即该车辆控制命令对应的车辆行为处于预先构建的安全驾驶行为集群内部,确定该车辆控制命令是安全的车辆控制命令,在判断为否的情况下,也即该车辆控制命令对应的车辆行为不处于预先构建的安全驾驶行为集群内部,确定该车辆控制命令是异常的车辆控制命令,从而能够有效地识别自动驾驶车辆的控制系统生成的控制命令是否是安全有效的命令,进而能够解决现有技术中无法检测识别控制系统控制命令是否是安全的控制命令的问题。并且,在本申请一些实施例中,检测装置还能够进一步地对异常车辆控制命令进行修改或者替换,保证车辆的安全行驶。
[0120] 显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。