CN112747944A - 自动车辆损坏检测 - Google Patents
自动车辆损坏检测 Download PDFInfo
- Publication number
- CN112747944A CN112747944A CN202011190473.4A CN202011190473A CN112747944A CN 112747944 A CN112747944 A CN 112747944A CN 202011190473 A CN202011190473 A CN 202011190473A CN 112747944 A CN112747944 A CN 112747944A
- Authority
- CN
- China
- Prior art keywords
- vehicle
- vibration signal
- vibration
- determining
- road segment
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07C—TIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
- G07C5/00—Registering or indicating the working of vehicles
- G07C5/08—Registering or indicating performance data other than driving, working, idle, or waiting time, with or without registering driving, working, idle or waiting time
- G07C5/0816—Indicating performance data, e.g. occurrence of a malfunction
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60Q—ARRANGEMENT OF SIGNALLING OR LIGHTING DEVICES, THE MOUNTING OR SUPPORTING THEREOF OR CIRCUITS THEREFOR, FOR VEHICLES IN GENERAL
- B60Q9/00—Arrangement or adaptation of signal devices not provided for in one of main groups B60Q1/00 - B60Q7/00, e.g. haptic signalling
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01M—TESTING STATIC OR DYNAMIC BALANCE OF MACHINES OR STRUCTURES; TESTING OF STRUCTURES OR APPARATUS, NOT OTHERWISE PROVIDED FOR
- G01M17/00—Testing of vehicles
- G01M17/007—Wheeled or endless-tracked vehicles
- G01M17/04—Suspension or damping
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01H—MEASUREMENT OF MECHANICAL VIBRATIONS OR ULTRASONIC, SONIC OR INFRASONIC WAVES
- G01H17/00—Measuring mechanical vibrations or ultrasonic, sonic or infrasonic waves, not provided for in the preceding groups
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07C—TIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
- G07C5/00—Registering or indicating the working of vehicles
- G07C5/008—Registering or indicating the working of vehicles communicating information to a remotely located station
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07C—TIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
- G07C5/00—Registering or indicating the working of vehicles
- G07C5/08—Registering or indicating performance data other than driving, working, idle, or waiting time, with or without registering driving, working, idle or waiting time
- G07C5/0808—Diagnosing performance data
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07C—TIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
- G07C5/00—Registering or indicating the working of vehicles
- G07C5/08—Registering or indicating performance data other than driving, working, idle, or waiting time, with or without registering driving, working, idle or waiting time
- G07C5/0841—Registering performance data
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07C—TIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
- G07C5/00—Registering or indicating the working of vehicles
- G07C5/08—Registering or indicating performance data other than driving, working, idle, or waiting time, with or without registering driving, working, idle or waiting time
- G07C5/0841—Registering performance data
- G07C5/085—Registering performance data using electronic data carriers
-
- G—PHYSICS
- G08—SIGNALLING
- G08B—SIGNALLING OR CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
- G08B21/00—Alarms responsive to a single specified undesired or abnormal condition and not otherwise provided for
- G08B21/18—Status alarms
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60Q—ARRANGEMENT OF SIGNALLING OR LIGHTING DEVICES, THE MOUNTING OR SUPPORTING THEREOF OR CIRCUITS THEREFOR, FOR VEHICLES IN GENERAL
- B60Q9/00—Arrangement or adaptation of signal devices not provided for in one of main groups B60Q1/00 - B60Q7/00, e.g. haptic signalling
- B60Q9/008—Arrangement or adaptation of signal devices not provided for in one of main groups B60Q1/00 - B60Q7/00, e.g. haptic signalling for anti-collision purposes
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Emergency Management (AREA)
- Human Computer Interaction (AREA)
- Mechanical Engineering (AREA)
- Traffic Control Systems (AREA)
Abstract
本文描述了用于相互结合地评估诸如自动驾驶车辆之类的车辆的振动特征和路面的振动特征以识别可以指示对车辆结构的潜在损坏的异常车辆振动特征。可以基于从穿过路段的多个车辆接收的传感器数据为路段生成基线振动信号。还可以基于实时传感器数据为正在评估的特定车辆生成振动信号。如果车辆的振动信号与路段的基线振动信号的偏差超过阈值量,则可以认为车辆表现出指示潜在车辆损坏的异常振动特征。然后可以响应于此来采取一个或多个动作,诸如自动停止车辆。
Description
技术领域
本发明总体上涉及自动车辆损坏检测,并且更具体地,在一些实施例中,涉及基于车辆的异常振动特征对车辆悬挂系统的损坏进行的自动检测。
背景技术
诸如自动驾驶汽车(AV)的车辆中的车载传感器通过提供从车辆周围环境捕获的连续传感器数据流来补充和增强车辆的视野(FOV)。传感器数据可与多种基于车辆的应用程序结合使用,包括例如盲点检测、变道辅助、用于碰撞警告或避免碰撞的后端雷达、停车辅助、交叉路口监控、制动辅助、紧急制动和自动距离控制。
车载传感器可以大致分为两类:有源传感器,其提供自己的能源进行操作,无源传感器,其依靠外部电源进行操作。车载传感器包括,例如相机、基于光检测和测距(LiDAR)的系统、基于雷达的系统、全球定位系统(GPS)系统、基于声纳的传感器、超声波传感器、加速度计、陀螺仪、磁力计、惯性测量单元(IMU)和远红外(FIR)传感器。传感器数据可以包括图像数据、反射的激光数据、加速度数据、角运动数据等。可以使用遍布车辆的各种车载传感器在车辆附近获取实时空间信息,然后可以对其进行处理以计算各种车辆参数并确定车辆的安全驾驶操作。
车辆在路面上行驶时,可能会遇到路面缺陷(例如坑洼、颠簸等);障碍物(例如路面上的意外物体);有意放置旨在调节车速的障碍物(例如减速带、隆声带等)等等。这些缺陷/障碍物可能会导致车辆结构(例如悬挂系统)损坏,例如,如果车辆以太快的速度行进或以其他方式与其接触。
如果是人工驾驶的车辆,则可以通过人工观察来识别对车辆结构的潜在损坏。例如,如果车辆驾驶员在车辆操作过程中开始听到异常的声音或感觉到过多的振动,则她具有将车辆驶过并进行进一步检查的能力。但是,在AV的情况下,如果无法从车辆操作员那里进行人工观察,则可能无法检测到对车辆结构的损坏,有可能导致大规模故障,如果在较早阶段检测到损坏,则可以避免这种情况。本文描述了解决自动驾驶车辆技术在自动车辆损坏检测方面的缺点的技术方案。
发明内容
本文描述了用于执行潜在车辆损坏的自动确定的系统、方法和非暂时性计算机可读介质。在示例实施例中,一种用于执行对潜在车辆损坏的自动确定的方法包括:从车辆的一个或多个车载传感器接收实时传感器数据,其中传感器数据指示车辆的振动特征;以及确定车辆当前正在穿过的路段。该方法还包括:确定与该路段相对应的基线振动信号;以及至少部分地基于实时传感器数据,确定车辆的振动信号。该方法还包括:确定车辆的振动信号与基线振动信号的偏差超过阈值量;以及响应于这种确定,产生振动异常警报。该方法还包括发起对振动异常警报的响应。
在本发明的另一示例实施例中,一种用于执行对潜在车辆损坏的自动确定的系统,包括至少一个处理器和至少一个存储计算机可执行指令的存储器。至少一个处理器被配置为访问至少一个存储器并执行计算机可执行指令以执行一系列操作。在示例实施例中,一系列操作包括:从车辆的一个或多个车载传感器接收实时传感器数据,其中传感器数据指示车辆的振动特征;以及确定车辆当前正在穿过的路段。所述操作还包括:确定与所述路段相对应的基线振动信号;以及至少部分地基于实时传感器数据,确定车辆的振动信号。所述操作还包括:确定车辆的振动信号与基线振动信号的偏差超过阈值量;以及响应于这种确定,产生振动异常警报。这些操作还包括发起对振动异常警报的响应。
在本发明的另一个示例实施例中,公开了一种用于自动确定潜在车辆损坏的计算机程序产品。该计算机程序产品包括由处理电路可读取的非暂时性计算机可读介质,其中该非暂时性计算机可读介质存储由该处理电路可执行以使方法被执行的指令。在示例实施例中,该方法包括:从车辆的一个或多个车载传感器接收实时传感器数据,其中,传感器数据指示车辆的振动特征;以及确定车辆当前正在穿过的路段。该方法还包括:确定与该路段相对应的基线振动信号;以及至少部分地基于实时传感器数据,确定车辆的振动信号。该方法还包括:确定车辆的振动信号与基线振动信号的偏差超过阈值量;以及响应于这种确定,产生振动异常警报。该方法还包括发起对振动异常警报的响应。
通过参考附图考虑以下描述和所附权利要求书,本文公开的系统、方法和非暂时性计算机可读介质的这些和其他特征、以及结构的相关元件和部分的组合的操作和功能的方法以及制造的经济性将变得显而易见,所有附图形成本说明书的一部分,其中在各个附图中,相同的附图标记表示相应的部分。然而,应该明确地理解,附图仅出于说明和描述的目的,并且不旨在作为对本发明的限制的定义。
附图说明
在所附权利要求中具体阐述了本技术的各种实施例的某些特征。通过参考下面的详细描述,将获得对技术的特征和优点的更好的理解,以下详细描述阐述了说明性实施例和附图,在说明性实施例中利用了本发明的原理,并且附图中:
图1是示出根据本发明的示例性实施例的基于车辆的振动特征的自动车辆损坏检测的混合数据流和框图。
图2A示意性地示出了根据本发明的示例性实施例的基于从多个车辆接收的聚合振动传感器数据的用于路段的基线振动信号的生成。
图2B示意性地示出了根据本发明的另一示例性实施例的基于从多个车辆接收的聚合振动传感器数据的用于路段的基线振动信号的生成。
图2C示意性地示出了根据本发明的又一示例实施例的基于从多个车辆接收的聚合振动传感器数据的用于路段的基线振动信号的生成。
图3是根据本发明的示例性实施例的用于基于车辆的振动特征的自动车辆损坏检测的说明性方法的过程流程图。
图4是根据本发明的示例性实施例的用于确定车辆的振动信号和路段的基线振动信号之间的偏差是否指示潜在的车辆损坏的说明性方法的过程流程图。
图5是根据本发明的示例性实施例的用于基于从多个车辆接收的聚合振动传感器数据来生成路段的基线振动信号的说明性方法的过程流程图。
图6是根据本发明的示例性实施例的用于基于与不同路段相关联的不同基线振动信号来调节指示潜在车辆损坏的阈值的说明性方法的过程流程图。
图7是示出被配置为实现本发明的示例实施例的示例网络架构的示意框图。
具体实施方式
在下面的描述中,阐述了某些特定细节以便提供对本发明的各种实施例的透彻理解。然而,本领域技术人员将理解,可以在没有这些细节的情况下实践本发明。此外,尽管本文公开了本发明的各种实施例,但是根据本领域技术人员的公知常识,可以在本发明的范围内做出许多改变和修改。这样的修改包括用已知的等同物替代本发明的任何方面,以便以基本上相同的方式获得相同的结果。
除非上下文另外要求,否则在整个说明书和权利要求书中,词语“包括”及其变体(例如“包括”和“包含”)应以开放的、包容性的意义来解释,即为“包括但不仅限于。”在整个说明书中对数值的数值范围的引用旨在用作速记符号,分别指代落入包括限定范围的值在内的范围内的每个单独的值,并且每个单独的值都包含在说明书中,如本文中单独叙述的那样。另外,单数形式的“一”、“一个”和“该”包括复数对象,除非上下文另外明确指出。短语“以下项中的至少一个”、“选自以下项的组的至少一个”或“选自由以下项组成的组的至少一个”等将在析取语(例如,不解释为A中的至少一个和B中的至少一个)中解释。
在整个说明书中对“一个实施例”或“一个实施例”的引用是指结合该实施例描述的特定特征,结构或特性包括在本发明的至少一个实施例中。因此,在整个说明书中各处出现的短语“在一个实施例中”或“在一个实施例中”不一定都指的是同一实施例,而是在某些情况下可能出现。此外,在一个或多个实施例中,可以以任何合适的方式来组合特定特征、结构或特性。
通常,车辆(例如,自动驾驶车辆、无人驾驶车辆等)可以具有无数的车载传感器。此类传感器可以放置在车辆的外部或内部,并且可以包括但不限于LiDAR传感器、雷达、相机、麦克风、GPS接收器、基于声纳的传感器、超声波传感器、IMU、加速计、陀螺仪、磁力计、FIR传感器等。这样的传感器在自动驾驶或无人驾驶汽车的功能和操作中起重要作用。例如,可以将LiDAR用于检测和识别车辆周围环境中的物体(例如,其他车辆、道路标志、行人、建筑物等)。LiDAR还可用于确定环境中物体的相对距离。作为另一个非限制性示例,可以结合避免碰撞、自适应巡航控制、盲点检测、辅助停车等来使用雷达。作为又一个非限制性示例,可以利用相机来识别、解释和/或识别在对象的图像或视觉提示中捕获的对象。作为又一个非限制性示例,IMU可以检测异常的路面状况或障碍物,例如道路上的颠簸或坑洼。从这些传感器收集的数据可以被处理并作为输入提供给被配置为做出各种自动驾驶决策的算法,包括与在何时、何种程度上加速、减速、改变方向等有关的决策。
本发明的各种实施例克服了在基于计算机的技术领域中并且更具体地在无人驾驶车辆技术领域中具体出现的技术问题。根据本发明的各种示例实施例,诸如自动驾驶汽车(AV)之类的车辆的振动特征和路面的振动特征可以彼此结合使用以识别对车辆结构的潜在损坏,并对此采取一种或多种措施。根据本发明的示例实施例,在以自动化方式确定对诸如车辆的悬架系统之类的车辆结构的潜在损坏之后,可以采取各种响应,诸如将AV自动地停在安全位置;向紧急援助提供者(例如警察、消防、门诊和/或牵引服务提供者)发送通信以发起紧急响应;对疑似损坏的结构进行其他诊断;等等。
在示例实施例中,各种车载车辆传感器可以捕获与车辆操作有关的传感器数据。这样的传感器可以包括例如一个或多个IMU。IMU是一种电子设备,可以结合使用加速度计、陀螺仪和可选的磁力计来测量和报告对象的比力、角速度和/或方向。IMU的加速度计检测线性加速度,IMU的陀螺仪检测旋转速率。一些IMU还包括一个或多个磁力计,以提供航向参考。在示例配置中,IMU可以包括用于车辆三个轴(俯仰,横摇和偏航)的每个轴的相应的加速度计、陀螺仪和磁力计。在某些示例实施例中,IMU可以被结合到GPS设备中以提供启用IMU的GPS设备。即使在隧道、建筑物内部GPS信号不可用或在存在电子干扰时,启用IMU的GPS设备也能够提供导航数据。
在示例实施例中,由各种车载车辆传感器捕获的传感器数据可以指示车辆在沿着路面行驶时的振动特征。例如,包含在由车辆上的IMU捕获的传感器数据中的车辆加速度数据、旋转数据和/或定向数据可以指示车辆的振动特征。车辆的振动特征可包括例如振动的大小(在本文中也称为振动水平或振动量)、振动的频率等。此外,在示例实施例中,可以基于IMU在一段时间内捕获的数据的变化来确定车辆的振动特征的变化。更具体地,在示例实施例中,可以基于从一个或多个车辆IMU接收的实时传感器数据的连续流来确定车辆的振动信号。在示例实施例中,车辆的振动信号可以指示车辆的瞬时振动水平;一段时间内车辆的振动水平;振动频率(例如,车辆振动水平随时间变化的速率);等等。
在示例实施例中,可以使用来自不同于IMU的传感器或除了IMU之外的传感器的数据来确定车辆的振动信号。例如,在示例实施例中,来自一个或多个麦克风的音频数据可以单独使用或与IMU传感器数据和/或其他传感器数据结合使用,以产生车辆的振动信号。例如,在示例实施例中,可以基于例如由车辆上提供的一个或多个麦克风或其他音频捕获设备捕获的音频数据的分贝水平和/或音调特征来确定车辆的振动水平、车辆的振动频率等。一旦确定,这些振动参数可用于构造车辆的振动信号。
在示例实施例中,还可以为路段确定振动信号。更具体地,在示例实施例中,可以对从多个车辆的车载传感器(例如,IMU、麦克风等)捕获的传感器数据进行聚集,以生成指示多个车辆穿过路段时的振动特征的聚集传感器数据。然后可以基于聚集的传感器数据确定路段的基线振动信号。在示例实施例中,路段的基线振动信号可以指示由路段的缺陷、障碍、障碍物和/或总体道路表面质量引起的振动的累积或平均水平,如通过穿过路段的多辆车辆的振动特征所反映的,其中,这种振动特征体现在从车辆的IMU、麦克风等接收的传感器数据中。在示例实施例中,可以为每个路段生成反映该路段的特定振动特征的不同的基线振动信号。此外,可以与该路段的对应地图数据相关联地存储路段的基线振动信号。这样,根据示例实施例,可以通过访问该路段的对应地图数据来访问该路段的基线振动信号。
在示例实施例中,可以将车辆的振动信号和车辆行驶所穿过的路段的基线振动信号进行比较,以确定车辆在该特定路段上是否表现出超出预期振动行为范围的异常振动特征,因此,潜在地指示对车辆的损坏,诸如对车辆悬挂系统的损坏。更具体地,在示例实施例中,可以从由一个或多个车载车辆传感器捕获的实时传感器数据确定车辆的振动信号,其中实时传感器数据指示车辆沿特定路段行驶时的振动特征。可以获取该路段的基线振动信号,其先前可能是从多个车辆接收的聚集传感器数据中离线生成的。如前所述,基线振动信号可以指示路段上的振动的累积量、路段上的平均振动量或表示路段的振动特征的某种其他度量。在示例实施例中,只要车辆的振动信号与路段的基线振动信号的偏差不超过阈值量,就可以确定车辆在正常操作范围内表现出振动行为,即不表示对车辆结构的潜在损坏。
然而,如果确定车辆的振动信号与路段的基线振动信号的偏差超过阈值量,并且因此确定车辆相对于特定道路表现出异常的振动行为行驶中的路段,可能会生成自动振动异常警报。然后可以响应于振动异常警报而发起各种响应。例如,在示例实施例中,AV的机载处理单元可以利用GPS设备以及可选的第三方数据(例如交通数据、天气数据等)来识别安全位置以停止车辆。一旦被识别,处理单元可以发起制动操作以使车辆在所确定的位置处停止。另外,在示例实施例中,可以将通信发送到紧急服务提供者,诸如警察局、消防部门、门诊服务提供者、车辆辅助提供者(例如,牵引服务)等,以发起紧急响应。在接收到通信(其可以包括对车辆的位置的识别)之后,紧急服务提供者可以响应于车辆的位置以提供紧急响应服务,该紧急响应服务可以包括例如对车辆执行诊断以确定任何潜在的车辆损坏、向车辆乘员提供帮助、将车辆重新安置到另一个位置(例如汽车维修店)以进行其他评估/诊断等。应当理解,可以响应于振动异常警报而采取的措施的以上示例仅是示例性的,而不是详尽的。
本发明的示例实施例为与自动驾驶车辆技术相关联的技术问题提供了技术解决方案,因为它涉及车辆损坏的检测和评估。特别地,本发明的示例实施例提供了针对未能及时检测到对车辆结构的损坏的技术问题的技术解决方案。自动驾驶车辆由于不能依靠来自车辆操作者的人工观察而遭受该技术问题。更具体地,由于自动驾驶车辆没有人类操作者,因此,无法在早期阶段就依靠人类的观察来识别潜在的车辆问题,直到损坏可能对车辆的操作造成潜在的灾难性破坏之前,对车辆结构的损坏都无法检测。
本发明的示例实施例提供了针对该问题的技术解决方案,其源于基于计算机的技术。具体地,本发明的示例实施例以利用和依赖于来自车载车辆传感器的传感器数据的形式提供一种技术解决方案,该数据指示车辆的振动特征以及路段的振动特征以生成相应的振动信号。然后,可以比较这些振动信号(可能是基于实时传感器数据生成的车辆振动信号和可能基于来自多个车辆的聚集传感器数据生成的与路段相关联的基线振动信号)以确定车辆是否振动表现出异常的振动特征,在这种情况下,可以采取各种自动响应措施。因此,本发明的示例实施例以算法处理的形式提供了对上述技术问题的技术解决方案,该算法处理由自动驾驶车辆执行并且依赖于来自自动驾驶车辆上传感器的传感器数据,从该传感器数据中可以收集振动特征。这样,由本发明的示例实施例提供的技术解决方案必然植根于基于计算机的自动驾驶车辆技术。
图1是示出根据本发明的示例性实施例的基于车辆的振动特征的自动车辆损坏检测的混合数据流和框图。图3是根据本发明的示例性实施例的用于基于车辆的振动特征的自动车辆损坏检测的说明性方法300的过程流程图。在下文中将结合彼此描述图1和3。
本文描述的任何方法的每个操作可以由图1、图2A-图2C或图7中描绘的一个或多个程序模块等执行,其操作将在下文中更详细地描述。这些程序模块可以用硬件、软件和/或固件的任何组合来实现。在某些示例实施例中,这些程序模块中的一个或多个可以至少部分地实现为包括计算机可执行指令的软件和/或固件模块,该计算机可执行指令在由处理电路执行时使一个或多个操作被执行。在示例实施例中,这些程序模块可以是在诸如定制FPGA或ASIC之类的定制计算芯片内实现的定制计算机可执行逻辑。本文描述为被配置为实现本发明的示例实施例的系统或设备可以包括一个或多个处理电路,每个处理电路可以包括一个或多个处理单元或核。计算机可执行指令可以包括计算机可执行程序代码,该计算机可执行程序代码在由处理核心执行时可以使该计算机可执行程序代码包含或引用的输入数据由处理核心进行访问和处理以产生输出数据。
现在结合图1参考图3,在方法300的框302处,振动监测模块106可以从车辆的一个或多个车载传感器102接收实时传感器数据104。在示例实施例中,车辆可以是自动驾驶车辆、无人驾驶车辆等;然而,本发明的实施例不仅限于这些类型的车辆,并且可以包括人类操作的车辆。振动监测模块106可以包括软件、硬件和/或固件的任何组合。在示例实施例中,振动监测模块106可以被实现为定制的计算设备或诸如ASIC、FPGA等的芯片的定制逻辑,其可以是车辆的嵌入式设备。尽管本文可以结合驻留在车辆上并在车辆上执行的振动监测模块106来描述本发明的示例实施例,但应当理解,在替代示例实施例中,描述为由振动监测模块106执行的处理可以在远离车辆的情况下,利用从车辆的车载设备接收的输入(例如,来自车载车辆传感器的传感器数据)以及提供给车辆的一个或多个处理单元的输出来执行。实时传感器数据104可以是可以从中确定车辆的振动特征/行为的数据。车辆传感器102可包括一个或多个IMU、一个或多个麦克风或捕获指示车辆的振动特征的数据的任何其他传感器。
在方法300的框304处,振动监测模块106可以确定车辆当前正在穿过的路段。例如,在示例实施例中,振动监测模块106可以从车辆的GPS设备获得车辆的当前位置。然后,在方法300的框306处,振动监测模块106可以访问与车辆的当前位置相对应的地图数据112。地图数据112可以存储在由振动监测模块106可访问的一个或多个数据存储库108中。在某些示例实施例中,数据存储库108可以驻留在车辆本地的数据存储器上。在其他示例实施例中,数据存储库108可以驻留在距离车辆较远并且可由振动监测模块106经由网络连接访问的数据存储器上。
在示例实施例中,振动监测模块106可以访问地图数据112的与包括所确定的车辆的位置的路段相对应的一个或多个部分。例如,地图数据可以具有基础的网格结构,并且可以在与网格结构的网格元素相对应的数据块中存储和检索。在示例实施例中,地图数据112的包围包括车辆当前位置的路段的部分可以完全包含在单个网格元素中,因此可以作为单个数据块被检索,或者可以覆盖多个网格元素,因此可能需要检索多个数据块。
在方法300的框308处,振动监测模块106可以确定与包括所确定的车辆的当前位置的路段相对应的基线振动信号116。在示例实施例中,可以将振动数据114与地图数据112相关联地存储在数据存储库108中。振动数据114可以包括多个基线振动信号,每个基线振动信号对应于地图数据112中表示的相应路段。振动数据114,或更具体地讲,包含在其中的每个基线振动信号可以链接到地图数据112中表示的对应路段。例如,在示例实施例中,地图数据112可以被标记或标记以识别各种包括在地图数据112中的路段。然后,每个这样的标签或标签可以链接到该路段的相应基线振动信号。因此,在示例实施例中,振动监测模块106可以在地图数据112内定位包括车辆当前位置的适当路段,然后可以利用分配给该路段的标签或标签来识别相应的基线振动信号116。
示例方法300假定已经生成并与地图数据112的相应部分相关联地存储的、包含车辆当前位置的路段的基线振动信号116。在下文中将参考图5描述用于产生路段的基线振动特征的说明性方法500。将参考图2A至图2C进一步描述说明性方法500,图2A至图2C示意性地示出了根据本发明的示例性实施例的针对不同路段的不同基线振动信号的生成,并且更具体地,参照图2A的示例性场景。
图2A描绘了示例场景,其中多个车辆206A、206B、206C正在穿过路段202A。路面可以包含各种路面不平整,包括例如路面不平整204A和路面不平整204B。路面不平整204A和204B可以包括但不限于各种类型的路面缺陷中的任何一种,例如坑洼、颠簸、山脊、凹陷等。多个车辆206A、206B、206C中的每一个都可以配备有相应的车载传感器,包括各种传感器中的任何一个,这些传感器被配置为捕获指示车辆206A、206B、206C穿过路段202A时的振动特征的数据。这样的车载传感器可以包括但不限于IMU、加速度计、陀螺仪、磁力计、麦克风或能够捕获指示振动特征的数据的任何其他类型的传感器。
现在结合图2A参考图5,在方法500的框502处,上下文模块214(其可以驻留并作为车辆的车载处理单元的一部分执行,或者可以驻留并在经由一个或多个网络210通信联接到车辆的车载处理单元的远程服务器上执行)可以从多个车辆206A、206B、206C的每一个接收相应的传感器数据208A、208B、208C、或更具体地,从多个车辆206A、206B、206C中的每一个的相应的车载传感器接收。术语振动数据在本文中可用于描述指示车辆在穿过路段时的振动特征的任何形式的传感器数据。在示例实施例中,上下文模块214可以经由网络210从多个车辆206A、206B、206C的每一个接收相应的振动数据208A、208B、208C,该网络可以包括公共和/或私人网络的任何组合。
在方法500的框504处,上下文模块214可以聚集相应的振动数据208A、208B、208C以生成聚集的振动数据212。在示例实施例中,聚集振动数据208A、208B、208C可以包括但不限于传感器数据融合、数据插值、数据冗余消除或任何其他形式的数据聚集或操纵。然后,在方法500的框506处,上下文模块214可以至少部分地基于聚集的振动数据212来确定路段202A的基线振动信号216。在框508处,上下文模块214可以将基线振动信号216与对应的地图数据220相关联地存储在一个或多个数据存储库218中。更具体地,上下文模块214可以存储基线振动信号216,使得其被链接到地图数据220内的对应路段202A。
应当理解,尽管在图2A中示意性地示出了三个车辆,但是任何数量的车辆都可以穿过路段202A并提供用于构造基线振动信号216的相应的振动数据。在某些示例实施例中,从其接收振动数据并将其聚集并用作至少部分地用于生成基线振动信号的基础的车辆的数量越多,基线振动信号在表示任何给定车辆穿过相应路段时要经历的预期基线振动量的准确性越高。
在图2A中描绘了基线振动信号216的示例示意性表示222。示意图222将基线振动信号216描绘为振动度量相对于时间的连续函数。例如,示意图222可以指示在一段时间内穿过路段202A的车辆表现出的瞬时平均/基线振动量,其中振动的平均/基线量与路段202A的道路表面上存在的路面不平整(例如不平整204A、204B)的数量、类型和/或大小相关。在示例实施例中,可以从基线振动信号216的示意图222中收集指示穿过路段202A的车辆的振动特征的其他度量。例如,示意图222中的曲线下方的面积可以指示在一段时间内穿过路段202A的车辆经历的累积振动量。应当理解,示意性表示222仅是说明性的而不是穷举性的,并且基线振动信号216可以体现为替代性表示。一般而言,路段的基线振动信号指示由于路段202A上路面不平整的组成和/或分布,车辆穿过路段时预期会经历的基线振动量。
在示例实施例中,可以为每个路段生成唯一的基线振动信号,其中每个基线振动信号表示穿过相应路段的车辆的预期振动特征。图2B描绘了与图2A中描绘的路段不同的路段的不同基线振动信号的产生。如图2B中所示,多个车辆206A、206B、206C现在可以穿过不同的路段-路段202B。路段202B可包括比图2A的路段202A更大数量和/或更大的路面不平整度224。路面不平整度的大小可以指的是路面不平整在以预定速度范围(例如,从速度极限每小时加或减5英里)行驶的平均大小的车辆中预期产生的振动量。
如图2B中所示,车辆206A、206B、206C的车载传感器可以捕获相应的振动数据226A、226B、226C并通过网络210发送到上下文模块214。根据示例方法300,上下文模块214可以聚集相应的振动数据226A、226B、226C以生成聚集的振动数据228。在示例实施例中,上下文模块214然后可以至少部分地基于聚集的振动数据228来生成基线振动信号230,并且将基线振动信号230与对应的地图数据232相关联地存储在数据存储库218中。
基线振动信号230的示例示意性表示234在图2B中示出。示意图234示出了与路段202A相比,当车辆206A、206B、206C在一段时间内穿过路段202B时,车辆206A、206B、206C表现出的较大的瞬时平均/基线振动量。由于振动的平均/基准量可能与存在于路段的路面上的路面不平整的数量、类型和/或大小相关,示意图234示出了路段202B由于具有更大数量、类型和/或大小的路面不平整而在车辆中产生比路段202A更大的平均/基线振动。此外,示意图234中曲线下方的面积大于示意图222中曲线下方的面积,表示车辆穿过路段202B所经历的振动的累积量在一段时间内大于路段202A所经历的振动的累积量。而且,示意性表示234示出了基线振动信号230中的随机振动变化比图2A的基线振动信号216中的随机振动变化大,这可能是由于存在于路段202B上的路面不平整224的数量和/或大小增加以及与路段202A相比这种不平整的分布更加多样化的结果。
图2C描绘了与图2A和2B所描绘的那些不同的路段的又一个基线振动信号的产生。如图2C中所示,多个车辆206A、206B、206C现在可以穿过又一个路段-路段202C。例如,与路段202B相比,路段202C可包括有限数量的路面不平整。然而,路段202C可以包括故意放置的障碍物,诸如减速带236,其以规则的间隔定位在路段202C上以调节车速。
如图2C所示,车辆206A、206B、206C的车载传感器可以捕获相应的振动数据238A、238B、238C并通过网络210发送到上下文模块214。根据示例方法300,上下文模块214可以聚集相应的振动数据238A、238B、238C以生成聚集的振动数据240。在示例实施例中,上下文模块214然后可以至少部分地基于聚集的振动数据240来生成基线振动信号242,并且将基线振动信号242与对应的地图数据244相关联地存储在数据存储库218中。
在图2C中示出了基线振动信号242的示例性示意图246。示意图246示出了除了平均/基线振动量的周期性扰动外,车辆206A、206B、206C在一段时间内与路段202A相比在车辆穿过路段202C时的总体可比较的瞬时平均/基线振动量。这些周期性扰动例如代表了车辆206A、206B、206C穿过以规则间隔隔开的减速带236时所经历的增加的振动。尽管在图2C中示意性地示出了减速带236,但应当理解,以周期性间隔定位的任何路面障碍(例如,路拱、凹陷等)可能在基线振动信号242的示意图246中产生类似的周期性扰动。
再次参考示例方法300,在方法300的框310处,振动监测模块106可以至少部分地基于实时传感器数据104确定车辆的振动信号。如前所述,实时传感器数据104可以包括任何形式的数据,该数据指示车辆穿过特定路段时的振动特征。此类数据可包括但不限于来自一个或多个IMU(或其组件,诸如加速计、陀螺仪、磁力计等)的传感器数据、由一个或多个麦克风捕获的音频数据等。车辆的振动信号可能能够以与图2A-图2C所示的基线振动信号的示意图相似的方式表示。尤其是,车辆的振动信号可以指示车辆在一段时间内经历的瞬时振动量;一段时间内瞬时振动量的变化;车辆在一段时间内经历的累积振动量;或类似物。
在方法300的框312处,振动监视模块106可以确定在框310处生成的车辆的振动信号与在框308处确定的路段的基线振动信号的偏差是否超过阈值量。在示例实施例中,车辆的振动信号与车辆所穿过的路段的基线振动信号的偏差大于阈值量指示车辆的意外异常振动特征,这反过来可能指示对车辆结构的潜在损坏。如果在框312处做出肯定的确定(可能指示对车辆结构的损坏),则振动监控模块106可能会生成振动异常警报118。在示例实施例中,振动异常警报118可以提供对在框314处的确定的一些指示,该确定是车辆的振动信号与基线振动信号的偏差超过阈值量,从而指示车辆存在异常振动特征,这可能反映了对车辆结构(诸如,悬挂系统)的损坏。
在示例实施例中,在方法300的框316处,振动异常响应模块120可以接收振动异常警报118并发起对振动异常警报118的一个或多个响应。例如,在示例实施例中,振动异常响应模块120可以发起响应,由此AV的车载处理单元利用GPS设备以及可选的第三方数据(诸如交通数据、天气数据等)来识别安全的位置以停下车辆。一旦被识别,处理单元可以发起制动操作以使车辆在所确定的位置处停止。另外,在示例实施例中,振动异常响应模块120可以将通信发送到紧急服务提供商,诸如警察局、消防部门、门诊服务提供者、车辆辅助提供商(例如,牵引服务)等来发起紧急响应。在接收到通信(可能包括对车辆位置的识别)后,紧急服务提供者可以响应车辆的位置以提供紧急响应服务,其例如可以包括:对车辆执行诊断以确定任何潜在的车辆损坏;向车辆乘员提供帮助;将车辆重新安置到另一个位置(例如,汽车维修店)进行其他评估/诊断等。应当理解,可以响应于振动异常警报118而采取的措施的以上示例仅是说明性的而不是详尽的。
图4是用于实现方法300的框312处的操作的说明性方法400的过程流程图(关于车辆的振动信号与路段的基线振动信号的偏差是否超过阈值量的确定)。现在参考图4,在方法400的框402处,振动监测模块106可以至少部分地基于路段的基线振动信号来确定指示潜在的车辆损坏的阈值。在示例实施例中,阈值可以与基线振动信号中表示的平均/基线振动量、基线振动信号中表示的累积振动量等相关。例如,与图2B中描绘的基线振动信号230相比,图2A中描绘的基线振动信号216的阈值可以更低,这是因为基线振动信号216中反映出的较低的平均/基线和/或累积振动量。因此,在示例实施例中,随着路段上存在的路面不平整的数量和/或大小增加,在相应的基线振动信号中反映的振动量越大,因此,在框402处确定的阈值越大。
在方法400的框404处,振动监测模块106可以至少部分地基于为车辆产生的振动信号来确定车辆的振动水平。在示例实施例中,为车辆确定的振动水平可以是一段时间内的平均振动水平、一段时间内的累积振动量或代表车辆穿过路段时的振动特征的任何其他合适的振动度量。在示例实施例中,如先前结合基线振动信号所描述的,可以从针对车辆确定的振动信号中得出在框404处选择的度量的值作为车辆的振动水平。
在方法400的框406处,振动监测模块106可以确定车辆的振动水平(在框404处确定)是否在至少阈值时间段内超过阈值(在框402处确定)。响应于在框406处的肯定的确定,方法400可以前进至方法300的框314,并且振动监视模块106可以生成振动异常警报118。另一方面,响应于在框406处的否定的确定(指示车辆没有表现出异常的振动特征),不生成警报,并且方法400前进至方法300的框302。然后,当接收到指示车辆的振动特征的新的实时传感器数据时,可以迭代地执行示例方法300。
在示例实施例中,车辆的振动水平将超过指示潜在的车辆损坏阈值的阈值时间段可以是预定的时间段或可变地选择的时间段。在阈值时间段是可变选择的那些示例实施例中,车辆可以基于指示在车辆正在穿过当前正在评估其振动行为的车辆所穿过的路段时的车辆的振动特征的历史传感器数据110(图1)在本地或远程执行自学习算法以学习阈值时间段。
图6是根据本发明的示例性实施例的用于基于与不同路段相关联的不同基线振动信号来调整指示潜在车辆损坏的阈值的说明性方法600的过程流程图。调整后的阈值可以是在方法400的框402处确定的阈值。
在方法600的框602处,振动监测模块106可以确定与车辆穿过的第一路段相对应的第一基线振动信号。可以根据先前描述的方法来产生第一振动信号。然后,在方法600的框604处,振动监测模块106可以至少部分地基于第一基线振动信号来确定指示潜在的车辆损坏的阈值。在示例实施例中,可以根据参考方法400的框402描述的技术来确定阈值。
在方法600的框606处,振动监测模块106可以确定车辆现在正在穿过不同于第一路段的第二路段。例如,振动监测模块106可以利用车辆上的GPS设备来确定车辆的位置已从第一路段上的第一位置更改为第二路段上的第二位置。在方法600的框608处,振动监测模块106可以确定对应于第二路段的第二基线振动信号。第二基线振动信号也可以根据先前描述的方法来确定。
在方法600的框610处,振动监测模块106可以至少部分地基于第一基线振动信号来确定指示与第一路段相关联的振动的平均/基线或累积量的第一度量。类似地,在方法600的框612处,振动监测模块106可以至少部分地基于第二基线振动信号来确定第二度量,该第二度量指示与第二路段相关联的振动的平均/基线或累积量。第一度量和第二度量中的每个可以例如以第一基线振动信号和第二基线振动信号的相应表示来体现,诸如图2A-2C中描绘的示意图。
在方法600的框614,振动监测模块106可以确定第一度量是否小于第二度量。响应于在框614处的肯定的确定,振动监测模块106可以在方法600的框616处增加阈值。在示例实施例中,第二度量大于第一度量指示第二路段上的车辆所经历的平均/基线和/或累积振动量大于第一路段上的车辆所经历的平均/基线和/或累积振动量(可能是由于与第一路段相比,第二路段上存在更多数量和/或更大数量的路面不平整)。结果,阈值可以随着车辆从第一路段过渡到第二路段而增加,以解决与第一路段相比车辆在第二路段上要经历的更大的预期振动。
响应于在框614处的否定的确定,方法600可以前进至框618,在框618中,振动监视模块106可以确定第一度量是否大于第二度量。响应于在框618处的肯定的确定,振动监测模块106可以在方法600的框620处减小阈值。在示例实施例中,第一度量大于第二度量指示第一路段上的车辆所经历的平均/基线和/或累积振动量大于第二路段上的车辆所经历的平均/基线和/或累积振动量(可能是由于与第二路段相比,第一路段上存在更多数量和/或更大数量的路面不平整)。结果,当车辆从第一路段过渡到第二路段时,阈值可以减小,以解决与第一路段相比车辆在第二路段上要经历的较小的期望振动。响应于在框614以及框618处的否定的确定,阈值可以保持不变,因为第一基线振动信号和第二基线振动信号对于第一路段和第二路段表现出可比较的振动特征。
硬件实现方式
图7是示出被配置为实现本发明的示例实施例的示例网络架构700的示意框图。联网体系结构700可以包括经由一个或多个网络706通信地联接到各种传感器704的一个或多个专用计算设备702。传感器704可以包括先前描述的任何示例类型的车载车辆传感器,包括但不限于LiDAR传感器、雷达、相机、GPS接收器、基于声纳的传感器、超声波传感器、IMU、加速度计、陀螺仪、磁力计、FIR传感器等。在示例实施例中,传感器704可以包括设置在诸如自动驾驶车辆的车辆外部或内部的车载传感器。然而,在某些示例实施例中,传感器704还可包括设置在车辆周围的物理环境中的一个或多个固定传感器。(一个或多个)专用计算设备702可以包括与车辆集成在一起的设备,并且可以经由本地网络连接(例如,WiFi,蓝牙,专用短程通信(DSRC)等)从传感器704接收传感器数据。在其他示例实施例中,(一个或多个)专用计算设备702可以设置在远离车辆的位置,并且可以经由一个或多个远程网络从传感器704接收传感器数据。
(一个或多个)专用计算设备702可以是硬连线的,以执行本文描述的技术;可以包括被持久地编程以执行所述技术的电路或数字电子设备,诸如一个或多个ASIC或FPGA;和/或可以包括一个或多个硬件处理器,其被编程为根据固件、存储器、其他存储器或其组合中的程序指令来执行技术。(一个或多个)专用计算设备702还可以将定制的硬连线逻辑、ASIC或FPGA与定制的编程相结合,以实现这些技术。(一个或多个)专用计算设备702可以是台式计算机系统、服务器计算机系统、便携式计算机系统、手持式设备、网络设备或结合硬连线和/或程序逻辑来实现技术的任何其他设备或设备组合。
(一个或多个)专用计算设备通常可以由操作系统软件720控制和协调,诸如iOS、Android、Chrome OS、Windows XP、Windows Vista、Windows 7、Windows 8、WindowsServer、Windows CE、Unix、Linux、SunOS、Solaris、iOS、Blackberry OS、VxWorks或其他兼容的操作系统。在其他实施例中,(一个或多个)计算设备702可以由专有操作系统控制。操作系统软件720可以控制和调度以供执行的计算机进程;执行存储器管理;提供文件系统、联网和I/O服务;并且提供诸如图形用户界面(“GUI”)的用户界面功能。
尽管本文可以单数形式描述(一个或多个)计算设备702和/或传感器704,应当理解,可以提供任何这样的组件的多个实例,并且结合任何特定组件所描述的功能可以分布在这种组件的多个实例之中。在某些示例实施例中,本文中结合架构700的任何给定组件描述的功能可以分布在架构700的多个组件之中。例如,描述为由计算设备702提供的功能的至少一部分可以分布在多个这样的计算设备702之中。
(一个或多个)网络706可以包括但不限于任何一种或多种不同类型的通信网络,诸如,电缆网络、公共网络(例如互联网)、专用网络(例如帧中继网络)、无线网络、蜂窝网络、电话网络(例如公共交换电话网络)或任何其他合适的专用或公用分组交换或电路交换网络。网络706可以具有与其相关联的任何合适的通信范围,并且可以包括例如全球网络(例如,互联网)、城域网(MAN)、广域网(WAN)、局域网(LAN)或个人局域网(PAN)。另外,一个或多个网络706可以包括通信链路和相关联的联网设备(例如,链路层交换机、路由器等),用于通过任何适当类型的介质来传输网络业务,所述介质包括但不限于:同轴电缆、双绞线(例如,双绞铜线)、光纤、同轴混合光纤(HFC)介质、微波介质、射频通信介质、卫星通信介质或它们的任意组合。
在说明性配置中,计算设备702可以包括一个或多个处理器708、一个或多个存储设备710(在本文中通常称为存储器710)、一个或多个输入/输出(“I/O”)接口712、一个或多个网络接口714和数据存储器718。计算设备702可以进一步包括一个或多个总线716,其在功能上联接计算设备702的各个组件。计算设备702还可以包括各种程序模块,诸如振动监测模块724、振动异常响应模块726和上下文模块728。这些程序模块可以以软件、硬件或固件的任何组合来实现。尽管这些程序模块被说明性地描述为存储在数据存储器718中的软件/固件模块,但是应当理解,程序模块可以包括硬连线逻辑,诸如ASIC或FPGA的持久编程的定制计算设备的定制逻辑等等。每个程序模块可以包括用于结合图1和图2A-图2C中描绘的相应命名的程序模块来执行前面描述的任何过程和任务的逻辑。
(一个或多个)总线716可以包括系统总线、存储器总线、地址总线或消息总线中的至少一个,并且可以允许在计算设备702的各个组件之间交换信息(例如,数据(包括计算机可执行代码)、信令等)。(一个或多个)总线716可以包括但不限于存储器总线或存储器控制器、外围总线、加速的图形端口等。(一个或多个)总线716可以与任何合适的总线架构相关联,包括但不限于工业标准架构(ISA)、微通道架构(MCA)、增强型ISA(EISA)、视频电子标准协会(VESA)架构、加速图形端口(AGP)架构、外围组件互连(PCI)架构、PCI-Express架构、国际个人计算机存储卡协会(PCMCIA)架构、通用串行总线(USB)架构等。
存储器710可以包括诸如随机存取存储器(RAM)之类的易失性存储器(通电后保持其状态的存储器)和/或诸如只读存储器(ROM)、闪存、铁电RAM(FRAM)等之类的非易失性存储器(即使未通电也能保持其状态的存储器)。永久数据存储器(如在此使用的术语)可以包括非易失性存储器。在某些示例实施例中,易失性存储器可以实现比非易失性存储器更快的读取/写入访问。然而,在某些其他示例实施例中,某些类型的非易失性存储器(例如,FRAM)可以实现比某些类型的易失性存储器更快的读取/写入访问。
在各种实施方式中,存储器710可以包括多种不同类型的存储器,诸如各种类型的静态随机存取存储器(SRAM)、各种类型的动态随机存取存储器(DRAM)、各种类型的不可改变的ROM和/或ROM的可写变体(诸如电可擦可编程只读存储器(EEPROM)、闪存等)。存储器710可以包括主存储器以及各种形式的高速缓冲存储器,诸如指令高速缓冲存储器、数据高速缓冲存储器、转换后备缓冲器(TLB)等等。此外,诸如数据高速缓存之类的高速缓存存储器可以是被组织为一个或多个高速缓存级别(L1、L2等)的层次结构的多级高速缓存。
数据存储设备718可以包括可移动存储设备和/或不可移动存储设备,包括但不限于磁性存储设备、光盘存储设备和/或磁带存储设备。数据存储器718可以提供计算机可执行指令和其他数据的非易失性存储器。可移动和/或不可移动的存储器710和数据存储器718是本文使用的该术语的计算机可读存储介质(CRSM)的示例。数据存储器718可以存储计算机可执行代码、指令等,其可以被加载到存储器710中并且可以由(一个或多个)处理器708执行以使(一个或多个)处理器708执行或发起各种操作。数据存储器718可以另外存储可以在执行计算机可执行指令期间被复制到存储器710以供(一个或多个)处理器708使用的数据。此外,由于(一个或多个)处理器708执行计算机可执行指令而产生的输出数据可以最初存储在存储器710中,并且最终可以复制到数据存储器718以用于非易失性存储。
更具体地说,数据存储器718可以存储一个或多个操作系统(O/S)720和一个或多个数据库管理系统(DBMS)722。该数据库管理系统配置为潜在地经由一个或多个网络706访问存储器710和/或一个或多个外部数据存储库(图1所示的(一个或多个)数据存储库118和/或图2A-图2C所示的(一个或多个)数据存储库218)。另外,数据存储器718可以进一步存储一个或多个程序模块、应用程序、引擎、计算机可执行代码、脚本等。例如,本文描述的任何程序模块可以被实现为软件和/或固件,其包括可加载到存储器710中以由(一个或多个)处理器708中的一个或多个执行以执行本文描述的任何技术的计算机可执行指令(例如,计算机可执行程序代码)。
尽管在图7中未示出,但是数据存储器718可以进一步存储计算设备702的程序模块所利用的各种类型的数据。这样的数据可以包括但不限于传感器数据、地图数据、振动信号、阈值等。可以将存储在数据存储器718中的任何数据加载到存储器710中,以供(一个或多个)处理器708在执行计算机可执行程序代码时使用。另外,存储在数据存储器718中的任何数据都可以潜在地存储在一个或多个外部数据存储器中,这些数据可以通过DBMS 722访问并且可以加载到存储器710中,以供(一个或多个)处理器708在执行计算机可执行指令/程序代码中使用。
(一个或多个)处理器708可以被配置为访问存储器710并执行加载在其中的计算机可执行指令/程序代码。例如,(一个或多个)处理器708可以被配置为执行各种程序模块的计算机可执行指令/程序代码,以引起或促进根据本发明的一个或多个实施例的各种操作的执行。(一个或多个)处理器708可以包括能够接受数据作为输入、根据所存储的计算机可执行指令处理输入数据以及生成输出数据的任何合适的处理单元。(一个或多个)处理器708可以包括任何类型的合适的处理单元,包括但不限于中央处理单元、微处理器、精简指令集计算机(RISC)微处理器、复杂指令集计算机(CISC)微处理器、微控制器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、片上系统(SoC)、数字信号处理器(DSP)等。此外,(一个或多个)处理器708可以具有任何合适的微体系结构设计,包括任何数量的组成组件诸如,例如,寄存器、多路复用器、算术逻辑单元、用于控制对高速缓存存储器的读取/写入操作的高速缓存控制器、分支预测器等。可以使处理器708的微架构设计能够支持多种指令集中的任何一种。
现在参考描绘为存储在数据存储器718中的其他说明性组件,O/S 720可以从数据存储器718加载到存储器710中,并且可以提供在计算设备702上执行的其他应用软件和计算设备702的硬件资源之间的接口。更具体地,O/S 720可以包括一组计算机可执行指令,用于管理计算设备702的硬件资源并向其他应用程序提供公共服务。在某些示例实施例中,O/S 720可以包括或控制存储在数据存储器718中的一个或多个程序模块的执行。O/S 720可以包括现在已知或将来可以开发的任何操作系统,包括但不限于任何服务器操作系统,任何大型机操作系统或任何其他专有或非专有操作系统。
DBMS 722可以被加载到存储器710中,并且可以支持用于访问、检索、存储和/或操纵存储在存储器710中的数据、存储在数据存储器718中的数据和/或存储在外部(一个或多个)数据存储库(datastore)中的数据的功能。DBMS 722可以使用多种数据库模型中的任何一种(例如,关系模型、对象模型等),并且可以支持多种查询语言中的任何一种。DBMS 722可以访问以一种或多种数据模式表示并存储在任何合适的数据储存库中的数据。计算设备702可以经由DBMS 722访问的(一个或多个)数据存储库可以包括但不限于,数据库(例如,关系型、面向对象等)、文件系统、平面文件、分布式数据存储器(其中数据存储在计算机网络的多个节点上)、对等网络数据存储器等。
现在参考计算设备702的其他说明性组件,(一个或多个)输入/输出(I/O)接口712可以促进计算设备702从一个或多个I/O设备接收输入信息以及从计算设备702向一个或多个I/O设备输出信息。I/O设备可以包括各种组件中的任何一种,诸如具有触摸表面或触摸屏的显示器或显示屏;用于产生声音的音频输出设备,诸如扬声器;音频捕获设备,诸如麦克风;图像和/或视频捕获设备,诸如相机;触觉单元;等等。这些组件中的任何一种都可以集成到计算设备702中或与之分离。I/O设备可以进一步包括例如任意数量的外围设备,诸如数据存储设备、打印设备等。
(一个或多个)I/O接口712也可以包括用于外部外围设备连接的接口,诸如通用串行总线(USB)、FireWire、Thunderbolt、以太网端口或可以连接到一个或多个网络的其他连接协议。(一个或多个)I/O接口712也可以包括经由无线局域网(WLAN)(诸如Wi-Fi)无线电、蓝牙和/或无线网络无线电(诸如能够与无线通信网络(诸如长期演进(LTE)网络、WiMAX网络、3G网络等)通信的无线电)到一个或多个天线的连接以连接到一个或多个网络。
计算设备702可以进一步包括一个或多个网络接口714,计算设备702可以经由该接口来与各种其他系统、平台、网络、设备等中的任何一个通信。(一个或多个)网络接口714可以实现例如经由一个或多个网络706与传感器704和/或一个或多个其他设备的通信。在示例实施例中,(一个或多个)网络接口714提供联接到连接到一个或多个网络706的一个或多个网络链路的双向数据通信。例如,(一个或多个)网络接口714可以包括集成服务数字网络(ISDN)卡、电缆调制解调器、卫星调制解调器或调制解调器,以提供与相应类型的电话线的数据通信连接。作为另一个非限制性示例,(一个或多个)网络接口714可以包括局域网(LAN)卡,以提供到兼容LAN(或与WAN通信的广域网(WAN)组件)的数据通信连接。无线连链接也可以实现。在任何这样的实现中,(一个或多个)网络接口714可以发送和接收电、电磁或光信号,这些信号携带表示各种类型的信息的数字数据流。
网络链路通常提供通过一个或多个网络到其他数据设备的数据通信。例如,网络链接可以通过局域网提供与主机或由互联网服务提供商(ISP)运营的数据设备的连接。ISP进而可以通过现在通常被称为“互联网”的全球分组数据通信网络来提供数据通信服务。局域网和互联网都使用承载数字数据流的电、电磁或光信号。通过各种网络704的信号和在网络链路上以及通过(一个或多个)网络接口714的信号是传输介质的示例形式,其携带去往和来自计算设备702的数字数据。在示例实施例中,计算设备702可以通过(一个或多个)网络706、网络链路和(一个或多个)网络接口714发送消息并接收数据,包括程序代码。例如,在因特网示例中,服务器可以通过互联网、ISP、局域网和(一个或多个)网络接口714发送用于应用程序的请求的代码。接收到的代码可以在被接收到时由处理器708执行和/或存储在数据存储器718或者其他非易失性存储器中,供以后执行。
应当理解,图7中描绘的作为计算设备702的一部分的程序模块仅是说明性的而不是穷举的,并且描述为由任何特定引擎/组件支持的处理可以可替代地分布在多个引擎、组件、模块等,或由其他引擎、组件、模块等之中。另外,可以提供驻留在计算设备702本地上和/或驻留在可通过(一个或多个)网络706中的一个或多个网络访问的(一个或多个)其他计算设备(例如传感器704)上的(一个或多个)各种程序模块、(一个或多个)引擎、(一个或多个)脚本、(一个或多个)插件、(一个或多个)应用程序编程接口(API)或任何其他合适的计算机可执行代码以支持由图7所示的引擎/组件提供的功能和/或附加或替代功能。此外,可以以任何适当的方式对功能进行模块化,以使得描述为由特定程序模块执行的处理可以由任意数量的引擎、组件、程序模块等的集合来执行,或描述为由任何特定程序模块支持的功能可以至少部分地由另一引擎、组件或程序模块支持。另外,根据诸如例如客户端-服务器模型、对等模型等的任何合适的计算模型,支持本文描述的功能的程序模块可以在任何数量的计算设备702上可执行。另外,被描述为由图7中描绘的任何程序模块支持的任何功能可以至少部分地在任意数量的设备或服务器上的硬件和/或固件中实现。
应当进一步理解的是,计算设备702可以包括除了所描述或描绘的那些之外的替代和/或附加的硬件、软件或固件组件,而不脱离本发明的范围。更具体地,应当理解,描绘为形成计算设备702的一部分的软件、固件或硬件组件仅是说明性的,并且在各种实施例中可以存在或可以不存在某些组件,或者可以提供附加组件。还应当理解,在各种实施例中,上述程序模块中的每个代表所支持功能的逻辑分区。为了易于解释功能而描绘了该逻辑分区,并且该逻辑分区可以代表或可以不代表用于实现功能的软件、硬件和/或固件的结构。因此,应当理解,在各种实施例中,被描述为由特定程序模块提供的功能可以至少部分地由一个或多个其他引擎、组件或程序模块提供。此外,在某些实施例中可以存在或可以不存在一个或多个所描绘的程序模块,而在其他实施例中,可以存在未描绘的附加程序模块并且可以支持所描述的功能和/或附加功能的至少一部分。
通常,本文所使用的术语程序模块或引擎等是指体现在硬件或固件中的逻辑,或者指用编程语言(例如,Java、C或C++)编写的、可能具有入口点和出口点的软件指令的集合。可以将软件引擎/模块编译并链接到可执行程序中、安装在动态链接库中或者可以用解释性编程语言(例如,Basic、Perl或Python)编写该软件模块。可以理解,软件引擎/模块可以从其他引擎/模块或从其自身调用,并/或可以响应于检测到的事件或中断而被调用。可以将被配置为在计算设备上执行的软件引擎/模块提供在计算机可读介质(诸如光盘、数字视频光盘、闪存驱动器、磁盘或任何其他有形介质)上,或者可以提供为数字下载(并且可以最初以需要在执行之前进行安装、解压缩或解密的压缩或可安装的格式存储)。可以将这样的软件代码部分或全部地存储在执行中的计算设备的存储设备上,以由该计算设备执行。可以将软件指令嵌入在诸如EPROM的固件中。还将理解,硬件模块可以由连接的逻辑单元(诸如门和触发器)组成,并/或可以由可编程单元(诸如可编程门阵列或处理器)组成。
应当理解,“引擎”、“系统”、“数据存储库”和/或“数据库”可以包括软件、硬件、固件和/或电路。在一个示例中,包括能够由处理器执行的指令的一个或多个软件程序可以执行本文中所述的引擎、数据存储库、数据库或系统的一个或多个功能。在另一示例中,电路可以执行相同或相似的功能。替代性实施例可以包括更多、更少或功能上等效的引擎、系统、数据存储库或数据库,并且仍在本实施例的范围内。例如,各种系统、引擎、数据存储库和/或数据库的功能可以被不同地组合或划分。
“开源”软件在本文中被定义为允许作为源代码和编译形式分发的源代码,具有获得源的公开和索引方式,可选地具有允许修改和衍生作品的许可。
本文将示例实施例描述为包括逻辑或多个程序模块。程序模块可以构成软件引擎(例如,体现在机器可读介质上的代码)或硬件引擎。“硬件引擎”是能够执行某些操作的有形单元,并且可以以某种物理方式被配置或布置。在各种示例实施例中,可以通过软件(例如,应用程序或应用程序部分)将一个或多个计算机系统(例如,独立计算机系统、客户端计算机系统或服务器计算机系统)或计算机系统的一个或多个硬件引擎(例如,一个处理器或一组处理器)被配置为被操作为执行本文所述的某些操作的硬件引擎。
在一些实施例中,可以机械地、电子地或其任何合适的组合来实现硬件引擎。例如,硬件引擎可以包括永久性地被配置为执行某些操作的专用电路或逻辑。例如,硬件引擎可以是专用处理器,诸如现场可编程门阵列(FPGA)或专用集成电路(ASIC)。硬件引擎还可以包括可编程逻辑或电路,其由软件临时被配置为执行某些操作。例如,硬件引擎可以包括由通用处理器或其他可编程处理器执行的软件。一旦通过此类软件进行配置,则硬件引擎将成为专门定制为执行配置功能的特定机器(或机器的特定组件),并且不再是通用处理器。将意识到,机械地、在专用且永久配置的电路中或在临时配置的电路中实施硬件引擎的决定可能受成本和时间考虑的影响。
因此,术语“程序模块”应被理解为包括有形实体,该有形实体是被物理构造、永久配置(例如,硬连线)或临时配置(例如,编程)为以某种方式操作或执行本文所述的某些操作的实体。考虑到硬件引擎被临时配置(例如,编程)的实施例,硬件引擎中的每个无需在任何时候都及时被配置或实例化。例如,在硬件引擎包括由软件被配置为专用处理器的通用处理器的情况下,该通用处理器可以在不同时间分别被配置为不同的专用处理器(例如,包括不同的硬件引擎)。软件相应地配置一个或多个特定处理器,例如,以在一个时间实例中构成特定的硬件引擎,并在不同的时间实例中构成不同的硬件引擎。
硬件引擎可以向其他硬件引擎提供信息并从其他硬件引擎接收信息。因此,所描述的硬件引擎可以被认为是通信联接的。在同时存在多个硬件引擎的情况下,可以通过在硬件引擎中的两个或多个之间的信号传输(例如,通过适当的电路和总线)来实现通信。在以不同时间配置或实例化多个硬件引擎的实施例中,可以例如通过在多个硬件引擎可以访问的存储器结构中存储和检索信息来实现这种硬件引擎之间的通信。例如,一个硬件引擎可执行操作并将该操作的输出存储在其通信联接的存储设备中。然后,另一硬件引擎可以在以后的时间访问该存储设备以检索和处理所存储的输出。硬件引擎还可以发起与输入或输出设备的通信,并且可以在资源(例如,信息的集合)上进行操作。
本文中描述的示例方法的各种操作可以至少部分地由一个或多个临时配置(例如,通过软件)或永久被配置为执行相关操作的处理器执行。无论是临时配置还是永久配置,这样的处理器都可以构成处理器实现的引擎,其被操作为执行本文所述的一个或多个操作或功能。如本文所使用的,“处理器实现的引擎”是指使用一个或多个处理器实现的硬件引擎。
类似地,本文中描述的方法可以至少部分地由处理器实现,其中一个或多个特定处理器是硬件的示例。例如,方法的操作中的至少一些可以由一个或多个处理器或处理器实现的引擎来执行。此外,一个或多个处理器还可操作为在“云计算”环境中或作为“软件即服务”(SaaS)支持相关操作的性能。例如,操作中的至少一些可以由一组计算机(作为包括处理器的机器的示例)执行,其中这些操作可以通过网络(例如,互联网)和一个或多个适当的接口(例如,应用程序接口(API))来访问。
某些操作的性能可以分布在处理器之间,不仅驻留在单个计算机内,而且可以部署在多个计算机上。在一些示例实施例中,处理器或处理器实现的引擎可以位于单个地理位置中(例如,在家庭环境、办公室环境或服务器场内)。在其他示例实施例中,处理器或处理器实现的引擎可以分布在多个地理位置上。
本发明可以被实现为系统、方法和/或计算机程序产品。该计算机程序产品可以包括计算机可读存储介质,该计算机可读存储介质具有在其上体现的用于使处理器执行本发明的方面的计算机可读程序指令。
如本文中所使用的那样,计算机可读存储介质是非暂时性介质的形式,并且可以是可以保留和存储指令以供指令执行设备使用的任何有形设备。计算机可读存储介质可以是例如但不限于电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或前述的任何合适的组合。计算机可读存储介质和更一般地、非暂时性介质可以包括非易失性介质和/或易失性介质。计算机可读存储介质的更具体示例的非穷举列表包括以下内容:便携式计算机软盘,诸如软盘或软磁盘;硬盘;随机存取存储器(RAM);只读存储器(ROM);可擦可编程只读存储器(EPROM或闪存);静态随机存取存储器(SRAM)或任何其他存储芯片或盒式磁带;便携式光盘只读存储器(CD-ROM);数字多功能光盘(DVD);记忆棒;固态驱动器;磁带或任何其他磁性数据存储介质;机械编码的设备,诸如打孔卡或上面记录了指令的凹槽中的凸起结构,或者具有孔图案的任何物理介质;相同的任何网络版本;以及上述内容的任何适当组合。
非暂时性介质不同于传输性介质,因此,本文所使用的计算机可读存储介质不应被理解为是暂时性信号本身,诸如无线电波或其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例如,穿过光纤的光脉冲)或通过电线传输的电信号。但是,非暂时性可以与传输介质结合使用。特别地,传输介质参与非暂时性介质之间的信息传输。例如,传输介质包括包含至少一些总线716的电线的同轴电缆、铜线和光纤。传输介质也可以采用声波或光波的形式,诸如在无线电波和红外数据通信期间生成的声波或光波。
此处描述的计算机可读程序指令可以从计算机可读存储介质下载到相应的计算/处理设备,或者通过网络(例如,互联网、局域网、广域网和/或无线网络)下载到外部计算机或外部存储设备。该网络可以包括铜传输电缆、光传输光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配器卡或网络接口从网络接收计算机可读程序指令,并转发计算机可读程序指令以存储在相应的计算/处理设备内的计算机可读存储介质中。
用于执行本发明的操作的计算机可读程序指令可以是汇编程序指令、指令集架构(ISA)指令、机器指令、机器相关指令、微码、固件指令、状态设置数据,或以一种或多种编程语言的任意组合编写的源代码或目标代码,其包括面向对象的编程语言(诸如Smalltalk、C++等)以及常规的过程编程语言(诸如“C”编程语言或类似的编程语言)。计算机可读程序指令可以完全在用户计算机上,部分在用户计算机上,作为独立软件包执行,部分在用户计算机上并且部分在远程计算机上或完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可以通过任何类型的网络连接到用户的计算机,该网络包括局域网(LAN)或广域网(WAN)、或者可以与外部计算机建立连接(例如,通过使用互联网服务提供商的互联网)。在一些实施例中,为了执行本发明的各方面,包括例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA)的电子电路可以通过利用计算机可读程序指令的状态信息来使电子电路个性化来执行计算机可读程序指令。
这里参考根据本发明实施例的方法,装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各方面。将理解,流程图图示和/或框图的每个框以及流程图图示和/或框图中的框的组合可以通过计算机可读程序指令来实现。
可以将这些计算机可读程序指令提供给通用计算机、专用计算机或其他可编程数据处理设备的处理器以产生机器,从而使得经由计算机或其他可编程数据处理设备的处理器执行的指令创建用于实现流程图和/或框图或多个框图中指定的功能/动作的装置。这些计算机可读程序指令也可以存储在计算机可读存储介质中,该介质可以指导计算机、可编程数据处理装置和/或其他设备以特定方式起作用,从而具有存储在其中的指令的计算机可读存储介质包括制品,该制品包括实现在流程图和/或框图方框中指定的功能/动作的各方面的指令。
还可将计算机可读程序指令加载到计算机、其他可编程数据处理设备或其他设备上,以使一系列操作步骤在计算机、其他可编程设备或其他设备上执行以产生计算机实现的过程,从而使得在计算机、其他可编程装置或其他设备上执行的指令实现流程图和/或框图方框中指定的功能/动作。
前述的各种特征和过程可以彼此独立地使用,或者可以以各种方式组合。所有可能的组合和子组合旨在落入本公开的范围内。另外,在某些实施方式中,可以省略某些方法或过程框。本文中所述的方法和过程也不限于任何特定的顺序,并且与其相关的框或状态可以以其他适当的顺序执行。例如,可以以不同于具体公开的顺序来执行所描述的框或状态,或者可以在单个框或状态中组合多个框或状态。示例框或状态可以串行、并行或以其他方式执行。块或状态可以被添加到所公开的示例实施例中或从所公开的示例实施例中去除。本文中描述的示例系统和组件可以被配置为与所描述的不同。例如,与所公开的示例实施例相比,元件可以被添加到所公开的示例性实施例中、从所公开的示例性实施例中移除或重新排列。
附图中的流程图和框图示出了根据本发明的各种实施例的系统、方法和计算机程序产品的可能实现的架构、功能和操作。就这一点而言,流程图或框图中的每个方框可以代表指令的模块、片段或部分,其包括用于实现指定的逻辑功能的一个或多个可执行指令。在一些替代实施方式中,方框中指出的功能可以不按图中指出的顺序发生。例如,取决于所涉及的功能,连续示出的两个框实际上可以部分、基本上或完全同时执行,或者有时可以以相反的顺序执行这些框。还应注意,框图和/或流程图的每个方框以及框图和/或流程图的方框的组合可以通过基于专用硬件的系统来实现,该基于专用硬件的系统可以执行指定的功能或动作,或执行特殊用途的硬件和计算机指令的组合。
在本文中描述的和/或在附图中描绘的流程图中的任何过程描述、元件或框应当被理解为潜在地表示代码的模块、段或部分,其包括一个或多个用于在进程中实现特定逻辑功能或步骤的可执行指令。如本领域技术人员将理解的,替代性实施方式包括在本文中所述实施例的范围内,其中取决于所涉及的功能,可以删除、不按所示的或所讨论的顺序执行(包括基本上同时或以相反的顺序执行)元件或功能。
应该强调的是,可以对上述实施例进行许多变型和修改,其元件应被理解为是其他可接受的示例中的一种。所有这些修改和变型旨在包括在本公开的范围内。前面的描述详述了本发明的某些实施例。然而,应当理解,无论前述内容在文本中显示的多么详细,都可以以许多方式来实践本发明。如上所述,应当注意的是,在描述本发明的某些特征或方面时,使用特定术语并不意味着暗示术语在本文中被重新定义为限于包括与该术语相关联的本发明的特征或方面的任何特定特征。因此,本发明的范围应根据所附权利要求及其任何等同物来解释。
在整个说明书中,多个实例可以实现被描述为单个实例的组件、操作或结构。尽管将一种或多种方法的单独操作示出并描述为单独的操作,但是可以同时执行单独操作中的一个或多个,并且不需要按照所示顺序执行操作。在示例配置中被呈现为单独的组件的结构和功能可以被实现为组合的结构或组件。类似地,被呈现为单个组件的结构和功能可以被实现为单独的组件。这些和其他变型、修改、添加和改进落入本文中的主题的范围内。
尽管已经参考特定示例实施例描述了本主题的概述,但是在不脱离本公开的实施例的更广范围的情况下,可以对这些实施例进行各种修改和改变。主题的这样的实施例在本文中可以仅仅为了方便起见而单独地或共同地由术语“发明”来指代,并且如果实际上公开了多个公开或概念,则并不旨在将本申请的范围限制为任何单个公开或概念。
足够详细地描述了本文所示的实施例,以使本领域技术人员能够实践所公开的教导。可以使用其他实施例并从中导出,使得可以在不脱离本公开的范围的情况下进行结构和逻辑上的替换和改变。因此,不应从限制的意义上理解详细描述,并且各种实施例的范围仅由所附权利要求以及这些权利要求所授权的等同物的全部范围来限定。
尽管出于说明的目的已经基于当前被认为是最实际和优选的实施方式详细描述了本发明,但是应当理解,这种细节仅用于该说明的目的,并且本发明不限于所公开的实施方式,但是,相反地,其旨在覆盖所附权利要求的精神和范围内的修改和等同布置。例如,应当理解,本发明考虑了在可能的范围内,任何实施例的一个或多个特征可以与任何其他实施例的一个或多个特征及进行组合。
已经出于说明和描述的目的提供了本发明的前述描述。并非旨在穷举或将本发明限制为所公开的精确形式。本发明的广度和范围不应受到任何上述示例性实施例的限制。许多修改和变化对本领域技术人员而言是显而易见的。修改和变化包括所公开特征的任何相关组合。选择和描述实施例是为了最好地解释本发明的原理及其实际应用,从而使本领域的其他技术人员能够理解本发明的各种实施例以及适合于所设想的特定用途的各种修改。本发明的范围旨在由所附权利要求及其等同物来限定。
如本文所使用的,术语“或”可被解释为包含性的或排他性的意义。此外,可以为在本文中被描述为单个实例的资源、操作或结构提供多个实例。另外,各种资源、操作、引擎、引擎和数据存储库之间的边界在某种程度上是任意的,并且在特定说明性配置的上下文中说明了特定操作。可以设想其他的功能分配,并且可以落入本公开的各种实施例的范围内。一般而言,在示例配置中呈现为单独资源的结构和功能可以被实现为组合的结构或资源。类似地,呈现为单个资源的结构和功能可以实现为单独的资源。这些和其他变型、修改、添加和改进落入由所附权利要求表示的本公开的实施例的范围内。因此,说明书和附图应被认为是说明性的而不是限制性的。条件语言,诸如“能够”、“能”、“可能”或“可以”,除非另外特别说明,或者在所使用的上下文中另外理解,通常旨在传达某些实施例包括而某些实施例不包括某些特征、元件和/或步骤。因此,这种条件语言通常不旨在暗示特征、元件和/或步骤无论如何都是一个或多个实施例所需的,或者暗示一个或多个实施例必须包括用于在具有或没有用户输入或提示的情况下决定这些特征、元件和/或步骤是否包括在任何特定实施例中的逻辑或将在任何特定实施例中执行的逻辑。
除非另外明确说明或在所用上下文中以其他方式理解,否则条件性语言(例如“可以”、“能够”、“也许”或“可能”等)通常旨在传达某些实施例包括,而其他实施例不包括的某些特征、元素和/或步骤。因此,这样的条件语言通常不旨在暗示一个或多个实施例以任何方式要求特征、元素和/或步骤,或者一个或多个实施例必然包括用于在有或没有用户输入或提示的情况下确定这些特征、元素和/或步骤是否被包括或将在任何特定实施例中执行。另外,应当理解,本文中描述为基于另一种操作、要素、组件、数据等的任何操作、要素、组件、数据等可以附加地基于一个或多个其他操作、元素、组件、数据等。因此,短语“基于”或其变体应被解释为“至少部分地基于”。
Claims (20)
1.一种用于自动确定潜在车辆损坏的计算机实现方法,包括:
从车辆的一个或多个车载传感器接收实时传感器数据,所述实时传感器数据指示所述车辆在运行期间的振动特征;
至少部分地基于所述实时传感器数据来确定所述车辆的振动信号;
确定所述车辆的所述振动信号与基线振动信号的偏差超过阈值量;以及
至少部分地响应于确定所述车辆的所述振动信号与所述基线振动信号的偏差超过所述阈值量而产生振动异常警报。
2.根据权利要求1所述的计算机实现方法,还包括:
确定所述车辆当前正在穿过的路段;以及
确定对应于所述路段的所述基线振动信号,其中,确定所述基线振动信号包括:
访问对应于所述路段的地图数据;以及
识别与所述地图数据相关联地存储的所述基线振动信号。
3.根据权利要求1所述的计算机实现方法,还包括:确定所述车辆的所述振动信号与所述基准振动信号的偏差在至少阈值时间段内大于所述阈值量。
4.根据权利要求1所述的计算机实现方法,其中,所述车辆是自动驾驶车辆,所述方法还包括:发起对所述振动异常警报的响应,其中,发起对所述振动异常警报的所述响应包括:
确定在所述车辆的当前位置的预定邻近范围内要停止所述车辆的位置;以及
发起制动操作以使所述车辆在所述位置处停止。
5.根据权利要求4所述的计算机实现方法,其中,发起对所述振动异常警报的所述响应还包括:向远程第三方紧急援助提供者发送通信。
6.根据权利要求1所述的计算机实现方法,其中,确定所述车辆的所述振动信号与所述基准振动信号的偏差大于所述阈值量包括:
至少部分地基于所述基线振动信号来确定指示所述潜在车辆损坏的阈值;
至少部分地基于所述振动信号来确定所述车辆的振动水平;以及
确定所述车辆的所述振动水平在至少阈值时间段内超过所述阈值。
7.根据权利要求6所述的计算机实现方法,其中,所述车辆最初穿过第一路段,并且所述基线振动信号是与所述第一路段相对应的第一基线振动信号,所述方法还包括:
确定所述车辆当前正在穿过第二路段;
确定对应于所述第二路段的第二基线振动信号;
至少部分地基于所述第一基线振动信号,确定指示与所述第一路段相关联的振动的平均或累积量的第一度量;
至少部分地基于所述第二基线振动信号,确定指示与所述第二路段相关联的振动的平均或累积量的第二度量;
至少部分地基于所述第一度量和所述第二度量的比较,确定与所述第二路段相关联的振动的所述平均或累积量大于与所述第一路段相关联的振动的所述平均或累积量;以及
增加指示所述潜在车辆损坏的所述阈值。
8.根据权利要求1所述的计算机实现方法,还包括:
从穿过所述路段的多个车辆中的每一个接收相应的传感器数据,每个相应的传感器数据指示所述多个车辆中的相应车辆的振动特征;
聚集所述相应的传感器数据以获得聚集的传感器数据;
至少部分地基于所述聚集的传感器数据来确定所述路段的所述基线振动信号;以及
将所述基线振动信号与对应于所述路段的地图数据相关联地存储。
9.根据权利要求1所述的计算机实现方法,其中,所述车辆的所述一个或多个车载传感器包括惯性传感器和麦克风中的至少一个。
10.一种自动确定潜在车辆损坏的系统,包括:
至少一个处理器;以及
至少一个存储器,其存储计算机可执行指令,其中,所述至少一个处理器被配置为访问所述至少一个处理器并执行所述计算机可执行指令,从而:
从车辆的一个或多个车载传感器接收实时传感器数据,所述实时传感器数据指示所述车辆在运行期间的振动特征;
确定所述车辆当前正在穿过的路段;
确定对应于所述路段的基线振动信号;
至少部分地基于所述实时传感器数据确定所述车辆的振动信号;
确定所述车辆的所述振动信号与所述基线振动信号的偏差大于阈值量;
至少部分地响应于确定所述车辆的所述振动信号与所述基线振动信号的偏差超过所述阈值量而产生振动异常警报;并且
发起对所述振动异常警报的响应。
11.根据权利要求10所述的系统,其中,所述至少一个处理器还被配置为执行所述计算机可执行指令,从而:
确定车辆当前正在穿过的路段;并且
确定对应于所述路段的所述基线振动信号,其中,所述至少一个处理器被配置为通过执行所述计算机可执行指令来确定所述基线振动信号,从而:
访问对应于所述路段的地图数据;并且
识别与所述地图数据相关联地存储的所述基线振动信号。
12.根据权利要求10所述的系统,其中,所述至少一个处理器还被配置为执行所述计算机可执行指令,以确定所述车辆的所述振动信号与所述基线振动信号的偏差在至少阈值时间段内大于所述阈值量。
13.根据权利要求10所述的系统,其中,所述车辆是自动驾驶车辆,并且其中,所述至少一个处理器还被配置为执行所述计算机可执行指令,以通过执行所述计算机可执行指令来发起对所述振动异常警报的响应,从而:
确定在所述车辆的当前位置的预定邻近范围内要停止所述车辆的位置;并且
发起制动操作以使所述车辆在所述位置处停止。
14.根据权利要求13所述的系统,其中,所述至少一个处理器还被配置为通过执行所述计算机可执行指令以向远程第三方紧急援助提供者发送通信来发起对所述振动异常警报的响应。
15.根据权利要求10所述的系统,其中,所述至少一个处理器被配置为通过执行所述计算机可执行指令来确定所述车辆的所述振动信号与所述基线振动信号的偏差大于所述阈值量,从而:
至少部分地基于所述基线振动信号来确定指示所述潜在车辆损坏的阈值;
至少部分地基于所述振动信号来确定所述车辆的振动水平;并且
确定所述车辆的所述振动水平在至少阈值时间段内超过所述阈值。
16.根据权利要求15所述的系统,其中,所述车辆最初正在穿过第一路段,并且所述基线振动信号是与所述第一路段相对应的第一基线振动信号,并且其中,所述至少一个处理器还被配置为执行所述计算机可执行指令,从而:
确定所述车辆当前正在穿过第二路段;
确定对应于所述第二路段的第二基线振动信号;
至少部分地基于所述第一基线振动信号,确定指示与所述第一路段相关联的振动的平均或累积量的第一度量;
至少部分地基于所述第二基线振动信号,确定指示与所述第二路段相关联的振动的平均或累积量的第二度量;
至少部分地基于所述第一度量和所述第二度量的比较,确定与所述第二路段相关联的振动的所述平均或累积量大于与所述第一路段相关联的振动的所述平均或累积量;并且
增加指示所述潜在车辆损坏的所述阈值。
17.根据权利要求10所述的系统,其中,所述至少一个处理器还被配置为执行所述计算机可执行指令,从而:
从穿过所述路段的多个车辆中的每一个接收相应的传感器数据,每个相应的传感器数据指示所述多个车辆中的相应车辆的振动特征;
聚集所述相应的传感器数据以获得聚集的传感器数据;
至少部分地基于所述聚集的传感器数据确定所述路段的所述基线振动信号;并且
将所述基线振动信号与对应于所述路段的地图数据相关联地存储。
18.根据权利要求10所述的系统,其中,所述车辆的所述一个或多个车载传感器包括惯性传感器和麦克风中的至少一个。
19.一种用于自动确定潜在车辆损坏的计算机程序产品,所述计算机程序产品包括由处理电路可读取的非暂时性计算机可读介质,所述非暂时性计算机可读介质存储由所述处理电路可执行以使方法被执行的指令,所述方法包括:
从车辆的一个或多个车载传感器接收实时传感器数据,所述实时传感器数据指示所述车辆在运行期间的振动特征;
至少部分地基于所述实时传感器数据来确定所述车辆的振动信号;
确定所述车辆的所述振动信号与基线振动信号的偏差大于阈值量;以及
至少部分地响应于确定所述车辆的所述振动信号与所述基线振动信号的偏差超过所述阈值量而产生振动异常警报。
20.根据权利要求19所述的计算机程序产品,其中,确定所述车辆的所述振动信号与所述基线振动信号的偏差大于所述阈值量包括:
至少部分地基于所述基线振动信号来确定指示所述潜在车辆损坏的阈值;
至少部分地基于所述振动信号来确定所述车辆的振动水平;以及
确定所述车辆的所述振动水平在至少阈值时间段内超过所述阈值。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/671,042 | 2019-10-31 | ||
US16/671,042 US11568687B2 (en) | 2019-10-31 | 2019-10-31 | Automated vehicular damage detection |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112747944A true CN112747944A (zh) | 2021-05-04 |
Family
ID=75648848
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011190473.4A Pending CN112747944A (zh) | 2019-10-31 | 2020-10-30 | 自动车辆损坏检测 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11568687B2 (zh) |
CN (1) | CN112747944A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116907879A (zh) * | 2023-09-08 | 2023-10-20 | 合肥松果智造智能科技有限公司 | 共享电动车骨架强度检测方法、系统以及存储介质 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7243392B2 (ja) * | 2019-03-29 | 2023-03-22 | マツダ株式会社 | 車両走行制御装置 |
US12038320B2 (en) * | 2020-12-22 | 2024-07-16 | Nec Corporation | Distributed intelligent SNAP informatics |
CN118056113A (zh) * | 2021-08-17 | 2024-05-17 | 图森有限公司 | 确定自动驾驶车辆遇到的机械健康和道路状况 |
AU2023211721A1 (en) * | 2022-01-31 | 2024-09-19 | Teck Resources Limited | Road quality monitoring |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4348934B2 (ja) * | 2002-09-25 | 2009-10-21 | アイシン・エィ・ダブリュ株式会社 | 車両のサスペンション制御装置 |
US7715965B2 (en) | 2004-10-15 | 2010-05-11 | Ford Global Technologies | System and method for qualitatively determining vehicle loading conditions |
JP5572485B2 (ja) | 2010-08-31 | 2014-08-13 | 日立オートモティブシステムズ株式会社 | サスペンション制御装置 |
US9533539B2 (en) | 2011-10-20 | 2017-01-03 | GM Global Technology Operations LLC | Vehicle suspension system and method of using the same |
US10055903B2 (en) * | 2016-06-09 | 2018-08-21 | GM Global Technology Operations LLC | Vehicle health check via noise and vibration level |
US10214219B2 (en) * | 2017-01-10 | 2019-02-26 | Ford Global Technologies, Llc | Methods and systems for powertrain NVH control in a vehicle |
US10940876B2 (en) * | 2017-02-02 | 2021-03-09 | Transportation Ip Holdings, Llc | Route examination system |
US20190080529A1 (en) * | 2017-09-11 | 2019-03-14 | GM Global Technology Operations LLC | Systems and methods to detect abnormalities in a vehicle suspension system |
US10962973B2 (en) * | 2018-01-30 | 2021-03-30 | Uatc, Llc | Autonomous vehicle safe stop |
US11047695B2 (en) * | 2019-02-22 | 2021-06-29 | Blackberry Limited | Vehicle assessment |
-
2019
- 2019-10-31 US US16/671,042 patent/US11568687B2/en active Active
-
2020
- 2020-10-30 CN CN202011190473.4A patent/CN112747944A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116907879A (zh) * | 2023-09-08 | 2023-10-20 | 合肥松果智造智能科技有限公司 | 共享电动车骨架强度检测方法、系统以及存储介质 |
CN116907879B (zh) * | 2023-09-08 | 2024-01-12 | 合肥松果智造智能科技有限公司 | 共享电动车骨架强度检测方法、系统以及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US11568687B2 (en) | 2023-01-31 |
US20210134088A1 (en) | 2021-05-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112747944A (zh) | 自动车辆损坏检测 | |
US11144054B2 (en) | Safety controls for network connected autonomous vehicle | |
US11941976B2 (en) | System and method for sharing data collected from the street sensors | |
US10916129B2 (en) | Roadway condition predictive models | |
US11360181B2 (en) | Authority vehicle movement direction detection | |
US11897490B2 (en) | Autonomous driving vehicle health monitoring | |
US20210134317A1 (en) | Authority vehicle detection | |
US12032102B2 (en) | Real-time sensor calibration and calibration verification based on detected objects | |
US11982772B2 (en) | Real-time sensor calibration and calibration verification based on statically mapped objects | |
JP2019519041A (ja) | 逆走ドライバを検出するための方法、装置、およびシステム | |
CN114274972A (zh) | 自主驾驶环境中的场景识别 | |
US11887409B2 (en) | Device health code broadcasting on mixed vehicle communication networks | |
US11834008B2 (en) | Rotating glass sensor cleaning system and methods of operation | |
US12125385B2 (en) | System and method for detecting severe road events | |
JP2019519850A (ja) | 逆走ドライバを検出するための方法、装置、およびシステム | |
US20240010212A1 (en) | Automatic testing of autonomous vehicles | |
JP2019520648A (ja) | 逆走ドライバを検出するための方法、装置、およびシステム | |
US12024100B2 (en) | Device-level fault detection | |
US12005923B2 (en) | Blockage routing and maneuver arbitration | |
US11565696B1 (en) | Systems and methods for vehicle reversing detection using machine learning | |
WO2019125277A1 (en) | Method and control arrangement in a transportation surveillance system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40053415 Country of ref document: HK |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |