用于减轻互联车辆系统中的异常数据的系统和方法与流程

文档序号:18563237发布日期:2019-08-30 23:36阅读:215来源:国知局
用于减轻互联车辆系统中的异常数据的系统和方法与流程

本节提供的信息是为了概括地介绍本公开的背景。目前所述发明人的工作,在本节中描述的程度,以及在提交时可能不具备现有技术资格的描述的各方面,既不明示也不暗示地被承认为本公开的现有技术。

本公开涉及车联网,并且更具体地涉及利用分布式总帐的车联网。



背景技术:

车辆可以包括与其他节点的网络无线通信的收发器,例如其他车辆和基础设施节点。车辆之间的无线通信用于车辆到车辆(v2v)网络。例如,车辆之间的无线通信可用于控制车辆的个别移动并控制作为一组车辆的移动。

车辆到基础设施节点之间的无线通信用于车辆到基础设施(v2i)网络。例如,可以使用车辆和基础设施节点之间的无线通信来控制车辆移动并控制交通系统的交通流量。车辆到所有(v2x)网络涉及车辆和各种类型的设备之间的通信,例如车辆、基于行人的设备、基于骑车人的设备,基于基础设施的设备、基于能量分配网格的设备、基于交通系统的设备和其他类型的设备。



技术实现要素:

在一特征中,车辆的分布式总账系统包括至少一个收发器,其被配置为从车辆外部的源节点无线地接收数据,该数据包括源节点的唯一标识符(id)和以下中的至少一个:源节点的第一位置;源节点的第一航向;源节点的第一速度;和源节点的第一物体类型。摄像头和传感器中的至少一个被配置为识别位于车辆周围的物体。异常模块被配置为基于以下中的至少一个来选择性地指示在从源接收的数据中存在异常:源节点的第一位置与来自摄像头和传感器中的至少一个的输入的比较;源节点的第一航向与来自摄像头和传感器中的至少一个的输入的比较;源节点的第一速度与来自摄像头和传感器中的至少一个的输入的比较;以及源节点的第一物体类型与来自摄像头和传感器中的至少一个的输入的比较。分布式总账包括与被信任的源节点相关联的唯一id的第一列表和与不被信任的源节点相关联的唯一id的第二列表。总账管理模块被配置为响应于从源节点接收的数据中存在异常的指示,将源节点的唯一id添加到与存储分布式总账中的与不被信任的源节点相关联的唯一id的第二列表。

在进一步的特征中:从源节点接收的数据包括源节点的第一位置;异常模块被配置为当摄像头和传感器中的至少一个未识别出在源节点的第一位置的预定距离内存在物体时,指示从源节点接收的数据中存在异常。

在进一步的特征中:从源节点接收的数据还包括源节点的第一航向;异常模块被配置为当摄像头和传感器中的至少一个识别出:在大约第一位置处的物体;并且该物体具有与源节点的第一航向不同的第二航向时,指示从源节点接收的数据中存在异常。

在进一步的特征中:从源节点接收的数据还包括源节点的第一速度;异常模块被配置为当摄像头和传感器中的至少一个识别出:在大约第一位置处的物体;并且该物体具有与源节点的第一速度不同的第二速度时,指示从源节点接收的数据中存在异常。

在进一步的特征中:从源节点接收的数据还包括源节点的第一物体类型;异常模块被配置为当摄像头和传感器中的至少一个识别出:在大约第一位置处的物体;并且该物体是与源节点的第一物体类型不同的第二类型的物体时,指示从源节点接收的数据中存在异常。

在进一步的特征中:摄像头和传感器中的至少一个包括:至少一个摄像头,其具有车辆外部的视野;和至少一个光检测和测距(lidar)传感器。

在进一步的特征中:至少一个收发器被配置为响应于从源节点接收的数据中的异常的指示,将从源节点接收的数据无线地发送到车联网的被信任的源节点用于执行一致性算法;并且总账管理模块被配置为响应于通过执行一致性算法确定从源节点接收的数据包括异常,将源节点的唯一id添加到存储在分布式总账中的与不被信任的源节点相关联的唯一id的第二列表中。

在进一步的特征中,驱动控制模块被配置为响应于确定源节点的唯一id在与不被信任的源节点相关联的唯一id的第二列表中,独立于来自源节点的数据控制车辆的移动。

在进一步的特征中,驱动控制模块被配置为响应于确定源节点的唯一id在存储在分布式总账中的与被信任的源节点相关联的唯一id的第一列表内,基于从源节点接收的数据选择性地调整车辆的转向。

在进一步的特征中,驱动控制模块被配置为响应于确定源节点的唯一id在存储在分布式总账中的与被信任的源节点相关联的唯一id的第一列表内,基于从源节点接收的数据选择性地使车辆减速。

在进一步的特征中,驱动控制模块被配置为响应于确定源节点的唯一id在存储在分布式总账中的与被信任的源节点相关联的唯一id的第一列表内,基于从源节点接收的数据选择性地使车辆加速。

在进一步的特征中,驱动控制模块被配置为响应于确定源节点的唯一id在存储在分布式总账中的与被信任的源节点相关联的唯一id的第一列表内,基于从源节点接收的数据选择性地应用车辆的制动器。

在进一步的特征中,驱动控制模块被配置为响应于确定源节点的唯一id在存储在分布式总账中的与被信任的源节点相关联的唯一id的第一列表内,基于从源节点接收的数据选择性地增加和减小内燃机的转矩输出中的一个。

