一种传感器检测方法及车载控制终端
技术领域
本发明涉及自动驾驶控制技术领域,尤其涉及一种传感器检测方法及车载控制终端。
背景技术
自动驾驶汽车是一种依靠计算机系统代替驾驶员以实现无人驾驶的智能汽车。自动驾驶车辆的核心是自动驾驶系统,自动驾驶系统高度依赖于传感器技术,其主要依靠各类传感器(包括相机、激光雷达、惯性导航系统、全球定位系统等)提供车身所处位置以及周围环境的信息,之后再通过计算机系统的计算得到该如何进行下一步动作。稳定可靠的传感器数据传输是保证自动驾驶安全性的前提条件,当传感器出现异常时假如自动驾驶系统并未检测到这个异常,则可能会导致自动驾驶系统产生错误的动作,进而可能引发交通事故。
目前,自动驾驶系统还不能实现实时传感器链路及状态的监控,当传感器出现异常时,自动驾驶系统无法及时识别出这些异常,这可能会导致不同级别的交通事故的发生,使得自动驾驶系统不够可靠、健壮。
发明内容
本发明实施例提供了一种传感器检测方法及车载控制终端,可以对传感器状态进行实时监控,当传感器异常时,自动驾驶系统能够及时进行处理,能在一定程度上降低自动驾驶的交通事故概率,从而提升自动驾驶系统整体的可靠性和健壮性。
本发明实施例第一方面提供了一种传感器检测方法,应用于车辆的安全驾驶,所述方法包括:
获取所述传感器的注册信息;
接收所述传感器发送的数据;
根据所述注册信息和所述传感器发送的数据,确定所述传感器的当前状态;
根据所述传感器的当前状态,发出对所述车辆进行控制的相应控制指令。
本发明实施例第二方面提供了一种车载控制终端,处感器和存储器,所述处理器和存储器相互连接,其中:
所述存储器用于存储计算机程序,所述计算机程序包括程序指令;
所述处理器调用所述程序指令时,用于执行:
获取所述传感器的注册信息;
接收所述传感器发送的数据;
根据所述注册信息和所述传感器发送的数据,确定所述传感器的当前状态;
根据所述传感器的当前状态,发出对所述车辆进行控制的相应控制指令。
本发明实施例第三方面提供了一种传感器检测装置,应用于车辆安全驾驶,所述装置包括:
获取模块,用于获取所述传感器的注册信息;
接收模块,用于接收所述传感器发送的数据;
确定模块,用于根据所述注册信息和所述传感器发送的数据,确定所述传感器的当前状态;
控制模块,用于根据所述传感器的当前状态,发出对所述车辆进行控制的相应控制指令。
本发明实施例第四方面公开了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面所述的传感器检测方法。
本发明实施例可以获取传感器的注册信息,接收传感器发送的数据,根据注册信息和传感器发送的数据,确定传感器的当前状态,根据传感器的当前状态,发出对车辆进行控制的相应控制指令,从而可以对传感器状态进行实时监控,当发现传感器异常时,自动驾驶系统能够及时报警以及应急处理,能在一定程度上降低自动驾驶的交通事故概率,从而提升自动驾驶系统整体的可靠性和健壮性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例公开的一种传感器检测方法的流程示意图;
图2a是本发明实施例公开的一种自动驾驶系统的结构示意图;
图2b是本发明实施例公开的一种链路异常和状态异常监控关系的示意图;
图3是本发明实施例公开的一种传感器检测装置的结构示意图;
图4是本发明实施例公开的一种车载控制终端的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供的传感器检测方法可以应用到自动驾驶等场景中,用于降低自动驾驶的交通事故概率,提高自动驾驶系统及时报警和应急处理的能力,使得自动驾驶系统更加可靠、更加健壮。
请参阅图1,为本发明实施例提供的一种传感器检测方法的流程示意图。本实施例中所描述的传感器检测方法应用于车载控制终端,可以包括以下步骤:
101、获取所述传感器的注册信息。
其中,该传感器可以包括但不限于如下至少一种:相机,激光雷达,惯性导航系统,全球定位系统。
其中,该注册信息包括传感器的类型、地址列表、数据产生频率范围、最大帧间隔时长、故障码与故障描述的对应关系、数据取值范围和传感器异常时的处理机制中的一种或多种。
具体的,车辆上安装的每一个传感器的注册信息可以提交给自动驾驶系统的车载控制终端,车载控制终端获取各个传感器的注册信息。
102、接收所述传感器发送的数据。
具体的,车辆启动后,各个传感器开始上电工作,并将自身的传感器数据发送给车载控制终端,车载控制终端接收到各个传感器的数据。
103、根据所述注册信息和所述传感器发送的数据,确定所述传感器的当前状态。
具体的,车载控制终端可以将注册信息作为参考数据,当接收到传感器的数据后,将传感器的数据与注册信息进行对照,根据对照结果确定出传感器的当前状态。
104、根据所述传感器的当前状态,发出对所述车辆进行控制的相应控制指令。
具体的,车载控制终端可以在传感器的当前状态指示传感器出现异常时,获取存在异常的传感器对应的目标处理机制,并生成相应的控制指令,以对车辆进行控制。其中,相应的控制指令包括如下一个或多个控制指令:油门控制,转向控制,灯光控制。
本发明实施例中,车载控制终端获取传感器的注册信息,并接收传感器发送的数据,根据注册信息和传感器发送的数据,确定传感器的当前状态,根据传感器的当前状态,发出对车辆进行控制的相应控制指令,从而通过对传感器状态的实时监控可以提高自动驾驶系统对传感器异常时的处理能力,降低交通事故发生的概率,使得自动驾驶系统更加可靠、更加健壮。
在一种实现方式中,传感器的当前状态为异常时具体可以包括如下至少一种:状态异常,链路异常。其中,状态异常具体可以包括如下至少一种:传感器未启动,传感器自检到故障,传感器数据异常,链路异常具体可以包括如下至少一种:传感器链路断开,传感器数据频率异常。
可见,通过传感器当前状态可以准确定位传感器的问题所在以便驾驶员能够针对具体的情况执行相应的保护动作,也方便维护人员迅速定位自动驾驶系统的故障点,从而提升自动驾驶系统整体的可靠性和健壮性。
在一种实现方式中,传感器发送的数据可以包括启动成功的传感器的地址,注册信息可以包括至少一个传感器的地址列表,在自动驾驶系统上电工作,且成功接收到传感器感发送的自身地址后,车载控制终端会对照注册信息中的地址列表和接收到的传感器的地址,当发现接收的地址少于注册的地址时,确定出启动失败的传感器,此时,启动失败的传感器的当前状态属于状态异常中的传感器未启动。
在一种实现方式中,针对启动成功后的传感器的第一传感器,车载控制终端会获取第一传感器发送数据时的特征参数,这里的特征参数包括第一传感器发送的上一帧数据的目标时间,第一传感器为启动成功的传感器中的任一传感器,注册信息可以包括最大帧间隔时长时,当目标时间距离当前时间的时长达到最大帧间隔时长,则确定第一传感器的链路异常,具体描述为该传感器异常为链路异常中的传感器链路断开。
例如,假设获取的第一传感器发送的上一帧数据的目标时间为14时25分30秒,假设最大帧间隔时长是1秒,如果在14时25分31秒时,还未收到下一帧数据,则判定该路传感器链路断开。
在一种实现方式中,针对启动成功后的传感器的第一传感器,车载控制终端获取第一传感器发送数据时的特征参数,这里的特征参数包括第一传感器发送数据的频率,第一传感器为启动成功的传感器中的任一传感器,注册信息包括数据产生频率范围,若第一传感器发送数据的频率不在数据产生频率范围内,则确定所述第一传感器的链路异常,具体描述为该传感器异常为链路异常中的传感器数据频率异常。
例如,假设注册信息整的数据产生频率范围是10~20Hz,如果第一传感器发送数据的频率是每秒15次,那么就认为该传感器是正常的,如果第一传感器发送数据的频率是每秒9次或者25次,那么就认为该传感器是不正常的,即存在传感器数据频率异常。
在一种实现方式中,注册信息包括数据取值范围,针对启动成功且链路不存在异常的传感器中的第二传感器,车载控制终端获取接收到的第二传感器发送的数据中不在数据取值范围内的数据的数量或占比,这里的第二传感器为启动成功且链路不存在异常的传感器中的任一传感器。若数量或占比达到预设数值,则将第二传感器确定为存在异常的传感器,具体描述为该传感器异常为状态异常中的传感器数据异常。
例如,假设获取接收到的第二传感器发送的数据中不在数据取值范围内的数据的数量为6,或者占比为5.5%,这里主要由车载控制终端负责记录,假设预设数值中预设数量为5,预设占比为5%,那么这时可以明显的看到6大于5,5.5%也是大于5%的,因此,可以判定该第二传感器存在状态异常,具体为传感器数据异常。
在一种实现方式中,注册信息包括故障码与故障描述的对应关系,车载控制终端获取启动成功的第一传感器发送的故障码,利用故障码与故障描述的对应关系确定出第一传感器发送的故障码对应的目标故障描述,若目标故障描述指示第一传感器存在故障,则将第一传感器确定为存在异常的传感器,具体描述为该传感器异常为状态异常中的传感器数自检到故障。
可见,通过注册信息和传感器发送的数据,确定传感器的当前状态,可以方便自动驾驶系统更好地检测到传感器出现的问题,从而能够及时给驾驶员提供报警信息、协助上层算法针对异常情况执行相应的保护动作,进而提高自动驾驶系统整体的可靠性和健壮性。
在一种实现方式中,注册信息包括传感器异常时的处理机制,车载控制终端输出针对存在异常的传感器的告警消息并获取存在异常的传感器的异常类型和/或传感器类型,从传感器异常时的处理机制中确定出异常类型和/或传感器类型对应的目标处理机制,并根据目标处理机制对车辆进行控制。其中,传感器异常时的处理机制包括启用备用传感器、拒绝启动后行驶、调整自动驾驶级别、减速、停车和开启危险报警闪光灯中的一种或多种。
可见,通过传感器的当前状态,结合具体的控制指令,能更为方便准确的对车辆进行控制,这样使得自动驾驶系统出现问题时解决会比较及时,实现更高效的控制,从而提升自动驾驶系统整体的可靠性和健壮性。
请参阅图2a,为本发明实施例提供的一种自动驾驶系统框架的结构示意图。所述自动驾驶系统框架包括执行单元201、计算单元202、传感器单元203,其中:
执行单元201,具体可以包括油门控制、转向控制、灯光控制等。
具体的,执行单元201是用于根据所述传感器的当前状态,发出对所述车辆进行控制的相应控制指令,例如启用备用传感器、拒绝启动后行驶、调整自动驾驶级别、减速、停车和开启危险报警闪光灯等。
计算单元202,包括系统公共中间件、人机交互界面,规划算法层、感知算法层、硬件抽象层。其中,规划算法层是作用于执行单元201的控制单元,硬件抽象层是作用于传感器单元203的传感器的;人机交互界面用于报警,报警形式可以是语音形式,也可以是界面弹出显示形式。
传感器单元203,可以包括相机、激光雷达、惯性导航系统、全球定位系统等。具体的,传感器单元203中任一传感器都是安装在车体上的。
可见,上述的传感器检测方法具体可以运行在图2所示自动驾驶系统的硬件抽象层,具体的,是用于对底层的各类传感器(如相机、激光雷达、惯性导航系统、全球定位系统)进行实时检测,自动驾驶系统的各个单元相互配合工作,能使自动驾驶系统及时发现传感器问题,通过对传感器状态的实时监控可以提高自动驾驶系统及时报警以及应急处理能力,降低交通事故发生的概率,使得自动驾驶系统更加可靠、更加健壮。
请参阅图2b,为本发明实施例提供的一种链路异常和状态异常监控关系的示意图,其中:
首先,车载控制终端对传感器进行是否启动判断,如果传感器启动成功,则进行链路是否异常的判断,如果传感器启动未成功,则直接启动传感器未启动监控。
进一步的,车载控制终端对传感器的链路进行判断,这里是从传感器数据最大帧间隔时长和传感器数据正常频率范围来进行传感器链路是否正常的判断。
其中,针对启动成功后的传感器中的第一传感器,自动驾驶系统会获取第一传感器发送数据时的特征参数,这里的特征参数包括第一传感器发送的上一帧数据的目标时间,注册信息是最大帧间隔时长时,当目标时间距离当前时间的时长达到最大帧间隔时长,则对传感器进行链路断开监控。
或者,特征参数也可以包括第一传感器发送数据的频率,注册信息包括数据产生频率范围,若第一传感器发送数据的频率不在数据产生频率范围内,则对传感器进行频率异常监控,上述两种监控方案都是属于传感器链路断开的情况。
进一步的,当传感器正常启动且链路没有断开时,再对传感器的数据和故障码进行监控。
具体的,注册信息包括数据取值范围,针对启动成功且链路不存在异常的传感器中的第二传感器,获取接收到的第二传感器发送的数据中不在数据取值范围内的数据的数量或占比,若数量或占比达到预设数值,则对第二传感器进行传感器数据异常监控。
或者,注册信息包括故障码与故障描述的对应关系,车载控制终端获取启动成功的第一传感器发送的故障码,利用故障码与故障描述的对应关系确定出第一传感器发送的故障码对应的目标故障描述,若目标故障描述指示第一传感器存在故障,则对第一传感器确进行传感器故障码监控。
本发明实施例中,可以对传感器是否启动成功、传感器链路是否断开以及传感器的数据状态是否异常进行监控,从而可以较大程度提高自动驾驶系统的可靠性和健壮性,降低交通事故发生的概率。
请参阅图3,为本发明实施例提供的一种传感器检测装置的结构示意图。所述传感器检测装置30包括获取模块301、接收模块302、确定模块303、控制模块304:
获取模块301,用于获取所述传感器的注册信息;
接收模块302,用于接收所述传感器发送的数据;
确定模块303,用于根据所述注册信息和所述传感器发送的数据,确定所述传感器的当前状态;
控制模块304,用于根据所述传感器的当前状态,发出对所述车辆进行控制的相应控制指令。
可选的,所述注册信息包括传感器的类型、地址列表、数据产生频率范围、最大帧间隔时长、故障码与故障描述的对应关系、数据取值范围和传感器异常时的处理机制中的一种或多种。
可选的,传感器的当前状态包括如下至少一种:状态异常,链路异常。所述状态异常包括如下至少一种:传感器未启动,传感器自检到故障,传感器数据异常;所述链路异常包括如下至少一种:传感器链路断开,传感器数据频率异常。
可选的,所述传感器包括如下至少一种:相机,激光雷达,惯性导航系统,全球定位系统。
可选的,所述相应的控制指令包括如下一个或多个控制指令:油门控制,转向控制,灯光控制。
可选的,所述确定模块303,具体用于:
根据所述注册信息和所述各个传感器发送的数据从至少一个所述传感器中确定出存在异常的传感器。
可选的,控制模块304,还用于:
根据所述存在异常的传感器对应的目标处理机制对所述车辆进行控制。
可选的,所述确定模块303,具体用于:
根据所述地址列表和所述启动成功的传感器的地址从至少一个所述传感器中确定出启动失败的传感器;
将所述启动失败的传感器确定为存在异常的传感器。
可选的,针对所述启动成功的传感器中的第一传感器,所述获取模块301还用于获取所述第一传感器发送数据时的特征参数,所述第一传感器为所述启动成功的传感器中的任一传感器,所述特征参数包括所述第一传感器发送的上一帧数据的目标时间或所述第一传感器发送数据的频率;
所述确定模块303还用于根据所述特征参数确定所述第一传感器是否为链路异常的传感器;
若是,所述确定模块303则将所述第一传感器确定为存在异常的传感器。
可选的,所述确定模块303,具体用于:
所述特征参数包括所述第一传感器发送的上一帧数据的目标时间,所述注册信息还包括最大帧间隔时长,所述根据所述特征参数确定所述第一传感器是否为链路异常的传感器,若所述目标时间距离当前时间的时长达到所述最大帧间隔时长,则确定所述第一传感器的链路异常。
可选的,所述确定模块303,具体用于:
所述特征参数包括所述第一传感器发送数据的频率,所述注册信息还包括数据产生频率范围,所述根据所述特征参数确定所述第一传感器是否为链路异常的传感器,若所述第一传感器发送数据的频率不在所述数据产生频率范围内,则确定所述第一传感器的链路异常。
可选的,所述注册信息还包括数据取值范围,针对启动成功且链路不存在异常的传感器中的第二传感器,所述获取模块301还用于获取接收到的所述第二传感器发送的数据中不在所述数据取值范围内的数据的数量或占比,所述第二传感器为所述启动成功且链路不存在异常的传感器中的任一传感器;
若所述数量或所述占比达到预设数值,则所述确定模块303还用于将所述第二传感器确定为存在异常的传感器。
可选的,所述注册信息还包括故障码与故障描述的对应关系,所述获取模块301还用于获取所述第一传感器发送的故障码;
所述确定模块303还用于利用所述故障码与故障描述的对应关系确定出所述第一传感器发送的故障码对应的目标故障描述;
所述确定模块303还用于若所述目标故障描述指示所述第一传感器存在故障,则将所述第一传感器确定为存在异常的传感器。
可选的,所述注册信息还包括传感器异常时的处理机制,所述控制模块304用于发出针对所述存在异常的传感器的告警消息;
所述获取模块301用于获取所述存在异常的传感器的异常类型和/或传感器类型;
所述确定模块303用于从所述传感器异常时的处理机制中确定出所述异常类型和/或所述传感器类型对应的目标处理机制;
所述控制模块304用于根据所述目标处理机制对所述车辆进行控制。
可选的,所述传感器异常时的处理机制包括启用备用传感器、拒绝启动后行驶、调整自动驾驶级别、减速、停车和开启危险报警闪光灯中的一种或多种。
本发明实施例中,获取模块301获取传感器的注册信息,接收模块302接收传感器发送的数据,根据注册信息和传感器发送的数据,确定模块303确定传感器的当前状态,根据传感器的当前状态,控制模块304发出对车辆进行控制的相应控制指令,可见,通过对传感器状态的实时监控可以提高自动驾驶系统及时报警以及应急处理能力,降低交通事故发生的概率,使得自动驾驶系统更加可靠、更加健壮。
请参阅图4,为本发明实施例提供的车载控制终端的结构示意图。本实施例中所描述的车载控制终端,包括:处理器401和存储器402。上述处理器401和存储器402通过总线连接。
上述处理器401可以是中央处理单元(Central Processing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
上述存储器402可以包括只读存储器和随机存取存储器,并向处理器401提供程序指令和数据。存储器402的一部分还可以包括非易失性随机存取存储器。其中,所述处理器401调用所述程序指令时用于执行:
获取所述传感器的注册信息;
接收所述传感器发送的数据;
根据所述注册信息和所述传感器发送的数据,确定所述传感器的当前状态;
根据所述传感器的当前状态,发出对所述车辆进行控制的相应控制指令。
可选的,所述处理器401,具体用于:
根据所述注册信息和所述传感器发送的数据从至少一个所述传感器中确定出存在异常的传感器。
可选的,所述处理器401,具体用于:
根据所述存在异常的传感器对应的目标处理机制对所述车辆进行控制。
可选的,所述处理器401,具体用于:
根据所述地址列表和所述启动成功的传感器的地址从至少一个所述传感器中确定出启动失败的传感器;
将所述启动失败的传感器确定为存在异常的传感器。
可选的,所述处理器401,具体用于:
根据所述特征参数确定所述第一传感器是否为链路异常的传感器;
若是,则将所述第一传感器确定为存在异常的传感器。
可选的,所述处理器401,具体用于:
若所述目标时间距离当前时间的时长达到所述最大帧间隔时长,则确定所述第一传感器的链路异常。
可选的,所述处理器401,具体用于:
若所述第一传感器发送数据的频率不在所述数据产生频率范围内,则确定所述第一传感器的链路异常。
可选的,所述处理器401,具体用于:
获取接收到的所述第二传感器发送的数据中不在所述数据取值范围内的数据的数量或占比;
若所述数量或所述占比达到预设数值,则将所述第二传感器确定为存在异常的传感器。
可选的,所述处理器401,具体用于:
获取所述第一传感器发送的故障码;
利用所述故障码与故障描述的对应关系确定出所述第一传感器发送的故障码对应的目标故障描述;
若所述目标故障描述指示所述第一传感器存在故障,则将所述第一传感器确定为存在异常的传感器。
具体实现中,本发明实施例中所描述的处理器401和存储器402可执行本发明实施例图1提供的传感器检测方法中所描述的实现方式,也可执行本发明实施例图3所描述的传感器检测装置的实现方式,在此不再赘述。
本发明实施例中,处理器401可以获取传感器的注册信息,接收传感器发送的数据,根据注册信息和传感器发送的数据,确定传感器的当前状态,根据传感器的当前状态,发出对车辆进行控制的相应控制指令,通过对传感器状态的实时监控可以提高自动驾驶系统及时报警以及应急处理能力,降低交通事故发生的概率,使得自动驾驶系统更加可靠、更加健壮。
本发明实施例还提供了一种车辆,包括车体以、至少一个传感器以及车载控制终端,其中,所述至少一个传感器和所述车载控制终端安装在所述车体上,所述车载控制终端可以采用上述各个实施例的构造。
本发明实施例还提供了一种计算机存储介质,该计算机存储介质中存储有程序指令,所述程序执行时可包括如图1对应实施例中的传感器检测方法的部分或全部步骤。
需要说明的是,对于前述的各个方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本申请,某一些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random AccessMemory,RAM)、磁盘或光盘等。
以上对本发明实施例所提供的一种传感器检测方法、装置、车载控制终端及车辆进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。