本申请涉及计算机技术领域,具体涉及车辆控制、自动驾驶技术领域,尤其涉及用于控制车辆的方法、装置、设备以及存储介质。
背景技术:
v2x(vehicletoeverything,v2x)是将车辆与一切事物相连接的新一代信息通信技术,其中v代表车辆,x代表任何与车交互信息的对象,当前x主要包含车、人、交通路侧基础设施和网络。v2x交互的信息模式包括:车与车之间(vehicletovehicle,v2v)、车与路之间(vehicletoinfrastructure,v2i)、车与人之间(vehicletopedestrian,v2p)、车与网络之间(vehicletonetwork,v2n)的交互。
随着v2x的逐渐推广开来,v2x目前正从信息服务类应用向交通安全和效率类应用发展,并将逐步向支持实现的协同服务类应用演进。v2x实施在开放区域,因此极易遭受攻击。攻击者可以在路边部署v2x信号发送装置,广播虚假的基本安全消息(basicsafetymessage,bsm),触发其他车辆的应急响应,导致紧急刹车。攻击者也可以入侵车辆的车载单元(onboardunit,obu),篡改其发出的bsm的车辆尺寸、意图、速度等,导致其他v2x车辆错误判断该车的行为,威胁到驾驶安全。
技术实现要素:
提供了一种用于控制车辆的方法、装置、设备以及存储介质。
根据第一方面,提供了一种用于控制车辆的方法,包括:获取车辆的行驶信息;接收基本安全消息;根据预先训练的目标消息判断模型,确定基本安全信息是否为异常消息;响应于确定基本安全消息不是异常消息,根据基本安全消息以及行驶信息,确定车辆的行车策略。
根据第二方面,提供了一种用于控制车辆的装置,包括:信息获取单元,被配置成获取车辆的行驶信息;消息接收单元,被配置成接收基本安全消息;消息判断单元,被配置成根据预先训练的目标消息判断模型,确定基本安全信息是否为异常消息;策略确定单元,被配置成响应于确定基本安全消息不是异常消息,根据基本安全消息以及行驶信息,确定车辆的行车策略。
根据第三方面,提供了一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行如第一方面所描述的方法。
根据第四方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,上述计算机指令用于使计算机执行如第一方面所描述的方法。
根据本申请的技术可以对基本安全消息进行判断,避免了篡改的基本安全消息影响车辆的驾驶安全。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本申请的限定。其中:
图1是本申请的一个实施例可以应用于其中的示例性系统架构图;
图2是根据本申请的用于控制车辆的方法的一个实施例的流程图;
图3是根据本申请的用于控制车辆的方法的一个应用场景示意图;
图4是根据本申请的用于控制车辆的方法的另一个实施例的流程图;
图5是根据本申请的用于控制车辆的装置的一个实施例的结构示意图;
图6是用来实现本申请实施例的用于控制车辆的方法的电子设备的框图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1示出了可以应用本申请的用于控制车辆的方法或用于控制车辆的装置的实施例的示例性系统架构100。
如图1所示,系统架构100可以包括车辆101、102,交通设备103、104,网络105和服务器106。网络105用以在车辆101、102,交通设备103、104和服务器106之间提供通信链路的介质。网络105可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
车辆101、102可以是各种车辆,例如可以是自动驾驶车辆,也可以是具有自动驾驶模式的车辆。车辆101和车辆102之间也可以通过网络105发送消息。上述消息可以是bsm。车辆101、102可以根据上述消息进行行车策略的决策。
交通设备103、104可以是设置在道路周围的交通设备,其可以包括路灯、交通灯或交通标志灯。这些交通设备上可以安装有传感器或通讯设备,用于采集信息、接收信息和发送信息。
服务器106可以是提供各种服务的服务器,例如对车辆101、102提供支持的后台服务器。后台服务器可以向车辆101、102发送消息,也可以接收车辆101、102发送的消息以进行处理。
需要说明的是,服务器106可以是硬件,也可以是软件。当服务器106为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。当服务器106为软件时,可以实现成多个软件或软件模块(例如用来提供分布式服务),也可以实现成单个软件或软件模块。在此不做具体限定。
需要说明的是,本申请实施例所提供的用于控制车辆的方法一般由车辆101、102中的车载电脑执行。相应地,用于控制车辆的装置一般设置于车辆101、102的车载电脑中。
应该理解,图1中的车辆、交通设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的车辆、交通设备、网络和服务器。
继续参考图2,示出了根据本申请的用于控制车辆的方法的一个实施例的流程200。本实施例的用于控制车辆的方法,包括以下步骤:
步骤201,获取车辆的行驶信息。
本实施例中,用于控制车辆的执行主体(例如图1所示的车辆101、102中的车载电脑)可以获取车辆的行驶信息。上述行驶信息可以包括速度、方向、加速度、位置信息等。执行主体可以通过车辆中安装的传感器来获取上述行驶信息,上述传感器可以包括速度传感器、角度传感器、加速度传感器、gps芯片等等
步骤202,接收基本安全消息。
本实施例中,车辆中的车载单元可以接收行驶环境中其它电子设备发送的基本安全消息,然后发送给执行主体。行驶环境可以指车辆所在位置周围预设距离(例如50米)内的范围。其它电子设备可以包括能够与车辆通信的各种电子设备,包括但不限于交通灯、路灯、交通标志等等。基本安全消息可以包括消息标识,还可以包括其它设备的基本信息(如车辆颜色、车辆尺寸、车辆速度、车辆位置等)。
执行主体可以通过蜂窝(cellular)通信演进形成提供蜂窝通信接口和直连通信接口以发送或接收bsm。
步骤203,根据预先训练的目标消息判断模型,确定基本安全信息是否为异常消息。
执行主体在接收到bsm后,可以结合预先训练的目标消息判断模型,来判断bsm是否为异常消息。这里,目标消息判断模型可以是一个二分类模型。将bsm输入该模型,可以得到该输入的bsm是否属于异常消息。具体的,该模型的输出可以包括0和1,其中0表示输入的bsm是异常消息,1表示输入的bsm不是异常消息。该模型可以通过有监督的训练或无监督的训练得到。
这里,异常消息是指bsm可能被篡改,即其中包括的位置信息可能被伪造。可以理解的是,篡改的bsm可能导致其他车辆做出错误的判断,从而影响驾驶安全。
步骤204,响应于确定基本安全消息不是异常消息,根据基本安全消息以及行驶信息,确定车辆的行车策略。
本实施例中,如果执行主体确定接收到的bsm不是异常消息,则可以根据上述bsm以及行驶信息,确定车辆的行车策略。具体的,执行主体可以根据bsm中包括的位置、速度、车辆大小等信息以及行驶信息中的位置、速度、车辆大小等信息,确定是否需要停车避让,或者减速等。
继续参见图3,其示出了根据本申请的用于控制自动驾驶车辆的方法的一个应用场景的示意图。在图3的应用场景中,自动驾驶车辆301在行驶过程中,接收到自动驾驶车辆302发送的基本安全消息。通过对上述基本安全消息进行判断得知其不为异常消息,则自动驾驶车辆301可以根据基本安全消息以及自身的行驶信息,停车避让车辆302。
本申请的上述实施例提供的用于控制车辆的方法,可以对基本安全消息进行判断,避免了篡改的基本安全消息影响车辆的驾驶安全
继续参见图4,其示出了根据本申请的用于控制车辆的方法的另一个实施例的流程400。如图4所示,本实施例的用于控制车辆的方法可以包括以下步骤:
步骤401,获取车辆的行驶信息。
本实施例中,执行主体可以通过车载单元获取车辆的行驶信息。该行驶信息中包括位置信息。
步骤402,根据预先设置的位置信息与消息判断模型的对应关系,从预设的消息判断模型集合中确定出目标消息判断模型。
执行主体本地或其它电子设备处可以预先存储有位置信息与消息判断模型的对应关系。该对应关系可以是技术人员维护的。在得到车辆的位置消息后,执行主体可以根据上述对应关系,从预设的消息判断模型集合中确定出于bsm中的位置信息对应的目标消息判断模型。这里,消息判断模型集合中可以包括多个消息判断模型,不同消息判断模型对应不同的地区。举例来说,a市地区对应的消息判断模型与b市地区对应的消息判断模型可能不同,因为两个地区对道路的规定可能不同,上述规定可以包括限速、转弯等信息。
步骤403,接收基本安全消息。
步骤404,根据目标消息判断模型,确定基本安全信息是否为异常消息。
如果确定基本安全信息属于异常消息,则执行步骤405~406。如果确定基本安全信息不属于异常消息,则执行步骤407。
步骤405,响应于确定基本安全消息是异常消息,丢弃基本安全消息。
本实施例中,如果执行主体确定基本安全消息是异常消息,则不会利用该基本安全消息进行行车策略的决策,可以将该基本安全消息丢弃。
步骤406,响应于确定基本安全消息是异常消息,确定基本安全消息的发送者标识;将发送者标识输出。
本实施例中,如果执行主体确定基本安全消息是异常消息,还可以确定发送该基本安全消息的发送者标识。发送者标识可以包括车辆的标识(例如车牌、车架号等),也可以包括与该车辆绑定的用户的标识(如姓名、身份证号等)。执行主体可以将发送者标识输出,这样,技术人员可以通过接收这些发送者标识对车辆进行维护。
步骤407,响应于确定基本安全消息不是异常消息,根据基本安全消息以及行驶信息,确定车辆的行车策略。
本申请的上述实施例提供的用于控制车辆的方法,可以选择与车辆所在位置匹配的消息判断模型,从而提高消息判断的准确性;可以在检测到异常消息时,对异常消息进行丢弃和上报,从而能够进一步提高车辆的安全性。
在本实施例的一些可选的实现方式中,上述消息判断模型集合中的消息判断模型可以通过以下步骤训练得到:获取历史基本安全消息以及路网数据;根据历史基本安全消息以及路网数据,确定训练样本集合;利用训练样本集合训练二分类模型,得到消息判断模型。
本实现方式中,执行主体可以首先获取历史基本安全消息以及路网数据。这里,历史基本安全消息可以包括车辆所接收到的所有基本安全消息。路网数据包括所有道路的信息,包括道路的名称、长度、限速等等信息。
然后,执行主体可以根据历史基本安全消息以及路网数据,确定训练样本集合。具体的,执行主体可以根据历史基本安全消息中包括的速度、方向等信息与路网数据中道路的限速信息、方向等信息进行比较,确定其中的正常基本安全消息和异常安全消息。并将正常基本安全消息作为正样本,将异常安全消息作为负样本。
最后,执行主体可以利用上述正样本和负样本来训练二分类模型,得到消息判断模型。这里,二分类模型可以是支持向量机(例如oneclasssvm)。
需要说明的是,训练消息判断模型的执行主体与图2、图4所示实施例的执行主体可以相同,也可以不同。如果不同,训练消息判断模型的执行主体可以将训练好的消息判断模型存储在消息判断模型集合中,以供获取。
进一步参考图5,作为对上述各图所示方法的实现,本申请提供了一种用于控制车辆的装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图5所示,本实施例的控制车辆装置500包括:信息获取单元501、消息接收单元502、消息判断单元503和策略确定单元504。
信息获取单元501,被配置成获取车辆的行驶信息。
消息接收单元502,被配置成接收基本安全消息。
消息判断单元503,被配置成根据预先训练的目标消息判断模型,确定基本安全信息是否为异常消息。
策略确定单元504,被配置成响应于确定基本安全消息不是异常消息,根据基本安全消息以及行驶信息,确定车辆的行车策略。
在本实施例的一些可选的实现方式中,装置500还可以进一步包括图5中未示出的消息丢弃单元,被配置成响应于确定基本安全消息是异常消息,丢弃基本安全消息。
在本实施例的一些可选的实现方式中,装置500还可以进一步包括图5中未示出的消息输出单元,被配置成:响应于确定基本安全消息是异常消息,确定基本安全消息的发送者标识;将发送者标识输出。
在本实施例的一些可选的实现方式中,行驶信息包括位置信息。装置500还可以进一步包括图5中未示出的模型确定单元,被配置成:根据预先设置的位置信息与消息判断模型的对应关系,从预设的消息判断模型集合中确定出目标消息判断模型。
在本实施例的一些可选的实现方式中,装置500还可以进一步包括图5中未示出的训练单元,被配置成:获取历史基本安全消息以及路网数据;根据历史基本安全消息以及路网数据,确定训练样本集合;利用训练样本集合训练二分类模型,得到消息判断模型。
应当理解,用于控制车辆的装置500中记载的单元501至单元504分别与参考图2中描述的方法中的各个步骤相对应。由此,上文针对用于控制车辆的方法描述的操作和特征同样适用于装置500及其中包含的单元,在此不再赘述。
根据本申请的实施例,本申请还提供了一种电子设备和一种可读存储介质。
如图6所示,是根据本申请实施例的执行用于控制车辆的方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图6所示,该电子设备包括:一个或多个处理器601、存储器602,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示gui的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图6中以一个处理器601为例。
存储器602即为本申请所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本申请所提供的执行用于控制车辆的方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的执行用于控制车辆的方法。
存储器602作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的执行用于控制车辆的方法对应的程序指令/模块(例如,附图5所示的信息获取单元501、消息接收单元502、消息判断单元503和策略确定单元504)。处理器601通过运行存储在存储器602中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的执行用于控制车辆的方法。
存储器602可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据执行用于控制车辆的电子设备的使用所创建的数据等。此外,存储器602可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器602可选包括相对于处理器601远程设置的存储器,这些远程存储器可以通过网络连接至执行用于控制车辆的电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
执行用于控制车辆的方法的电子设备还可以包括:输入装置603和输出装置604。处理器601、存储器602、输入装置603和输出装置604可以通过总线或者其他方式连接,图6中以通过总线连接为例。
输入装置603可接收输入的数字或字符信息,以及产生与执行用于控制车辆的电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置604可以包括显示设备、辅助照明装置(例如,led)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(lcd)、发光二极管(led)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用asic(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(pld)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
根据本申请实施例的技术方案,可以对基本安全消息进行判断,避免了篡改的基本安全消息影响车辆的驾驶安全。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。