在进一步的特征中,驱动控制模块被配置为响应于确定源节点的唯一id在存储在分布式总账中的与被信任的源节点相关联的唯一id的第一列表内,基于从源节点接收的数据选择性地增加和减小车辆的电动机的转矩输出中的一个。

在进一步的特征中,源节点是以下之一:第二车辆;基础设施节点;和交通系统节点。

在进一步的特征中,至少一个收发器被配置为响应于确定源节点的唯一id在不被信任的源节点的第二列表内,丢弃从源节点接收的数据。

在进一步的特征中,一种系统包括:车辆的分布式总账系统;和第二车辆,包括:第二分布式总账,包括与被信任的源节点相关联的唯一id的第三列表和与不被信任的源节点相关联的唯一id的第四列表;以及第二总账管理模块,被配置为响应于从源节点接收的数据中存在异常的指示,将源节点的唯一id添加到存储在第二分布式总账中的与不被信任的源节点相关联的唯一id的第四列表中。

在一特征中,一种用于车辆的方法包括:通过至少一个收发器,从车辆外部的源节点无线地接收数据,该数据包括源节点的唯一标识符(id)以及以下中的至少之一:源节点的第一位置;源节点的第一航向;源节点的第一速度;和源节点的第一物体类型;通过摄像头和传感器中的至少一个,识别位于车辆周围的物体;基于以下至少一个选择性地指示从源接收的数据中存在异常:源节点的第一位置与来自摄像头和传感器中的至少一个的输入的比较;源节点的第一航向与来自摄像头和传感器中的至少一个的输入的比较;源节点的第一速度与来自摄像头和传感器中的至少一个的输入的比较;以及源节点的第一物体类型与来自摄像头和传感器中的至少一个的输入的比较;管理分布式总账,分布式总账包括与被信任的源节点相关联的唯一id的第一列表和与不被信任的源节点相关联的唯一id的第二列表;并且响应于从源节点接收的数据中存在异常的指示,将源节点的唯一id添加到存储在分布式总账中的与不被信任的源节点相关联的唯一id的第二列表。

在进一步的特征中:从源节点接收的数据包括源节点的第一位置;并且选择性地指示存在异常包括:当摄像头和传感器中的至少一个未识别出在源节点的第一位置的预定距离内存在物体时,指示从源节点接收的数据中存在异常。

在进一步的特征中,该方法还包括:响应于从源节点接收的数据中的异常的指示,将从源节点接收的数据无线地发送到车联网的被信任的源节点用于执行一致性算法;并且响应于通过执行一致性算法确定从源节点接收的数据包括异常,将源节点的唯一id添加到存储在分布式总账中的与不被信任的源节点相关联的唯一id的第二列表中。

根据详细描述、权利要求和附图,本公开的其他应用领域将变得显而易见。详细描述和具体示例仅用于说明的目的,并不旨在限制本公开的范围。

附图说明

从详细描述和附图将更全面地理解本公开,其中:

图1包括示例性车辆系统的功能框图;

图2包括车联网的功能框图;

图3包括通信模块的示例实现的功能框图;

图4包括描绘使用分布式总帐确定是否信任一个源并管理分布式总帐的示例方法的流程图;以及

图5包括描绘识别异常和管理分布式总帐的示例方法的流程图。

在附图中,可以重复使用附图标记来标识相似和/或相同的元件。

具体实施方式

车辆与车联网(例如车辆到车辆(v2v)网络、车辆到基础设施网络(v2i)网络、车辆到行人(v2p)网络、以及车辆到所有(v2x)网络)中的其他设备通信。车联网的节点可以广播例如它们各自的唯一标识符、它们各自的当前位置、它们各自的当前速度、它们各自的当前航向和其他数据。

来自节点的数据可以由其他节点使用,例如,单独地或作为一组控制车辆移动,控制交通信号,以及用于其他原因。但是,利用来自不被信任节点的数据可能会导致节点不必要地动作。

可以利用一个中央权限来确定是否信任一个节点。例如,当第一节点从第二节点接收数据时,第一节点可以通过与中央权限机构磋商来确定是否信任第二节点。然而,中央机构的腐败可能导致不值得信任的节点被信任。

根据本公开,基于分布式总帐(或区块链)的系统用于信任节点。当第一节点从第二节点接收数据时,第一节点确定第二节点的唯一标识符是否包括在分布式总帐内。如果第二节点的唯一标识符不在分布式总帐中,则车联网通过执行一致性算法共同确定是否信任第二节点。如果车联网共同确定信任第二节点,则更新每个节点的分布式总帐以反映第二节点是被信任的。

然而,在某些情况下,被信任和不被信任的节点有时可能会输出异常数据。利用异常数据可能会导致节点不必要地动作。

节点可以识别接收数据中的异常。例如,车辆包括一个或多个摄像头和/或传感器,其识别位于车辆周围的物体的特征(例如,位置、速度、航向)。当另一节点提供来自车辆的一个或多个摄像头和/或传感器的数据不支持的数据时,车辆可以识别异常的存在。例如,当另一节点提供其位置并且车辆的一个或多个摄像头和/或传感器未检测到该位置处存在物体时,车辆可识别异常的存在。作为另一示例,当另一节点提出其是一个位置处的建筑物并且车辆的一个或多个摄像头和/或传感器检测到该位置处存在汽车时,车辆可以识别异常的存在。

当检测到异常时,车联网通过执行一致性算法来共同地确定数据(或源)是否包括异常。如果车联网共同确定数据或源包括异常,则更新每个节点的分布式总帐以反映第二节点包括异常或不被信任。分布式总帐系统可以提高车联网的安全性。

