CN111858202A - 诊断自主驾驶车辆的传感器处理单元的方法、装置和系统、及计算机可读介质 - Google Patents
诊断自主驾驶车辆的传感器处理单元的方法、装置和系统、及计算机可读介质 Download PDFInfo
- Publication number
- CN111858202A CN111858202A CN202010598779.7A CN202010598779A CN111858202A CN 111858202 A CN111858202 A CN 111858202A CN 202010598779 A CN202010598779 A CN 202010598779A CN 111858202 A CN111858202 A CN 111858202A
- Authority
- CN
- China
- Prior art keywords
- sensor
- sensor processing
- processing unit
- interface
- executable image
- 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
- 238000012545 processing Methods 0.000 title claims abstract description 209
- 238000000034 method Methods 0.000 title claims abstract description 59
- 238000012360 testing method Methods 0.000 claims description 71
- 230000015654 memory Effects 0.000 claims description 19
- 230000002093 peripheral effect Effects 0.000 claims description 11
- 230000004044 response Effects 0.000 claims description 8
- 230000009471 action Effects 0.000 claims description 6
- 238000004891 communication Methods 0.000 description 19
- 230000008447 perception Effects 0.000 description 19
- 230000008569 process Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 11
- 238000013515 script Methods 0.000 description 11
- 238000012546 transfer Methods 0.000 description 11
- 230000005540 biological transmission Effects 0.000 description 8
- 230000001133 acceleration Effects 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000009434 installation Methods 0.000 description 3
- 230000002085 persistent effect Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 2
- 241000700605 Viruses Species 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009429 electrical wiring Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003278 mimic effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000002604 ultrasonography Methods 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2205—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
- G06F11/2221—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test input/output devices or peripheral units
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W50/00—Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
- B60W50/04—Monitoring the functioning of the control system
- B60W50/045—Monitoring control system parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N17/00—Diagnosis, testing or measuring for television systems or their details
- H04N17/002—Diagnosis, testing or measuring for television systems or their details for television cameras
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2205—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
- G06F11/2236—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test CPU or processors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
- G06F11/263—Generation of test inputs, e.g. test vectors, patterns or sequences ; with adaptation of the tested hardware for testability with external testers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3013—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is an embedded system, i.e. a combination of hardware and software dedicated to perform a certain function in mobile devices, printers, automotive or aircraft systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3089—Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
- G06F11/3093—Configuration details thereof, e.g. installation, enabling, spatial arrangement of the probes
-
- 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
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W50/00—Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
- B60W50/04—Monitoring the functioning of the control system
- B60W2050/041—Built in Test Equipment [BITE]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Automation & Control Theory (AREA)
- Computer Hardware Design (AREA)
- Multimedia (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Human Computer Interaction (AREA)
- Transportation (AREA)
- Mechanical Engineering (AREA)
- Mathematical Physics (AREA)
- Traffic Control Systems (AREA)
- Navigation (AREA)
Abstract
描述了诊断自主驾驶车辆的传感器处理单元。示例计算机实现方法可以包括:经由通用异步接收器‑发送器(UART)或以太网连接中的至少一个,将传感器处理应用的可执行图像从主机系统发送到传感器处理单元。方法还包括使传感器处理单元从eMMC存储设备执行并启动DRAM中的传感器处理应用的可执行图像。方法还包括将预定命令序列发送到已执行的传感器处理应用,以对从与自主驾驶车辆相关联的多个传感器或传感器模拟器获得的传感器数据执行多个传感器数据处理操作。方法还包括将传感器处理操作的处理结果与预期处理结果进行比较,以确定传感器处理应用是否正确地操作。
Description
技术领域
本公开的实施例总体上涉及操作自主车辆。更具体地,本公开的实施例涉及传感器测试。
背景技术
以自主模式(例如,无人驾驶)操作的车辆可以减轻乘员(特别是驾驶员)免于某些与驾驶有关的责任。当以自主模式操作时,车辆可以使用车载传感器导航到各种位置,允许车辆在最少的人机交互、或者在某些情况下无需任何乘客的情况下行进。
传感器可以经由多个I/O接口连接到现场可编程门阵列(FPGA)板。通常,在自主车辆离开工厂并开始在公共场所中驾驶之前,需要对I/O接口进行测试。鉴于在自主车辆中使用了许多传感器,自动化测试非常困难或不便。缺乏用于测试自主车辆的传感器的高效测试平台。
附图说明
在附图的图中以示例而非限制的方式示出本公开的实施例,在附图中,相似的附图标记指示相似的元件。
图1A和1B是示出根据一个实施例的传感器单元的示例的框图。
图2是根据本发明的一个实施例的现场可编程门阵列(FPGA)板的示例框图。
图3是根据一个实施例的与主机软件和测试板连接的待测FPGA的示例框图。
图4是根据一个实施例的用于诊断自主驾驶车辆的传感器处理单元的示例方法。
图5是示出根据一个实施例的自主驾驶车辆的框图。
图6是示出根据一个实施例的自主驾驶车辆的示例的框图。
图7是示出根据一个实施例的与自主驾驶车辆一起使用的感知和规划系统的示例的框图。
发明内容
本公开的实施例的第一方面提供了一种用于诊断自主驾驶车辆的传感器处理单元的方法,方法包括:经由通用异步接收器-发送器UART或以太网连接中的至少一个,将传感器处理应用的可执行图像从主机系统发送到传感器处理单元,其中传感器处理应用的可执行图像被存储在传感器处理单元内的嵌入式多媒体控制器eMMC存储设备中;使传感器处理单元从eMMC存储设备执行并启动传感器处理单元内的动态随机存取存储器DRAM中的传感器处理应用的可执行图像;将预定命令序列发送到已执行的传感器处理应用,以对从与自主驾驶车辆相关联的多个传感器或传感器模拟器获得的传感器数据执行多个传感器数据处理操作;以及将传感器处理操作的处理结果与预期处理结果进行比较,以确定传感器处理应用是否正确地操作。
在一些实施例中,方法还包括:经由联合测试动作组JTAG接口,将第一信号从主机系统发送到传感器处理单元,以对DRAM执行存储器测试;其中仅响应于确定已经成功执行了DRAM的存储器测试,传感器处理应用的可执行图像被发送到eMMC存储设备。
在一些实施例中,方法还包括:经由UART或以太网连接中的至少一个,从主机系统发送经验证的传感器处理应用的可执行图像;其中经验证的传感器处理应用的可执行图像被存储在传感器处理单元内的四线串行外设接口QSPI存储设备中。
在一些实施例中,其中,响应于确定传感器处理应用的可执行图像已经被破坏,在DRAM中启动并执行经验证的传感器处理应用。
在一些实施例中,其中,一旦经验证的传感器处理应用的可执行图像已经被存储在QSPI存储设备中,QSPI存储设备变为只读存储设备。
在一些实施例中,方法还包括:将执行外围组件互连快速PCIe测试的一个或多个指令从主机系统发送到传感器处理单元,以确定包含传感器处理单元的传感器接口板上的PCIe接口是起作用的;以及输出PCIe测试的结果用于显示。
在一些实施例中,方法还包括:将执行内部集成电路I2C测试的一个或多个指令从主机系统发送到传感器处理单元,以确定传感器接口板上的I2C接口是起作用的;以及输出I2C测试的结果用于显示。
在一些实施例中,方法还包括:将执行相机测试的一个或多个指令从主机系统发送到传感器处理单元,以确定传感器接口板上的相机接口是起作用的;以及输出相机测试的结果用于显示。
本公开的实施例的第二方面提供了一种用于诊断自主驾驶车辆的传感器处理单元的系统,系统包括一个或多个计算机处理设备,计算机处理设备被编程为执行根据本公开的实施例的第一方面中任一项所述的方法。
本公开的实施例的第三方面提供了一种非暂时性计算机可读介质,其上存储有指令,当被一个或多个计算机处理设备执行时,指令将使一个或多个计算机处理设备执行根据本公开的实施例的第一方面中任一项所述的方法。
具体实施方式
将参考下面讨论的细节来描述本公开的各种实施例和方面,并且附图将示出各种实施例。以下描述和附图是本公开的说明,而不应被解释为限制本公开。许多具体细节被描述以提供对本公开的各种实施例的全面理解。然而,在某些情况下,为了提供对本公开的实施例的简要讨论,没有描述公知的或常规的细节。
在说明书中对“一个实施例”或“一实施例”的引用是指结合该实施例描述的特定特征、结构或特性可以被包含在本公开的至少一个实施例中。说明书中各个地方出现的短语“在一个实施例中”不一定都指相同的实施例。
现场可编程门阵列板(FPGA)具有与自主车辆上的传感器相关联使用的若干组件。目前,在将FPGA板安装到自主车辆之前或之后,分别对这些组件进行测试。通常,不会发生对FPGA板及其组件的集成测试,直到将FPGA板安装在自主车辆上。在将FPGA板安装到自主车辆上之前,不会对传感器接口和通信数据路径进行测试或验证。当对传感器接口和通信数据路径的测试确实发生时,分别对它们进行手动测试。这既费时又昂贵,尤其是当传感器接口或通信数据路径在测试期间发生故障时,因为可能需要将FPGA板从自主车辆上移除并更换或维修。
根据一些实施例,覆盖基于FPGA的计算平台的所有或一些传感器组件以及通信接口的工厂测试允许灵活选择测试和加载在开发的不同阶段的FPGA图像。可以将工厂测试编程为在主机软件上运行的脚本。脚本可以包括诊断位于例如FPGA板上的传感器处理单元的指令。指令可以包括用于测试各种I/O接口(诸如联合测试动作组(JTAG)接口、以太网接口等)以及其他组件(诸如动态随机存取存储器(DRAM)、存储组件、或其他合适的组件)的步骤。除了输入开始测试的指令外,无需用户输入即可以自动地执行工厂测试。测试的输出可以是传感器处理操作的处理结果与预期处理结果的比较。这可以使系统确定传感器处理单元是否正确地(恰当地)操作,并且可以使系统或系统管理员采取适当的措施。
根据一个实施例,经由UART接口或以太网连接中的至少一个,将传感器处理应用的可执行图像从主机系统发送到传感器处理单元。将传感器处理应用的可执行图像存储在传感器处理单元内的嵌入式多媒体控制器(eMMC)存储设备中。传感器处理单元从传感器处理单元内的eMMC执行并启动传感器处理单元的DRAM中的传感器处理应用的可执行图像。然后从主机系统发出预定命令序列到传感器处理单元,以对从耦合到传感器处理单元的一个或多个传感器或传感器模拟器获得的传感器数据执行一个或多个传感器数据处理操作。传感器或模拟传感器与自主驾驶车辆相关联。处理结果是将传感器处理操作与预期和预定结果进行比较,以确定传感器处理应用是否正确地操作。
在一个实施例中,经由JTAG接口将第一信号从主机系统发送到传感器处理单元,以执行传感器处理单元的DRAM的存储器测试。仅响应于确定已经成功地执行了DRAM的存储器测试,才将传感器处理应用的可执行图像发送到eMMC存储设备。另外,根据一个实施例,经由UART或以太网接口将传感器处理应用的已验证的可执行图像从主机系统发送到传感器处理单元,并将其存储在传感器处理单元内的QSPI存储设备中。如果在正常操作期间已经损坏了传感器处理应用的常规版本,则使用并启动已验证的传感器处理应用。在一个实施例中,一旦已验证的传感器处理应用的可执行图像已经存储在QSPI中,则QSPI变为只读存储设备。经由各种接口(例如PCIe、I2C、相机接口)将进一步的测试指令从主机系统发送到传感器处理单元,以测试与相应传感器(诸如相机、LIDAR、RADAR等)相关联的特定功能。
图1A是示出根据本发明的一个实施例的传感器系统的示例的框图。参考图1A,传感器系统115包括多个传感器110和耦合到主机系统120的传感器单元100。主机系统120表示规划和控制系统。出于测试传感器单元的组件的目的,主机系统120还可以执行与传感器单元通信的测试程序。传感器单元100可以以FPGA器件或ASIC(专用集成电路)器件的形式实现。在一个实施例中,传感器单元100包括,除其他以外,一个或多个传感器数据处理模块101(也简称为传感器处理模块)、数据传输模块102和传感器控制模块或逻辑103。模块101-103可以经由传感器接口104与传感器110通信,并且经由主机接口105与主机系统120通信。可选地,内部或外部缓冲器106可以被用来缓冲用于处理的数据。
在一个实施例中,对于接收路径或上游方向,传感器处理模块101被配置为经由传感器接口104从传感器接收传感器数据并处理传感器数据(例如,格式转换、错误检查),其可被临时存储在缓冲区106中。数据传输模块102被配置为使用与主机接口105兼容的通信协议将已处理的数据传输到主机系统120。类似地,对于发送路径或下游方向,数据传输模块102被配置为接收来自主机系统120的数据或命令。然后数据被传感器处理模块101处理为与相应传感器兼容的格式。然后将已处理的数据发送到传感器。
在一个实施例中,传感器控制模块或逻辑103被配置为,响应于经由主机接口105从主机系统(例如,感知模块302)接收到的命令,控制传感器110的某些操作,诸如,例如激活捕获传感器数据的时机。主机系统120可以配置传感器110以协作和/或同步的方式捕获传感器数据,使得传感器数据可以被用来感知在任何时间点的车辆周围的驾驶环境。
传感器接口104可以包括以太网、USB(通用串行总线)、LTE(长期演进)或蜂窝、WiFi、GPS、相机、CAN、串行(例如,通用异步接收器发送器或UART)、SIM(用户识别模块)卡和其他通用输入/输出(GPIO)接口中的一种或多种。主机接口105可以是任何高速或高带宽接口,诸如PCIe(外围组件互连或PCI Express)接口。传感器110可以包括在自主驾驶车辆中使用的各种传感器,诸如,例如相机、LIDAR设备、RADAR设备、GPS接收器、IMU、超声传感器、GNSS(全球导航卫星系统)接收器、LTE或蜂窝SIM卡、车辆传感器(例如油门传感器、制动传感器、转向传感器)和系统传感器(例如温度传感器、湿度传感器、压力传感器)等。
例如,相机可以经由以太网或GPIO接口耦合。GPS传感器可以经由USB或特定的GPS接口耦合。车辆传感器可以经由CAN接口耦合。RADAR传感器或超声传感器可以经由GPIO接口耦合。LIDAR设备可以经由以太网接口耦合。外部SIM模块可以经由LTE接口耦合。类似地,可以将内部SIM模块插入传感器单元100的SIM插槽中。出于调试目的,串行接口(诸如UART)可以与控制台系统耦合。
注意,传感器110可以是任何种类的传感器,并且可以由各种销售商或供应商提供。传感器处理模块101被配置为处理不同类型的传感器及其各自的数据格式和通信协议。根据一个实施例,每个传感器110与用于处理传感器数据并在主机系统120和相应传感器之间传输已处理的传感器数据的特定通道相关联。每个通道都包括特定的传感器处理模块和特定的数据传输模块,这些模块已经被配置或被编程为处理相应传感器数据和协议,如图1B所示。
现在参考图1B,传感器处理模块101A-101C具体被配置为分别处理从传感器110A-110C获得的传感器数据。注意,传感器110A-110C可以是相同或不同类型的传感器。传感器处理模块101A-101C可以被配置(例如,软件可配置的)以处理用于不同类型的传感器的不同传感器处理。例如,如果传感器110A是相机,则处理模块101A可以被配置为对表示由相机110A捕获的图像的特定像素数据进行像素处理操作。类似地,如果传感器110A是LIDAR设备,则处理模块101A被配置为特别地处理LIDAR数据。即根据一个实施例,取决于特定传感器的特定类型,其相应处理模块可以被配置为使用对应于传感器数据的类型的特定处理或方法来处理相应传感器数据。
类似地,数据传输模块102A-102C可以被配置为以不同的模式操作,因为不同种类的传感器数据可能具有不同的大小或灵敏度,其需要不同的速度或时机要求。根据一个实施例,每个数据传输模块102A-102C可以被配置为以低延迟时间模式、高带宽模式和存储模式(也称为固定存储模式)中的一个进行操作。
当在低延迟时间模式下操作时,根据一个实施例,数据传输模块(例如,数据传输模块102)被配置为在没有延迟或具有最小延迟的情况下尽快将从传感器接收到的传感器数据发送给主机系统。一些传感器数据在时机方面非常敏感,需要尽快进行处理。这种传感器数据的示例包括车辆状态,诸如车辆速度、加速度、转向角等。
当在高带宽模式下操作时,根据一个实施例,数据传输模块(例如,数据传输模块102)被配置为将从传感器接收到的传感器数据进行累积直到预定量,但是仍在数据传输模块和主机系统120之间的连接带宽内。然后将累积的传感器数据批量地传输到主机系统120,这最大限度利用数据传输模块和主机系统120之间的连接带宽。通常,高带宽模式被用于产生大量传感器数据的传感器。这样的传感器数据的示例包括相机像素数据。
当在存储模式下操作时,根据一个实施例,数据传输模块被配置为将从传感器接收到的传感器数据直接写入主机系统120的映射存储器的存储器位置,类似于共享存储器页面。待被使用存储模式传输的传感器数据的示例包括系统状态数据,例如温度、风扇速度等。
图2是根据本发明的一个实施例的传感器处理单元200的示例框图。传感器处理单元可以是或包括例如现场可编程门阵列(FPGA)板。传感器处理单元200可以包括多个I/O接口220。I/O接口220可以包括联合测试动作组(JTAG)205接口、通用异步接收器/发送器(UART)206接口、以太网207接口、外围组件互连快速(PCIe)208接口、GPS 209接口、内部集成电路(I2C)210接口、相机211接口和控制器局域网(CAN)212接口。在实施例中,JTAG 205接口可以是用于在制造后验证硬件设计并测试FPGA的工业标准测试。在实施例中,UART206接口可以是用于异步串行通信的计算机硬件设备,其中数据格式和传输速度是可配置的。在实施例中,以太网207接口可以是本领域已知的以太网连接。在实施例中,PCIe 208接口可以是用于连接高速组件的接口标准,如FPGA板的领域中已知的那样。在实施例中,GPS209接口可以是本领域中已知的全球定位系统接口。在实施例中,I2C 210接口可以用于主设备(或多个主设备)与单个或多个从设备之间的通信。在实施例中,相机211接口可以根据任何合适的方法将相机传感器(例如,视频)连接到FPGA板。在实施例中,CAN 212接口可以将CAN总线连接到FPGA板。
除了I/O接口220之外,传感器处理单元200还可以包括一个或多个板上组件,包括动态随机存取存储器(DRAM)201、嵌入式MMC(eMMC)202、队列串行外设接口(QSPI)203和温度(temp)传感器204。DRAM 201可以是一种随机存取存储器,用于存储和访问比块RAM(BRAM)或查找表(LUT)更大的数据集。在实施例中,eMMC 202架构可以将MMC组件(闪存加控制器)放置在小球栅阵列(BGA)IC封装中,以在电路板中用作嵌入式非易失性存储系统。在实施例中,QPSI可以是一种SPI控制器,其使用数据队列来跨SPI总线传输数据。它可能具有允许在CPU的仅间歇性关注下往返于队列的连续传输的环绕模式。串行外设接口(SPI)可以是用于主要在嵌入式系统中的短距离通信的同步串行通信接口规范。
图3是根据一个实施例的与主机软件和测试板连接的待测传感器处理单元200的示例框图。传感器处理单元200可以位于经由I/O连接220连接到主机软件310的待测设备(DUT)320上。DUT 320也可以连接到可以包括GPS模拟器331和一个或多个传感器332的测试板330上。传感器332可以是实际的传感器,也可以是可以模拟各种视觉、电气或其他合适传感器的传感器模拟器。在实施例中,测试板330还可以包括任何其他适当的组件,诸如LED灯或任何其他合适的I/O设备。
在实施例中,主机软件310可以包括脚本311,脚本311包括在自动工厂测试中执行的步骤。可以通过将传感器处理应用的可执行图像312从主机系统发送到传感器处理单元200来启动自动工厂测试。可执行图像312可以包括待在传感器处理单元上执行的特定诊断指令。可执行图像312可以针对每个传感器处理单元被定制,或者可以是用于多个传感器处理单元的相同图像。传感器处理应用可以应用于传感器处理单元,并且可以模仿将在现场接收的感测数据的类型。主机系统可以是将使用传感器处理单元的自主车辆的制造商,或可以是传感器处理单元的第三方测试仪。在特定实施例中,可执行图像312可以经由UART206接口或以太网207接口被发送到传感器处理单元。作为示例而非限制,参考图3,主机软件310可以包括脚本311,脚本311包括可执行图像312。可执行图像312可以经由I/O接口220(特别是UART 206接口或以太网207接口)被发送到DUT 320和FPGA200。在特定实施例中,可执行图像312在被发送到传感器处理单元200之后,可执行图像312可以被存储在eMMC 202中,eMMC 202可以是传感器处理单元200内的存储设备。
在特定实施例中,传感器处理单元可以从eMMC 202存储设备执行并启动DRAM 201中的可执行图像312。这可以使传感器处理单元200根据在可执行图像312上编码的指令来执行一个或多个指示的任务。指令可以被包含在脚本311中。脚本311和/或指令可以是任何合适类型的指令,包括机器代码指令、字节代码或脚本语言指令。
在特定实施例中,传感器处理单元200可以将预定命令序列发送到已执行的传感器处理应用,以对从与自主驾驶车辆相关联的多个传感器或传感器模拟器获得的传感器数据执行多个传感器数据处理操作。
在特定实施例中,传感器处理单元200可以将传感器处理操作的处理结果与预期处理结果进行比较,以确定传感器处理应用是否正确地操作。可以通过使用用于确定两组数据如何不同的任何合适的方法进行比较,包括使用简单的减法公式进行线性确定,以及如果传感器处理操作的结果与预期处理结果之间的差异大于阈值,则可以确定传感器处理应用没有正确地操作。
在特定实施例中,可以经由UART 206或以太网207连接中的至少一个,将已验证的传感器处理应用的可执行图像从主机系统传输到传感器处理设备200。已验证的传感器处理应用的可执行图像可以被存储在传感器处理单元内的四线串行外设接口(QSPI)203存储设备中。已验证的传感器处理应用的可执行图像可以被称为“黄金图像”,其在原始可执行图像以任何方式受到破坏或损害的情况下将被用作备用图像。因此,在特定实施例中,可以响应于确定传感器处理应用的可执行图像已经被破坏而在DRAM 201中启动并执行已验证的传感器处理应用。传感器处理应用的可执行图像可能会受到任何方式的破坏,诸如病毒、硬件损坏、软件或固件更新损坏或不完整、或任何其他方式。在特定实施例中,当已验证的传感器处理应用的可执行图像已经存储在QSPI 203存储设备中时,QSPI 203存储设备可以变为只读存储设备。这可能是为了防止任何人写入QSPI 203存储并篡改已验证的传感器处理应用的可执行图像。
在特定实施例中,脚本311还可以包括对传感器处理单元200或传感器处理单元200内的各种组件执行一个或多个测试的指令。例如,脚本311可以包括用于经由JTAG 205接口将第一信号从主机系统发送到传感器处理单元以对包含在传感器处理单元200内的DRAM201进行存储器测试的指令。在实施例中,仅响应于确定已经成功执行了DRAM 201的存储器测试,传感器处理应用的可执行图像312被发送到eMMC 202存储设备。DRAM 201的存储器测试的成功执行可以指示DRAM 201正确地起作用。
在特定实施例中,包含在脚本311的指令中的另一测试可以是执行外围组件互连快速(PCIe)测试,以确定传感器处理单元200上的PCIe接口是起作用的。指令还可以包括输出PCIe测试的结果用于显示。包含在指令中的另一测试可以是内部集成电路(I2C)测试,以确定传感器处理单元200上的I2C接口是起作用的。指令还可以包括输出I2C测试的结果用于显示。包含在指令中的另一测试可以是相机测试,以确定传感器处理单元200上的相机接口是起作用的。指令还可以包括输出相机测试的结果用于显示。
包含在指令中的另一测试可以是GPS测试,以确定传感器处理单元200上的GPS209接口是起作用的。指令还可以包括输出GPS测试的结果用于显示。也可以包括其他测试,包括帮助系统确定传感器处理单元200或其I/O接口220的任何组件(包括温度传感器204、可以是CAN总线接口的CAN 212、或任何其他合适的组件)是否正确地起作用的任何测试。该系列测试可以通过在将传感器处理单元200安置和安装到自主车辆中之前自动地测试它的各种组件来帮助节省时间。如果传感器处理单元200检测到有问题,则可以在将其安装到自主车辆上之前进行修理或更换。
图4是根据一个实施例的用于诊断自主驾驶车辆的传感器处理单元的示例方法。通常,方法400可以由处理逻辑来执行,处理逻辑可以包括硬件(例如,处理设备、电路、专用逻辑、可编程逻辑、微代码、设备的硬件、集成电路等)、软件(例如,运行或执行在处理设备上的指令)、或其组合。在框410处,处理逻辑可以将传感器处理应用的可执行图像312从主机系统的主机软件310发送到传感器处理单元200。可执行图像可以经由UART 206接口或以太网207接口或两者发送。传感器处理应用的可执行图像312可以被存储在传感器处理单元内的eMMC 202存储设备中。在框404处,处理逻辑可以使传感器处理单元200执行并启动传感器处理单元200的DRAM 201中的传感器处理应用的可执行图像312。在框406处,处理逻辑可以将预定命令序列发送到已执行的传感器处理应用,以对从与自主驾驶车辆相关联的多个传感器或传感器模拟器获得的传感器数据执行多个传感器数据处理操作。在框408处,处理逻辑可以将传感器处理操作的处理结果与预期处理结果进行比较,以确定传感器处理应用是否正确地操作。
特定实施例可以在适当时重复图4的方法400的一个或多个操作。尽管本公开将图4的方法的特定操作描述并示出为按特定顺序发生,但是本公开考虑图4的方法的任何合适的操作以任何合适的顺序发生。此外,尽管本公开描述并示出用于诊断自主驾驶车辆的传感器处理单元的示例方法(包括图4的方法的特定操作),但是本公开考虑用于诊断自主驾驶车辆的传感器处理单元的任何合适的方法(包括任何合适的步骤,该步骤在适当时可以包括图4的方法的操作的全部、一些或全无)。此外,尽管本公开描述和示出实施图4的方法的特定步骤的特定组件、设备或系统,但是本公开考虑实施图4的方法的任何合适的操作的任何合适的组件、设备或系统的任何合适的组合。
图5是示出根据本公开的一个实施例的自主驾驶车辆的框图。参考图5,自主驾驶车辆601可以通过网络通信地耦合到一个或多个服务器,网络可以是任何类型的网络,诸如局域网(LAN)、广域网(WAN)(诸如互联网、蜂窝网络、卫星网络的或其组合)、有线或无线的网络。(一个或多个)服务器可以是任何种类的服务器或服务器集群,诸如Web或云服务器、应用服务器、后端服务器或其组合。服务器可以是数据分析服务器、内容服务器、交通信息服务器、地图和兴趣点(MPOI)服务器、或位置服务器等。
自主驾驶车辆是指可以被配置为处于自主模式的车辆,在自主模式下,车辆在驾驶员很少或没有输入的情况下导航通过环境。这种自主驾驶车辆可以包括具有一个或多个传感器的传感器系统,一个或多个传感器被配置为检测关于车辆在其中操作的环境的信息。车辆及其关联的控制器使用检测的信息导航通过环境。自主驾驶车辆601可以在手动模式、完全自主模式或部分自主模式下操作。
在一个实施例中,自主驾驶车辆601包括但不限于感知和规划系统610、车辆控制系统611、无线通信系统612、用户接口系统613、信息娱乐系统114和传感器系统615。传感器系统615可以包括表示如图1A和1B所示的传感器110中的至少一些的传感器711-715。感知和规划系统610可以表示图1A和1B的主机系统120。自主驾驶车辆601还可以包括包含在普通车辆中的某些常见组件,诸如引擎、车轮、方向盘、变速器等,其可以由车辆控制系统611和/或感知和规划系统610使用各种通信信号和/或命令来控制,诸如加速信号或命令、减速信号或命令、转向信号或命令、制动信号或命令等。
组件610-615可以经由互连、总线、网络或其组合彼此通信地耦合。例如,组件610-615可以经由控制器局域网(CAN)总线彼此通信地耦合。CAN总线是一种车辆总线标准,其被设计为允许微控制器和设备在没有主机的应用中彼此通信。它是一种基于消息的协议,最初是为汽车内的多路电气布线设计的,但也用于许多其他情况。
现在参考图6,在一个实施例中,传感器系统615包括但不限于一个或多个相机711、全球定位系统(GPS)单元712、惯性测量单元(IMU)713、雷达单元714、以及光检测和测距(LIDAR)单元715。GPS系统712可以包括收发器,收发器可操作以提供关于自主驾驶车辆的位置的信息。IMU单元713可以基于惯性加速度来感测自主驾驶车辆的位置和朝向的改变。雷达单元714可以表示利用无线电信号来感测在自主驾驶车辆的局部环境内的物体的系统。在一些实施例中,除了感测物体之外,雷达单元714可以附加地感测物体的速度和/或前进方向。LIDAR单元715可以使用激光感测自主驾驶车辆所处于的环境中的物体。LIDAR单元715可以包括一个或多个激光源、激光扫描仪以及一个或多个检测器、以及其他系统组件。相机711可以包括一个或多个设备以捕获自主驾驶车辆周围的环境的图像。相机711可以是静态相机和/或视频相机。相机可以例如通过将相机安装在旋转和/或倾斜的平台上而机械地可移动。
传感器系统615还可以包括其他传感器,诸如声纳传感器、红外传感器、转向传感器、油门传感器、制动传感器和音频传感器(例如,麦克风)。音频传感器可以被配置为从自主驾驶车辆周围的环境捕获声音。转向传感器可以被配置为感测方向盘、车辆车轮或其组合的转向角。油门传感器和制动传感器分别感测车辆的油门位置和制动位置。在某些情况下,油门传感器和制动传感器可以被集成为集成的油门/制动传感器。
在一个实施例中,车辆控制系统611包括但不限于转向单元701、油门单元702(也称为加速单元)和制动单元703。转向单元701用于调节车辆的方向或前进方向。油门单元702用于控制马达或引擎的速度,进而控制车辆的速度和加速度。制动单元703用于通过提供摩擦以减慢车辆的车轮或轮胎来使车辆减速。注意,图6中所示的组件可以以硬件、软件或其组合来实现。
再次参考图5,无线通信系统612用于允许自主驾驶车辆601与外部系统(诸如设备、传感器、其他车辆等)之间的通信。例如,无线通信系统612可以直接或者经由通信网络与一个或多个设备进行无线通信。无线通信系统612可以使用任何蜂窝通信网络或无线局域网(WLAN),例如使用Wi-Fi与另一个组件或系统进行通信。无线通信系统612可以例如使用红外链路、蓝牙等直接与设备(例如,乘客的移动设备、车辆601内的显示设备、扬声器)通信。用户接口系统613可以是在车辆601内实现的外围设备的一部分,包括例如键盘、触摸屏显示设备、麦克风和扬声器等。
自主驾驶车辆601的某些或全部功能可以由感知和规划系统610控制或管理,特别是在以自主驾驶模式操作时。感知和规划系统610包括必要的硬件(例如处理器、存储器、存储装置)和软件(例如,操作系统、规划和路由程序),以接收来自传感器系统615、控制系统611、无线通信系统612和/或用户接口系统613的信息,处理接收到的信息,规划从起点到目的地点的路线或路径,然后基于规划和控制信息驾驶车辆601。可替换地,感知和规划系统610可以与车辆控制系统611集成在一起。
例如,作为乘客的用户可以例如经由用户界面指定行程的起始位置和目的地。感知和规划系统610获得行程有关的数据。例如,感知和规划系统610可以从MPOI服务器获得位置和路线信息。位置服务器提供位置服务,以及MPOI服务器提供某些位置的地图服务和POI。可替换地,这样的位置和MPOI信息可以本地缓存在感知和规划系统610的永久存储设备中。
当自主驾驶车辆601沿着路线移动时,感知和规划系统610还可以以从交通信息系统或服务器(TIS)获得实时交通信息。注意,服务器可以由第三方实体操作。可替换地,服务器的功能可以与感知和规划系统610集成在一起。基于实时交通信息、MPOI信息和位置信息、以及由传感器系统615检测或感测的实时本地环境数据(例如,障碍物、物体、附近车辆),感知和规划系统610可以规划最佳路线并且例如根据规划的路线经由控制系统611驾驶车辆601,以安全有效地到达指定目的地。
图7是示出根据一个实施例的与自主驾驶车辆一起使用的感知和规划系统的示例的框图。系统800可以被实现为图5的自主驾驶车辆601的一部分,包括但不限于感知和规划系统610、控制系统611和传感器系统615。参考图7,感知和规划系统610包括但不限于定位模块801、感知模块802、预测模块803、决策模块804、规划模块805、控制模块806、以及路由模块807。
模块801-807中的一些或全部可以以软件、硬件或其组合来实现。例如,这些模块可以被安装在永久存储设备852中、被加载到存储器851中、并且由一个或多个处理器(未示出)执行。注意,这些模块中的一些或全部可以通信地耦合到图6的车辆控制系统611的一些或全部模块或与之集成。模块801-807中的一些可以被集成在一起作为集成模块。
定位模块801确定自主驾驶车辆300的当前位置(例如,利用GPS单元712),并管理与用户的行程或路线有关的任何数据。定位模块801(也称为地图和路线模块)管理与用户的行程或路线有关的任何数据。用户可以例如经由用户界面登录并指定行程的起始位置和目的地。定位模块801与自主驾驶车辆300的其他组件通信,诸如地图和路线信息811,以获得与行程有关的数据。例如,定位模块801可以从位置服务器以及地图和POI(MPOI)服务器获得位置和路线信息。位置服务器提供位置服务,并且MPOI服务器提供某些位置的地图服务和POI,其可以被缓存作为地图和路线信息811的一部分。在自主驾驶车辆300沿路线移动时,定位模块801还可以从交通信息系统或服务器获取实时交通信息。
基于由传感器系统615提供的传感器数据和由定位模块801获得的定位信息,对周围环境的感知由感知模块802确定。感知信息可以表示普通驾驶员在驾驶员正在驾驶的车辆周围将感知到的东西。感知可以包括车道配置、交通灯信号、另一车辆的相对位置、行人、建筑物、人行横道、或其他与交通有关的标志(例如,停车标志、让路标志)等,例如,以物体的形式。车道配置包括描述一个或多个车道的信息,诸如,例如车道的形状(例如,笔直或弯曲)、车道的宽度、道路中有多少个车道、单向或双向车道、合并或拆分车道、出口车道等。
感知模块802可以包括计算机视觉系统或计算机视觉系统的功能,以处理和分析由一个或多个相机捕获的图像,以便识别自主驾驶车辆的环境中的物体和/或特征。物体可以包括交通信号、道路边界、其他车辆、行人和/或障碍物等。计算机视觉系统可以使用物体识别算法、视频跟踪和其他计算机视觉技术。在一些实施例中,计算机视觉系统可以映射环境、跟踪物体并估计物体的速度等。感知模块802还可以基于由诸如雷达和/或LIDAR的其他传感器提供的其他传感器数据来检测物体。
对于每个物体,预测模块803预测在这种情况下物体将表现的东西。鉴于一组地图/路线信息811和交通规则812,基于当时感知驾驶环境的感知数据执行预测。例如,如果物体是在相反方向的车辆并且当前驾驶环境包括交叉路口,则预测模块803将预测车辆是可能直行向前移动还是转弯。如果感知数据指示交叉路口没有交通灯,则预测模块803可以预测车辆可能需要在进入交叉路口之前完全停止。如果感知数据指示车辆当前在只能向左转的车道或只能向右转的车道,则预测模块803可以分别预测车辆将更可能向左转或向右转。
对于每个物体,决策模块804做出关于如何处理物体的决策。例如,对于特定的物体(例如,在交叉路线中的另一辆车)以及描述该物体的元数据(例如,速度、方向、转弯角度),决策模块804决定如何遇见该物体(例如,超车、让车、停止、经过)。决策模块804可以根据可以存储在永久存储设备852中的一组规则(诸如交通规则或驾驶规则812)做出这样的决策。
路由模块807被配置为提供从起点到目的地点的一条或多条路线或路径。对于例如从用户接收的从起始位置到目的地位置的给定行程,路由模块807获得路线和地图信息811,并且确定从起始位置到达目的地位置的所有可能的路线或路径。路由模块807可以为它所确定的从起始位置到达目的地位置的每条路线生成地形图形式的参考线。参考线是指一条理想的路线或路径,不受诸如其他车辆、障碍物或交通状况的其他因素的任何干扰。即,如果道路上没有其他车辆、行人或障碍物,则ADV应该准确或密切跟随参考线。然后地形图被提供给决策模块804和/或规划模块805。鉴于由其他模块提供的其他数据(诸如来自定位模块801的交通状况、由感知模块802感知的驾驶环境以及由预测模块803预测的交通状况),决策模块804和/或规划模块805检查所有可能的路线以选择和修改最佳路线中的一条。用于控制ADV的实际路径或路线可能与由路由模块807提供的参考线接近或不同,这取决于当时的特定驾驶环境。
基于对感知的每个物体的决策,规划模块805使用由路由模块807提供的参考线作为基础规划用于自主驾驶车辆的路径或路线以及驾驶参数(例如,距离、速度和/或转弯角度)。即对于给定的物体,决策模块804决定对该物体做什么,而规划模块805确定如何做。例如,对于给定的物体,决策模块804可以决定经过该物体,而规划模块805可以确定是在该物体的左侧还是在右侧经过。规划和控制数据由规划模块805生成,规划和控制数据包括描述车辆300如何在下一移动周期(例如,下一路线/路径段)中移动的信息。例如,规划和控制数据可以指示车辆300以每小时30英里(mph)的速度移动10米,然后以25mph的速度改变到右车道。
基于规划和控制数据,控制模块806根据由规划和控制数据限定的路线或路径,通过向车辆控制系统611发送适当的命令或信号,来控制和驾驶自主驾驶车辆。规划和控制数据包括足够的信息,以沿路径或路线在不同时间点使用适当的车辆设置或驾驶参数(例如,油门、制动、转向命令)将车辆从路线或路径的第一点驾驶到第二点。
在一个实施例中,在多个规划周期(也称为驾驶周期,诸如,例如在每100毫秒(ms)的时间间隔中)中执行规划阶段。对于每个规划周期或驾驶周期,将基于规划和控制数据发出一个或多个控制命令。即,对于每100ms,规划模块805规划下一路线段或路径段(例如包括目标位置和ADV到达目标位置所需的时间)。可替换地,规划模块805还可以指定特定的速度、方向和/或转向角等。在一个实施例中,规划模块805为下一预定时间段(诸如5秒)规划路线段或路径段。对于每个规划周期,规划模块805基于在先前周期中规划的目标位置,为当前周期(例如,接下来的5秒)规划目标位置。然后,控制模块806基于当前周期的规划和控制数据产生一个或多个控制命令(例如,油门、制动、转向控制命令)。
注意,决策模块804和规划模块805可以被集成为集成模块。决策模块804/规划模块805可以包括导航系统或导航系统的功能,以为自主驾驶车辆确定驾驶路径。例如,导航系统可以确定一系列速度和定向的前进方向,以影响自主驾驶车辆沿着基本上避开所感知的障碍物的路径的移动,同时通常使自主驾驶车辆沿着通往最终目的地的基于道路的路径前进。可以根据经由用户接口系统613的用户输入来设置目的地。导航系统可以在操作自主驾驶车辆时动态地更新驾驶路径。导航系统可以合并来自GPS系统的数据和一个或多个地图,以便确定自主驾驶车辆的驾驶路径。
根据一个实施例,如上面描述的自主驾驶系统的系统架构包括但不限于应用层、规划和控制(PNC)层、感知层、设备驱动器层、固件层和硬件层。应用层可以包括与自主驾驶车辆的用户或乘客交互的用户界面或配置应用,诸如,例如与用户接口系统613相关联的功能。PNC层可以包括至少规划模块805和控制模块806的功能。感知层可以包括至少感知模块802的功能。在一个实施例中,存在包括预测模块803和/或决策模块804的功能的附加层。可替换地,这样的功能可以被包括在PNC层和/或感知层中。固件层可以表示至少传感器系统615的功能,其可以以现场可编程门阵列(FPGA)的形式实现。硬件层可以表示自主驾驶车辆的硬件(诸如控制系统611)。应用层、PNC层和感知层可以经由设备驱动器层与固件层和硬件层通信。
注意,上面示出和描述的组件中一些或全部可以以软件、硬件或其组合来实现。例如,这样的组件可以被实现为安装并存储在永久存储设备中的软件,软件可以由处理器(未示出)加载并在存储器中执行以实施整个本申请描述的处理或操作。可替换地,这样的组件可以被实现为被编程或嵌入到诸如集成电路(例如,专用IC或ASIC)、数字信号处理器(DSP)或现场可编程门阵列(FPGA)的专用硬件中的可执行代码,其可以经由相应驱动器和/或操作系统从应用进行访问。此外,这样的组件可以被实现为处理器或处理器核心中的特定硬件逻辑,作为软件组件经由一个或多个特定指令可访问的指令集的一部分。
已经在对计算机存储器内的数据位的操作的算法和符号表示方面呈现前面详细描述的某些部分。这些算法描述和表示是数据处理领域的技术人员用来最有效地向本领域其他技术人员传达其工作实质的方式。算法在这里并且通常被认为是导致期望结果的自洽操作序列。操作是需要对物理量进行物理操纵的那些操作。
然而,应当牢记的是,所有这些和类似术语均应与适当的物理量相关联,并且仅仅是应用于这些量的方便的标记。除非从上述讨论中另外明确指出,否则应理解的是,在整个说明书中,利用诸如所附权利要求书中阐述的术语的讨论是指计算机系统或类似电子计算设备的动作和处理,其将计算机系统寄存器和存储器内表示为物理(电子)量的数据操纵和转换为计算机系统存储器或寄存器或其他这样的信息存储、发送或显示设备内的类似地表示为物理量的其他数据。
本公开的实施例还涉及用于执行本文中的操作的装置。这种计算机程序存储在非暂时性计算机可读介质中。机器可读介质包括用于以机器(例如,计算机)可读的形式存储信息的任何机制。例如,机器可读(例如,计算机可读)介质包括机器(例如,计算机)可读存储介质(例如,只读存储器(“ROM”)、随机存取存储器(“RAM”)、磁盘存储介质、光存储介质、闪存设备)。
在前述附图中描绘的处理或方法可以由包括硬件(例如,电路、专用逻辑等)、软件(例如,体现在非暂时性计算机可读介质上)或两者组合的处理逻辑来执行。尽管以上根据一些顺序操作描述了处理或方法,但是应当理解的是,可以以不同的顺序执行所描述的一些操作。此外,一些操作可以并行地执行而不是顺序地执行。
本公开的实施例不是参考任何特别编程语言描述的。将理解的是,可以使用各种编程语言来实现如本文描述的本公开的实施例的教示。
在前述说明书中,已经参考本公开的具体示例性实施例描述了本公开的实施例。显然,在不背离如所附权利要求书中阐述的本公开的更宽的精神和范围的情况下,可以对其进行各种修改。因此,说明书和附图应被认为是说明性的而不是限制性的。
Claims (11)
1.一种用于诊断自主驾驶车辆的传感器处理单元的方法,方法包括:
经由通用异步接收器-发送器UART或以太网连接中的至少一个,将传感器处理应用的可执行图像从主机系统发送到传感器处理单元,其中传感器处理应用的可执行图像被存储在传感器处理单元内的嵌入式多媒体控制器eMMC存储设备中;
使传感器处理单元从eMMC存储设备执行并启动传感器处理单元内的动态随机存取存储器DRAM中的传感器处理应用的可执行图像;
将预定命令序列发送到已执行的传感器处理应用,以对从与自主驾驶车辆相关联的多个传感器或传感器模拟器获得的传感器数据执行多个传感器数据处理操作;以及
将传感器处理操作的处理结果与预期处理结果进行比较,以确定传感器处理应用是否正确地操作。
2.根据权利要求1所述的方法,还包括:经由联合测试动作组JTAG接口,将第一信号从主机系统发送到传感器处理单元,以对DRAM执行存储器测试;其中仅响应于确定已经成功执行了DRAM的存储器测试,传感器处理应用的可执行图像被发送到eMMC存储设备。
3.根据权利要求1所述的方法,还包括:经由UART或以太网连接中的至少一个,从主机系统发送经验证的传感器处理应用的可执行图像;其中经验证的传感器处理应用的可执行图像被存储在传感器处理单元内的四线串行外设接口QSPI存储设备中。
4.根据权利要求3所述的方法,其中,响应于确定传感器处理应用的可执行图像已经被破坏,在DRAM中启动并执行经验证的传感器处理应用。
5.根据权利要求3所述的方法,其中,一旦经验证的传感器处理应用的可执行图像已经被存储在QSPI存储设备中,QSPI存储设备变为只读存储设备。
6.根据权利要求1所述的方法,还包括:
将执行外围组件互连快速PCIe测试的一个或多个指令从主机系统发送到传感器处理单元,以确定包含传感器处理单元的传感器接口板上的PCIe接口是起作用的;以及
输出PCIe测试的结果用于显示。
7.根据权利要求1所述的方法,还包括:
将执行内部集成电路I2C测试的一个或多个指令从主机系统发送到传感器处理单元,以确定传感器接口板上的I2C接口是起作用的;以及
输出I2C测试的结果用于显示。
8.根据权利要求1所述的方法,还包括:
将执行相机测试的一个或多个指令从主机系统发送到传感器处理单元,以确定传感器接口板上的相机接口是起作用的;以及
输出相机测试的结果用于显示。
9.一种用于诊断自主驾驶车辆的传感器处理单元的装置,包括:
第一发送模块,用于经由通用异步接收器-发送器UART或以太网连接中的至少一个,将传感器处理应用的可执行图像从主机系统发送到传感器处理单元,其中传感器处理应用的可执行图像被存储在传感器处理单元内的嵌入式多媒体控制器eMMC存储设备中;
启动模块,用于使传感器处理单元从eMMC存储设备执行并启动传感器处理单元内的动态随机存取存储器DRAM中的传感器处理应用的可执行图像;
第二发送模块,用于将预定命令序列发送到已执行的传感器处理应用,以对从与自主驾驶车辆相关联的多个传感器或传感器模拟器获得的传感器数据执行多个传感器数据处理操作;以及
对比模块,用于将传感器处理操作的处理结果与预期处理结果进行比较,以确定传感器处理应用是否正确地操作。
10.一种用于诊断自主驾驶车辆的传感器处理单元的系统,系统包括一个或多个计算机处理设备,计算机处理设备被编程为执行根据权利要求1-8中任一项所述的方法。
11.一种非暂时性计算机可读介质,其上存储有指令,当被一个或多个计算机处理设备执行时,指令将使一个或多个计算机处理设备执行根据权利要求1-8中任一项所述的方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/510,124 | 2019-07-12 | ||
US16/510,124 US11198444B2 (en) | 2019-07-12 | 2019-07-12 | Automated factory testflow of processing unit with sensor integration for driving platform |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111858202A true CN111858202A (zh) | 2020-10-30 |
Family
ID=72988536
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010598779.7A Pending CN111858202A (zh) | 2019-07-12 | 2020-06-28 | 诊断自主驾驶车辆的传感器处理单元的方法、装置和系统、及计算机可读介质 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11198444B2 (zh) |
CN (1) | CN111858202A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112660145A (zh) * | 2020-12-24 | 2021-04-16 | 李敏 | 一种无人驾驶车辆的控制系统及其控制方法 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11440560B2 (en) * | 2019-07-10 | 2022-09-13 | Valerann Ltd. | System and method for automatic configuration of a road sensor unit |
US20220396208A1 (en) * | 2021-06-10 | 2022-12-15 | Firstech, LLC | Vehicle camera and event notification |
CN114407872A (zh) * | 2022-02-17 | 2022-04-29 | 驭势科技(浙江)有限公司 | 自动驾驶系统及车辆 |
TWM640503U (zh) * | 2022-11-16 | 2023-05-01 | 欣銓科技股份有限公司 | 影像感測器測試系統 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101334285A (zh) * | 2007-06-29 | 2008-12-31 | 鸿富锦精密工业(深圳)有限公司 | 车辆导航装置及导航方法 |
CN106951627A (zh) * | 2017-03-15 | 2017-07-14 | 北京百度网讯科技有限公司 | 车辆自动驾驶的仿真测试方法、装置、设备及计算机可读存储介质 |
US20180050704A1 (en) * | 2016-08-16 | 2018-02-22 | Uber Technologies, Inc. | Autonomous vehicle diagnostic system |
CN108068792A (zh) * | 2016-11-17 | 2018-05-25 | 通用汽车环球科技运作有限责任公司 | 用于自主车辆的自动协同驾驶控制 |
CN108196547A (zh) * | 2018-01-08 | 2018-06-22 | 北京图森未来科技有限公司 | 一种自动驾驶系统 |
CN108334055A (zh) * | 2018-01-30 | 2018-07-27 | 赵兴华 | 车辆自动驾驶算法的检验方法、装置、设备及存储介质 |
CN108762226A (zh) * | 2018-05-14 | 2018-11-06 | 济南浪潮高新科技投资发展有限公司 | 一种自动驾驶车辆测试方法、装置及系统 |
CN109085620A (zh) * | 2017-06-13 | 2018-12-25 | 百度在线网络技术(北京)有限公司 | 无人驾驶车辆定位异常校准方法、装置、设备及存储介质 |
US20190049958A1 (en) * | 2017-08-08 | 2019-02-14 | Nio Usa, Inc. | Method and system for multiple sensor correlation diagnostic and sensor fusion/dnn monitor for autonomous driving application |
CN109520744A (zh) * | 2018-11-12 | 2019-03-26 | 百度在线网络技术(北京)有限公司 | 自动驾驶车辆的驾驶性能测试方法和装置 |
US20190101924A1 (en) * | 2017-10-03 | 2019-04-04 | Uber Technologies, Inc. | Anomaly Detection Systems and Methods for Autonomous Vehicles |
CN109624994A (zh) * | 2019-01-28 | 2019-04-16 | 浙江吉利汽车研究院有限公司 | 一种车辆自动驾驶控制方法、装置、设备及终端 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8024084B2 (en) * | 1995-06-07 | 2011-09-20 | Automotive Technologies International, Inc. | Vehicle diagnostic techniques |
US6236917B1 (en) * | 1999-12-21 | 2001-05-22 | Spx Corporation | Open architecture diagnostic tool |
US10981578B2 (en) * | 2018-08-02 | 2021-04-20 | GM Global Technology Operations LLC | System and method for hardware verification in an automotive vehicle |
US11148675B2 (en) * | 2018-08-06 | 2021-10-19 | Qualcomm Incorporated | Apparatus and method of sharing a sensor in a multiple system on chip environment |
-
2019
- 2019-07-12 US US16/510,124 patent/US11198444B2/en active Active
-
2020
- 2020-06-28 CN CN202010598779.7A patent/CN111858202A/zh active Pending
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101334285A (zh) * | 2007-06-29 | 2008-12-31 | 鸿富锦精密工业(深圳)有限公司 | 车辆导航装置及导航方法 |
US20180050704A1 (en) * | 2016-08-16 | 2018-02-22 | Uber Technologies, Inc. | Autonomous vehicle diagnostic system |
CN108068792A (zh) * | 2016-11-17 | 2018-05-25 | 通用汽车环球科技运作有限责任公司 | 用于自主车辆的自动协同驾驶控制 |
CN106951627A (zh) * | 2017-03-15 | 2017-07-14 | 北京百度网讯科技有限公司 | 车辆自动驾驶的仿真测试方法、装置、设备及计算机可读存储介质 |
CN109085620A (zh) * | 2017-06-13 | 2018-12-25 | 百度在线网络技术(北京)有限公司 | 无人驾驶车辆定位异常校准方法、装置、设备及存储介质 |
US20190049958A1 (en) * | 2017-08-08 | 2019-02-14 | Nio Usa, Inc. | Method and system for multiple sensor correlation diagnostic and sensor fusion/dnn monitor for autonomous driving application |
US20190101924A1 (en) * | 2017-10-03 | 2019-04-04 | Uber Technologies, Inc. | Anomaly Detection Systems and Methods for Autonomous Vehicles |
CN108196547A (zh) * | 2018-01-08 | 2018-06-22 | 北京图森未来科技有限公司 | 一种自动驾驶系统 |
CN108334055A (zh) * | 2018-01-30 | 2018-07-27 | 赵兴华 | 车辆自动驾驶算法的检验方法、装置、设备及存储介质 |
CN108762226A (zh) * | 2018-05-14 | 2018-11-06 | 济南浪潮高新科技投资发展有限公司 | 一种自动驾驶车辆测试方法、装置及系统 |
CN109520744A (zh) * | 2018-11-12 | 2019-03-26 | 百度在线网络技术(北京)有限公司 | 自动驾驶车辆的驾驶性能测试方法和装置 |
CN109624994A (zh) * | 2019-01-28 | 2019-04-16 | 浙江吉利汽车研究院有限公司 | 一种车辆自动驾驶控制方法、装置、设备及终端 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112660145A (zh) * | 2020-12-24 | 2021-04-16 | 李敏 | 一种无人驾驶车辆的控制系统及其控制方法 |
Also Published As
Publication number | Publication date |
---|---|
US20210009145A1 (en) | 2021-01-14 |
US11198444B2 (en) | 2021-12-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102223270B1 (ko) | 여분의 초음파 radar를 구비한 자율 주행 차량 | |
US11198444B2 (en) | Automated factory testflow of processing unit with sensor integration for driving platform | |
JP6998342B2 (ja) | カメラを用いた画像データ取得のための自動運転車両の画像データ取得ロジック | |
CN111835496B (zh) | 在自动驾驶系统的不同计算节点之间的定时同步方案 | |
US11592570B2 (en) | Automated labeling system for autonomous driving vehicle lidar data | |
US11402842B2 (en) | Method to define safe drivable area for automated driving system | |
KR20180092314A (ko) | 모션 계획에 기초한 자율 주행 차량의 운행 방법 및 시스템 | |
US20190272750A1 (en) | Control device and control program for self-driving vehicle | |
US20200174486A1 (en) | Learning-based dynamic modeling methods for autonomous driving vehicles | |
US11167751B2 (en) | Fail-operational architecture with functional safety monitors for automated driving system | |
US11456890B2 (en) | Open and safe monitoring system for autonomous driving platform | |
US20210191402A1 (en) | Communications protocols between planning and control of autonomous driving vehicle | |
US20200233418A1 (en) | Method to dynamically determine vehicle effective sensor coverage for autonomous driving application | |
US11221405B2 (en) | Extended perception based on radar communication of autonomous driving vehicles | |
CN111860198A (zh) | 用于自主驾驶车辆adv的处理点云数据的方法、装置和系统、及计算机可读介质 | |
US11592581B2 (en) | Dual inertial measurement units for inertial navigation system | |
JP7355930B2 (ja) | 自動運転システム内の慣性ナビゲーションシステムの時間決定 | |
CN111813594A (zh) | 用于自动驾驶车辆的基于硬件的系统的启动失效恢复方案 | |
US11175410B2 (en) | Flexible GPS message decoder for decoding GPS messages during autonomous driving | |
US20240070056A1 (en) | Manufacture test system for computation hardware used in driverless vehicle | |
CN113533876A (zh) | 用于执行自主驾驶车辆的电磁兼容性测试的方法和系统 | |
US20240086264A1 (en) | Hardware adaptive vehicle os design on mcu | |
US20240051569A1 (en) | Long-term evolution computing platform for autonomous vehicles based on shell and nut architecture | |
CN116973943A (zh) | 用于无人驾驶车辆的自适应lidar数据处理 | |
CN117666521A (zh) | 车辆控制器的测试方法、测试设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |