菊花链传感器网络的制作方法

    专利2022-07-07  101


    本公开总体涉及在车顶上装配有传感器的车辆,并且具体地,一些实施例涉及菊花链传感器网络。



    背景技术:

    诸如自主车辆(av)的车辆可以具有诸如lidar或相机传感器的车顶传感器,它们通过提供准确的传感器数据来补充和增强车辆的视野。可以连接车顶传感器以彼此通信并且与控制器通信。当前,车顶传感器可以经由星形拓扑连接。对于星形拓扑,单点故障将导致出现故障的分支处无法挽回的通信中断。其他问题包括星形拓扑所需的美观性以及累积的布线尺寸和厚度。本公开解决了这些缺陷,提供了传感器(诸如车辆车顶上的传感器)之间的有效、鲁棒的通信系统和方法。



    技术实现要素:

    本文描述了用于传感器(诸如车辆车顶上的传感器)之间通信的系统和方法。本公开的各种实施例提供了一种传感器系统,包括在菊花链通信网络中彼此连接的传感器。传感器系统还包括连接到至少一个传感器的控制器。控制器被配置为基于来自传感器的数据来操作车辆并操作菊花链通信网络。

    在一些实施例中,传感器之一被配置为:接收来自另一传感器的数据包;向接收的数据包添加附加数据包;以及将包括接收的数据包和附加数据包的组合数据包传输到附加传感器或控制器。在一些实施例中,数据包和附加数据包包括相应的时间戳,其指示捕获数据包和附加数据包中的每一个的时间以及数据包和附加数据包中的每一个的传输延迟。

    在一些实施例中,响应于传感器将组合数据包传输到控制器,控制器被配置为基于数据包和附加数据包的相应时间戳来处理数据包和附加数据包。

    在一些实施例中,响应于两个相邻传感器之间出现单点故障,相邻传感器之一检测单点故障并将故障传达给控制器;控制器响应于故障的传达而反转数据传输方向。

    在一些实施例中,控制器被配置为基于两个相邻传感器之间的数据传输的吞吐量随时间的变化来检测两个相邻传感器之间的单点故障;响应于检测到两个相邻传感器之间的单点故障,控制器被配置为反转数据传输方向。

    在一些实施例中,控制器被配置为基于两个相邻传感器之间的数据传输的吞吐量和两个相邻传感器之一与邻近传感器之间的数据传输的吞吐量的差异来检测两个相邻传感器之间的单点故障;响应于检测到两个相邻传感器之间的单点故障,控制器被配置为反转数据传输方向。

    在一些实施例中,响应于传感器不包括输入端口和输出端口,该传感器连接到具有输入端口和输出端口的定制接口盒,以与菊花链通信网络中的其他传感器连接。

    在一些实施例中,传感器系统还包括电源和在传感器之间的、以菊花链网络形式连接的电源线。

    在一些实施例中,传感器连接到定制接口盒,并且还包括电源和在定制接口盒之间的、以菊花链网络形式连接的电源线。

    在一些实施例中,传感器各自包括一个输入端口和两个输出端口。

    在一些实施例中,菊花链通信网络是双向通信网络,其在每个传感器处沿两个方向传输数据。

    在一些实施例中,传感器之一是触发传感器,在该触发传感器处开始数据通信。

    在一些实施例中,响应于两个相邻传感器之间出现单点故障,控制器被配置为基于数据传输是单向还是双向来确定是否反转数据传输方向。例如,如果数据传输是单向的,则控制器确定反转数据传输方向。如果数据传输是双向的,则控制器确定不反转数据传输方向。

    本公开的各种实施例提供了一种由车辆上的传感器系统实现的方法。该方法包括:将传感器组装在菊花链通信网络中;将控制器连接到传感器中的至少一个;以及由控制器基于来自传感器的数据,操作车辆和菊花链通信网络。

    在一些实施例中,该方法还包括:由传感器之一接收来自另一传感器的数据包;由传感器将附加数据包添加到接收的数据包;以及由传感器将包括接收的数据包和附加数据包的组合数据包传输到附加传感器或控制器。在一些实施例中,数据包和附加数据包包括相应的时间戳,其指示捕获数据包和附加数据包中的每一个的时间以及数据包和附加数据包中的每一个的传输延迟。

    在一些实施例中,该方法还包括:响应于传感器将组合数据包传输到控制器,由控制器基于数据包和附加数据包的相应时间戳来处理数据包和附加数据包。

    在一些实施例中,该方法还包括:响应于两个相邻传感器之间出现的单点故障,由相邻传感器之一检测单点故障并将故障传达给控制器;响应于故障的传达,由控制器反转数据传输方向。

    在一些实施例中,该方法还包括:由控制器基于两个相邻传感器之间的数据传输的吞吐量随时间的变化来检测两个相邻传感器之间的单点故障;响应于检测到两个相邻传感器之间的单点故障,由控制器反转数据传输方向。

    在一些实施例中,该方法还包括:由控制器基于两个相邻传感器之间的数据传输的吞吐量和两个相邻传感器之一与邻近传感器之间的数据传输的吞吐量的差异,检测两个相邻传感器之间的单点故障;响应于检测到两个相邻传感器之间的单点故障,由控制器反转数据传输方向。

    在一些实施例中,该方法还包括:响应于两个相邻传感器之间出现的单点故障,由相邻传感器之一检测单点故障并将故障传达给控制器;以及响应于故障的传达,由控制器基于数据传输是单向还是双向来反转数据传输方向。

    在一些实施例中,该方法还包括:由控制器基于两个相邻传感器之间的数据传输的吞吐量和两个相邻传感器之一与邻近传感器之间的数据传输的吞吐量的差异,检测两个相邻传感器之间的单点故障;以及响应于检测到两个相邻传感器之间的单点故障,由控制器基于数据传输是单向还是双向来反转数据传输方向。

    在一些实施例中,该方法还包括:响应于传感器不包括输入端口和输出端口,将该传感器连接到具有输入端口和输出端口的定制接口盒,以与菊花链通信网络中的其他传感器连接。

    在一些实施例中,该方法还包括连接电源和在传感器之间的、菊花链网络形式的电源线。

    在一些实施例中,该方法还包括将传感器连接到定制接口盒;并且连接电源和在定制接口盒之间的、菊花链网络形式的电源线。

    在一些实施例中,传感器各自包括一个输入端口和两个输出端口以与其他传感器连接。在菊花链通信网络中组装传感器包括在一个传感器的两个输出端口之一与另一传感器的输入端口之间连接传感器。

    本文公开的系统、方法和非暂时性计算机可读介质的这些和其他特征以及结构的相关元件的操作和功能以及部件的组合和制造的经济措施将通过参考附图考虑以下描述和所附权利要求而变得更显而易见,上述全部内容形成本说明书的一部分,其中相同的附图标记表示各附图中的对应部分。然而,应该清楚地理解,附图仅用于说明和描述的目的,并不旨在作为本发明的限制的定义。

    附图说明

    在所附权利要求中具体阐述了本技术的各种实施例的某些特征。通过参考以下详细描述将获得对该技术的特征和优点的更好理解,该详细描述阐述了利用本发明原理的说明性实施例以及附图:

    图1示出根据本公开的实施例的示例性车辆(例如,自主车辆)。

    图2示出根据本公开的实施例的菊花链传感器网络的示例图。

    图3a至图3b示出根据本公开的实施例的通过菊花链传感器网络进行数据传输的菊花链传感器网络的示例图。

    图4示出根据本公开的实施例的菊花链传感器网络的示例图。

    图5示出根据本公开的实施例的菊花链传感器网络的示例图。

    图6示出根据本公开的实施例的菊花链传感器网络的示例图。

    图7示出根据一些实施例的组装菊花链网络的方法的示例的流程图。

    图8是用于实现本文公开的特征的示例计算机系统的示图。

    具体实施方式

    为了使传感器有效地彼此通信,需要将传感器连接在鲁棒且可靠的网络中。例如,需要连接车辆车顶上的lidar和/或相机传感器以承受单点故障,并且还应以减少所需接线量的方式进行连接。使用菊花链网络可以有效地保持传感器之间的通信。即使在菊花链网络中出现单点故障,传感器仍将能够相互通信。与传统的星形拓扑网络相比,菊花链网络提高了传感器通信网络的鲁棒性。

    图1示出根据本公开的实施例的示例性车辆(诸如,自主车辆)100。车辆100通常是指能够自身在周围环境中进行感测和驾驶的一种车辆。车辆100可以包括无数传感器(相机、lidar、雷达系统、gps、声纳、超声波、imu(惯性测量单元)、加速度计、陀螺仪、磁力计和fir(远红外)传感器)以检测和识别周围的对象。例如,lidar传感器可以生成环境的三维地图。lidar传感器还可以检测环境中的对象。在另一示例中,雷达系统可以确定车辆100周围的对象的距离和速度,并且可以被配置为用于自适应巡航控制和/或事故避免和盲点检测。在另一示例中,相机可以捕获和处理图像数据以检测和识别诸如道路标志的对象,以及解密对象的内容,诸如张贴在道路标志上的限速。例如,这样的对象可以包括但不限于行人、道路标志、交通信号灯和/或其他车辆。车辆100还可以包括无数致动器,以在周围环境中推进和导航车辆100。这样的致动器可以包括例如用于控制油门响应、制动动作、转向动作等的任何合适的机电装置或系统。在一些实施例中,车辆100可以识别、解释和分析道路标志(例如,限速、学校区域、建筑区域等)和交通信号灯(例如,红灯、黄灯、绿灯、红灯闪烁等)。例如,车辆100可以基于张贴在道路上的限速标志来调整车辆速度。在一些实施例中,车辆100可以相对于周围环境中的其他对象确定和调整车辆100行驶的速度。例如,车辆100可以与前方车辆保持恒定的安全距离(例如,自适应巡航控制)。在该示例中,车辆100通过不断地将其车速调整为前方车辆的速度来维持该安全距离。

    在各个实施例中,车辆100可以在有限的人为输入或没有人为输入的情况下在道路、街道和/或地形上导航。本文中所使用的“车辆”一词包括在地面上行驶的车辆(例如,小汽车、卡车、公共汽车等),但也可以包括在空中行驶的车辆(例如,无人机、飞机、直升机等)、在水上行驶的车辆(例如,船、潜艇等)。此外,本文中讨论的“车辆”可以或可以不在其中容纳一个或多个乘客。此外,短语“自主车辆”、“无人驾驶车辆”或不需要主动人为参与的任何其他车辆可以互换使用。

    通常,车辆100可以对其自身进行人类驾驶员可以在常规车辆上进行的任何控制。例如,车辆100可以像人类驾驶员在常规车辆上一样加速、制动、左转或右转或倒车。车辆100还可以像人类驾驶员一样感测环境条件、测量空间关系(例如,对象与自身之间的距离)、检测和分析道路标志。此外,车辆100可以执行更复杂的操作,诸如并行停车、在拥挤的停车场停车、碰撞避免等,而无需任何人为输入。

    在各个实施例中,车辆100可以包括车顶101、相机传感器102、104和106以及设置在车顶101上的lidar传感器108。相机传感器102、104和106与lidar传感器108之间的连接将参考图2至图4进行描述,相机传感器102、104、106和lidar传感器108之间的连接可以通过图2至图4中描述的任何网络来实现。

    图2示出根据本公开的实施例的菊花链传感器网络200的示例图。菊花链网络200包括电连接在包括导线218、228、238和248的菊花链网络中的传感器210、220、230和240。传感器210、220、230和240中的每一个包括至少一个输入端口和一个输出端口。传感器210、220、230和240可以是相机传感器。传感器210、220、230和240中的至少一个可以具有不同的模态,诸如lidar或雷达。导线218可以连接在传感器210的输出端口212和传感器220的输入端口224之间。导线228可以连接在传感器220的输出端口222和传感器230的输入端口234之间。导线238可以连接在传感器230的输出端口232和传感器240的输入端口244之间。导线248可以连接在传感器240的输出端口242和传感器210的输入端口214之间。传感器210和240可以经由导线256和258连接到控制器250。控制器250包括两个端口252和254,其分别连接到传感器240的连接端口246和传感器210的连接端口216。控制器250可以获取并处理来自传感器210、220、230和240的数据,并在车辆上执行操作,诸如改变速度、转向或变道。例如,控制器250可以针对传感器210、220、230和240的传输的时间延迟进行调整。控制器250可以使用来自传感器210、220、230和240的数据来控制诸如车辆100的车辆的操作。控制器250可以控制网络200的操作,诸如解决单点故障。例如,控制器250可以响应于单点故障而反转数据传输方向。在一些示例中,传感器210、220、230和240可以布置在车辆的车顶上,并且控制器250可以布置在车辆上的其他地方。

    传感器210、220、230和240与控制器250之间的通信协议可以基于can、can-fd、lin、诸如汽车以太网的以太网(例如,100base-t1或1000base-t1)或专有总线协议。通信协议可以采用单个双向通道、两个单向通道或两个双向通道以实现额外的冗余。

    图3a示出根据本公开的实施例的通过菊花链传感器网络300进行数据传输的菊花链传感器网络300的示例图。作为示例,菊花链传感器网络300可以包括传感器310、320、330和340。传感器310、320、330和340可以是相机传感器。传感器310、320、330和340可以是相机传感器。传感器310、320、330和340中的至少一个可以具有不同的模态,诸如lidar或雷达。例如,如果传感器310未配备有两个端口(一个输入端口和一个输出端口),则传感器310可以连接至定制接口盒311,以促使与菊花链网络的连接。定制接口盒311可以包括输入端口312、输出端口313和连接端口314。例如,如果传感器320未配备有两个端口(一个输入端口和一个输出端口),则传感器320可以连接至定制接口盒321,以促使与菊花链网络的连接。定制接口盒331可以包括输入端口332和输出端口333。例如,如果传感器330未配备有两个端口(一个输入端口和一个输出端口),则传感器330可以连接至定制接口盒331,以促使与菊花链网络的连接。定制接口盒331可以包括输入端口332和输出端口333。例如,如果传感器340未配备有两个端口(一个输入端口和一个输出端口),则传感器340可以连接至定制接口盒341,以促使与菊花链网络的连接。定制接口盒341可以包括输入端口342和输出端口343。

    定制接口盒311的输出端口313可以经由导线315连接到定制接口盒321的输入端口322。替代地,例如,如果传感器320具有输入端口和输出端口,则定制接口盒311的输出端口313可以直接连接到传感器320的输入端口,而不连接到定制接口盒321。定制接口盒321的输出端口323可以经由导线325连接到定制接口盒331的输入端口332。替代地,例如,如果传感器330具有输入端口和输出端口,则定制接口盒321的输出端口323可以直接连接到传感器330的输入端口,而不连接到定制接口盒331。定制接口盒331的输出端口333可以经由导线335连接到定制接口盒341的输入端口342。替代地,例如,如果控制器340具有输入端口和输出端口,则定制接口盒331的输出端口333可以直接连接到传感器340的输入端口,而不连接到定制接口盒331。定制接口盒341的输出端口343可以经由导线345连接到定制接口盒311的输入端口312。替代地,定制接口盒341的输出端口343可以连接到传感器310的输入端口。导线315、325、335和345可以彼此电隔离,使得导线之一的故障不会影响其他导线。导线315、325、335和345可以是通信通道。另外,电源线(未示出)可以在各传感器之间延伸,并且可以以菊花链网络进行组织。

    定制接口盒311的连接端口314可以通过导线358连接到控制器350的连接端口354。定制接口盒341的连接端口344可以通过导线356连接到控制器350的连接端口352。控制器350可以获取并处理来自传感器310、320、330和340的数据。例如,控制器350可以针对传感器310、320、330和340的传输的时间延迟进行调整。控制器350可以使用来自传感器310、320、330和340的数据来控制诸如车辆100的车辆的操作。例如,控制器350可以对车辆执行操作,诸如改变速度、转向或变道。控制器350可以控制网络300的操作,诸如解决单点故障。例如,控制器350可以响应于单点故障而反转数据传输方向。在一些示例中,传感器310、320、330和340可以布置在车辆的车顶上,并且控制器350可以布置在车辆上的其他地方。

    来自传感器310、320、330和340的数据包可以通过菊花链网络300从传感器310、320、330和340中的每一个传输到控制器350。传感器310、320、330和340中的每一个的位置处都可以添加附加的数据包。每个数据包可以包括时间戳。在单次传输期间,数据传输可以是单向的。数据包a可以通过导线315从传感器310传输到传感器320。在传感器320处,数据包b可以被添加到数据包a。包括a和b的组合数据包可以从传感器320通过导线325传输到传感器330。在传感器330处,数据包c可以被添加到包括a和b的组合数据包以形成包括a、b和c的组合数据包。可以将包括a、b和c的组合数据包传输到传感器340,其中可以添加数据包d以产生包括a、b、c和d的组合数据包,其可以通过导线356发送到控制器350。

    控制器350可以基于指示数据包a、b、c和d中每一个的传输延迟时间的数据包a、b、c和d中每一个的时间戳来调整组合数据包a、b、c和d,以考虑数据包a、b、c和d中每一个的不同时间延迟。例如,数据包a可以来自在其他数据包b、c和d之前捕获了图像数据的相机。下面的表1示出了数据包(例如,b、c和d)的传输延迟时间。控制器350可以处理或调整每个数据包中的图像数据,以解决每个数据包的不同捕获时间。每个包的传输延迟时间可以由等待时间和处理时间之和确定。等待时间可以包括包从一个传感器行进到另一传感器或从传感器到控制器350所花费的时间、每个传感器分析包的头信息和/或向包添加附加数据所花费的时间以及数据包在传感器处的存储延迟。处理时间可以包括在添加另一数据包中花费的时间。在一些示例中,数据包a的等待时间是x1 x2 x3 x4。x1是数据包a从传感器310行进到传感器320所花费的时间,并且还包括传感器320处的数据包a的预处理延迟和后处理延迟。x2是组合数据包a和b从传感器320行进到传感器330所花费的时间,并且还包括传感器330处的组合数据包a和b的预处理延迟和后处理延迟。x3是组合数据包a、b和c从传感器330行进到传感器340所花费的时间,并且还包括传感器340处的组合数据包a、b和c的预处理延迟和后处理延迟。x4是组合数据包a、b、c和d从传感器340行进到控制器350所花费的时间,并且还包括控制器350处的组合数据包a、b、c和d的预处理延迟和后处理延迟。在一些示例中,数据包a的处理时间是y1 y2 y3 y4。y1指示在传感器310处处理数据包a所花费的时间。y2指示在传感器320处处理组合数据包a和b所花费的时间。y3指示在传感器330处处理组合数据包a、b和c所花费的时间。y4指示在传感器340处处理组合数据包a、b、c和d所花费的时间。传输延迟时间包括传感器之间的传输、每个传感器处的处理期间针对每个包所花费的时间以及每个传感器处的其他延迟。控制器350可以处理或调整每个数据包中的图像数据,以解决每个数据包的不同捕获时间。

    表1:

    传感器310、320、330和340与控制器350之间的通信协议可以基于can、can-fd、lin、诸如汽车以太网的以太网(例如,100base-t1或1000base-t1)或专有总线协议。通信协议可以采用单个双向通道、两个单向通道或两个双向通道以实现额外的冗余。

    图3a中的菊花链网络展示了针对单点故障(例如,如果导线或传感器无法使用)的鲁棒性。例如,如图3b中的菊花链网络301所示,如果导线325无法使用(诸如,由于下雨而接地、断路或以其他方式不导电),则控制器350仍能够从传感器310、320、330和340中的每一个获取数据。相邻传感器320和/或330之一可以检测到导线325无法使用(例如,基于在一段时间内没有接收到来自相邻传感器的数据),并向其他传感器310和340以及控制器350发出警报。另外,相邻传感器320和/或330之一可以增加其功能以补偿无法使用的导线325。替代地,控制器350可以基于邻近的相邻传感器之间的数据传输的吞吐量的差异来检测导线或传感器无法使用。例如,如果在传感器320和传感器330之间没有记录数据传输,但是在传感器330和传感器340之间记录了数据传输,则控制器350可以检测到导线325断裂或传感器320有缺陷。在一些实施例中,控制器350可以响应于例如320与330之间的数据传输的吞吐量随时间的变化而检测到导线325断裂或传感器320有缺陷。

    即使在单点故障的情况下,控制器仍可以从传感器310、320、330和340中的每一个获取数据。为了从传感器310获取数据,控制器350可以反转数据传输方向,以便来自传感器310的数据(诸如数据包a)可以通过导线358发送到控制器350,或者通过导线345发送到传感器340,并且通过导线356发送到控制器350。为了从传感器320获取数据,控制器350可以反转数据传输方向,以便可以将来自传感器320的数据(诸如数据包b)通过导线315发送到传感器310。可以从传感器310将数据包a添加到数据包b以形成组合数据包a和b,然后其可以通过导线358发送到控制器350,或者通过导线345发送到传感器340,此时可以添加数据包d,并且组合数据包a、b和d可以通过导线356传输到控制器350。

    此外,在单点故障的情况下,来自传感器330的数据(诸如数据包c)可以通过导线335发送到传感器340,而不反转数据传输方向。从传感器340,可以向数据包c添加数据包d,并且可以将其通过导线356发送到控制器350。替代地,可以通过导线345将组合数据包c和d发送到传感器310,并添加数据包a,并且可以通过导线358将组合数据包c、d和a发送到控制器350。

    在一些实施例中,可以并行地提供各传感器310、320、330和340之间的两个通信信道。每个通信信道可以支持相反两方向上的数据传输。例如,数据传输可以同时在两个方向上发生。在一些实施例中,各传感器310、320、330和340之间的单个通信信道可以是双向的。例如,可以通过开关来调整单个通信信道上的传输方向。在一些实施例中,可以在各传感器310、320、330和340之间提供两个双向通道。

    图4示出根据本公开的实施例的菊花链传感器网络400的示例图。在菊花链网络400中,传感器410、420、430和440各自具有两个输出端口和一个输入端口。传感器410包括输出端口412和414以及输入端口416。传感器420包括输出端口422和424以及输入端口426。传感器430包括输出端口432和434以及输入端口436。传感器440包括输出端口442和444以及输入端口446。传感器410可以通过输出端口412和输入端口426之间的导线418连接到传感器420。传感器420可以通过输出端口422和输入端口436之间的导线428连接到传感器430。传感器430可以通过输出端口434和输入端口446之间的导线438连接到传感器440。传感器440可以通过输出端口444和输入端口416之间的导线448连接到传感器410。传感器440可以通过输出端口442和连接端口452之间的导线456连接到控制器450。传感器450可以通过输出端口414和连接端口454之间的导线458连接到传感器410。例如,控制器450可以被实现为控制器350或250。

    传感器410、420、430和440与控制器450之间的通信协议可以基于can、can-fd、lin、诸如汽车以太网的以太网(例如,100base-t1或1000base-t1)或专有总线协议。通信协议可以采用单个双向通道、两个单向通道或两个双向通道以实现额外的冗余。

    图5示出根据本公开的实施例的菊花链传感器网络的示例图。作为示例,菊花链传感器网络500可以包括传感器510、520、530和540。传感器510、520、530和540可以是相机传感器。传感器510、520、530和540可以是相机传感器。传感器510、520、530和540中的至少一个可以具有不同的模态,诸如lidar或雷达。例如,如果传感器510未配备有两个端口(一个输入端口和一个输出端口),则传感器510可以连接至定制接口盒511,以促使与菊花链网络的连接。定制接口盒511可以包括输入端口512和513、输出端口514和515以及连接端口518。例如,如果传感器520未配备有两个端口(一个输入端口和一个输出端口),则传感器520可以连接至定制接口盒521,以促使与菊花链网络的连接。定制接口盒521可以包括输入端口522和523以及输出端口524和525。例如,如果传感器530未配备有两个端口(一个输入端口和一个输出端口),则传感器530可以连接至定制接口盒531,以促使与菊花链网络的连接。定制接口盒531可以包括输入端口532和533以及输出端口534和535。例如,如果传感器540未配备有两个端口(一个输入端口和一个输出端口),则传感器540可以连接至定制接口盒541,以促使与菊花链网络的连接。定制接口盒541可以包括输入端口542和543以及输出端口544和545。

    定制接口盒511的输出端口514可以经由导线516连接到定制接口盒521的输入端口522。定制接口盒521的输出端口524可以经由导线526连接到定制接口盒531的输入端口532。定制接口盒531的输出端口534可以经由导线536连接到定制接口盒541的输入端口542。定制接口盒541的输出端口544可以经由导线546连接到定制接口盒511的输入端口512。导线516、526、536和546可以彼此电隔离,使得导线之一的故障不会影响其他导线。导线516、526、536和546可以是通信通道。另外,电源线517、527、537和547可以在各定制接口盒511、521、531和541之间延伸,并为传感器510、520、530和540供电,并且可以以菊花链网络形式进行组织。电源线517、527、537和547可以通过传感器540经由电源线562而电连接到电源560。电源线517可以相应地连接在定制接口盒511的输出端口515和定制接口盒521的输入端口523之间。电源线527可以相应地连接在定制接口盒521的输出端口525和定制接口盒531的输入端口533之间。电源线537可以相应地连接在定制接口盒531的输出端口535和定制接口盒541的输入端口543之间。电源线547可以相应地连接在定制接口盒541的输出端口545和定制接口盒551的输入端口533之间。在其他实施例中,电源线517、527、537和547可以直接连接或连接在传感器510、520、530和540之间,而无需使用定制接口盒511、521、531和541。

    定制接口盒511的连接端口518可以通过导线558连接到控制器550的连接端口554。定制接口盒541的连接端口548可以通过导线556连接到控制器550的连接端口552。控制器550可以获取并处理来自传感器510、520、530和540的数据。例如,控制器550可以针对传感器510、520、530和540的传输的时间延迟进行调整。控制器550可以使用来自传感器510、520、530和540的数据来控制诸如车辆100的车辆的操作。例如,控制器550可以对车辆执行操作,诸如改变速度、转向或变道。控制器550可以控制菊花链网络500的操作,诸如解决单点故障。例如,控制器550可以响应于单点故障而反转数据传输方向。在一些示例中,传感器510、520、530和540可以布置在车辆的车顶上,并且控制器550可以布置在车辆上的其他地方。

    传感器510、520、530和540与控制器550之间的通信协议可以基于can、can-fd、lin、诸如汽车以太网的以太网(例如,100base-t1或1000base-t1)或专有总线协议。通信协议可以采用单个双向通道、两个单向通道或两个双向通道以实现额外的冗余。

    图6示出根据本公开的实施例的菊花链传感器(610、620、630和640)网络400的示例图。在一些实施例中,可以并行地提供各传感器610、620、630和640之间的两个通信信道。每个通信信道可以支持相反两方向上的数据传输。例如,数据传输可以同时在两个方向上发生。传感器610、620、630和640可以是相机传感器。传感器610、620、630和640可以是相机传感器。传感器610、620、630和640中的至少一个可以具有不同的模态,诸如lidar或雷达。例如,如果传感器610未配备有两个端口(一个输入端口和一个输出端口),则传感器610可以连接至定制接口盒611,以促使与菊花链网络的连接。定制接口盒611可以包括输入端口612、输出端口613和连接端口614。例如,如果传感器620未配备有两个端口(一个输入端口和一个输出端口),则传感器620可以连接至定制接口盒621,以促使与菊花链网络的连接。定制接口盒621可以包括输入端口622和输出端口623。例如,如果传感器630未配备有两个端口(一个输入端口和一个输出端口),则传感器630可以连接至定制接口盒631,以促使与菊花链网络的连接。定制接口盒631可以包括输入端口632和输出端口633。例如,如果传感器640未配备有两个端口(一个输入端口和一个输出端口),则传感器640可以连接至定制接口盒641,以促使与菊花链网络的连接。定制接口盒641可以包括输入端口642和输出端口643。

    定制接口盒611的输出端口613可以经由包括双向导线615和616的通信信道连接到定制接口盒621的输入端口622。替代地,例如,如果传感器620具有输入端口和输出端口,则定制接口盒611的输出端口613可以直接连接到传感器620的输入端口,而不连接到定制接口盒621。定制接口盒621的输出端口623可以经由包括双向导线625和626的通信信道连接到定制接口盒631的输入端口632。替代地,例如,如果传感器630具有输入端口和输出端口,则定制接口盒621的输出端口623可以直接连接到传感器630的输入端口,而不连接到定制接口盒631。定制接口盒631的输出端口633可以经由包括双向导线635和636的通信信道连接到定制接口盒641的输入端口642。替代地,例如,如果控制器340具有输入端口和输出端口,则定制接口盒331的输出端口333可以直接连接到传感器340的输入端口,而不连接到定制接口盒331。定制接口盒341的输出端口343可以经由包括双向导线645和646的通信信道连接到定制接口盒311的输入端口312。替代地,定制接口盒641的输出端口643可以连接到传感器610的输入端口。导线615、616、625、626、635、636、645和646可以彼此电隔离,使得导线之一的故障不会影响其他导线。

    定制接口盒611的连接端口614可以通过双向导线658和659连接到控制器650的连接端口654。定制接口盒641的连接端口644可以通过双向导线655和656连接到控制器650的连接端口652。控制器650可以获取并处理来自传感器610、620、630和640的数据。例如,控制器650可以针对传感器610、620、630和640的传输的时间延迟进行调整。控制器650可以使用来自传感器610、620、630和640的数据来控制诸如车辆100的车辆的操作。例如,控制器650可以对车辆执行操作,诸如改变速度、转向或变道。因为数据传输是双向的,所以在发生故障的情况下,控制器650不需要反转数据传输方向,这是因为将通过反向通信路径接收数据包。因此,控制器(诸如控制器650)可以基于数据传输是单向还是双向来确定是否响应于故障而反转数据传输方向,并采取这种动作。例如,如果数据传输是单向的,则控制器650确定反转数据传输方向。如果数据传输是双向的,则控制器650确定不反转数据传输方向。在发生故障时,可以从与故障位置相邻的一个或多个传感器发送数据包。可以将与故障位置相邻的一个或多个传感器设置为用于数据传输的触发点(例如,数据传输开始的点)。控制器650可以根据网络600的故障模式进行裁定。

    来自传感器610、620、630和640的数据包可以通过菊花链网络600从传感器610、620、630和640中的每一个传输到控制器650。最初,仅单个传感器(例如,传感器610)可以被设置为开始数据传输的触发点。传感器610、620、630和640中的每一个的位置处都可以添加附加的数据包。每个数据包可以包括时间戳。数据传输可以是双向的。数据包a可以通过导线615从传感器610传输到传感器620。同时,数据包a也可以通过导线646从传感器610传输到传感器640。控制器650可以接收每个数据包两次,但时间不同。控制器650可以丢弃先前已经接收到的数据包。

    表2中示出了在一个实施例中由菊花链网络600提供的双向数据传输的示例性方案。在时间t1处,数据包a可以从传感器610传输到传感器620,并且还可以沿相反方向从传感器610传输到传感器640。“a1”表示在时间t1处传输数据包a。在时间t2处,数据包a1b2(添加有b的a)可以从传感器620传输到传感器630,同时从传感器620传输到传感器610。在时间t2处,数据包a1d2可以从传感器640传输到传感器630,同时从传感器640传输到传感器610。在时间t3处,数据包a1d2a3和a1b2a3可以从传感器610传输到传感器620,同时从传感器610传输到传感器640。在时间t3处,数据包a1d2c3和a1b2c3可以从传感器630传输到传感器640,同时从传感器630传输到传感器620。控制器650可以协调或调度用于将数据包卸载到控制器的时间和位置。例如,控制器650可以调度来自传感器640的每三个数据传输周期之后(例如,在时间t3之后)和/或来自传感器610的每四个数据传输周期之后的数据包的卸载。在时间t3处,数据包a1d2a3、a1b2a3、a1d2c3和a1b2c3将被卸载到控制器650。

    表2:

    控制器650可以基于指示每个数据包的传输延迟时间的每个数据包的时间戳来调整接收的数据包,以考虑每个数据包的不同时间延迟。例如,数据包a可以来自在其他数据包b、c和d之前捕获了图像数据的相机。下面的表3示出了数据包(例如,a、b、c和d)的传输延迟时间的示例性实施例。控制器650可以处理或调整每个数据包中的图像数据,以解决每个数据包的不同捕获时间。

    表3:

    在一些实施例中,控制器650可以实施措施以确保数据传输的安全性。在一些示例中,控制器650可以使用包括头信息和同步字段信息的标识信息来验证数据包的源。在一些示例中,控制器650可以基于从传感器610、620、630和/或640到控制器的数据传输的预期时间(考虑传输延迟),使用数据包的时间戳来认证数据包的源。如果数据包的时间戳在数据传输的预期时间的范围之外,则控制器650可以确定该数据包不是真实的。

    图7示出根据一些实施例的在菊花链通信网络中组装传感器的方法的流程图。在该流程图和其他流程图中,流程图800通过示例的方式示出了一系列步骤。应当理解,可以重新组织步骤以用于并行执行,或者如果适用的话重新排序。此外,为了清楚起见,可能已经删除了可能已经包括的一些步骤以避免提供太多信息,并且可以去除包括的一些步骤,但是为了说明清楚起见可能已经包括这些步骤。来自其他附图的描述也可以适用于图7。

    在步骤702中,可以将传感器组装在菊花链通信网络中。在步骤704中,控制器可以连接到传感器中的至少一个。在步骤706中,控制器可以基于来自传感器的数据来操作车辆和菊花链通信网络。

    硬件实施方式

    本文描述的技术由一个或多个专用计算设备实现。专用计算设备可以是硬连线的以执行该技术,或者可以包括电路或数字电子设备,诸如一个或多个专用集成电路(asic)或现场可编程门阵列(fpga),其被持久地编程为执行该技术,或者可以包括一个或多个硬件处理器,该硬件处理器被编程为根据固件、存储器、其他存储装置或组合中的程序指令来执行该技术。这种专用计算设备还可以将定制的硬连线逻辑、asic或fpga与定制编程相结合以实现该技术。专用计算设备可以是台式计算机系统、服务器计算机系统、便携式计算机系统、手持设备、网络设备或包含硬连线和/或程序逻辑以实现该技术的任何其他设备或设备的组合。

    计算设备通常由操作系统软件控制和协调,诸如ios、android、chromeos、windowsxp、windowsvista、windows7、windows8、windowsserver、windowsce、unix、linux、sunos、solaris、ios、blackberryos、vxworks或其他兼容操作系统。在其他实施例中,计算设备可以由专有操作系统控制。传统的操作系统控制和调度用于执行的计算机进程,执行存储器管理,提供文件系统、网络、i/o服务,以及提供用户界面功能,诸如图形用户界面(“gui”)等。

    图8是示出可以在其上实现本文描述的任何实施例的计算机系统800的框图。计算机系统800包括总线802或用于传送信息的其他通信机构、与总线802耦合以处理信息的一个或多个硬件处理器804。硬件处理器804可以例如是一个或多个通用微处理器。

    计算机系统800还包括主存储器806,诸如随机存取存储器(ram)、高速缓存和/或其他动态存储设备,其耦合到总线802以用于存储要由处理器804执行的信息和指令。存储器806还可以用于在执行要由处理器804执行的指令期间存储临时变量或其他中间信息。当存储在处理器804可访问的存储介质中时,这些指令使计算机系统800进入专用机器,即自定义以执行指令中指定的操作。

    计算机系统800还包括耦合到总线802的只读存储器(rom)808或其他静态存储设备,用于存储处理器804的静态信息和指令。存储设备810(诸如磁盘、光盘或usb拇指驱动器(闪存驱动器)等)被提供并耦合到总线802以存储信息和指令。

    计算机系统800可以经由总线802耦合到输出设备812,诸如阴极射线管(crt)或lcd显示器(或触摸屏),以用于向计算机用户显示信息。包括字母数字键和其他键的输入设备814耦合到总线802,以用于将信息和命令选择传送到处理器804。另一种类型的用户输入设备是光标控制816,诸如鼠标、轨迹球或光标方向键,以用于将方向信息和命令选择传送到处理器804并用于控制显示器812上的光标移动。该输入设备通常在两个轴上具有两个自由度,第一轴(例如,x)和第二轴(例如,y),其允许设备指定平面中的位置。在一些实施例中,可以通过在没有光标的情况下接收触摸屏上的触摸来实现与光标控制相同的方向信息和命令选择。

    计算系统800可以包括用户界面模块,用于实现gui,该gui可以作为由计算设备执行的可执行软件代码存储在大容量存储设备中。举例来说,该模块和其他模块可以包括:部件,例如软件部件、面对对象的软件部件、类部件和任务部件;工艺;功能;属性;过程;子程序;程序代码段;驱动器;固件;微代码;电路;数据;数据库;数据结构;表格;阵列;以及变量。

    通常,这里使用的词语“模块”指代以硬件或固件实现的逻辑,或者指代以编程语言(例如,java、c或c )编写的可能具有入口和出口点的软件指令的集合。软件模块可以被编译并链接到可执行程序中,安装在动态链接库中,或者可以用解译编程语言(例如basic、perl或python)编写。应当理解,软件模块可以从其他模块或从它们自己调用,和/或可以响应于检测到的事件或中断而被调用。被配置为用于在计算设备上执行的软件模块可以提供在计算机可读介质上,诸如光盘、数字视频盘、闪存驱动器、磁盘或任何其他有形介质,或者作为数字下载(并且可以最初以在执行之前需要安装、解压缩或解密的压缩或可安装格式存储)。这些软件代码可以部分或全部存储在执行计算设备的存储器设备上,以供计算设备执行。软件指令可以嵌入固件中,诸如eprom。还应当理解,硬件模块可以包括连接的逻辑单元,诸如门和触发器,和/或可以包括可编程单元,诸如可编程门阵列或处理器。这里描述的模块或计算设备功能优选地实现为软件模块,但是可以用硬件或固件表示。通常,这里描述的模块指代逻辑模块,其可以不管它们的物理组织或存储而与其他模块组合或被分成子模块。

    计算机系统800可以使用定制的硬连线逻辑、一个或多个asic或fpga、固件和/或程序逻辑来实现本文所述的技术,其与计算机系统组合使计算机系统800成为或被编成为特殊用途机器。根据一个实施例,这里的技术由计算机系统800响应于处理器804执行包含在主存储器806中的一个或多个指令的一个或多个序列来执行。这些指令可以从另一个存储器(诸如存储设备810)读入主存储器806中。包括在主存储器806中的指令序列的执行使得处理器804执行本文所述的处理步骤。在替代实施例中,可以使用硬连线电路代替软件指令或与软件指令组合。

    这里使用的术语“非暂时性介质”和类似术语指代存储使机器以特定方式操作的数据和/或指令的任何介质。这种非暂时性介质可以包括非易失性介质和/或易失性介质。非易失性介质包括例如光盘或磁盘,诸如存储设备810。易失性介质包括动态存储器,诸如主存储器606。常规形式的非暂时性介质包括例如软盘、可折叠盘、硬盘、固态驱动器、磁带或任何其他磁数据存储介质、cd-rom、任何其他光学数据存储介质、任何具有孔图案的物理介质、ram、prom和eprom、flash-eprom、nvram、任何其他存储器芯片或盒式磁带以及相同的网络版本。

    非暂时性介质不同于但可以与传输介质结合使用。传输介质参与非暂时性介质之间的信息传递。例如,传输介质包括同轴电缆、铜线和光纤,包括包含总线802的导线。传输介质也可以采用声波或光波的形式,诸如在无线电波和红外数据通信期间产生的声波或光波。

    在将一个或多个指令的一个或多个序列传送到处理器804以供执行时可以涉及各种形式的介质。例如,指令最初可以承载在远程计算机的磁盘或固态驱动器上。远程计算机可以将指令加载到其动态存储器中,并使用调制解调器通过电话线发送指令。计算机系统800本地的调制解调器可以在电话线上接收数据并使用红外发射机将数据转换成红外信号。红外检测器可以接收红外信号中携带的数据,并且适当的电路可以将数据放置在总线802上。总线802将数据传送到主存储器806,处理器804从中检索并执行指令。主存储器806接收的指令可以检索并执行指令。主存储器806接收的指令可以可选地在由处理器804执行之前或之后存储在存储设备810上。

    计算机系统800还包括耦合到总线802的通信接口818。通信接口818提供耦合到连接到一个或多个本地网络的一个或多个网络链路的双向数据通信。例如,通信接口818可以是综合服务数字网(isdn)卡、电缆调制解调器、卫星调制解调器或调制解调器,以提供与对应类型的电话线的数据通信连接。作为另一示例,通信接口818可以是局域网(lan)卡,以提供与兼容lan(或与wan通信的wan部件)的数据通信连接。还可以实现无线链路。在任何这样的实施方式中,通信接口818发送和接收携带表示各种类型信息的数字数据流的电信号、电磁信号或光信号。

    网络链路通常通过一个或多个网络向其他数据设备提供数据通信。例如,网络链路可以提供通过本地网络到主计算机或由因特网服务提供商(isp)操作的数据设备的连接。isp又通过现在通常称为“因特网”的全球分组数据通信网络提供数据通信服务。本地网络和因特网都使用携带数字数据流的电信号、电磁信号或光信号。通过各种网络的信号和网络链路上的信号以及通过通信接口818(其将数字数据传送到计算机系统800和从计算机系统600传送数字数据)是传输介质的示例形式。

    计算机系统800可以通过网络、网络链路和通信接口818发送消息和接收数据,包括程序代码。在因特网示例中,服务器可以通过因特网、isp、本地网络和通信接口818发送应用程序的请求代码。

    所接收的代码可以在其被接收时由处理器804执行,和/或存储在存储设备810或其他非易失性存储器中以供稍后执行。

    前面部分中描述的每个过程、方法和算法可以由包括计算机硬件的一个或多个计算机系统或计算机处理器执行的代码模块实现,并且完全或部分自动化。过程和算法可以部分或全部地在专用电路中实现。

    上述各种特征和过程可以彼此独立地使用,或者可以以各种方式组合。所有可能的组合和子组合都旨在落入本公开的范围内。另外,在一些实施方式中可以省略某些方法或过程框。本文描述的方法和过程也不限于任何特定序列,并且与其相关的框或状态可以以适当的其他序列执行。例如,所描述的框或状态可以以不同于具体公开的顺序执行,或者多个框或状态可以组合为单个框或状态。示例框或状态可以以串行、并行或以某种其他方式执行。可以向所公开的示例实施例添加框或状态或从其中移除框或状态。这里描述的示例系统和部件可以与所描述的不同地配置。例如,与所公开的示例实施例相比,可以添加、移除或重新布置元件。

    除非另有说明,或者在所使用的上下文中以其他方式理解,否则条件性语言,诸如“可以”、“可”、“有可能”或“可能”通常旨在表达特定实施例包括而其他实施例不包括特定特征、元素和/或步骤。因此,这种条件性语言通常不旨在暗示一个或多个实施方式以任何方式需要特征、元素和/或步骤,或者一个或多个实施例必须包括用于在有或没有用户输入或提示的情况下决定在任何特定实施例中是否包括或要实现这些特征、元素和/或步骤的逻辑。

    本文描述和/或附图中描绘的流程图中的任何过程描述、元素或框应被理解为潜在地表示包括用于实现过程中的特定逻辑功能或步骤的一个或多个可执行指令的代码的模块、片段或部分。替代实施方式包括在本文描述的实施方案的范围内,其中可以删除元素或功能,从所示或讨论的顺序执行,包括基本上同时或以相反的顺序,取决于所涉及的功能,如本领域技术人员将理解的。

    应该强调的是,可以对上述实施例进行许多变化和修改,其中的元素应被理解为是其他可接受的示例。所有这些修改和变化旨在包括在本公开的范围内。前面的描述详述了本发明的某些实施例。然而,应当理解,无论前述内容在文本中如何详细,本发明都可以以多种方式实施。如上所述,应当注意,在描述本发明的某些特征或方面时使用特定术语不应被视为意味着术语在本文中被重新定义为限于包括与术语相关的本发明的特征或方面的任何特定特征。因此,本发明的范围应根据所附权利要求及其任何等同物来解释。

    引擎、部件和逻辑

    本文将某些实施例描述为包括逻辑或多个部件、引擎或机构。引擎可以构成软件引擎(例如,在机器可读介质上体现的代码)或硬件引擎。“硬件引擎”是能够执行某些操作的有形单元,并且可以以某种物理方式配置或布置。在各种示例实施例中,一个或多个计算机系统(例如,独立计算机系统、客户端计算机系统或服务器计算机系统)或计算机系统的一个或多个硬件引擎(例如,处理器或一组处理器)可以由软件(例如,应用或应用部分)配置为可以执行如本文所述的某些操作的硬件引擎。

    在一些实施例中,硬件引擎可以机械地、电子地或其任何合适的组合来实现。例如,硬件引擎可以包括永久配置为执行某些操作的专用电路或逻辑。例如,硬件引擎可以是专用处理器,诸如现场可编程门阵列(fpga)或专用集成电路(asic)。硬件引擎还可以包括由软件临时配置以执行某些操作的可编程逻辑或电路。例如,硬件引擎可以包括由通用处理器或其他可编程处理器执行的软件。一旦由这样的软件配置,硬件引擎就变成专门定制的特定机器(或机器的特定部件)以执行配置的功能,而不再是通用处理器。应当理解,在专用和永久配置的电路中或在临时配置的电路(例如,由软件配置)中机械地实现硬件引擎的决定可以由成本和时间考虑来驱动。

    因此,短语“硬件引擎”应该被理解为包含有形实体,即物理构造、永久配置(例如,硬连线)或临时配置(例如,编程)以按照特定方式操作或执行本文所述的某些操作的实体。如这里所使用的,“硬件实现的引擎”指代硬件引擎。考虑其中临时配置(例如,编程)硬件引擎的实施例,不需要在任何一个时刻配置或实例化每个硬件引擎。例如,在硬件引擎包括由软件配置成为专用处理器的通用处理器的情况下,通用处理器可以在不同时间被配置为分别不同的专用处理器(例如,包括不同的硬件引擎)。软件相应地配置特定的一个或多个处理器,例如,在一个时刻构成特定的硬件引擎,并在不同的时刻构成不同的硬件引擎。

    硬件引擎可以向其他硬件引擎提供信息并从其接收信息。因此,所描述的硬件引擎可以被视为通信地耦合。在同时存在多个硬件引擎的情况下,可以通过在两个或更多个硬件引擎之间或之中的信号传输(例如,通过适当的电路和总线)来实现通信。在其中在不同时间配置或实例化多个硬件引擎的实施例中,可以例如通过存储和检索多个硬件引擎可访问的存储器结构中的信息来实现这些硬件引擎之间的通信。例如,一个硬件引擎可以执行操作并将该操作的输出存储在与其通信耦合的存储器设备中。然后,另一硬件引擎可以稍后访问存储器设备以检索和处理存储的输出。硬件引擎还可以发起与输入或输出设备的通信,并且可以在资源(例如,信息集合)上操作。

    本文描述的示例方法的各种操作可以至少部分地由临时配置(例如,通过软件)或永久配置为执行相关操作的一个或多个处理器来执行。无论是临时配置还是永久配置,这样的处理器可以构成处理器实现的引擎,其用于执行本文描述的一个或多个操作或功能。如这里所使用的,“处理器实现的引擎”指代使用一个或多个处理器实现的硬件引擎。

    类似地,这里描述的方法可以至少部分地由处理器实现,其中特定处理器是硬件的示例。例如,方法的至少一些操作可以由一个或多个处理器或处理器实现的引擎执行。此外,一个或多个处理器还可以操作以支持“云计算”环境中的相关操作的性能或“软件即服务”(saas)。例如,至少一些操作可以由一组计算机(作为包括处理器的机器的示例)执行,这些操作可以经由网络(例如,因特网)并且经由一个或多个适当的接口(例如,应用程序接口(api)来访问。

    某些操作的性能可以在处理器之间分配,不仅驻留在单个机器内,而且部署在多个机器上。在一些示例实施例中,处理器或处理器实现的引擎可以位于单个地理位置(例如,在家庭环境、办公室环境或服务器群内)。在其他示例实施例中,处理器或处理器实现的引擎可以分布在多个地理位置。

    语言

    在整个说明书中,多个实例可以实现被描述为单个实例的部件、操作或结构。尽管一个或多个方法的各个操作被示出并描述为单独的操作,但是可以同时执行一个或多个单独的操作,并且不需要以所示的顺序执行操作。在示例配置中作为单独部件呈现的结构和功能可以实现为组合结构或部件。类似地,作为单个部件呈现的结构和功能可以实现为单独的部件。这些和其他变化、修改、添加和改进都落入本文主题的范围内。

    尽管已经参考特定示例实施例描述了主题的概述,但是在不脱离本公开的实施例的更宽范围的情况下,可以对这些实施例进行各种修改和改变。本文的主题的这些实施例可以单独地或共同地由词语“本发明”来引用,仅是为了方便,并且在事实上公开了多个发明概念的情况下,不打算主动地将本申请的范围限制为任何单个发明或概念。

    足够详细地描述本文示出的实施例以使本领域的技术人员能够实践公开教导。可以利用并从中导出其他实施例,使得可以在不脱离本公开的范围的情况下进行结构和逻辑替换和改变。因此,该详细描述不应被视为具有限制意义,并且各种实施例的范围仅由所附权利要求以及这些权利要求所享有的等同物的全部范围来限定。

    应当理解,“引擎”、“系统”、“数据存储”和/或“数据库”可以包括软件、硬件、固件和/或电路。在一个示例中,包括能够由处理器执行的指令的一个或多个软件程序可以执行本文描述的引擎、数据存储、数据库或系统的一个或多个功能。在另一示例中,电路可以执行相同或类似的功能。替代实施例可以包括更多、更少或功能上等同的引擎、系统、数据存储或数据库,并且仍然在本实施例的范围内。例如,各种系统、引擎、数据存储和/或数据库的功能可以不同地组合或划分。

    “开源”软件在此定义为允许作为源代码和编译形式进行分发的源代码,具有获得源的广为人知和索引的方法,可选地具有允许修改和衍生物的许可。

    这里描述的数据存储可以是任何合适的结构(例如,活动数据库、关系数据库、自引用数据库、表、矩阵、阵列、平面文件、面向文档的存储系统、非关系型no-sql系统等),可以是基于云的或其他方式。

    如本文所使用的,词语“或”可以以包含性或排他性的含义来解释。此外,可以为在此描述为单个实例的资源、操作或结构提供多个实例。另外,各种资源、操作、引擎、引擎和数据存储之间的边界在某种程度上是任意的,并且在特定说明性配置的上下文中示出了特定操作。设想了其他功能分配,并且可以落入本公开的各种实施例的范围内。通常,在示例配置中作为单独资源呈现的结构和功能可以实现为组合结构或资源。类似地,作为单个资源呈现的结构和功能可以实现为单独的资源。这些和其他变化、修改、添加和改进落入由所附权利要求表示的本公开的实施例的范围内。因此,说明书和附图被认为是说明性的而不是限制性的。

    除非另有说明,或者在所使用的上下文中以其他方式理解,否则条件性语言,诸如“可以”、“可”、“有可能”或“可能”通常旨在表达特定实施例包括而其他实施例不包括特定特征、元素和/或步骤。因此,这种条件性语言通常不旨在暗示一个或多个实施方式以任何方式需要特征、元素和/或步骤,或者一个或多个实施例必须包括用于在有或没有用户输入或提示的情况下决定在任何特定实施例中是否包括或要实现这些特征、元素和/或步骤的逻辑。

    例如,在一些实施例中,“是”可以表示“应该是”、“需要是”、“要求是”或“希望是”。

    在以下描述中,阐述了某些特定细节,以便提供对本发明的各种实施例的透彻理解。然而,本领域技术人员将理解,可以在没有这些细节的情况下实践本发明。而且,尽管本文公开了本发明的各种实施例,但是根据本领域技术人员的公知常识,可以在本发明的范围内做出许多修改和变型。这样的变型包括用已知等效物替代本发明的任何方面,以便以基本上相同的方式获得相同的结果。

    除非上下文另外要求,否则在整个说明书和权利要求书中,词语“包括”及其变体(例如“囊括”和“包含”)应以开放的、包含性的含义来解释,即为“包括但不仅限于”。在整个说明书中对值的数值范围的引用旨在用作速记符号,分别指代落入包括限定范围的值在内的范围内的每个单独的值,并且每个单独的值如本文单独列举的那样并入说明书中。另外,单数形式的“一”、“一个”和“所述”包括复数对象,除非上下文另外明确指出。短语“至少之一”、“选自以下组中的至少一个”或“选自以下组成的组中的至少一个”等将以分离的形式解释(例如,不解释为a中的至少一个和b中的至少一个)。

    在整个说明书中,对“一个实施例”或“实施例”的引用是指结合该实施例描述的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,在整个说明书中各处出现的短语“在一个实施例中”或“在实施例中”不一定都指的是同一实施例,而在一些情况下可以是这样。此外,在一个或多个实施例中,特定特征、结构或特性可以以任何合适的方式组合。

    尽管为了说明的目的已经基于当前被认为是最实用和优选的实施方式详细描述了本发明,但是应该理解,这样的细节仅用于该目的并且本发明不是本发明的实施例仅限于所公开的实施方式,而是相反,旨在覆盖在所附权利要求的精神和范围内的修改和等同布置。例如,应该理解,本发明设想,在可能的范围内,任何实施例的一个或多个特征可以与任何其他实施例的一个或多个特征组合。

    为了说明和描述的目的提供了本发明的前述描述。其并非旨在穷举或将本发明限制所公开的确切形式。本发明的广度和范围不应受任何上述示例性实施例的限制。许多修改和变化对于本领域技术人员来说是显而易见的。修改和变化包括所公开特征的任何相关组合。选择和描述实施例是为了最好地解释本发明的原理及其实际应用,从而使得本领域其他技术人员能够理解本发明的各种实施例并且具有适合于预期的特定用途的各种修改。本发明的范围旨在由所附权利要求及其等同物限定。


    技术特征:

    1.一种车辆上的传感器系统,包括:

    传感器,其在菊花链通信网络中彼此连接;以及

    控制器,其连接到至少一个所述传感器,所述控制器被配置为基于来自所述传感器的数据来操作所述车辆并操作所述菊花链通信网络。

    2.根据权利要求1所述的传感器系统,其中:

    所述传感器中的一个传感器被配置为:

    接收来自另一传感器的数据包;

    向所接收的数据包添加附加数据包;以及

    将包括所接收的数据包和所述附加数据包的组合数据包传输到附加传感器或所述控制器;以及

    所述数据包和所述附加数据包包括相应时间戳,所述相应时间戳指示捕获所述数据包和所述附加数据包中的每一者的时间以及所述数据包和所述附加数据包中的每一者的传输延迟。

    3.根据权利要求2所述的传感器系统,其中:

    响应于所述传感器将所述组合数据包传输到所述控制器,所述控制器被配置为基于所述数据包和所述附加数据包的所述相应时间戳来处理所述数据包和所述附加数据包。

    4.根据权利要求1所述的传感器系统,其中:

    响应于两个相邻传感器之间出现单点故障,所述相邻传感器中的一个传感器检测所述单点故障并将故障传达给所述控制器;以及

    所述控制器响应于故障的传达而反转数据传输方向。

    5.根据权利要求1所述的传感器系统,其中:

    所述控制器被配置为基于两个相邻传感器之间的数据传输的吞吐量随时间的变化来检测所述两个相邻传感器之间的单点故障;以及

    响应于检测到两个相邻传感器之间的所述单点故障,所述控制器被配置为反转数据传输方向。

    6.根据权利要求1所述的传感器系统,其中:

    所述控制器被配置为基于两个相邻传感器之间的数据传输的吞吐量和所述两个相邻传感器之一与邻近传感器之间的数据传输的吞吐量的差异来检测所述两个相邻传感器之间的单点故障;以及

    响应于检测到两个相邻传感器之间的所述单点故障,所述控制器被配置为反转数据传输方向。

    7.根据权利要求1所述的传感器系统,其中:

    响应于传感器不包括输入端口和输出端口,所述传感器连接到具有输入端口和输出端口的定制接口盒,以与所述菊花链通信网络中的其他传感器连接。

    8.根据权利要求1所述的传感器系统,还包括电源和以菊花链网络形式连接在所述传感器之间的电源线。

    9.根据权利要求1所述的传感器系统,其中所述传感器连接到定制接口盒,并且所述传感器系统还包括:

    电源和以菊花链网络形式连接在所述定制接口盒之间的电源线。

    10.根据权利要求1所述的传感器系统,其中,所述传感器各自包括一个输入端口和两个输出端口。

    11.根据权利要求1所述的传感器系统,其中,所述菊花链通信网络是双向通信网络,所述双向通信网络在每个所述传感器处沿两个方向传输数据。

    12.根据权利要求11所述的传感器系统,其中,所述传感器之一是触发传感器,在所述触发传感器处开始数据通信。

    13.根据权利要求1所述的传感器系统,其中,响应于在两个相邻传感器之间出现单点故障,所述控制器被配置为基于数据传输是单向还是双向来确定是否反转数据传输方向。

    14.一种由车辆上的传感器系统执行的方法,所述方法包括:

    在菊花链通信网络中组装传感器;

    将控制器连接到至少一个所述传感器;以及

    由所述控制器基于来自所述传感器的数据来操作所述车辆和所述菊花链通信网络。

    15.根据权利要求14所述的方法,还包括:

    由所述传感器中的一个传感器接收来自另一传感器的数据包;

    由所述传感器将附加数据包添加到所接收的数据包;以及

    由所述传感器将包括所接收的数据包和所述附加数据包的组合数据包传输到附加传感器或所述控制器,并且其中,

    所述数据包和所述附加数据包包括相应时间戳,所述相应时间戳指示捕获所述数据包和所述附加数据包中的每一者的时间以及所述数据包和所述附加数据包中的每一者的传输延迟。

    16.根据权利要求15所述的方法,还包括:

    响应于所述传感器将所述组合数据包传输到所述控制器,由所述控制器基于所述数据包和所述附加数据包的所述相应时间戳来处理所述数据包和所述附加数据包。

    17.根据权利要求14所述的方法,还包括:

    响应于两个相邻传感器之间出现单点故障,由所述相邻传感器中的一个传感器检测所述单点故障并将故障传达给所述控制器;以及

    响应于故障的传达,由所述控制器基于数据传输是单向还是双向来反转数据传输方向。

    18.根据权利要求14所述的方法,还包括:

    由所述控制器基于两个相邻传感器之间的数据传输的吞吐量和所述两个相邻传感器之一与邻近传感器之间的数据传输的吞吐量的差异来检测所述两个相邻传感器之间的单点故障;以及

    响应于检测到两个相邻传感器之间的所述单点故障,由所述控制器基于所述数据传输是单向还是双向来反转数据传输方向。

    19.根据权利要求14所述的方法,还包括:

    连接电源和菊花链网络形式的在传感器之间的电源线。

    20.根据权利要求14所述的方法,还包括:

    将所述传感器连接到定制接口盒;以及

    连接电源和在所述定制接口盒之间的、菊花链网络形式的电源线。

    技术总结
    本文提供了用于车辆上的传感器系统的系统和方法。传感器系统包括在菊花链通信网络中彼此连接的传感器。传感器系统还包括连接到至少一个传感器的控制器。控制器被配置为基于来自传感器的数据来操作车辆并操作菊花链通信网络。

    技术研发人员:P·G·迪尔;R·丹利
    受保护的技术使用者:小马智行
    技术研发日:2020.09.11
    技术公布日:2021.03.12

    转载请注明原文地址:https://wp.8miu.com/read-5836.html

    最新回复(0)