图1包括示例性车辆系统的功能框图。车辆110包括车身112、发动机114、进气系统116、变矩器118、变速器120、传动系122、车轮124、机械(摩擦)制动器125和转向系统126。车辆110可以是自治的、半自治的或非自治的。车辆110可以是共享车辆(例如,乘坐共享系统的一部分)或非共享车辆。

发动机114燃烧空气/燃料混合物以产生用于车辆110的驱动转矩。基于驾驶员输入和/或来自驾驶控制模块(dcm)130的第一输入来控制输入到变速器120的转矩量。驾驶员输入可以是指示加速器踏板位置的信号。来自dcm130的第一输入可以是目标车辆加速度。

dcm130可以调整目标车辆加速度,例如,以维持目标车辆速度,维持预定的跟随距离,和/或防止车辆与车辆110周围的一个或多个物体之间的接触。dcm130可以基于车辆110的位置和车辆110正行驶的道路的政府速度限制来确定目标车辆速度。dcm130可以例如基于从全球定位系统(gps)模块131接收的输入或者通过从使用摄像头捕获的图像识别在速度限制标志上发布的速度限制来确定速度限制。gps模块131包括用于与gps卫星通信的收发器。

空气通过进气系统116被吸入发动机114。进气系统116包括进气歧管132和节气阀134。节气阀134可包括具有可旋转叶片的蝶形阀。发动机控制模块(ecm)136控制节气阀致动器模块137,其调节节气阀134的打开以控制吸入进气歧管132的空气量。

来自进气歧管132的空气被吸入发动机114的气缸中。虽然发动机114可包括多个气缸,但为了说明的目的,示出了单个代表性气缸138。仅作为示例,发动机114可包括2、3、4、5、6、8、10和/或12个气缸。ecm136可以停用一些气缸,这可以在某些发动机操作条件下改善燃料经济性。

发动机114可以使用四冲程循环操作。下面描述的四个冲程被称为进气冲程、压缩冲程、燃烧冲程和排气冲程。在曲轴140的每次旋转期间,四个冲程中的两个发生在气缸138内。因此,气缸138需要两个曲轴旋转以经历所有四个冲程。

在进气冲程期间,来自进气歧管132的空气通过进气阀142被吸入气缸138。ecm136控制燃料致动器模块144,其调节由燃料喷射器146执行的燃料喷射以实现目标空气/燃料比。燃料可以在中心位置或多个位置喷射到进气歧管132中,例如在每个气缸的进气阀142附近。在各种实施方式中,燃料可以直接喷射到气缸中或喷射到与气缸相关联的混合室中。燃料致动器模块144可以停止将燃料喷射到停用的气缸。

喷射的燃料与空气混合并在气缸138中产生空气/燃料混合物。在压缩冲程期间,气缸138内的活塞(未示出)压缩空气/燃料混合物。发动机114可以是压燃式发动机,在这种情况下,气缸138中的压缩点燃空气/燃料混合物。或者,发动机114可以是火花点火式发动机,在这种情况下,火花致动器模块147基于来自ecm136的信号激励火花塞148以在气缸138中产生火花,其点燃空气/燃料混合物。火花的正时可以相对于活塞处于其最高位置的时间来指定,称为上止点(tdc)。

火花致动器模块147可以由火花正时信号控制,该火花正时信号指定在tdc之前或之后多远以产生火花。因为活塞位置与曲轴旋转直接相关,所以火花致动器模块147的操作可以与曲轴角度同步。在各种实施方式中,火花致动器模块147可以停止向停用的气缸提供火花。某些类型的发动机中省略了火花塞。

在燃烧冲程期间,空气/燃料混合物的燃烧驱动活塞向下,从而驱动曲轴140。燃烧冲程可以定义为活塞到达tdc和活塞返回到下止点(bdc)的时间之间的时间。在排气冲程期间,活塞开始从bdc向上移动并通过排气阀150排出燃烧的副产物。燃烧的副产物通过排气系统152从车辆排出。

进气阀142可以由进气凸轮轴154控制,而排气阀150可以由排气凸轮轴156控制。在各种实施方式中,多个进气凸轮轴(包括进气凸轮轴154)可以控制气缸138的多个进气阀(包括进气阀142)和/或可以控制多排气缸(包括气缸138)的进气阀(包括进气阀142)。类似地,多个排气凸轮轴(包括排气凸轮轴156)可以控制气缸138的多个排气阀和/或可以控制多排气缸(包括气缸138)的排气阀(包括排气阀150)。

进气阀142打开的时间可以通过进气凸轮相位器158相对于活塞tdc变化。排气阀150打开的时间可以通过排气凸轮相位器160相对于活塞tdc变化。阀致动器模块162可以基于来自ecm136的信号控制进气和排气凸轮相位器158、160。当实施时,可变阀升程也可以由阀致动器模块162控制。

阀致动器模块162可通过禁用进气阀142和/或排气阀150的打开来停用气缸138。阀致动器模块162可通过将进气阀142与进气凸轮相位器158分离来禁用进气阀142的打开。类似地,阀致动器模块162可以通过将排气阀150与排气凸轮相位器160分离来禁用排气阀150的打开。在各种实施方式中,阀致动器模块162可以使用除凸轮轴之外的装置(例如电磁或电动液压致动器)控制进气阀142和/或排气阀150。

