CN114556307A - 用于车辆的控制器和用于测试车辆功能的程序单元的方法以及具有控制器的机动车 - Google Patents
用于车辆的控制器和用于测试车辆功能的程序单元的方法以及具有控制器的机动车 Download PDFInfo
- Publication number
- CN114556307A CN114556307A CN202180005860.2A CN202180005860A CN114556307A CN 114556307 A CN114556307 A CN 114556307A CN 202180005860 A CN202180005860 A CN 202180005860A CN 114556307 A CN114556307 A CN 114556307A
- Authority
- CN
- China
- Prior art keywords
- program
- test
- vehicle
- control
- controller
- 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
- 238000012360 testing method Methods 0.000 title claims abstract description 128
- 238000000034 method Methods 0.000 title claims abstract description 27
- 230000006870 function Effects 0.000 claims abstract description 75
- 238000004891 communication Methods 0.000 claims description 21
- 238000011156 evaluation Methods 0.000 claims description 18
- 230000005540 biological transmission Effects 0.000 claims description 2
- 244000035744 Hura crepitans Species 0.000 description 13
- 230000008901 benefit Effects 0.000 description 10
- 230000008569 process Effects 0.000 description 10
- 230000015654 memory Effects 0.000 description 5
- 230000004048 modification Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000018109 developmental process Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 238000013475 authorization Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000008447 perception Effects 0.000 description 2
- 238000010998 test method Methods 0.000 description 2
- 238000010200 validation analysis Methods 0.000 description 2
- 230000003936 working memory Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012432 intermediate storage Methods 0.000 description 1
- JEIPFZHSYJVQDO-UHFFFAOYSA-N iron(III) oxide Inorganic materials O=[Fe]O[Fe]=O JEIPFZHSYJVQDO-UHFFFAOYSA-N 0.000 description 1
- 150000002678 macrocyclic compounds Chemical class 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/0055—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots with safety arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3664—Environments for testing or debugging software
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B23/00—Testing or monitoring of control systems or parts thereof
- G05B23/02—Electric testing or monitoring
- G05B23/0205—Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
- G05B23/0208—Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterized by the configuration of the monitoring system
- G05B23/0213—Modular or universal configuration of the monitoring system, e.g. monitoring system having modules that may be combined to build monitoring program; monitoring system that can be applied to legacy systems; adaptable monitoring system; using different communication protocols
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
- G06F21/53—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/366—Software debugging using diagnostics
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45587—Isolation or security of virtual machine instances
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45591—Monitoring or debugging support
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/033—Test or assess software
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Automation & Control Theory (AREA)
- Aviation & Aerospace Engineering (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及一种用于车辆(10)的控制器(12)和一种用于测试车辆功能的程序单元的方法。控制器具有计算机装置(14),该计算机装置运行用于控制车辆功能的控制程序(16)和具有用于测试车辆功能的至少一个程序单元(28)的控制测试程序(24)的测试环境,其中,测试环境被定义在由控制程序(16)界定的运行时环境内,控制测试程序(24)具有程序接口,该程序接口能在控制测试程序(16)的运行期间中接入并执行至少一个程序单元(28),以使得控制测试程序(24)能够测试车辆功能的至少一个程序单元(28)。
Description
技术领域
本发明涉及一种用于车辆的控制器、一种用于测试车辆功能的程序单元的方法以及一种具有这种控制器的机动车。
背景技术
在当前的数字控制器中,软件升级或修改在其被开放用于车辆之前必须经历多阶段集成、测试/验证和批准过程。到目前为止,必须执行包括批准在内的完整的软件授权周期,以便在车辆中在所有与此相关风险的情况下提供新软件。
即使在最好的情况下,用于软件修改的包括检查、验证、批准和在车辆中的使用在内的授权过程也将持续至少数周。基于这个事实,例如在针对自主驾驶中的特定场景的新感知算法的测试方面,新软件的快速测试仅可能每隔几周进行,这极大地延迟了可能的开发进展并且不能动态地与即将到来的修改需求、例如特定使用地点或环境条件相适配。
实现在车辆中的新软件的快速使用和学习的已知可能性是,在车辆中安装冗余组的硬件组件、也就是说控制器,以便在脱离主动的车辆安全系统或车辆功能的情况下运行新软件。然而,这种方法对车辆的成本、复杂性和空间需求有额外的要求。
由文献DE 103 19 365 A1已知一种用于车辆的计算机系统和一种用于控制在这样的计算机系统中的数据通信的方法。计算机系统在中央计算单元内部具有被界定的运行时环境,应用程序可以在该运行时环境中运行,而不会对在被界定的运行时环境外部的运行时环境产生影响。
由文献US 2018/0196732 A1已知一种用于在运行期间测试和检查计算机程序的正确性的方法和系统。在此,反射函数的反射代码被集成到执行计算机程序的软件模块中。如果需要,反射代码可以通过输入激活,并且与此相关的输出被处理。
由文献WO 2019/133824 A1已知用于安全和受保护地更新软件的系统和方法。
发明内容
本发明的目的是,提供一种对车辆功能的新程序单元的快速且可靠的测试。
所述目的通过独立权利要求来实现。本发明的有利的改进方案通过从属权利要求、以下说明以及附图公开。
通过本发明提供了一种具有计算机装置的用于车辆的控制器,该计算机装置被设计为用于,运行用于控制车辆功能的控制程序和具有用于测试车辆功能的至少一个程序单元的控制测试程序的测试环境,其中,测试环境被定义在由控制程序界定的运行时环境内。控制测试程序具有程序接口,其被设计为用于,在控制测试程序的运行期间中接入并执行至少一个程序单元。控制测试程序还被设计为用于,测试车辆功能的至少一个程序单元。
换句话说,控制器具有计算机装置,在该计算机装置上运行控制程序和控制测试程序。计算机装置可以具有处理器、工作存储器和数据存储器。特别是,计算机装置可以被设计为用于接收和处理车辆功能的传感器数据。车辆功能例如可以源自车辆的行驶安全系统,例如源自激光雷达、车辆雷达和车辆摄像机。控制程序在此可以处理车辆功能的数据并且根据处理的结果来操控车辆功能。例如,在车辆摄像机中可以通过控制程序识别在车辆的运动轨迹中的对象,紧接着控制程序可以自动地操控车辆的制动装置以用于制动。
控制测试程序可以具有程序接口,在该程序接口中可以在控制测试程序的运行期间时接入并执行程序单元。至少一个程序单元可以是用于至少一个车辆功能的控制软件,通过所述控制软件可以测试车辆功能。程序单元例如可以是用于车辆摄像机的对象识别的新的算法,该算法应借助于控制测试程序来测试。特别地,程序接口和至少一个程序单元被设计为用于,在控制测试程序的运行期间中集成程序单元。即,在控制器和控制测试程序处于运行期间,可以更换程序单元,即所谓的“热插拔(Hot Swap)”。为此,可以设置插件机制,其允许快速接入可以在计算机装置外部被编译的程序单元。为此,程序单元可以通过程序接口独立地登记,其中,程序单元可以被控制测试程序检查其完整性并且然后被实例化。对于程序单元,例如可以使用共享程序库(“共享库(shared libraries)”),其可以在运行时间期间被动态地加载。程序单元以及控制测试程序例如可以基于常见的编程语言,例如Java、C、C#、C++、Rust、Go和Python。
优选地,测试环境被定义在由控制程序界定的运行时环境内。也就是说,测试环境在与控制程序无关的测试环境中运行,使得它们不相互影响。这例如可以通过在另一个处理器上运行测试环境或特别优选地在虚拟机或虚拟计算机内部运行测试环境来实现,由此控制测试程序不能对控制程序施加影响。特别是,通过界定测试环境也可以使用用于测试环境的硬件,该硬件未被认证用于汽车应用,由此可以节省附加的成本。
通过本发明得到的优点是,用于测试车辆功能的新程序单元可以快速地、即几乎实时地接入控制测试程序中,而不影响用于控制车辆功能的控制程序。因此,可以随时在测试期间维持控制器的安全性,而不必为车辆提供冗余的控制器。快速地提供用于多个可能的车辆功能、例如环境感知、地图学习算法、信息娱乐功能和车辆的控制功能的软件雏形环境。
与冗余提供控制器的方案相比,该控制器仅需要数据量和附加系统资源的一小部分。此外,开发者的开发时间、所谓的“大循环(Big Loop)”和反馈时间、即从想法到在车辆中实施想法的反馈的时间可以大幅减少,这是因为开发者可以几乎实时地从车辆获得以下反馈:在程序单元中实施的想法是否起作用。此外,因此可以实现,不再必须为了评估而检查大量原始数据,而是程序单元可以仅处理车辆功能的所需数据,这将数据量限制于必要信息并且因此提高了效率。
本发明还包括产生附加优点的实施方式。
一个实施方式规定,控制测试程序仅具有对车辆功能的读取访问。换句话说,控制测试程序不能操控车辆功能以执行功能,而是仅读取和处理车辆功能的数据。通过该实施方式得到的优点是,控制测试程序不能改变或触发车辆功能,并且在可能有错误的程序单元中不执行错误的控制指令。因此,可以改进控制器的安全性。
另一个实施方式规定,借助于所界定的运行时环境虚拟地在计算机装置内部产生测试环境,其中,所界定的运行时环境不影响控制程序的运行时环境。换句话说,不为测试环境设置单独的硬件。测试环境与控制程序一起在计算机装置上运行,其中,测试环境在另一个所界定的运行时环境中借助于软件虚拟地产生。所界定的运行时环境可以被看作是隔离的虚拟容器,其代码仅在测试环境内被执行并且不影响控制程序。这也被称为沙盒。在此,沙盒或测试环境获得计算机装置的资源的分配,然而不影响计算机装置及其操作系统或控制程序。通过该实施方式得到的优点是,可以产生用于测试程序单元的测试环境,而不需要冗余的控制器。此外,可以提高安全性,这是因为所界定的运行时环境不影响控制程序的运行时环境。
在另一个实施方式中规定,控制测试程序具有事件检测器,其被设计为用于,从车辆功能的数据中识别出预先给定的测试条件并且在识别出预先给定的测试条件时启动控制测试程序的程序单元。换句话说,事件检测器可以从所有车辆功能的数据中识别出预先给定的测试条件并且随后执行用于测试的车辆功能的程序单元。例如可以规定,只有当出现确定的情况、即预先给定的测试条件时,才执行程序单元。事件检测器在此可以检查所有车辆功能的数据,也就是说不仅仅是要测试的数据。特别优选地,也可以被称为调度器的事件检测器可以从多个程序单元中选出与预先给定的测试条件相适配的那个程序单元。例如,预先给定的测试条件可以包括:车辆的雨水传感器识别出潮湿情况,于是事件检测器可以执行程序单元以在潮湿情况下测试车辆摄像机。优选地,也可以并行地执行多个程序单元。通过该实施方式得到如下优点,即,仅在预先给定的测试条件出现时才产生测试数据。由此可以减少数据量并因此减少存储空间需求。
另一个实施方式规定,计算机装置具有专用于测试环境的计算单元。换句话说,计算机装置可以配备有针对测试环境指定的硬件。这些计算资源专门为控制测试程序和至少一个程序单元保留,所述控制测试程序和至少一个程序单元应在所界定的运行时环境内被测试。例如,专用的计算单元可以具有一个或多个处理器、工作存储器和非易失性数据存储器。优选地,它们可以作为嵌入式计算单元设置在计算机装置内部。然而,专用的计算单元不被设计为用于测试的被复制的控制器,也就是说,不必复制车辆功能的和数据连接的控制器,如以太网、CAN、Flexray等。专用的计算单元仅仅被设想为处理单元,其可以执行在所界定的运行时环境内的算法并且可以从中存储测试数据。通过该实施方式得到如下优点,即,可以将用于所界定的运行时环境的硬件资源保持得小,并且用于控制程序的硬件和进而计算能力不受影响。因此,可以以最少的材料投入来产生功能强劲且高效的测试环境。
另一个实施方式规定,控制器具有通信设备,该通信设备被设计为用于提供与测试环境的无线通信连接。换句话说,提供了通信设备,借助于该通信设备可以通过无线通信连接访问测试环境。通信设备例如可以包括能够实现无线数据交换的移动通信模块或WLAN模块。通过该实施方式得到如下优点,即,可以从外部访问测试环境,而不必建立有线连接。由此可以从任何地方更快速和更动态地访问测试环境,这提高了测试过程的速度。
优选地规定,通过控制测试程序确定的测试数据能存储在测试环境中,其中,测试环境被设计为用于,提供通信设备的测试数据以用于传输到车辆外部的评估设备。换句话说,测试环境可以包括数据存储器,其存储控制测试程序的确定的测试数据。这些测试数据然后可以被提供给通信设备,该通信设备被设计为用于发送测试数据。优选地,测试数据可以被发送到车辆外部的评估设备,例如发送到控制器的或至少一个程序单元的开发者,该开发者然后可以执行测试数据的进一步的评估或评价。通过该实施方式得到如下优点,即,一旦测试环境被记录,就可以从测试环境中自动发送所需的测试数据。由此可以在程序单元的评价过程中使速度加速。
优选地规定,控制测试程序被设计为用于,从车辆功能的数据中识别出预先给定的车辆状态并且通过无线通信连接获取配属于预先给定的车辆状态的至少一个预先给定的程序单元。换句话说,控制测试程序可以请求至少一个与预先给定的车辆状态相适配的预先给定的程序单元。预先给定的车辆状态例如可以通过控制测试程序从车辆功能的数据中识别。预先给定的车辆状态可以包括车辆状态、车辆型号、车辆位置、速度、控制程序版本以及车辆状态的其他变化。然后,预先给定的程序单元可以根据所识别的预先给定的车辆状态被下载。因此,预先给定的车辆状态例如可以是车辆在低温区域中移动。接着,作为预先给定的程序单元,用于测试电子稳定程序的程序可以借助于程序接口接入控制测试程序中,以便检查该预先给定的程序单元在低温下的行为方式。通过该实施方式得到如下优点,即,只有当测试环境、即车辆状态也相应于测试条件时,才可变地提供待测试的程序单元。因此可以避免不必要的测试数据,由此可以进行更快速且更准确的检查。
根据本发明,还提供一种用于测试车辆功能的程序单元的方法,其中,提供用于控制车辆功能的控制程序和具有用于测试车辆功能的至少一个程序单元的控制测试程序的测试环境,其中,测试环境在由控制程序界定的运行时环境内运行,其中,通过控制测试程序的程序接口在控制测试程序的运行期间中接入并执行至少一个程序单元,其中,通过所述至少一个程序单元测试车辆功能。优选地,测试环境可以在车辆中的计算机装置中提供,特别是在其中提供了用于控制车辆功能的控制程序的计算机装置中。替代地或附加地,也可以将传感器数据和/或执行器数据发送到车辆外部的评估设备中,其中,车辆外部的评估设备可以具有测试环境,并且因此可以通过程序单元在车辆外部进行对车辆功能的测试。在此得到与在控制器中相同的优点和变化可能性。
本发明的另一方面涉及一种具有根据前述实施例之一的控制器的机动车。
本发明还包括用于机动车辆的控制装置。该控制装置具有处理器设备,其被设置为用于执行根据本发明的方法的实施方式。为此,处理器设备可以具有至少一个微处理器和/或至少一个微控制器和/或至少一个FPGA(现场可编程门阵列)和/或至少一个DSP(数字信号处理器)。此外,处理器设备可以具有程序代码,该程序代码被设置为用于在通过处理器设备执行时执行根据本发明的方法的实施方式。程序代码可以存储在处理器设备的数据存储器中。
本发明还涉及根据本发明的方法的改进方案,这些改进方案具有如已经结合根据本发明的控制器的改进方案所描述的特征。出于这个原因,在此不再描述根据本发明的方法的相应的改进方案。
根据本发明的机动车优选地被设计为汽车、特别是乘用车或载货汽车,或被设计为客车或摩托车。
本发明还包括所描述的实施方式的特征组合。
附图说明
下面描述本发明的实施例。图中示出:
图1示出具有根据一个示例性实施方式的控制器的机动车;
图2示出根据一个示例性实施方式的示意性方法流程图。
下面说明的实施例是本发明的优选实施方式。然而在该实施例中,所述的实施方式组成部分分别是本发明的单个的、可视作彼此独立的特征,这些特征也相应彼此独立地改进本发明。因此,公开内容旨在包括实施方式的特征的除了所示组合之外的组合。此外,所述实施方式也可以通过本发明的已经描述的特征中的其他特征来补充。
在附图中,相同的附图标记分别表示功能相同的元件。
具体实施方式
在图1中示出具有根据一个示例性实施方式的示意性控制器12的机动车10。控制器12具有计算机装置14,其中,计算机装置14可以具有用于控制至少一个车辆功能的控制程序16。
车辆功能例如可以是车辆摄像机18或传感器20的功能,该传感器例如可以是亮度传感器或雨水传感器。在机动车10的运行中,传感器20和车辆摄像机18例如可以将数据发送到控制器12的中央网关22。中央网关例如可以建立对不同连接技术、例如以太网、CAN和/或Flexray的访问。车辆功能18、20的数据然后可以被提供给计算机装置14、特别是控制程序16。控制程序16然后可以处理车辆功能18、20的数据并且必要时利用新的控制指令操控车辆功能18、20。
然而,对控制程序的更新或对新的控制程序的测试不能容易地实现并且与高的花费相关联。例如,在新的软件被导入到计算机装置14上以替换控制程序16之前,需要测试并验证该新的软件。
为了加速该测试过程,可以在计算机装置14中附加地设置具有控制测试程序24的测试环境。控制测试程序24可以优选地被定义在由控制程序16界定的运行时环境中。特别优选地,测试环境可以借助于所界定的运行时环境虚拟地在计算机装置14内部提供,其中,控制测试程序24的所界定的运行时环境对控制程序16的运行时环境没有影响并且特别是仅具有对车辆功能18、20、也就是对车辆功能18、20的数据的读取访问。换句话说,测试环境可以是所谓的沙盒,在该沙盒中可以安全地测试新的软件,而不影响控制程序16的运行。因此,在使用新的软件更新控制程序16之前,可以在所界定的运行时环境内测试并验证该新的软件。
对于测试环境,计算机装置14可以具有专用的计算单元26,其例如可以包括处理器,以便能够为控制测试程序24提供附加的计算能力。因此,例如控制程序16的计算能力不会由于计算机装置14的计算资源的分配而受到影响。
特别优选地,控制测试程序24可以具有程序接口,该程序接口被设计为用于,在控制测试程序24的运行时间期间接入并执行至少一个程序单元28。也就是说,程序接口提供用于测试环境的嵌入式插件系统,借助于该程序接口可以将程序单元28接入控制测试程序24中。为此,测试环境可以提供缓冲存储器(缓存),并且程序单元可以包括要测试的车辆功能软件的执行。程序单元可以在计算机装置14外部被编译并且在运行时间期间通过程序接口接入。
在程序接口处可以检查程序单元、即插件对象的完整性并随后启动程序单元。也可以规定,多个程序单元并行地运行。程序单元通常是非常小的二进制文件,其可以具有用于不同车辆功能的程序。
为了将程序单元28接入控制测试程序24中,控制器12例如可以具有通信设备30,该通信设备被设计为用于建立无线通信连接。特别地,通信设备30可以建立与车辆外部的评估设备32的连接,该评估设备例如可以是服务器或云系统。由此,程序单元28可以被发送到通信设备30,其中,程序单元28可以经由中央网关22被传输到计算机装置14,在那里,程序单元然后可以在控制测试程序24的运行时间期间被接入控制测试程序24的程序接口上。
因此可以快速地接入要测试的程序单元28,由此可以加速测试过程。这样接入的程序单元28可以几乎实时地通过无线通信连接来提供,并且控制测试程序24可以借助于程序单元28以最小的延迟与特殊要求相适配。例如,程序单元28可以包括多个不同的数据、算法、值、配置或设置,其可以用于测试控制器12的不同任务,例如控制器的配置、触发器的设置和/或数据的收集。
这样确定的测试数据可以在测试环境中被中间存储在非易失性存储器中并且例如在执行程序单元28之后自动地通过通信设备30发送到车辆外部的评估设备32。替代地,测试数据也可以在没有中间存储的情况下被实时地发送到车辆外部的评估设备32。
特别优选地,控制测试程序24可以具有事件检测器34。事件检测器或调度器例如可以针对预先给定的测试条件检查车辆功能18、20的数据。如果出现所述预先给定的测试条件,那么事件检测器34可以操控所述控制测试程序24来执行程序单元28。事件检测器例如可以是读入车辆功能18、20的数据并且将该数据与预先给定的测试条件进行比较的程序,所述测试条件例如可以包括阈值。如果车辆功能的数据的值中的一个高于或低于预先给定的测试条件的阈值,则可以启动程序单元28。
例如,在一个实施例中,传感器20可以是亮度传感器。预先给定的测试条件例如可以是,亮度传感器20的信号低于预先确定的亮度值并且例如显示黑暗。如果是这种情况,则事件检测器34可以启动程序单元28,程序单元例如是用于从车辆摄像机18的摄像机数据中进行对象识别的程序,以便检查程序单元28的算法对黑暗环境中的对象的识别有多好。这样确定的测试数据然后可以通过通信设备30发送到车辆外部的评估设备32。
优选地也规定,从车辆功能18、20的数据中也识别出预先给定的车辆状态。例如,这也可以通过事件检测器34执行。所述预先给定的车辆状态指的是车辆特定的状态、例如机动车10的车辆功能和/或硬件的配置。例如,可以通过程序单元28测试确定的车辆功能、例如用于自主驾驶的功能。然而,在这种情况下,在非自主运行的车辆中执行程序单元28将是不必要的,并且将导致不可用的测试数据。为了避免这种情况,可以在识别出预先给定的车辆状态时由控制测试程序24、例如由车辆外部的评估设备32自动下载要测试的预先给定的程序单元,其中,然后例如可以由事件检测器34在出现预先给定的测试条件时执行预先给定的程序单元。
因此,测试过程可以被个性化并在特定场景中针对特定车辆进行适配。此外可以避免大量的原始数据,所述原始数据被发送到车辆外部的评估设备32,这是因为通过程序单元28仅获得特定车辆所需的测试数据。
在图2中示出根据一个示例性实施方式的用于测试车辆功能程序单元的示意性方法流程图,其中,提供用于控制车辆功能18、20的控制程序16和具有控制测试程序24的测试环境,该控制测试程序用于测试车辆功能的至少一个程序单元28。在步骤S10中,测试环境在由控制程序16界定的运行时环境内运行。在步骤S12中,通过控制测试程序24的程序接口,在控制测试程序24的运行期间中接入并执行至少一个程序单元28。在步骤S14中,通过所述至少一个程序单元28测试可以通过程序单元28预先确定的车辆功能。然后,由此获得的测试数据可以被分析以用于进一步评估。
在另一个示例性实施方式中,一个方面是,在相应的电子车辆系统(控制器12,ECU)内部实现沙盒(测试环境)。该沙盒可以包括软件单元和硬件单元,其能够实现,借助于程序单元28将新的软件功能(例如算法)置于所界定的运行时环境中。该沙盒具有专门的插件机制,其能够实现,在系统运行期间经由也称为“热插拔”的无线升级机制(Over-the-Air-Update-Mechanismen)来远程地更换软件组件(程序单元28)。沙盒设计方案确保了用于新软件的安全操作环境,其在任何情况下都不会影响运行系统的安全性并且在任何时间都完全断开。沙盒仅具有对所有需要的车辆系统和数据的读取访问。
通过借助于沙盒实现的这种分离,特定的、未经证实的、未被测试的或在其他方面未被授权的软件单元(程序单元28)、例如“Alpha版本(内部测试版本)”的下载可以在绕过已建立的授权过程的情况下被传送到车辆10。所使用的软件单元可以通过无线访问而被几乎实时地修改,并且以最小的延迟与特殊需求相适配。这些软件单元可以包括多个不同的单元,例如数据、算法、值、配置和设置,其可以用于完成车辆中的不同任务,例如系统配置、触发器的设置和数据采集。
用于运行该沙盒的许多应用情况中的一个是例如对用于从视频流中识别出特定对象的新算法的测试。所使用的待测试算法(程序单元28)在沙盒中与现有算法(控制程序16)并行地运行,现有算法特别是已被测试、验证、批准和授权,并且所使用的待测试算法访问来自相应的电子系统的恰好相同的信息;即来自传感器18、20。从新的算法中学习或收集的每个新的行为或每个新的信息可以存储在沙盒中并然后几乎实时地上传到制造商的云系统(车辆外部的评估设备32)中。
然后,该上传的信息(测试数据、训练数据和测量数据)可以立即用作对于进一步测试和评价正在运行的程序单元28的实时反馈。这能够实现在多个可能的应用、例如感知、地图学习、信息娱乐和控制系统中的快速的软件雏形环境。与系统的复制的设计方案相比,该设计方案仅需要附加系统资源的一小部分。使用周期时间也称为“大循环”,该使用周期时间从几周降低到几毫秒。
此外,在某些场景下,使用过程可以被个性化并且针对某些车辆进行适配,例如针对所在地、天气、车辆状态和/或车辆配置。这与迄今为止的方法形成对比,在迄今为止的方法中,大量原始数据被收集并存储在云中以供进一步处理。所示方法能够实现将收集的数据量减少到必不可少的期望信息,并且允许高效地利用通信信道和云存储资源。
总体上,这些示例示出如何能够在使用沙盒和嵌入式插件系统的情况下提供自动化的、双向的和接近实时的测试环境。
Claims (10)
1.一种用于车辆(10)的控制器(12),所述控制器
-具有计算机装置(14),该计算机装置被设计为用于,运行用于控制车辆功能的控制程序(16)和具有用于测试车辆功能的至少一个程序单元(28)的控制测试程序(24)的测试环境,
-其中,测试环境被定义在由控制程序(16)界定的运行时环境内;
-其中,控制测试程序(24)具有程序接口,该程序接口被设计为用于,在控制测试程序(16)的运行期间中接入并执行至少一个程序单元(28);和
-其中,控制测试程序(24)被设计为用于,测试车辆功能的至少一个程序单元(28)。
2.根据权利要求1所述的控制器(12),其中,控制测试程序(24)仅具有对车辆功能的读取访问权限。
3.根据前述权利要求中任一项所述的控制器(12),其中,测试环境借助于所述界定的运行时环境虚拟地在计算机装置(14)内部产生,其中,所述界定的运行时环境对控制程序(16)的运行时环境没有影响。
4.根据前述权利要求中任一项所述的控制器(12),其中,控制测试程序(24)具有事件检测器(34),该事件检测器被设计为用于,从车辆功能的数据中识别出预先给定的测试条件并且在识别出所述预先给定的测试条件时启动控制测试程序(24)的程序单元(28)。
5.根据前述权利要求中任一项所述的控制器(12),其中,计算机装置(14)具有专用于测试环境的计算单元(26)。
6.根据前述权利要求中任一项所述的控制器(12),其中,控制器(12)具有通信设备(30),该通信设备被设计为用于提供与测试环境的无线通信连接。
7.根据权利要求6所述的控制器(12),其中,通过控制测试程序(24)确定的测试数据能存储在测试环境中,其中,测试环境被设计为用于,提供通信设备(30)的测试数据以用于传输到车辆外部的评估设备(32)。
8.根据权利要求6或7所述的控制器(12),其中,控制测试程序(24)被设计为用于,从车辆功能的数据中识别出预先给定的车辆状态并且通过无线通信连接获取配属于预先给定的车辆状态的至少一个预先给定的程序单元。
9.一种用于测试车辆功能的程序单元(28)的方法,其中,提供用于控制车辆功能的控制程序(16)和具有用于测试车辆功能的程序单元的控制测试程序(24)的测试环境,其中,测试环境在由控制程序界定的运行时环境内运行(S10),其中,通过控制测试程序的程序接口在控制测试程序的运行期间中接入并执行至少一个程序单元(S12),其中,通过所述至少一个程序单元来测试车辆功能(S14)。
10.一种具有根据权利要求1至8中任一项所述的控制器(12)的机动车(10)。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102020110271.2 | 2020-04-15 | ||
DE102020110271.2A DE102020110271B3 (de) | 2020-04-15 | 2020-04-15 | Steuergerät für ein Fahrzeug und Verfahren zum Testen eines Programmelements einer Fahrzeugfunktion sowie Kraftfahrzeug mit einem Steuergerät |
PCT/EP2021/051076 WO2021209175A1 (de) | 2020-04-15 | 2021-01-19 | Steuergerät für ein fahrzeug und verfahren zum testen eines programmelements einer fahrzeugfunktion sowie kraftfahrzeug mit einem steuergerät |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114556307A true CN114556307A (zh) | 2022-05-27 |
Family
ID=74205844
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180005860.2A Pending CN114556307A (zh) | 2020-04-15 | 2021-01-19 | 用于车辆的控制器和用于测试车辆功能的程序单元的方法以及具有控制器的机动车 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20230143265A1 (zh) |
EP (1) | EP3948468B1 (zh) |
CN (1) | CN114556307A (zh) |
DE (1) | DE102020110271B3 (zh) |
WO (1) | WO2021209175A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102021209362A1 (de) * | 2021-08-26 | 2023-03-02 | Robert Bosch Gesellschaft mit beschränkter Haftung | Verfahren zum Betreiben eines Fahrzeugsteuergeräts |
DE102021212116A1 (de) * | 2021-10-27 | 2023-04-27 | Robert Bosch Gesellschaft mit beschränkter Haftung | Verfahren zur rückwirkungsfreien Validierung einer Funktionsapplikation |
DE102022112221A1 (de) | 2022-05-16 | 2023-11-16 | Cariad Se | Verfahren zum Installieren eines mittels einer Trainingsplattform trainierten Modells des Maschinellen Lernens in eine Prozessorschaltung eines Kraftfahrzeugs sowie computerlesbares Speichermedium, Testplattform und Kraftfahrzeug |
DE102022002085A1 (de) | 2022-06-10 | 2022-08-18 | Mercedes-Benz Group AG | Verfahren und System zur Anpassung einer kombinierten Datensammlungs- und Softwareupdate-Kampagne in einer Fahrzeugflotte |
DE102022002173A1 (de) | 2022-06-15 | 2023-12-21 | Mercedes-Benz Group AG | Verfahren zur Verbesserung einer Fahrzeugsystemfunktion und ein System zur Verbesserung der Fahrzeugsystemfunktion |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10319365A1 (de) | 2003-04-29 | 2004-11-18 | Volkswagen Ag | Computersystem für ein Fahrzeug und Verfahren zum Kontrollieren des Datenverkehrs in ein solches Computersystem |
JP6675271B2 (ja) * | 2015-09-14 | 2020-04-01 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America | ゲートウェイ装置、車載ネットワークシステム及びファームウェア更新方法 |
US10949326B2 (en) | 2016-10-05 | 2021-03-16 | B.G. Negev Technologies And Applications Ltd. | Method and system for testing and checking the correctness of a computer program during runtime |
DE102017213217A1 (de) * | 2017-08-01 | 2019-02-07 | Ford Global Technologies, Llc | Testfahrtszenario-Datenbanksystem für realitätsnahe virtuelle Testfahrtszenarien |
US20190205115A1 (en) | 2017-12-31 | 2019-07-04 | Veniam, Inc. | Systems and methods for secure and safety software updates in the context of moving things, in particular a network of autonomous vehicles |
US10964134B2 (en) * | 2018-06-05 | 2021-03-30 | Hunter Engineering Company | Cloud-based on-demand vehicle diagnostic systems |
WO2020047016A1 (en) * | 2018-08-30 | 2020-03-05 | Karamba Security Ltd. | Virtualized controllers for in-vehicle and iot networks |
-
2020
- 2020-04-15 DE DE102020110271.2A patent/DE102020110271B3/de active Active
-
2021
- 2021-01-19 CN CN202180005860.2A patent/CN114556307A/zh active Pending
- 2021-01-19 EP EP21701281.4A patent/EP3948468B1/de active Active
- 2021-01-19 US US17/918,786 patent/US20230143265A1/en active Pending
- 2021-01-19 WO PCT/EP2021/051076 patent/WO2021209175A1/de unknown
Also Published As
Publication number | Publication date |
---|---|
EP3948468A1 (de) | 2022-02-09 |
EP3948468B1 (de) | 2022-06-22 |
WO2021209175A1 (de) | 2021-10-21 |
US20230143265A1 (en) | 2023-05-11 |
DE102020110271B3 (de) | 2021-10-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114556307A (zh) | 用于车辆的控制器和用于测试车辆功能的程序单元的方法以及具有控制器的机动车 | |
US9880927B2 (en) | Functionally expandable vehicle control device and method for supplementing the functionality of a vehicle control device | |
RU2541883C2 (ru) | Система сбора данных транспортного средства и способ сбора данных транспортного средства | |
US9128913B2 (en) | Method and device for testing input/output interfaces of avionic modules of IMA type | |
CN110162315A (zh) | 车辆控制器、程序更新方法和存储用于更新程序的程序的非暂时性存储介质 | |
KR102122795B1 (ko) | 자율주행차 알고리즘 테스트 방법 | |
US20210273997A1 (en) | In-vehicle equipment controller and vehicle control system | |
CN111273634A (zh) | 至少部分自动的机动车的控制系统的配置 | |
CN112249035A (zh) | 基于通用数据流架构的自动驾驶方法、装置及设备 | |
US11952013B2 (en) | Trusted context self learning method for an in-vehicle network intrusion detection system developed to limit calibration proliferation and development costs | |
US20240069905A1 (en) | Vehicular electronic control device, vehicular electronic control system, and updated configuration information determination program | |
KR20110059420A (ko) | 차량용 전자 제어 장치의 진단 장치 및 방법 | |
JP2022154943A (ja) | 車両用制御システム、車両、制御方法 | |
US11789730B2 (en) | Electronic control device and control method | |
CN115021948B (zh) | 判定装置、移动体、判定方法和计算机可读存储介质 | |
US11899561B2 (en) | Method for operating a control unit when testing software of the control unit, and method for operating a test computer when testing software of a control unit | |
Devi et al. | Bootloader design for advanced driver assistance system | |
CN108292210B (zh) | 传输功能指令的方法及接口设备和系统 | |
US20090091419A1 (en) | Methods and systems to control remote access to a vehicle module | |
CN112477881B (zh) | 车辆控制指令的生成方法和装置 | |
CN115113895A (zh) | 程序更新控制装置、程序更新控制方法和计算机可读存储介质 | |
CN114930287A (zh) | 用于车辆的控制器、系统、方法和具有控制器的机动车 | |
US20240211270A1 (en) | Method of reprogramming a boot area | |
US20170023935A1 (en) | Method and Control System | |
CN115688094B (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 |