ecm136调节节流阀134的位置,由燃料喷射器146执行的燃料喷射的量和/或正时,火花塞148产生火花的正时,和/或进气阀142和排气阀150打开以实现发动机114的目标转矩输出的正时。ecm136基于驾驶员输入和/或来自dcm130的第一输入确定目标发动机转矩。ecm136可以基于来自dcm130的第二输入确定是否基于驾驶员输入或第一输入确定目标发动机转矩。dcm130可以基于驾驶员的脚是否在加速踏板上控制ecm136是否使用驾驶员输入或第一输入来确定目标发动机转矩。当加速器踏板位置指示大于预定量的踏板下压水平时,dcm130可确定驾驶员的脚在加速器踏板上。

在一些车辆中,除了发动机114之外或者代替发动机114,可以实施一个或多个电动机。ecm136可以基于目标发动机转矩控制一个或多个电动机的转矩输出。

由发动机114(通过曲轴140)和/或一个或多个电动机输出的转矩传递到变速器120,通过传动系122,并传递到车轮124。传动系122包括驱动轴164、差速器166和车轴168。变矩器118、变速器120和差速器166以几个传动比增加或减小转矩,以在车轴168处提供车轴转矩。车轴转矩使车轮124旋转,这导致车辆110沿向前或向后方向加速。

摩擦制动器125安装到车轮124。当施加摩擦制动器125时,摩擦制动器125抵抗(减缓)车轮124的旋转。摩擦制动器125可包括鼓式制动器和/或盘式制动器,并且可包括电动液压致动器和/或机电致动器,其在施加摩擦制动器125时将制动垫压靠在制动盘和/或鼓上。

制动致动器模块170基于制动踏板位置和/或来自dcm130的信号施加摩擦制动器125。摩擦制动器125可以以不同的水平独立地施加。dcm130可以施加摩擦制动器125,例如,以维持目标车辆速度,以维持预定的跟随距离,和/或防止车辆接触物体。

转向系统126选择性地转动前轮124,从而转动车辆110。转向系统126包括方向盘172、转向柱174、一个或多个转向连杆176和转向致动器178。驾驶员可以旋转方向盘172以向左或向右转动车辆110或者输入向左或向右转动车辆110的请求。转向柱174联接到方向盘172,使得转向柱174在方向盘172旋转时旋转。转向柱174还可以联接到转向连杆176,使得转向柱174的转动引起转向连杆176的平移。转向连杆176联接到前轮124,使得转向连杆176的平移转动轮子124。

转向致动器178联接到转向连杆176并平移转向连杆176,从而转动前轮124。在各种实施方式中,转向致动器178可以是电动液压和/或机电致动器。在转向柱174联接到转向连杆176(例如动力转向系统)的实施方式中,转向致动器178可减少驾驶员必须施加以转动车辆110的力量。在各种实施方式中,转向柱174可以不联接到转向连杆176,并且转向致动器178可以单独平移转向连杆176。转向柱174未联接到转向连杆176的转向系统可以称为线控转向系统。

转向致动器模块180基于来自dcm130的转向信号致动转向致动器178。dcm130可基于方向盘172的角位置设置转向信号。在各种实施方式中,dcm130可以基于一个或多个其他输入设置转向信号。例如,dcm130可以根据目标路径设置转向信号以导航车辆。dcm130可以设置目标路径以在某些情况下将车辆110维持在车道线之间、改变车道、避免接触物体、和/或将车辆110从其当前位置导航到目标位置。

一个或多个车轮速度传感器182安装到一个或多个车轮124上并分别测量车轮124的速度。例如,可以为每个车轮提供一个车轮速度传感器并测量车轮速度。

前向摄像头184捕获车辆110前方的预定视场(fov)内的图像。前向摄像头184可以位于例如车辆110的前面板中。然而,前向摄像头184可以位于其他地方,例如在车辆的前挡风板内部具有后视镜,或者在另一个合适的位置处,以捕获车辆110前方的图像。

侧向摄像头186和187安装在车身112的左侧和右侧,并分别在车辆110的左侧和右侧的预定fov内产生图像。后向摄像头188捕获车辆110后面的预定视场(fov)内的图像。虽然示出并描述了前向、侧向和后向摄像头的示例,但是也可以包括一个或多个其他摄像头。此外,虽然示出并描述了前向、侧向和后向摄像头的示例,但是车辆可以附加地或替代地包括一种或多种其他类型的传感器,其分析和识别车辆周围的物体,例如光检测和测距(lidar)传感器、声纳传感器、雷达传感器和/或一种或多种其他类型的传感器。

加速度计可以安装到车身112的(例如,后部)并且测量车辆110的横向、纵向和/或竖直加速度。加速度计可以包括三轴加速度计、双轴加速度计和/或一个或多个单轴加速度计。在一个示例中,加速度计是双轴加速度计,其测量车辆110的横向和纵向加速度。

方向盘角度传感器190测量方向盘172相对于预定位置的角位置。预定位置可以对应于车辆应该(或确实)沿着车辆的纵向轴线直线行进的位置。方向盘角度传感器190可以安装到转向柱174,并且可以包括例如霍尔效应传感器,其测量设置在转向柱174内并可旋转地联接到方向盘172的轴的角位置。

变速器控制模块(tcm)192基于车辆110的操作条件和预定的换挡时间表来切换变速器120的挡位。操作条件可以包括车辆110的速度、车辆110的目标加速度和/或发动机114的目标转矩输出。tcm192可以基于使用车轮速度传感器测量的车轮速度来确定车辆速度。例如,tcm192可以基于车轮的平均速度或车辆的未驱动(即,非驱动)车轮的平均速度来确定车辆速度。tcm192可以从dcm130和/或ecm136接收目标车辆加速度和/或目标发动机转矩。ecm136可以与tcm192通信以协调变速器120中的变速挡。例如,ecm136可以在换挡期间减小发动机转矩。

车辆110还包括通信模块194,通信模块194包括一个或多个收发器,其通过车辆的一个或多个天线196无线地接收信息并从其发送信息。收发器的示例包括例如蜂窝收发器、蓝牙收发器、wifi收发器、卫星收发器和其他类型的收发器。

图2是包括车辆110和车联网(例如车辆到车辆(v2v)网络、车辆到基础设施(v2i)或组合v2v和v2i网络)中的多个其他车辆的示例视图。组合v2v和v2i网络称为v2x网络。

车辆110和多个其他节点,例如其他车辆204、208、212、216和220、基础设施节点和其他类型节点,例如节点224、228和232,直接或间接地无线通信。基础设施节点的示例包括交通系统的节点、通信系统的节点、建筑物的节点以及其他类型的基础设施处的节点。其他类型的节点包括例如骑车人节点、行人节点等。一个或多个服务器,例如服务器236也可以连接到车联网。

例如,车联网的车辆周期性地(例如,以预定频率)广播它们的唯一标识符、位置、速度和航向。网络的车辆还可以广播其他类型的数据。基础设施节点和其他节点还周期性地广播其唯一标识符和各种其他数据。可以使用位置、速度、航向和其他数据(例如,通过车辆本身、一个或多个服务器或另一个控制器)来单独地控制车辆的移动并且控制两个或更多个车辆的组。然而,使用不正确数据和/或来自不值得信任源的数据可能导致一个或多个车辆的(例如,不必要的)移动。

根据本公开,车联网使用分布式公共总帐确定是否信任广播数据的源。分布式公共总帐技术有时被称为区块链。

车联网共同确定并更新包括被信任节点的唯一标识符的分布式总帐(或数据库)。分布式总帐(或另一个分布式总帐)还包括不被信任节点的唯一标识符。例如,唯一标识符可以是加密散列函数的形式,例如安全散列算法(sha)256加密散列函数。

每个被信任节点更新分布式总帐以供本地参考。当节点从源(例如,另一车辆或节点)接收数据时,节点确定包括在接收数据中的唯一标识符是否在分布式总帐中是被信任的。如果唯一标识符作为被信任的被包括在分布式总帐中,则该节点可以信任所接收数据的源,并且可以使用和/或广播所接收的数据以供车辆和/或车联网的其他节点使用。

如果唯一标识符不包括在分布式总帐内,则节点可以将唯一标识符广播到被信任节点。节点和其他被信任节点执行一致性算法以确定是否信任所接收数据的源。如果确定信任所接收数据的源,则将该源的唯一标识符作为被信任的添加到分布式总帐,使得车联网可以利用从该源接收的数据。如果车联网确定不信任所接收数据的源,则可以将该源的唯一标识符作为不被信任的源添加到分布式总帐。从不被信任的源接收的数据可以被车联网的车辆和节点忽略并被丢弃。

车辆还可以使用来自车辆的识别车辆周围物体的车辆的传感器(例如,lidar、雷达、声纳等)和/或摄像头(例如,前向、侧向或后向)的数据来确定信号源是否应该被信任或者是否提供异常数据。当源提供与来自车辆的摄像头和传感器的数据不相容的数据时,车辆(或车联网)可以确定源正在提供异常数据(例如,并且不信任该源)。如果车辆或车联网基于源提供的异常数据确定不信任所接收数据的源,则可以将该源的唯一标识符作为不被信任的源添加到分布式总帐。

图3包括通信模块194的示例实施方式的功能框图。通信模块194包括收发器304、id比较模块308、分布式总账312和总账管理模块316。

收发器304通过天线196无线地发送和接收数据。虽然提供了一个收发器的示例,但是通信模块194可以包括多个收发器。

分布式总帐312可以包括包括被信任的源的唯一标识符的第一部分。分布式总帐312还可以包括包括不被信任的源的唯一标识符的第二部分。

当从源318(例如,来自车辆或其他类型的节点)接收到广播数据320时,id比较模块308获得广播数据320中包括的唯一标识符(id)。广播数据320也可以包括其他数据,例如源318的类型(例如,卡车、公共汽车、汽车、多用途车辆、交通信号或标志、建筑物等)、源318的位置(例如,纬度和经度中的gps位置)、源318的速度,以及源318的航向中的一种或多种。

id比较模块308确定包括在广播数据320中的唯一标识符是否作为被信任的被包括在分布式总帐312中(例如,在第一部分中)。如果唯一标识符在分布式总帐312中是被信任的,则id比较模块308可以将广播数据320提供给dcm130。dcm130可以基于广播数据320来致动一个或多个车辆致动器。例如,dcm130可选择性地加速或减速车辆110和/或使车辆110转向。

附加地或替代地,当唯一标识符在分布式总帐312中是被信任的时,id比较模块308可以将广播数据320发送到车联网的对等点324(被信任车辆和其他类型的节点)和/或服务器236。对等点324可以基于广播数据320执行一个或多个功能。例如,交通信号可以基于广播数据320控制灯的定时(例如,以控制交通流量)。服务器236或车辆组可以基于广播数据320共同控制车辆组的移动。

当唯一标识符在分布式总帐312中是不被信任的时,通信模块194可以丢弃广播数据320。这样,车辆110不使用广播数据320并且广播数据320不被传播到车联网的对等点。例如,通信模块194可以将广播数据320添加到消息提示并且随着时间的推移从消息提示中删除消息,例如以预定的速率。

当唯一标识符不在分布式总帐312中时,收发器304将广播数据320的唯一标识符322发送到车联网的对等点324。收发器304还可以将部分或全部广播数据320发送到对等点324。

对等点324和车辆110使用一致性算法确定是否信任广播数据320的源。一致性算法可以是,例如,工作证明一致性算法或另一种类型的一致性算法。

如果确定信任广播数据320的源,则车辆110或对等点形成新数据块以将广播数据320的源的唯一标识符添加为被信任的。向车联网的每个被信任的参与者发出请求,以将新数据块添加到它们各自的分布式总帐。每个车辆和节点响应该请求更新其分布式总帐。例如,响应于该请求,总账管理模块316将广播数据320的源的唯一标识符作为被信任的添加到分布式总账312(例如,第一部分)。

如果确定不信任广播数据320的源,则车辆110或对等点形成新数据块以将广播数据320的源的唯一标识符添加为不被信任的。向车联网的每个被信任的参与者发出请求,以将新数据块添加到它们各自的分布式总帐。每个车辆和节点响应该请求更新其分布式总帐。例如,响应于该请求,总账管理模块316将广播数据320的源的唯一标识符作为不被信任的添加到分布式总账(例如,第二部分)。

如果车辆110和其他节点不能就是否信任或不信任广播数据320的源达成一致,则收发器304可以将广播数据320和唯一标识符发送到服务器236。服务器236可以确定是否信任或不信任广播数据320的源。

例如,服务器236可以确定广播数据320的源是否被包括在被信任的源的数据库中。如果服务器236确定信任该源,则服务器236可以形成新数据块以将广播数据320的源的唯一标识符添加为被信任的。服务器236请求车联网的每个被信任的参与者将新数据块添加到它们各自的分布式总帐。每个车辆和节点响应该请求更新其分布式总帐。例如,响应于该请求,总账管理模块316将广播数据320的源的唯一标识符作为被信任的添加到分布式总账(例如,第一部分)。

如果服务器236确定不信任该源,则服务器236可以形成新数据块以将广播数据320的源的唯一标识符添加为不被信任的。服务器236请求车联网的每个被信任的参与者将新数据块添加到它们各自的分布式总帐。每个车辆和节点响应该请求更新其分布式总帐。例如,响应于该请求,总账管理模块316将广播数据320的源的唯一标识符作为不被信任的添加到分布式总账(例如,第二部分)。

图4是描绘使用分布式总帐确定是否信任源并管理分布式总帐的示例方法的流程图。控制开始于404,其中车辆110的收发器304从源节点接收数据。数据包括源的唯一标识符和其他数据。在408处,id比较模块308将源的唯一标识符与分布式总帐312中的唯一标识符进行比较。id比较模块308在408处确定源的唯一标识符是否在分布式总帐312中列出。如果408为假,则控制继续到412。如果408为假,则控制转移到424,这将在下面进一步讨论。

在412处,id比较模块308确定源的唯一标识符是否在分布式总帐312(例如,第一部分)中被列为被信任的。如果412为真,则id比较模块308可以在420处将所接收的数据发送到dcm130以供车辆使用和/或将所接收的数据重新发送或重新广播到车联网的其他节点。如果412为假,则通信模块194在416处丢弃所接收的数据,使得它不用于控制车辆110,并且不被重新发送或重新广播到车联网的其他节点。

在428处(当唯一标识符不在分布式总帐312中时),收发器304可以在424处将所接收的数据发送到对等点(节点)324。车辆110和对等点324分别执行一致性算法并共同确定是否信任所接收数据的源。

在428处,车辆110和对等点324确定是否一致信任所接收数据的源。如果428为真,则在428处车联网的被信任的节点(例如,车辆110或对等点324之一)请求将源的唯一标识符添加为被信任的。总账管理模块316在432处将源的唯一标识符作为被信任的添加到分布式总账312,从而将另一个块添加到分布式总账312的区块链中。车联网的其他节点还将唯一标识符作为被信任的添加到它们各自的分布式总账中。如果428为假,则控制转移到436。

在436处,车辆110和对等点324确定是否一致不信任所接收数据的源。如果436为真,则在440处请求车联网的被信任的节点(例如,车辆110或对等点324之一)将源的唯一标识符添加为不被信任的。总账管理模块316在440处将源的唯一标识符作为不被信任的添加到分布式总账312,从而将另一个块添加到分布式总账312的区块链中。车联网的其他节点还将唯一标识符作为不被信任的添加到它们各自的分布式总账。如果436为假,则控制可以转移到444。

在444处,车辆110或对等点324之一可以将所接收的数据发送到服务器236。在448处,服务器236可以确定源的唯一标识符是否被包括在被信任的源的唯一标识符的数据库内。如果448为真,则控制可以转移到432,并将源的唯一标识符添加到被信任的分布式总账。如果448为假,则控制可以转移到440以将源的唯一标识符作为不被信任的添加到分布式总账。尽管图4的示例被示出为结束,但是例如,每次从源接收数据时,可以执行图4。

返回参考图3,通信模块194还可以包括异常模块330。异常模块330基于广播数据320和来自车辆110的设备的数据确定广播数据320是否包括异常,例如作为由gps模块131提供的车辆110的位置和来自车辆110的摄像头和传感器334的数据。

摄像头和传感器334可包括例如识别位于车辆110周围的物体的车辆110的前向摄像头184、侧向摄像头186和187、后向摄像头188和其他摄像头。摄像头和传感器334还可以包括识别位于车辆110周围的物体的车辆的lidar传感器、车辆的雷达传感器、车辆的声纳传感器、和/或其他类型的传感器。例如,摄像头和传感器334可以基于捕获的数据识别车辆周围的物体(例如,车辆和其他类型的节点)的位置、位于车辆周围的物体的类型、位于车辆周围的物体的速度、以及其他参数。

当摄像头和传感器334指示在摄像头和传感器334的fov内不存在车辆而广播数据320指示广播数据320的源是位于一个或多个摄像头和传感器334的一个或多个fov内的车辆时,异常模块330可以确定广播数据320包括异常。作为另一示例,当摄像头和传感器334指示车辆前方的位置存在公共汽车而广播数据320指示广播数据320的源是在该位置或附近的汽车(或其他类型物体)时,确定广播数据320包括异常。

作为另一示例,当广播数据320指示某个位置存在具有一航向的车辆并且摄像头和传感器334指示该位置存在具有不同航向的车辆时,异常模块330可以确定广播数据320包括异常。作为另一示例,当广播数据320指示一位置处的物体正以一定速度行进并且摄像头和传感器334指示该位置处存在具有不同速度的物体时,异常模块330可以确定广播数据320包括异常。一般而言,当广播数据320指示源具有一特征并且摄像头和传感器334指示不存在具有该特征的源时异常模块330可以确定广播数据320包括异常。

在各种实施方式中,当确定广播数据320包括异常时,异常模块330可以将广播数据320的源的唯一标识符存储在分布式总帐312中(例如,在第三部分中)或另一个分布式总帐中作为包括异常(例如,提供异常数据)。在各种实施方式中,除了将源指示为包括异常之外或作为替代,异常模块330可以将广播数据320的源的唯一标识符作为不被信任的存储在分布式总帐312中(例如,在第二部分中)。

响应于异常模块330确定广播数据320包括异常,收发器304可以将广播数据320广播到对等点324。收发器304还可以将其他数据广播到对等点324。对等点324和车辆110可以使用一致性算法确定广播数据320的源是否包括异常。一致性算法可以是,例如,工作证明一致性算法或另一种类型的一致性算法。

如果确定广播数据320的源包括异常,则车辆110或对等点形成新数据块以将广播数据320的源的唯一标识符添加为包括异常(或者不被信任的)。向车联网的每个被信任的参与者发出请求,以将新数据块添加到它们各自的分布式总帐。每个车辆和节点响应该请求更新其分布式总帐。例如,总账管理模块316响应于该请求,将广播数据320的源的唯一标识符添加到分布式总账312(例如,第二部分或第三部分)或另一个分布式总账。

图5包括描绘识别异常和管理分布式总帐的示例方法的流程图。控制可以从504开始,其中车辆110的收发器304从源节点接收数据。数据包括源的唯一标识符和其他数据,例如源的位置、源的速度、源的航向、源的类型以及其他数据。

在508处,异常模块330从摄像头和传感器334接收数据,诸如位于车辆110周围的识别的物体的位置、位于车辆110周围的物体的类型、位于车辆110周围的物体的速度、以及位于车辆110周围的物体的航向。

在512处,异常模块330可以确定来自摄像头和传感器334的数据是否指示物体大约存在于来自源的接收数据中包括的位置处。在这种情况下,大约可以表示例如在预定距离内。摄像头和传感器334或异常模块330可以例如,基于车辆的gps位置和由摄像头和传感器334识别的物体的位置确定物体的位置。如果512为真,则控制可以继续到516。如果512为假,则控制可以转移到532,这将在下面进一步讨论。

在516处,异常模块330可以确定来自摄像头和传感器334的数据是否指示大约在该位置处的物体的类型与从源接收的数据中包括的类型相同。如果516为真,则控制可以继续到520。如果516为假,则控制可以转移到532。

在520处,异常模块330可以确定来自摄像头和传感器334的数据是否指示大约在该位置处的物体的航向与从源接收的数据中包括的航向大致相同。在这种情况下,大约可以表示具有至少一个共同的航向(例如,东、西等)。如果520为真,则控制可以继续到524。如果520为假,则控制可以转移到532。

在524处,异常模块330可以确定来自摄像头和传感器334的数据是否指示大约在该位置处的物体的速度与从源接收的数据中包括的速度大致相同。在这种情况下,大约可以表示例如在预定速度或百分比内。如果524为真,则异常模块330可以在528处指示源不包括异常。如果524为假,则控制可以转移到532。

在532处(当来自源的数据在至少一个方面与来自摄像头和传感器334的数据不匹配或近似匹配时),异常模块330可以指示数据源包括异常。收发器304可以在536将所接收的数据发送到对等点(节点)324。

在540处,车辆110和对等点324可以共同确定所接收的数据的源是否包括异常。如果540为假,则控制可以转移到528,并且源的唯一标识符可以不被添加到车联网的节点的分布式总帐。如果540为真,则总账管理模块316可以在544处将源的唯一标识符作为包括异常包括在分布式总账312内。对等点324还可以更新其分布式总账以包括源的唯一标识符作为包括异常。尽管图5的示例被示出为结束,但是例如,每次从源接收数据时,可以执行图5。

前面的描述本质上仅是说明性的,决不是要限制本公开、其应用或用途。本公开的广泛教导可以以各种形式实现。因此,尽管本公开包括特定示例,但是本公开的真实范围不应受此限制,因为在研究附图、说明书和所附权利要求时,其他修改将变得显而易见。应当理解,方法内的一个或多个步骤可以以不同的顺序(或同时)执行,而不改变本公开的原理。此外,尽管上面将每个实施例描述为具有某些特征,但是关于本公开的任何实施例描述的那些特征中的任何一个或多个可以在任何其他实施例的特征中实现和/或与其组合,即使该组合未明确描述。换句话说,所描述的实施例不是相互排斥的,并且一个或多个实施例彼此的排列仍然在本公开的范围内。

元件之间的空间和功能关系(例如,模块、电路元件、半导体层等之间)使用各种术语来描述,包括“连接”、“接合”、“联接”、“相邻”、“下一个”、“在其顶部”、“上方”、“下方”和“设置”。除非明确地描述为“直接”,否则当在上面的公开中描述第一和第二元件之间的关系时,该关系可以是在第一和第二元件之间不存在其他中间元件的直接关系,但也可以是在第一和第二元件之间存在(空间或功能上)一个或多个中间元件的间接关系。如本文所使用的,短语a、b和c中的至少一个应该被解释为使用非排他性逻辑or表示逻辑(aorborc),并且不应该被解释为表示“至少一个a,至少一个b,以及至少一个c”。

在附图中,箭头所指示的箭头方向通常表示图示所关注的信息(例如数据或指令)的流动。例如,当元件a和元件b交换各种信息但是从元件a发送到元件b的信息与图示相关时,箭头可以元件a指向元件b。这个单向箭头并不意味着没有其他信息从元件b发送到元件a。此外,对于从元件a发送到元件b的信息,元件b可以向元件a发送对信息的请求或接收确认。

在本申请中,包括下面的定义,术语“模块”或术语“控制器”可以用术语“电路”代替。术语“模块”可以指代,为其部分,或包括:专用集成电路(asic);数字、模拟或混合模拟/数字分立电路;数字、模拟或混合模拟/数字集成电路;组合逻辑电路;现场可编程门阵列(fpga);执行代码的处理器电路(共享、专用或群组);存储由处理器电路执行的代码的存储器电路(共享、专用或群组);提供所述功能的其他合适的硬件组件;或者上述部分或全部的组合,例如在片上系统中。

该模块可以包括一个或多个接口电路。在一些示例中,接口电路可以包括连接到局域网(lan)、因特网、广域网(wan)或其组合的有线或无线接口。本公开的任何给定模块的功能可以分布在通过接口电路连接的多个模块之间。例如,多个模块可以允许负载平衡。在另一示例中,服务器(也称为远程或云)模块可代表客户端模块完成某些功能。

如上所使用的术语代码可以包括软件、固件和/或微代码,并且可以指代程序、例程、函数、类、数据结构和/或对象。术语共享处理器电路包括单个处理器电路,其执行来自多个模块的一些或所有代码。术语组处理器电路包括与附加处理器电路组合的处理器电路,其执行来自一个或多个模块的一些或所有代码。对多个处理器电路的引用包括分立管芯上的多个处理器电路,单个管芯上的多个处理器电路,单个处理器电路的多个核,单个处理器电路的多个线程,或上述的组合。术语共享存储器电路包括单个存储器电路,其存储来自多个模块的一些或所有代码。术语组存储器电路包括存储器电路,该存储器电路与附加存储器组合存储来自一个或多个模块的一些或所有代码。

术语存储器电路是术语计算机可读介质的子集。本文使用的术语计算机可读介质不包括通过介质传播的瞬时电信号或电磁信号(例如载波上);因此,术语计算机可读介质可以被认为是有形的和非暂时的。非暂时性有形计算机可读介质的非限制性示例是非易失性存储器电路(诸如闪存电路、可擦除可编程只读存储器电路或掩模只读存储器电路)、易失性存储器电路(例如静态随机存取存储器电路或动态随机存取存储器电路)、磁存储介质(例如模拟或数字磁带或硬盘驱动器)和光存储介质(例如cd、dvd或蓝光光盘)。

本申请中描述的装置和方法可以由专用计算机部分或全部实现,该专用计算机通过配置通用计算机以执行计算机程序中包含的一个或多个特定功能而创建。上述功能块、流程图组件和其他元件用作软件规范,其可以通过熟练技术人员或程序员的例行工作转换成计算机程序。

计算机程序包括存储在至少一个非暂时性有形计算机可读介质上的处理器可执行指令。计算机程序还可以包括或依赖于存储的数据。计算机程序可以包括与专用计算机的硬件交互的基本输入/输出系统(bios)、与专用计算机的特定设备交互的设备驱动程序、一个或多个操作系统、用户应用程序、后台服务、后台应用程序等。

计算机程序可以包括:(i)要解析的描述性文本,例如html(超文本标记语言)、xml(可扩展标记语言)或json(javascript对象表示法)(ii)汇编代码,(iii)由编译器从源代码生成的目标代码,(iv)由解释器执行的源代码,(v)由即时编译器编译和执行的源代码等。仅作为示例,可以使用c、c++、c#、objectivec、swift、haskell、go、sql、r、lisp、fortran、perl、pascal、curl、ocaml、html5(超文本标记语言第5版)、ada、asp(动态服务器网页)、php(php:超级文本预处理语言)、scala、eiffel、smalltalk、erlang、ruby、visuallua、matlab、simulink和等语言的语法编写源代码。

权利要求中所述的元件中没有一个旨在是35u.s.c§112(f)意义上的装置加功能元件,除非使用短语“用于…的装置,”或在方法权利要求的情况下使用短语“用于…的操作”或“用于…的步骤”明确叙述元件。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1