DE102022004038A1 - Procedures for optimized rollout of software updates - Google Patents

Procedures for optimized rollout of software updates Download PDF

Info

Publication number
DE102022004038A1
DE102022004038A1 DE102022004038.7A DE102022004038A DE102022004038A1 DE 102022004038 A1 DE102022004038 A1 DE 102022004038A1 DE 102022004038 A DE102022004038 A DE 102022004038A DE 102022004038 A1 DE102022004038 A1 DE 102022004038A1
Authority
DE
Germany
Prior art keywords
vehicle
vectors
software update
software
characteristic
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
Application number
DE102022004038.7A
Other languages
German (de)
Inventor
Stefan Studer
Joana Hois
Alexander Hanuschkin
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mercedes Benz Group AG
Original Assignee
Mercedes Benz Group AG
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Mercedes Benz Group AG filed Critical Mercedes Benz Group AG
Priority to DE102022004038.7A priority Critical patent/DE102022004038A1/en
Priority to PCT/EP2023/079739 priority patent/WO2024089082A2/en
Publication of DE102022004038A1 publication Critical patent/DE102022004038A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Traffic Control Systems (AREA)

Abstract

Die Erfindung betrifft ein Verfahren zum optimierten Ausrollen von Softwareaktualisierungen an einer Fahrzeugflotte, wozu die Softwareaktualisierung (SW1', SW2, SW2', SW3, SW4, SW5a, SW5b) zuerst an eine Teilmenge der Fahrzeugflotte ausgerollt wird, wobei diese Teilmenge basierend auf gesammelten Daten der Fahrzeuge (10) der Fahrzeugflotte bestimmt wird.Die Erfindung ist dadurch gekennzeichnet, dass die gesammelten Daten charakteristische Fahrzeugvektoren (VFzg) umfassen, welche aus Daten der Fahrzeugsensoren gebildet werden, sowie charakteristische Nutzervektoren (VUser), welche aus Daten zum Fahrverhalten, aus physiologischen Daten und Umgebungsdaten gebildet werden, umfassen, wonach die Fahrzeugvektoren (VFzg) und Nutzervektoren (VUser) aller Fahrzeuge (10) der Fahrzeugflotte aggregiert werden, wobei im bisherigen Stand der Softwaresystemgrenzen analysiert und an diesen Systemgrenzen geltende charakteristische Grenzvektoren (VGrenz) ermittelt werden, wonach ein Abstandsmaß (A) zwischen den charakteristischen Grenzvektoren (VGrenz) und den charakteristischen Fahrzeugvektoren (VFzg) und Nutzervektoren (VUser) der Fahrzeugflotte ermittelt wird, woraus eine erste Zielgruppe (Gmin) von Fahrzeugen (10) mit dem minimalem Abstandsmaß (A11, A22) und eine zweite Zielgruppe von Fahrzeugen (10) mit dem maximalen Abstandsmaß (A12, A21) ermittelt wird, wonach die Softwareaktualisierung (SW1', SW2, SW2', SW3, SW4, SW5a, SW5b) an die erste und/oder zweite Zielgruppe (Gmin, Gmax) oder jeweils eine Teilmenge der ersten und/oder zweiten Zielgruppe (Gmin, Gmax) ausgerollt und die Performance der ausgerollten Softwareaktualisierung evaluiert wird, wobei die Softwareaktualisierung (SW1', SW2, SW2', SW3, SW4, SW5a, SW5b) nur im Falle einer positiven Evaluation auf weitere Teile der Fahrzeugflotte ausgerollt wird.The invention relates to a method for the optimized rollout of software updates to a vehicle fleet, for which the software update (SW1', SW2, SW2', SW3, SW4, SW5a, SW5b) is first rolled out to a subset of the vehicle fleet, this subset being determined based on collected data from the vehicles (10) of the vehicle fleet. The invention is characterized in that the collected data comprise characteristic vehicle vectors (VFzg), which are formed from data from the vehicle sensors, as well as characteristic user vectors (VUser), which are formed from data on driving behavior, physiological data and environmental data, after which the vehicle vectors (VFzg) and user vectors (VUser) of all vehicles (10) of the vehicle fleet are aggregated, wherein the previous state of the software system boundaries is analyzed and characteristic boundary vectors (VGrenz) applicable at these system boundaries are determined, after which a distance measure (A) between the characteristic boundary vectors (VGrenz) and the characteristic vehicle vectors (VFzg) and user vectors (VUser) of the vehicle fleet are determined, from which a first target group (Gmin) of vehicles (10) with the minimum distance measure (A11, A22) and a second target group of vehicles (10) with the maximum distance measure (A12, A21) are determined, after which the software update (SW1', SW2, SW2', SW3, SW4, SW5a, SW5b) is rolled out to the first and/or second target group (Gmin, Gmax) or a subset of the first and/or second target group (Gmin, Gmax) and the performance of the rolled out software update is evaluated, wherein the software update (SW1', SW2, SW2', SW3, SW4, SW5a, SW5b) is only rolled out to other parts of the vehicle fleet in the event of a positive evaluation.

Description

Die Erfindung betrifft ein Verfahren zum optimierten Ausrollen von Softwareaktualisierungen an eine Fahrzeugflotte, nach der im Oberbegriff von Anspruch 1 näher definierten Art.The invention relates to a method for the optimized rollout of software updates to a vehicle fleet, according to the type defined in the preamble of claim 1.

Das Ausrollen von Softwareaktualisierungen an Fahrzeugen kann technisch eine große Herausforderung darstellen, da häufig eine sehr große Anzahl von Fahrzeugen mit der entsprechenden Softwareaktualisierung versorgt werden muss. Um dies zu erleichtern, schlägt beispielsweise die DE 10 2018 205 615 A1 vor, die Softwareaktualisierung nur an bestimmten nach technischen Voraussetzungen bezüglich der Kommunikationsverbindung ausgewählte Fahrzeuge zu übertragen, welche dann als Replikatoren dienen, um die Softwareaktualisierung an andere Fahrzeuge der Fahrzeugflotte weiterzugeben.Rolling out software updates to vehicles can be a major technical challenge, as a very large number of vehicles often have to be provided with the corresponding software update. To facilitate this, the EN 10 2018 205 615 A1 proposes to transfer the software update only to certain vehicles selected according to the technical requirements regarding the communication connection, which then serve as replicators to pass on the software update to other vehicles in the fleet.

Die US 10 042 635 B2 beschreibt ebenfalls eine Methode, um drahtlos eine Softwareaktualisierung auszurollen. Bei dieser Art Verteilung von Softwareaktualisierungen, welche auch mit dem Begriff Over The Air (OTA) bezeichnet wird, wird für die Software über drahtlose Kommunikation verteilt. Auch diese Schrift verteilt die auszurollende Softwareaktualisierungen nicht pauschal an alle Fahrzeuge, sondern prüft die technischen Aspekte der Fahrzeuge, beispielsweise das Baujahr, den Bautyp usw. ab, um eine Auswahl derjenigen Fahrzeuge zu treffen, welche die Softwareaktualisierung erhalten sollen.The US 10 042 635 B2 also describes a method for rolling out a software update wirelessly. With this type of software update distribution, which is also referred to as Over The Air (OTA), the software is distributed via wireless communication. This document also does not distribute the software updates to be rolled out across the board to all vehicles, but checks the technical aspects of the vehicles, such as the year of manufacture, the type of manufacture, etc., in order to select the vehicles that should receive the software update.

Neben der reinen Verteilung der Softwareaktualisierung spielt in der Praxis auch die Qualität der verteilten Softwareaktualisierung eine entscheidende Rolle. Sinnvoll wäre es diese vorab ausführlich zu testen, bevor sie an die gesamte Fahrzeugflotte oder zumindest einen größeren Teil einer Fahrzeugflotte ausgerollt werden. Die Problematik bei derartigen Testungen im Fahrzeugbereich liegt dabei in der typischerweise eher kleinen Anzahl von verfügbaren Fahrzeugen für die Testung. In einer willkürlich ausgewählten Gruppe sind dann sehr wenige Fahrzeuge bei denen Testung brauchbare reproduzierbare Ergebnisse innerhalb einer geeigneten Zeitspanne liefert. Diese Problematik wird in dem Artikel „ Size matters? Or not: A/B testing with limited sample in automotive embedded software“ von Liu et al https://arxiv.org/abs/2107.02461v2, 10 Nov. 2021 thematisiert.In addition to the pure distribution of the software update, the quality of the distributed software update also plays a decisive role in practice. It would make sense to test these extensively in advance before they are rolled out to the entire vehicle fleet or at least a large part of a vehicle fleet. The problem with such tests in the vehicle sector lies in the typically rather small number of vehicles available for testing. In a randomly selected group, there are then very few vehicles for which testing delivers usable, reproducible results within a suitable period of time. This problem is discussed in the article " Size matters? Or not: A/B testing with limited sample in automotive embedded software“ by Liu et al https://arxiv.org/abs/2107.02461v2, 10 Nov. 2021 addressed.

Die Aufgabe der hier vorliegenden Erfindung besteht nun darin, ein verbessertes Verfahren zum Ausrollen von Softwareaktualisierungen anzugeben, welches eine der eigentlichen Ausrollung der Software vorgeschaltete Evaluationsphase mit Hocheffizienz beinhaltet.The object of the present invention is to provide an improved method for rolling out software updates, which includes a highly efficient evaluation phase prior to the actual rollout of the software.

Erfindungsgemäß wird diese Aufgabe durch ein Verfahren mit den Merkmalen im Anspruch 1 gelöst. Vorteilhafte Ausgestaltungen und Weiterbildungen ergeben sich aus den hiervon abhängigen Unteransprüchen.According to the invention, this object is achieved by a method having the features in claim 1. Advantageous embodiments and further developments emerge from the dependent claims.

Bei dem erfindungsgemäßen Verfahren zum Ausrollen von Softwareaktualisierungen an eine Fahrzeugflotte ist es so, dass ähnlich wie im eingangs genannten Stand der Technik zuerst an eine Teilmenge der Fahrzeugflotte ausgerollt wird, welche anhand von gesammelten Daten der Fahrzeuge der Fahrzeugflotte bestimmt wird. Erfindungsgemäß umfassen die gesammelten Daten charakteristische Fahrzeugvektoren, welche aus Daten der Fahrzeugsensoren gebildet werden. Ferner umfassen die Daten einen charakteristischen Nutzervektor, welcher aus Daten zum Fahrverhalten wie beispielsweise den Fahrstil oder Emotionen, aber auch aus physiologischen Daten und Umgebungsdaten gebildet werden. Diese beiden Vektoren werden dann über einige oder alle Fahrzeuge der Fahrzeugflotte hinweg aggregiert.In the method according to the invention for rolling out software updates to a vehicle fleet, similar to the prior art mentioned at the beginning, the software is first rolled out to a subset of the vehicle fleet, which is determined based on data collected from the vehicles in the vehicle fleet. According to the invention, the collected data includes characteristic vehicle vectors, which are formed from data from the vehicle sensors. The data also includes a characteristic user vector, which is formed from data on driving behavior, such as driving style or emotions, but also from physiological data and environmental data. These two vectors are then aggregated across some or all of the vehicles in the vehicle fleet.

Im nächsten Schritt werden Systemgrenzen im bisherigen Stand der Software analysiert, an welchen durch die Softwareaktualisierung eine Optimierung erfolgen soll. Derartige Systemgrenzen können beispielweise Grenzen der Sensoren, wie beispielweise die Reichweite oder Auflösung einer Kamera, aber auch physikalische Grenzen wie beispielweise der Reibwert bei Nässe oder besonders Gegebenheiten sein wie beispielsweise eine Gestenerkennung, wenn der Fahrzeugnutzer eine Winterjacke trägt.In the next step, system limits in the current state of the software are analyzed, which should be optimized through the software update. Such system limits can be, for example, sensor limits, such as the range or resolution of a camera, but also physical limits such as the coefficient of friction in wet conditions or special circumstances such as gesture recognition when the vehicle user is wearing a winter jacket.

Das Erkennen der Systemgrenze kann dabei beispielweise automatisiert in der Art erfolgen, dass beispielsweise bei einer Systemgrenze einer Spurhalteassistenz ein entsprechend starkes manuelles Eingreifen in die Lenkung in der entsprechenden Situation erkannt worden ist, beispielsweise bei Regen und schlecht erkennbaren, z.B. gelben, Fahrbahnmarkierungen im Bereich einer Autobahnbaustelle oder dergleichen. Alternativ dazu wäre es auch denkbar, dass der Nutzer des Fahrzeugs eine aktive Rückmeldung gibt, dass die entsprechende Fahrzeugfunktion gerade an einer ihrer Systemgrenzen gestoßen ist.The system limit can be detected automatically, for example, in such a way that, for example, in the case of a lane keeping assistance system limit, a correspondingly strong manual intervention in the steering is detected in the corresponding situation, for example in the rain and with poorly visible, e.g. yellow, road markings in the area of a motorway construction site or the like. Alternatively, it would also be conceivable for the user of the vehicle to provide active feedback that the corresponding vehicle function has just reached one of its system limits.

Diese so erkannten Systemgrenzen dienen dann dazu einen an diesen Systemgrenzen geltenden charakteristischen Grenzvektor zu ermitteln. Damit liegen nun also mit dem Fahrzeugvektor, dem Nutzervektor und dem Grenzvektor verschiedene Vektoren vor, welche jeweils mehrere Datensätze umfassen. Um nun eine für das begrenzte Ausrollen der Softwareaktualisierung geeignete Zielgruppe zu ermitteln, wird bei dem erfindungsgemäßen Verfahren ein Abstandsmaß zwischen dem charakteristischen Grenzvektor und dem charakteristischen Fahrzeug- und Nutzervektoren der Fahrzeugflotte ermittelt. Hieraus lässt sich dann eine erste Zielgruppe von Fahrzeugen mit minimalem Abstandsmaß und eine zweite Zielgruppe von Fahrzeugen mit maximalem Abstandsmaß ermittelt. In der ersten Zielgruppe befinden sich also all jene Fahrzeuge, welche relativ häufig an die entsprechenden Systemgrenzen stoßen. Diese erste Zielgruppe eignet sich also nun ideal um eine Softwareaktualisierung, welche an sie ausgerollt wird, dahingehend zu überprüfen und zu evaluieren, ob die gewollte verbesserte Performance im Bereich der Systemgrenzen, insbesondere ein Verschieben der Systemgrenzen hin zu einem größeren beziehungsweise verbesserten Erfassungsbereich oder dergleichen effizient funktioniert. Die zweite Zielgruppe mit maximalem Abstandsmaß bezeichnet dahingegen eine Gruppe von Fahrzeugen innerhalb der Fahrzeugflotte, für welche die entsprechende Systemgrenze meist unbedeutend ist, weil von diesen Fahrzeugen und ihren Nutzern eben diese Systemgrenze quasi nie erreicht wird, sodass von dieser Systemgrenze für die entsprechenden Nutzer und/oder Fahrzeuge keine nachteilige Einschränkung ausgeht.These system boundaries thus identified are then used to determine a characteristic boundary vector that applies to these system boundaries. This means that there are now different vectors, the vehicle vector, the user vector and the boundary vector, each of which contains several data sets. In order to determine a target group suitable for the limited rollout of the software update, the method according to the invention uses a distance measure between the characteristic limit vector and the characteristic vehicle and user vectors of the vehicle fleet. From this, a first target group of vehicles with a minimum distance and a second target group of vehicles with a maximum distance can then be determined. The first target group therefore includes all those vehicles that relatively frequently reach the corresponding system limits. This first target group is therefore ideally suited to checking and evaluating a software update that is rolled out to them to determine whether the desired improved performance in the area of the system limits, in particular a shift of the system limits towards a larger or improved detection range or the like, works efficiently. The second target group with a maximum distance, on the other hand, refers to a group of vehicles within the vehicle fleet for which the corresponding system limit is usually insignificant because these vehicles and their users practically never reach this system limit, so that this system limit does not pose any disadvantageous restrictions for the corresponding users and/or vehicles.

Beide Zielgruppen lassen sich nun bei dem erfindungsgemäßen Verfahren je nach Zielsetzung entsprechend nutzen, um die Softwareaktualisierung zuerst an die erste und/oder zweite Zielgruppe oder jeweils eine Teilmenge dieser ersten und/oder zweiten Zielgruppe auszurollen und die Performance der ausgerollten Softwareaktualisierung zu evaluieren. Nach erfolgreicher Evaluation kann die Ausrollung der entsprechenden Software dann an weitere Teile der Fahrzeugflotte entsprechend erfolgen, oder falls die Software auf eine gesamte Fahrzeugflotte ausgerollt werden soll auch an diese.Both target groups can now be used in the method according to the invention, depending on the objective, to roll out the software update first to the first and/or second target group or a subset of this first and/or second target group and to evaluate the performance of the rolled out software update. After successful evaluation, the corresponding software can then be rolled out to other parts of the vehicle fleet, or if the software is to be rolled out to an entire vehicle fleet, to this as well.

Die Erfindung bietet dabei den entscheidenden Vorteil, dass Softwareaktualisierungen zuerst an den entsprechenden Zielgruppen oder Teilen dieser Zielgruppen getestet werden können. Die Zielgruppen lassen sich aufgrund der Erfassung der charakteristischen Vektoren und des Abstandsmaß zwischen dem Grenzvektor und den Nutzer- und Fahrzeugvektoren dementsprechend außerordentlich effizient auswählen, sodass es nicht im statistischen Zufall überlassen bleibt, ob die Fahrzeuge die neu implementierten Funktionen nutzen oder eben nicht. Vielmehr erlaubt die gezielte Auswahl der Zielgruppen über die Erfindung ein sehr effizientes Testen der neuen Funktionen der Softwareaktualisierung im Bereich der Systemgrenzen bei der ersten Zielgruppe oder dementsprechend bei der alternativ oder ergänzend gewählten zweiten Zielgruppe ein Test, ob die Softwareaktualisierung auch fernab der Systemgrenzen zuverlässig operiert.The invention offers the decisive advantage that software updates can first be tested on the corresponding target groups or parts of these target groups. The target groups can be selected extremely efficiently based on the recording of the characteristic vectors and the distance between the boundary vector and the user and vehicle vectors, so that it is not left to statistical chance whether the vehicles use the newly implemented functions or not. Rather, the targeted selection of the target groups via the invention allows very efficient testing of the new functions of the software update in the area of the system boundaries for the first target group or, accordingly, for the alternatively or additionally selected second target group, a test to see whether the software update also operates reliably far away from the system boundaries.

Erst im Anschluss, also im Falle einer positiven Evaluation der Überwachung der einen und/oder der anderen Zielgruppe kann dann entschieden werden, ob die Software auf die geplanten Teile der Fahrzeugflotte ausgerollt wird, oder ob eine weitere Entwicklungsstufe durchlaufen werden muss, um die Software noch weiter zu optimieren.Only afterwards, i.e. in the case of a positive evaluation of the monitoring of one and/or the other target group, can a decision be made as to whether the software will be rolled out to the planned parts of the vehicle fleet or whether a further development stage must be completed in order to further optimize the software.

Dementsprechend kann es gemäß einer vorteilhaften Weiterbildung des erfindungsgemäßen Verfahrens vorgesehen sein, dass zur Evaluation der ausgerollten Softwareaktualisierung ein Performancemaß bestimmt wird, wobei ein positives Ergebnis der Evaluation angenommen und eine Evaluationsbit auf 1 gesetzt wird, wenn das Performancemaß einen vorgegebenen Schwellenwert übersteigt, und wobei eine negative Evaluation angenommen und das Evaluationsbit auf 0 gesetzt oder bei 0 belassen wird, wenn das Performancemaß den Schwellenwert eben nicht erreicht. Wie bereits angekündigt ist es erfindungsgemäß vorgesehen, die weitere Ausrollung der Softwareaktualisierung nur für den Fall vorzunehmen, dass die Evaluation positiv war.Accordingly, according to an advantageous development of the method according to the invention, it can be provided that a performance measure is determined to evaluate the rolled out software update, whereby a positive result of the evaluation is assumed and an evaluation bit is set to 1 if the performance measure exceeds a predetermined threshold value, and whereby a negative evaluation is assumed and the evaluation bit is set to 0 or left at 0 if the performance measure does not reach the threshold value. As already announced, the invention provides for the further rollout of the software update to only be carried out in the event that the evaluation was positive.

Eine weitere Alternative Möglichkeit zur Evaluation der Softwareaktualisierung kann es dabei vorsehen, dass diese nur an eine Teilmenge der ersten und/oder zweiten Zielgruppe ausgerollt wird, wonach die Performance im Vergleich zu einer weiteren Teilmenge der jeweils ersten und/oder zweiten Zielgruppe als Vergleichsgruppe erfolgt, wobei die Evaluation in diesem Fall unter einer vorgegebenen Fragestellung erfolgt. Anstelle des Einsatzes eines Performancemaßes, welche die Funktion im Wesentlichen gegenüber theoretischen Vorgaben ermittelt, kann hier also durch das Aufteilen der Zielgruppen in typischerweise zwei vergleichbare Teilmengen ein Vergleichsversuch vorgenommen werden. Ein solcher Vergleichsversuch, welcher auch als A/B-Versuch beziehungsweise A/B-Testing bezeichnet wird, benötigt typischerweise eine entsprechende Fragestellung und zwei Vergleichsgruppen. Je größer diese Vergleichsgruppen sind, desto besser lassen sich statistische Auswertungen vornehmen, wie es in dem eingangs zitierten Artikel „Size matters? Or not: A/B testing with limited sample in automotive embedded software“ beschrieben ist. Bei dem Verfahren gemäß der Erfindung erfolgt nun jedoch die Auswahl der Zielgruppen bereits sehr zielgerichtet auf die gewünschte Optimierung im Hinblick auf analysierte Systemgrenzen hin. Dadurch sind für das erfindungsgemäße Verfahren auch relativ kleine Teilmengen für eine zuverlässige Evaluation anhand eines solchen Vergleichstests bereits ausreichend.Another alternative way of evaluating the software update can be to roll it out to only a subset of the first and/or second target group, after which the performance is compared to another subset of the first and/or second target group as a comparison group, with the evaluation in this case being carried out using a given question. Instead of using a performance measure, which essentially determines the function against theoretical specifications, a comparison test can be carried out by dividing the target groups into typically two comparable subsets. Such a comparison test, which is also referred to as A/B test or A/B testing, typically requires a corresponding question and two comparison groups. The larger these comparison groups are, the better statistical evaluations can be carried out, as described in the article "Size matters? Or not: A/B testing with limited sample in automotive embedded software" cited at the beginning. In the method according to the invention, however, the selection of the target groups is already very targeted towards the desired optimization with regard to analyzed system limits. As a result, even relatively small subsets are sufficient for a reliable evaluation using such a comparison test for the method according to the invention.

Typischerweise wird der Vergleichstest nun zwischen der einen Teilmenge mit der Softwareaktualisierung und der anderen Teilmenge ohne die Softwareaktualisierung durchgeführt, insbesondere unter der Fragestellung, ob die Teilmenge mit der Softwareaktualisierung eine signifikant bessere Performance erfährt, beispielsweise weniger kritische Fahrsituationen, weniger Unfälle, einen verbesserten Komfort für den Nutzer oder dergleichen. Das Verfahren zur Evaluation mit zwei Vergleichsgruppen, wobei prinzipiell natürlich auch mehr als zwei Vergleichsgruppen, also mehr als zwei Teilmengen je Zielgruppe, denkbar sind, kann auch dahingehend erweitert werden, dass auf die Vergleichsgruppe oder bei mehr als zwei Teilmengen auf eine der Teilmenge eine Alternative Variante der Softwareaktualisierung ausgerollt wird. Hierdurch ließen sich bei zwei Teilmengen, also zwei alternative Lösungen, um den Problemen an der Systemgrenze zu begegnen, gegeneinander testen. Bei drei Teilmengen ließen sich die beiden Alternativen auch im Vergleich zur bisherigen Softwarelösung entsprechend testen, um so evaluieren zu können, welche der Softwareaktualisierungen die beste Performance bietet und damit diejenige ist, die bevorzugt auf eine größere Anzahl von Fahrzeugen ausgerollt werden soll.Typically, the comparison test is now carried out between one subset with the software update and the other subset without the Software updates are carried out, particularly with regard to the question of whether the subset experiences significantly better performance with the software update, for example fewer critical driving situations, fewer accidents, improved comfort for the user, or the like. The evaluation procedure with two comparison groups - although in principle more than two comparison groups, i.e. more than two subsets per target group, are of course conceivable - can also be expanded to include rolling out an alternative version of the software update to the comparison group or, in the case of more than two subsets, to one of the subsets. This allows two subsets, i.e. two alternative solutions to address the problems at the system boundary, to be tested against each other. With three subsets, the two alternatives can also be tested in comparison to the previous software solution in order to be able to evaluate which of the software updates offers the best performance and is therefore the one that should preferably be rolled out to a larger number of vehicles.

Für alle Varianten ist es dabei so, und so ist es gemäß einer sehr vorteilhaften Weiterbildung des erfindungsgemäßen Verfahrens vorgesehen, dass im Falle einer negativen Evaluation die Softwareaktualisierung zuerst optimiert und dann erneut an die Zielgruppen oder Teilmengen der Zielgruppen ausgerollt wird, um die optimierte Softwareaktualisierung wiederrum zu evaluieren. Diese Schleife lässt sich so lange wiederholen, bis die Softwareaktualisierung eine positive Evaluation erhalten hat und dementsprechend auf weitere Teile der Fahrzeugflotte ausgerollt werden kann. Dieser Ansatz kann dabei insbesondere zur Entwicklung und zum Trainieren von Funktionsapproximationen und Methoden des maschinellen Lernens genutzt werden, deren Systemgrenzen unscharf sind und daher erprobt werden müssen. Diese Erprobung kann nun innerhalb der Zielgruppen vergleichsweise einfach und effizient erfolgen, bevor die Softwareaktualisierung auf die ganze Fahrzeugflotte oder große Teile der Fahrzeugflotte ausgerollt werden muss. Insbesondere stellt dies im Falle einer negativen Evaluation einen besonderen Vorteil dar, da so verhindert werden kann, dass potentielle Softwarefehler oder Probleme in der Softwareaktualisierung sich auf eine große Zahl von Fahrzeugen verbreiten und nur mit großer Mühe wieder rückgängig gemacht werden können.For all variants, and according to a very advantageous development of the method according to the invention, it is provided that in the event of a negative evaluation, the software update is first optimized and then rolled out again to the target groups or subsets of the target groups in order to evaluate the optimized software update again. This loop can be repeated until the software update has received a positive evaluation and can therefore be rolled out to other parts of the vehicle fleet. This approach can be used in particular to develop and train function approximations and machine learning methods whose system boundaries are blurred and therefore need to be tested. This testing can now be carried out relatively easily and efficiently within the target groups before the software update has to be rolled out to the entire vehicle fleet or large parts of the vehicle fleet. This is a particular advantage in the event of a negative evaluation, as it can prevent potential software errors or problems in the software update from spreading to a large number of vehicles and can only be reversed with great effort.

Gemäß einer weiteren sehr vorteilhaften Ausgestaltung des Verfahrens gemäß der Erfindung soll die Aggregation der Fahrzeugvektoren und der Nutzervektoren dabei in einem fahrzeugexternen Server, insbesondere dem Backend-Server eines Fahrzeugherstellers, erfolgen. An diesen werden die einzelnen Vektoren der Fahrzeuge entsprechend übermittelt, um so mit der vergleichsweise großen zur Verfügung stehenden Rechenleistung dieses Servers die Aggregation vornehmen zu können.According to another very advantageous embodiment of the method according to the invention, the aggregation of the vehicle vectors and the user vectors should take place in a server external to the vehicle, in particular the backend server of a vehicle manufacturer. The individual vectors of the vehicles are transmitted to this server accordingly in order to be able to carry out the aggregation with the comparatively large computing power available to this server.

Eine besonders günstige Weiterbildung sieht es dabei vor, dass diese Aggregation mittels Clustering-Verfahren erfolgt.A particularly advantageous further development provides for this aggregation to be carried out by means of clustering procedures.

Der charakteristische Vektor im Bereich der Systemgrenzen, also der Grenzvektor, kann dabei gemäß einer sehr vorteilhaften Weiterbildung des erfindungsgemäßen Verfahrens dadurch ermittelt werden, dass zum Zeitpunkt des Auftretens der Systemgrenze einer Fahrzeugfunktion die Daten von Fahrzeugsensoren wie beispielsweise Kamera, Radar, Lidar und Ultraschall, Temperatur, haptische Sensoren oder interne Zustände einer Implementierung eine Fahrzeugfunktion herangezogen werden, um auf dieser Basis den Grenzvektor entsprechend zu ermitteln. Damit kann also eine Menge an Datenpunkten für die Grenzvektoren gesammelt werden. Ein Datenpunkt kann dabei bereits einen Grenzvektor beschreiben, es ist aber auch möglich, z.Bsp. eine Vielzahl von Datenpunkten durch ein Verfahren, z.Bsp. Mittelwertbildung, Medianbildung, zu einem Grenzvektor zusammenzuführen. Es entsteht ein Datensatz, welcher jedem Grenzvektor eine Systemgrenze zuordnet.The characteristic vector in the area of the system boundaries, i.e. the boundary vector, can be determined according to a very advantageous development of the method according to the invention in that at the time the system boundary of a vehicle function occurs, the data from vehicle sensors such as camera, radar, lidar and ultrasound, temperature, haptic sensors or internal states of an implementation of a vehicle function are used to determine the boundary vector accordingly on this basis. In this way, a large number of data points can be collected for the boundary vectors. One data point can already describe a boundary vector, but it is also possible, for example, to combine a large number of data points into a boundary vector using a method, e.g. averaging or median formation. A data set is created which assigns a system boundary to each boundary vector.

Ein bevorzugte Weiterbildung hiervon kann es vorsehen, dass der anhand der durch die erfassten und gespeicherten Daten bestimmte Grenzvektor der jeweiligen Systemgrenze zugeordnet wird, wonach eine vereinfachtes Modell gebildet wird, um die sich bei der Zuordnung ergebende Zuordnungsvorschrift abzubilden und potenziellen Veränderungen nachzuführen. Die Zuordnung ergibt also eine Eingangsvoraussetzung für ein überwachtes maschinelles Lernen, welches eine Zuordnung von Eingangs- zu Ausgabegrößen benötigt. Mit den erfassten und gespeicherten Daten lässt sich so das vereinfachte Modell bilden, indem die Zuordnungsvorschrift in einem Trainingsschritt in dem Modell abgebildet wird. Dies kann z.B. über Methoden des maschinellen Lernens erfolgen.A preferred further development of this can provide that the boundary vector determined on the basis of the recorded and stored data is assigned to the respective system boundary, after which a simplified model is formed in order to map the assignment rule resulting from the assignment and to track potential changes. The assignment therefore provides an initial prerequisite for supervised machine learning, which requires an assignment of input to output variables. The simplified model can thus be formed using the recorded and stored data by mapping the assignment rule in the model in a training step. This can be done, for example, using machine learning methods.

Der Fahrzeugvektor lässt sich gemäß einer sehr vorteilhaften Weiterbildung beispielsweise anhand annähernd konstanter und/oder zeitlich veränderlicher Daten entsprechend ermitteln, wie beispielsweise Lastkollektive oder Geschwindigkeiten. Der Fahrzeugvektor für das erfindungsgemäße Verfahren kann gemäß einer sehr vorteilhaften Weiterbildung eben dieses Verfahrens dadurch gebildet werden, dass Daten der Fahrzeugsensoren die Geschwindigkeiten, Lenkwinkel, Drehmomente, Betriebsarten sowie die Zustände von Fahrzeugsystem, beispielsweise des Triebstrangs, einer Batterie usw. erfasst und der Bildung des charakteristischen Vektors zugrunde gelegt werden.According to a very advantageous development, the vehicle vector can be determined accordingly, for example, using approximately constant and/or time-varying data, such as load collectives or speeds. According to a very advantageous development of this method, the vehicle vector for the method according to the invention can be formed by recording data from the vehicle sensors, the speeds, steering angles, torques, operating modes and the states of the vehicle system, for example the drive train, a battery, etc., and using this as the basis for forming the characteristic vector.

Der charakteristische Nutzervektor lässt sich gemäß einer sehr vorteilhaften Weiterbildung des erfindungsgemäßen Verfahrens aus dem Verhalten des Fahrers, also seinem Fahrstil und eventuellen Emotionen sowie Umgebungsdaten bilden. Beispielhafte Größen können dabei je nach Funktion variieren, können aber beispielsweise Lenkgeschwindigkeiten, Beschleunigungen und ähnliches umfassen. Daneben können Gesichtsausdrücke wie beispielsweise ein Lächeln ebenso berücksichtigt werden wie Daten einer Müdigkeitsüberwachung, beispielsweise die Lidschlagfrequenz, ein eventuell aufgetretener Sekundenschlaf. Darüber hinaus können Tageszeit, Wetter, Objekte in und um das Fahrzeug und ähnliches Berücksichtigung finden und in den Nutzervektor einfließen, welcher dann, bevorzugt über die oben beschriebenen Clustering-Verfahren, über die Fahrzeuge der Fahrzeugflotte, vorzugsweise auf dem Backend-Server zusammen mit den anderen Vektoren entsprechend aggregiert wird.According to a very advantageous development of the method according to the invention, the characteristic user vector can be formed from the driver's behavior, i.e. his driving style and possible emotions as well as environmental data. Example variables can vary depending on the function, but can include steering speeds, accelerations and the like. In addition, facial expressions such as a smile can be taken into account, as can data from fatigue monitoring, such as the blinking frequency, a possible microsleep. In addition, the time of day, weather, objects in and around the vehicle and the like can be taken into account and incorporated into the user vector, which is then aggregated accordingly, preferably using the clustering methods described above, across the vehicles in the vehicle fleet, preferably on the backend server together with the other vectors.

Das erfindungsgemäße Verfahren ermöglicht es dabei auch eine so evaluierte Software nur auf verschiedene Teile von Fahrzeugen innerhalb der Fahrzeugflotte auszurollen, sodass individuelle Softwarestände innerhalb der Fahrzeugflotte denkbar sind. Ferner können verschiedene Softwareänderungen in unterschiedlichen Softwareständen zusammengefasst werden, um so modulare Softwarebausteine innerhalb der Fahrzeugflotte zu verteilen, was Kapazitäten bei der Übertragung der Softwareaktualisierung einsparen kann, wenn immer nur bestimmte modulare Bausteine ausgetauscht beziehungsweise aktualisiert werden müssen.The method according to the invention also makes it possible to roll out software evaluated in this way only to different parts of vehicles within the vehicle fleet, so that individual software versions within the vehicle fleet are conceivable. Furthermore, various software changes can be combined in different software versions in order to distribute modular software modules within the vehicle fleet, which can save capacity when transferring the software update if only certain modular modules need to be replaced or updated.

Weitere vorteilhafte Ausgestaltungen des erfindungsgemäßen Verfahrens und seiner Anwendung ergeben sich auch aus dem Ausführungsbeispiel, welches nachfolgend unter Bezugnahme auf die Figuren näher dargestellt ist.Further advantageous embodiments of the method according to the invention and its application also emerge from the embodiment, which is presented in more detail below with reference to the figures.

Dabei zeigen:

  • 1 eine schematische Darstellung der Übermittlung von Informationen eines Fahrzeugs einer Fahrzeugflotte in eine Cloud als fahrzeugexternen Server;
  • 2 eine schematische Darstellung der Übermittlung von Informationen zu Systemgrenzen einer Fahrzeugfunktion eines Fahrzeugs einer Fahrzeugflotte in die Cloud;
  • 3 eine erste beispielhafte 2-dimensionale Repräsentation zu Illustration von aggregierten Fahrzeug- und Nutzervektoren sowie Grenzvektoren zur Bildung des Abstandsmaßes.
Showing:
  • 1 a schematic representation of the transmission of information from a vehicle in a vehicle fleet to a cloud as an external vehicle server;
  • 2 a schematic representation of the transmission of information on system boundaries of a vehicle function of a vehicle in a vehicle fleet to the cloud;
  • 3 a first exemplary 2-dimensional representation to illustrate aggregated vehicle and user vectors as well as boundary vectors to form the distance measure.

Ziel ist es, ein zielgruppenorientiertes und somit effektives Testen, Verifizieren und Ausrollen von Softwareaktualisierungen, sog. Software-Updates, für Fahrzeugfunktionen zu erzielen.The aim is to achieve target group-oriented and thus effective testing, verification and rollout of software updates for vehicle functions.

Dazu werden im ersten Schritt Charakteristika aus der Fahrzeugflotte gesammelt. Sensordaten im Fahrzeug werden ermittelt, zu charakteristischen Vektoren V zusammengefügt und gespeichert. Diese Vektoren V können entweder zeitlich annährend konstant (z.B. Lastkollektive) oder zeitlich veränderlich (z.B. gegenwärtige Geschwindigkeiten) sein. Aus den Vektoren V werden nun charakteristische Fahrzeugvektoren VFzg gebildet, die aus Fahrzeugsensorwerten wie Geschwindigkeiten, Lenkwinkeln, Drehmomenten, Betriebsarten und Zuständen von Fahrzeugsystemen, Triebstrang, Batterien usw. aufgebaut sind. Daneben werden charakteristische Nutzervektoren VUser aus dem Verhalten des Fahrers wie Fahrstil/Emotionen bzw. Umgebungsdaten gebildet. Beispielhafte Größen variieren je nach Funktionen, können aber z.B. Lenkgeschwindigkeiten, Beschleunigungen, Lächeln, Lidschlagfrequenz, Pulsfrequenz, Sekundenschlaf, Wetter, Objekte im und um das Fahrzeug usw. sein.To do this, the first step is to collect characteristics from the vehicle fleet. Sensor data in the vehicle is determined, combined to form characteristic vectors V and stored. These vectors V can either be approximately constant over time (e.g. load collectives) or change over time (e.g. current speeds). Characteristic vehicle vectors VVzg are then formed from the vectors V, which are made up of vehicle sensor values such as speeds, steering angles, torques, operating modes and states of vehicle systems, drive train, batteries, etc. In addition, characteristic user vectors VUser are formed from the driver's behavior such as driving style/emotions or environmental data. Example quantities vary depending on the function, but can be, for example, steering speeds, accelerations, smiles, blinking frequency, pulse rate, microsleep, weather, objects in and around the vehicle, etc.

In der Darstellung der 1 ist eine Fahrzeug 10 zu erkennen, in welchen diese beiden Vektoren VUser und VFzg ermittelt und über eine Kommunikationseinheit 11 an einen fahrzeugexternen Server, z.B. ein Backend 12 des OEM geschickt werden. Dieser ist hier als Cloud angedeutet. Dort können die Vektoren über VUser und VFzg mehrere Fahrzeuge 10 oder auch über alle Fahrzeuge einer Fahrzeugflotte zu den Gruppen VFzgGi und VUserGi aggregiert werden. Dazu kommen Clustering-Verfahren zum Einsatz.In the presentation of the 1 a vehicle 10 can be recognized in which these two vectors VUser and VFzg are determined and sent via a communication unit 11 to a vehicle-external server, e.g. a backend 12 of the OEM. This is indicated here as a cloud. There, the vectors can be aggregated via VUser and VFzg for several vehicles 10 or also for all vehicles in a vehicle fleet to form the groups VFzgGi and VUserGi. Clustering methods are used for this purpose.

Im zweiten Schritt sollen Systemgrenzen von Fahrzeugfunktionen wie Fahrerassistenzsysteme (ADAS-Advanced Driver Assistance System), Gestenerkennung, Müdigkeitserkennung usw. bei einem aktuellen Softwarestand SW1 ermittelt werden. Systemgrenzen, können vielerlei Natur sein, z.B. Sensorgrenzen (z.B. Reichweite einer Kamera), physikalischen Grenzen (Reibwert bei Nässe) oder besonderen Gegebenheiten (Gestenerkennung mit Winterjacke). Ziel ist es, im Rahmen der Entwicklung die Systemgrenzen von SW1 durch Optimierung von Hardware und/oder Software zu verschieben, um dem Nutzer eine bessere Performance der Fahrzeugfunktion anbieten zu können. Dazu werden charakteristische Grenzvektoren VGrenzeJ zum Zeitpunkt des Auftretens der Systemgrenze einer Fahrzeugfunktion 13 ermittelt, welche in 2 schematisch angedeutet ist. Für die Bildung der Vektoren werden wieder Werte von Fahrzeugsensoren wie Kamera, Radar, Lidar, Ultraschall, Temperatur, haptische Sensoren oder interne Zustände einer Implementierung der Fahrzeugfunktion 13 herangezogen.In the second step, system limits of vehicle functions such as driver assistance systems (ADAS - Advanced Driver Assistance System), gesture recognition, fatigue detection, etc. are to be determined for a current software version SW1. System limits can be of many different natures, e.g. sensor limits (e.g. range of a camera), physical limits (friction coefficient in wet conditions) or special conditions (gesture recognition with a winter jacket). The aim is to shift the system limits of SW1 during development by optimizing hardware and/or software in order to be able to offer the user better performance of the vehicle function. For this purpose, characteristic limit vectors VGrenzeJ are determined at the time the system limit of a vehicle function 13 occurs, which in 2 is indicated schematically. To form the vectors, values from vehicle sensors such as camera, radar, lidar, ultrasound, temperature, haptic sensors or internal states of an implementation of the vehicle function 13 are again used.

Im einfachsten Fall können Systemgrenzen manuell durch den Fahrer oder Mitfahrer markiert (gelabelt) werden. Bei einem Spurhaltesystem als Fahrzeugfunktion 13 erkennt eine Kamera die Fahrbahnmarkierungen rechts und links und versucht das Fahrzeug innerhalb der Spuren zu führen. Ist nun z.B. in einer gewissen Situation die Erkennungsleistung reduziert, z.B. bei Autobahnfahrt und Regen, so kann es sein, dass die Spurhaltung nicht in der gewohnten Art und Weise funktioniert. Ein Fahrer kann die reduzierte Performance als Systemgrenze seines Systems erkennen, da er ggfs. selbst mitlenken muss, und löst z.B. durch eine Eingabefunktion das Labeln dieser Systemgrenze aus. Das System legt dann einen Grenzvektor VGrenze_1 ab, dieser enthält vorab definierte Features, z.B. [Geschwindigkeit = 120km/h, Straßentyp = Autobahn, Regen 50%, Spurhaltesystem = Aktiv usw.]. Die definierten Features müssen dabei auch Element von VfzgGi oder VUserGi sein. Vorteilhafterweise werden die Systemgrenzen aber automatisch (systematisch) erkannt, z.B. wenn der Fahrer auf der Autobahn bei Regen bei aktivem Spurhaltesystem 13 stark lenkt [Lenkwinkeländerung > x Grad pro Sekunde ODER Lenkmoment > y Newtonmeter]. In diesem Fall wird der Vektor VGrenze_2 automatisch abgelegt, z.B. [Geschwindigkeit = 120km/h, Straßentyp = Autobahn, Regen 50%, Spurhaltesystem = Aktiv, ..].In the simplest case, system boundaries can be marked (labeled) manually by the driver or passenger. With a lane keeping system as a vehicle function 13, a camera detects the driving lane markings on the right and left and attempts to guide the vehicle within the lanes. If, for example, the detection performance is reduced in a certain situation, e.g. when driving on the motorway in the rain, lane keeping may not work as usual. A driver can recognise the reduced performance as a system limit of his system, as he may have to steer himself, and triggers the labeling of this system limit, e.g. using an input function. The system then stores a limit vector VGrenze_1, which contains predefined features, e.g. [speed = 120 km/h, road type = motorway, rain 50%, lane keeping system = active, etc.]. The defined features must also be elements of VfzgGi or VUserGi. Advantageously, the system limits are recognised automatically (systematically), e.g. when the driver steers sharply on the motorway in the rain with the lane keeping system 13 active [steering angle change > x degrees per second OR steering torque > y Newton metres]. In this case, the vector VGrenze_2 is automatically stored, e.g. [Speed = 120km/h, Road type = Motorway, Rain 50%, Lane keeping system = Active, ..].

Ein weiteres Beispiel für die systematische Erkennung von Systemgrenzen kann bei einer Reichweitenprognose als Fahrzeugfunktion 13 aufgezeigt werden, die die Restreichweite bzw. Batterieladung am Zielort prädiziert. Weicht die prädizierte Reichweite bzw. Batterieladung am Zielort um mindestens z% von der prädizierten Reichweite bzw. Batterieladung ab, so wird ein Vektor VGrenze_3 automatisch abgelegt: [Abweichung z = 5%, Länge der Strecke = 120km, Verteilung der Straßentypen = [50%, 20%, 30%]x[Autobahn, Landstraße, Stadt], Höhenmeter aufwärts/abwärts = [300m, 100m], Temperatur = -10 Grad usw.].Another example of the systematic detection of system limits can be shown in a range forecast as vehicle function 13, which predicts the remaining range or battery charge at the destination. If the predicted range or battery charge at the destination deviates by at least z% from the predicted range or battery charge, a vector VGrenz_3 is automatically stored: [Deviation z = 5%, length of the route = 120km, distribution of road types = [50%, 20%, 30%]x[motorway, country road, city], altitude gain/loss = [300m, 100m], temperature = -10 degrees, etc.].

Auch kann es sein, dass Sensoren systematisch physikalische Grenzen aufweisen. Z.B. erfahren die Radarwellen eines Radarsensors bei starker Nässe eine hohe Dämpfung, so dass er nur reduziert Radarreflektionen empfangen kann. Hat ein Radarsensor ein integriertes Verfahren, dass die Dämpfung messen kann, so kann z.B. bei einer Reduktion von der Radarreflektionen um >50% ein Vektor VGrenze_4 abgelegt werden: [Radarreflektion < 50%, Scheibenwischer >=Stufe 2, Temperatur = 15 Grad, radarbasiertes ADAS System = Aktiv usw.]It is also possible that sensors systematically have physical limits. For example, the radar waves of a radar sensor experience a high attenuation in very wet conditions, so that it can only receive reduced radar reflections. If a radar sensor has an integrated process that can measure the attenuation, a vector VGrenz_4 can be stored, for example, if the radar reflections are reduced by >50%: [Radar reflection < 50%, windshield wipers >=level 2, temperature = 15 degrees, radar-based ADAS system = active, etc.]

Um nun die charakteristischen Vektoren VGrenze den Gruppen VfzgGi bzw. VUserGi zuzuordnen, wird ein Abstandsmaß A definiert. In 3 ist das Abstandsmaß A dabei zuerst mit der Nummer der Grenze und anschließend der Nummer der Fahrzeuggruppe indiziert. A kann im einfachsten Fall der euklidische Abstand sein. Daneben sind aber auch beliebig komplexe Ähnlichkeitsmaße möglich, welche z.B. als Metriken aus Clustering-Verfahren und Korrelationsverfahren bekannt sind. Dadurch kann jedem VGrenze eine erste Zielgruppe Gmin mit minimalem Abstandsmaß (Gmin= min(A(VGrenze, VFzgGi oder VUserGi) für alle i), hier A11 und A22, zugeordnet werden. Genauso kann jedem VGrenze eine zweite Zielgruppe Gmax mit maximalem Abstandsmaß (Gmax= max(A(VGrenze, VFzgGi oder VUserGi) für alle i)), hier A12 und A21, zugeordnet werden. Somit wird gewährleistet, dass Systemgrenzen in der ersten Zielgruppe Gmin mit niedrigem Abstandsmaß A11 und A22 statistisch häufig auftreten und in der zweiten Zielgruppe Gmax statistisch selten sind. Je nach Test-Ziel kann somit eine oder mehrere Gruppen von Fahrzeugen/Usern Gmin oder Gmax herangezogen werden.In order to assign the characteristic vectors VGrenz to the groups VfzgGi and VUserGi, a distance measure A is defined. In 3 The distance measure A is first indexed with the number of the boundary and then with the number of the vehicle group. In the simplest case, A can be the Euclidean distance. However, similarity measures of any complexity are also possible, which are known as metrics from clustering methods and correlation methods, for example. This means that each VGrenze can be assigned a first target group Gmin with a minimum distance measure (Gmin= min(A(VGrenze, VFzgGi or VUserGi) for all i), here A 11 and A 22 ). In the same way, each VGrenze can be assigned a second target group Gmax with a maximum distance measure (Gmax= max(A(VGrenze, VFzgGi or VUserGi) for all i)), here A 12 and A 21 . This ensures that system boundaries occur statistically frequently in the first target group Gmin with a low distance measure A 11 and A 22 and are statistically rare in the second target group Gmax. Depending on the test objective, one or more groups of vehicles/users Gmin or Gmax can be used.

Bezüglich des abgelegten Vektors VGrenze_2, der eine Systemgrenze des Spurhaltesystems 13 bei Regen auf Autobahnen aufzeigt, könnte somit Gmin eine erste Zielgruppe von Fahrzeugen beschreiben, die häufig auf Autobahnen >100kmh bei Regen > 40% gefahren ist. Gmax dagegen könnte auch eine zweite Zielgruppe sein, die viel Stadtverkehr bei Trockenheit fährt, z.B. Geschwindigkeit < 55km/h und Regen < 10%.With regard to the stored vector VGrenze_2, which shows a system limit of the lane keeping system 13 when it is raining on motorways, Gmin could describe a first target group of vehicles that often drove on motorways >100kmh when it is raining > 40%. Gmax, on the other hand, could also be a second target group that drives a lot in city traffic when it is dry, e.g. speed < 55km/h and rain < 10%.

Dies lässt sich für das effiziente Testen und Verifizieren von Softwareaktualisierungen nutzen. Aus der aktuell installierten Softwareversion SW1 mit den bekannten Systemgrenzen wird durch Softwareänderungen- bzw. -weiterentwicklungen die Softwareaktualisierung SW2, die genau diese bekannten Systemgrenzen verbessern soll. Um nun möglichst effektiv diese Softwareaktualisierung SW2 zu testen, wird sie in der ersten Zielgruppe Gmin ausgerollt und evaluiert. Dies kann sowohl im regulären Betrieb der Fahrzeuge 10 der ersten Zielgruppe Gmin erfolgen als auch parallel zum regulären Betrieb, wenn das Fahrzeug 10 über die Technik für ein Testen im sogenannten Shadowmode verfügt. Dann kann die Softwareaktualisierung SW2 nämlich auch parallel zu aktuellen Software SW1 im Fahrzeug 10 mitlaufen und evaluiert werden.This can be used for efficient testing and verification of software updates. The currently installed software version SW1 with the known system limits is converted into the software update SW2 through software changes or further developments, which is intended to improve precisely these known system limits. In order to test this software update SW2 as effectively as possible, it is rolled out and evaluated in the first target group Gmin. This can take place both during regular operation of the vehicles 10 of the first target group Gmin and in parallel with regular operation if the vehicle 10 has the technology for testing in so-called shadow mode. The software update SW2 can then also run and be evaluated in parallel with the current software SW1 in the vehicle 10.

Durch den hergestellten geringen Abstand der ersten Zielgruppe Gmin zum Grenzvektor VGrenze ist davon auszugehen, dass die erste Zielgruppe Gmin häufig in den Betriebszustand der Systemgrenzen der aktuell installierten Softwareversion SW1 kommt und man so mit wenigen Fahrzeugen 10 in kurzer Zeit mit einem Performance Maß P die Softwareaktualisierung SW2 verifizieren kann.Due to the small distance created between the first target group Gmin and the limit vector VGrenz, it can be assumed that the first target group Gmin frequently reaches the operating state of the system limits of the currently installed software version SW1 and that the software update SW2 can thus be verified with a performance measure P using just a few vehicles 10 in a short time.

In einer vorteilhaften ergänzenden oder auch alternativen Ausführung kann die Softwareaktualisierung SW2 auch ergänzend oder zuerst auf die zweite Zielgruppe Gmax ausgerollt werden und die Performance mit einem Performance-Maß verifiziert werden. In an advantageous supplementary or alternative embodiment, the software update SW2 can also be rolled out additionally or first to the second target group Gmax and the performance can be verified with a performance measure.

Somit wird die neue Softwareaktualisierung SW2, erst in solche Fahrzeuge 10 ausgerollt, welche weit entfernt von der Systemgrenze operieren, um somit die Zuverlässigkeit der Softwareaktualisierung SW2 fernab der Systemgrenze zu testen. Erreicht das Performance-Maß einen Wert > Schwelle 1, so werden die Änderungen der Softwareaktualisierung SW2 gegenüber dem bisherigen Stand der Software SW1 übernommen und Softwareaktualisierung SW2 wird auf die einen größeren Teil der oder die ganze Fahrzeugflotte ausgerollt. Bleibt das Performance-Maß < Schwelle 1, so wird eine erneute Entwicklungsiteration gestartet und eine neue Softwareaktualisierung SW2' erstellt.The new software update SW2 is therefore only rolled out to those vehicles 10 that operate far away from the system boundary, in order to test the reliability of the software update SW2 far away from the system boundary. If the performance measure reaches a value > threshold 1, the changes to the software update SW2 compared to the previous version of the software SW1 are adopted and the software update SW2 is rolled out to a larger part of the vehicle fleet or to the entire vehicle fleet. If the performance measure remains < threshold 1, a new development iteration is started and a new software update SW2' is created.

Der Ansatz kann insbesondere zur Entwicklung und zum weiterem Trainieren von Funktionsapproximationen/Methoden des maschinellen Lernens genutzt werden, deren Systemgrenzen unscharf ist und daher erprobt werden müssen.The approach can be used in particular for the development and further training of function approximations/machine learning methods whose system boundaries are fuzzy and therefore need to be tested.

Alternativ dazu könnte mit den Daten des zweiten Schritts, welche jeweils einem oder mehreren Grenzvektoren eine Systemgrenze zuordnet auch ein vereinfachtes Modell, welches oftmals als Surrogate Model bezeichnet wird, trainiert werden. Dazu kann in einem ersten Schritt a) eine Menge an Grenzvektoren VGrenz gesammelt werden. Wie oben bereits dargelegt kann dies durch ein manuelles oder vorzugsweise automatisiertes Labeln erfolgen. Damit entsteht eine Datensatz, welcher jeweils einem oder mehreren Grenzvektoren VGrenz eine Systemgrenze zuordnet. Die Zuordnung ergibt dabei eine Eingangsvoraussetzung für ein überwachtes maschinelles Lernen, welches eine Zuordnung von Eingangs- zu Ausgabegrößen benötigt. Mit den so im Schritt a) gesammelten Daten lässt sich in einem nachfolgenden Schritt b) das vereinfachte Modell bilden, indem die Zuordnungsvorschrift in einem Trainingsschritt in dem Modell abgebildet wird.Alternatively, the data from the second step, which assigns a system boundary to one or more boundary vectors, could also be used to train a simplified model, often referred to as a surrogate model. To do this, in a first step a) a set of boundary vectors VGrenz can be collected. As already explained above, this can be done by manual or, preferably, automated labeling. This creates a data set that assigns a system boundary to one or more boundary vectors VGrenz. The assignment provides an input requirement for supervised machine learning, which requires an assignment of input to output variables. The data collected in step a) can be used in a subsequent step b) to form the simplified model by mapping the assignment rule to the model in a training step.

In einem dritten optionalen Schritt c) kann diese Modell dann zusätzlich in einen neuen Softwarestand SW1' integriert und als Softwareaktualisierung SW1` ausgerollt werden, z.B. als OTA (Over the Air) Update.In a third optional step c), this model can then additionally be integrated into a new software version SW1' and rolled out as a software update SW1`, e.g. as an OTA (Over the Air) update.

Immer wenn das Modell eine Genauigkeit > Schwelle 2 erreicht, werden Daten gesammelt. Die Daten können dann einerseits dazu verwendet werden, diese den Grenzvektoren VGrenz zuzuordnen, um die Datenbasis zu vergrößern. Dies stellt eine Erleichterung bzw. Vereinfachung von Schritt 2 dar, da die Erfassung der von Grenzvektoren VGrenz somit weiter automatisiert und der manuelle Aufwand reduziert werden kann. Die Daten können andererseits aber auch dazu verwendet werden, eine Fahrzeugfunktion 13 nachzutrainieren, die auf Basis von lernenden Verfahren (z.B. maschinelle Lernverfahren, Neuronale Netze, o.ä.) implementiert wurde. Die nachtrainierte Fahrzeugfunktion 13 wird dann in eine neue Softwareaktualisierung SW3 integriert. Zum Testen der Fahrzeugfunktion 13 können dann die vorherigen Schritte wiederholt werden.Whenever the model reaches an accuracy > threshold 2, data is collected. The data can then be used to assign it to the boundary vectors VGrenz in order to enlarge the database. This makes step 2 easier or simpler, as the recording of the boundary vectors VGrenz can thus be further automated and the manual effort reduced. The data can also be used to retrain a vehicle function 13 that was implemented on the basis of learning methods (e.g. machine learning methods, neural networks, or similar). The retrained vehicle function 13 is then integrated into a new software update SW3. The previous steps can then be repeated to test the vehicle function 13.

Ein Beispiel für eine solche Vorgehensweise bei einer mögliche Systemgrenze sind Personen mit Winterjacke für die Gestenerkennung. Dafür werden im Schritt a) Daten gesammelt, die z.B. eine mangelhafte Erkennungsleistung bei Personen mit Winterjacken abbilden. Diese Systemgrenzen werden einer Menge von Grenzvektoren VGrenz zugeordnet. Nun wird im Schritt b) ein vereinfachtes Modell mit einem neuronalen Netz trainiert. Dieses vereinfachte Model kann Winterjacken mit einer Genauigkeit von z.B. 80% erkennen. Dieses Surrogate Model wird in den Softwarestand SW1 integriert, so dass eine neuer Softwarestand bzw. eine -aktualisierung SW1' vorliegt. Diese wird in einer Testgruppe an Fahrzeugen ausgerollt. Immer wenn das vereinfachte Model eine Winterjacke mit einer Wahrscheinlichkeit > Schwelle 2 erkennt, werden Daten gesammelt. Diese werden der Gruppe an Grenzvektoren VGrenz der Systemgrenzen zugeordnet.An example of such an approach to a possible system boundary is people wearing winter jackets for gesture recognition. To do this, in step a) data is collected that, for example, shows poor recognition performance in people wearing winter jackets. These system boundaries are assigned to a set of boundary vectors VGrenz. Now, in step b), a simplified model is trained with a neural network. This simplified model can recognize winter jackets with an accuracy of e.g. 80%. This surrogate model is integrated into the software version SW1 so that a new software version or update SW1' is available. This is rolled out in a test group of vehicles. Whenever the simplified model recognizes a winter jacket with a probability > threshold 2, data is collected. This is assigned to the group of boundary vectors VGrenz of the system boundaries.

Ferner kann es vorgesehen werden mit diesen Daten ein maschinelles Lernverfahren nachzutrainieren, um die Gestenerkennung bei Personen mit Winterjacke zu erhöhen und in einen Softwarestand SW3 integriert werden. Dieser wird dann als Softwareaktualisierung SW3 in der ersten Zielgruppe Gmin ausgerollt und die oben beschriebenen Schritte werden zu testen und verifizieren befolgt.Furthermore, it can be planned to use this data to retrain a machine learning process in order to improve gesture recognition in people wearing winter jackets and to integrate it into a software version SW3. This will then be rolled out as a software update SW3 in the first target group Gmin and the steps described above will be followed to test and verify.

In einer zusätzlichen Ausführung können n Software-Änderungen in n Softwarestände SW4j (j = 1..n) integriert werden. Die Software Stände SW4j werden ausschließlich auf bestimmte Teilemengen bzw. Untergruppen von Fahrzeugen 10 ausgerollt; VUserGi und/oder VfzgGi . So können modulare Softwarebausteine in der Fahrzeugflotte verteilt werden, um Kapazitäten bei der Übertragung und Softwareaktualisierung zu sparen. Für jeden Softwarestand SW4j werden die oben beschriebenen Schritte durchlaufen und ggf. wiederholt. Jede Teilmenge bzw. Untergruppe bekommt somit einen „personalisierten“ Stand der genutzten Software.In an additional version, n software changes can be integrated into n software versions SW4j (j = 1..n). The software versions SW4j are only rolled out to certain sets of parts or subgroups of vehicles 10; VUserGi and/or VfzgGi . In this way, modular software components can be distributed in the vehicle fleet in order to save capacity during transfer and software updates. For each software version SW4j, the steps described above are carried out and repeated if necessary. Each set of parts or subgroup thus receives a "personalized" version of the software used.

In einer zusätzlichen in 4 dargestellten Ausführung werden zwei unterschiedliche Softwarelösungen SW5a und SW5b für dasselbe Problem bzw. dieselbe Systemgrenze VGrenze_1 entwickelt. Die erste Zielgruppe Gmin bezüglich VGrenze_1 ist VFzgG1. Nun werden die zwei Softwarelösungen SW5a und SW5b z.B. randomisiert auf die Fahrzeuge verteilt, so dass jeweils eine Teilmenge der ersten Zielgruppe Gmin die eine und die andere Teilmenge die andere Softwarelösung erhält. Dann wird ein Performance-Maß für jede der Softwarelösungen SW5a, SW5b ermittelt. Erreicht z.B. das Performance Maß der Softwarelösung SW5a eine signifikant höherer Güte als SW5b: Güte(SW5a) > Güte(SW5b) + delta (wobei delta ein Maß für eine signifikante Verbesserung ist), wird zukünftig nur noch Lösung SW5a verfolgt. Die oben genannten Abläufe können dann mit SW5a entsprechend ausgeführt werden.In an additional in 4 In the embodiment shown, two different software solutions SW5a and SW5b are developed for the same problem or the same system boundary VGrenze_1. The first target group Gmin with respect to VGrenze_1 is VVzgG1. Now the two software solutions SW5a and SW5b are distributed randomly to the vehicles, for example, so that a subset of the first target group Gmin receives one software solution and the other subset receives the other software solution. Then a performance measure is calculated for each of the software solutions. SW5a, SW5b are determined. If, for example, the performance measure of the software solution SW5a achieves a significantly higher quality than SW5b: Quality(SW5a) > Quality(SW5b) + delta (where delta is a measure of a significant improvement), only solution SW5a will be pursued in the future. The above-mentioned processes can then be carried out accordingly with SW5a.

An die Stelle der beiden Softwarelösungen SW5a, SW5b können auch die bisherige Software SW1 in der ersten Teilmenge der ersten Zielgruppe Gmin und die Softwareaktualisierung SW2 in der zweiten Teilmenge der ersten Zielgruppe Gmin treten. Dann wäre eine klassische A/B- Testung der Softwareaktualisierung gegenüber einer Vergleichsgruppe ohne die Aktualisierung möglich.The two software solutions SW5a and SW5b can also be replaced by the previous software SW1 in the first subset of the first target group Gmin and the software update SW2 in the second subset of the first target group Gmin. This would then make it possible to carry out classic A/B testing of the software update against a comparison group without the update.

ZITATE ENTHALTEN IN DER BESCHREIBUNGQUOTES INCLUDED IN THE DESCRIPTION

Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.This list of documents listed by the applicant was generated automatically and is included solely for the better information of the reader. The list is not part of the German patent or utility model application. The DPMA accepts no liability for any errors or omissions.

Zitierte PatentliteraturCited patent literature

  • DE 102018205615 A1 [0002]DE 102018205615 A1 [0002]
  • US 10042635 B2 [0003]US 10042635 B2 [0003]

Zitierte Nicht-PatentliteraturCited non-patent literature

  • Size matters? Or not: A/B testing with limited sample in automotive embedded software“ von Liu et al https://arxiv.org/abs/2107.02461v2, 10 Nov. 2021 [0004]Size matters? Or not: A/B testing with limited sample in automotive embedded software“ by Liu et al https://arxiv.org/abs/2107.02461v2, 10 Nov. 2021 [0004]

Claims (11)

Verfahren zum optimierten Ausrollen von Softwareaktualisierungen an einer Fahrzeugflotte, wozu die Softwareaktualisierung (SW1', SW2, SW2', SW3, SW4, SW5a, SW5b) zuerst an eine Teilmenge der Fahrzeugflotte ausgerollt wird, wobei diese Teilmenge basierend auf gesammelten Daten der Fahrzeuge (10) der Fahrzeugflotte bestimmt wird, dadurch gekennzeichnet, dass die gesammelten Daten charakteristische Fahrzeugvektoren (VFzg) umfassen, welche aus Daten der Fahrzeugsensoren gebildet werden, sowie charakteristische Nutzervektoren (VUser), welche aus Daten zum Fahrverhalten, aus physiologischen Daten und Umgebungsdaten gebildet werden, umfassen, wonach die Fahrzeugvektoren (VFzg) und Nutzervektoren (VUser) aller Fahrzeuge (10) der Fahrzeugflotte aggregiert werden, wobei im bisherigen Stand der Softwaresystemgrenzen analysiert und an diesen Systemgrenzen geltende charakteristische Grenzvektoren (VGrenz) ermittelt werden, wonach ein Abstandsmaß (A) zwischen den charakteristischen Grenzvektoren (VGrenz) und den charakteristischen Fahrzeugvektoren (VFzg) und Nutzervektoren (VUser) der Fahrzeugflotte ermittelt wird, woraus eine erste Zielgruppe (Gmin) von Fahrzeugen (10) mit dem minimalem Abstandsmaß (A11, A22) und eine zweite Zielgruppe von Fahrzeugen (10) mit dem maximalen Abstandsmaß (A12, A21) ermittelt wird, wonach die Softwareaktualisierung (SW1', SW2, SW2', SW3, SW4, SW5a, SW5b) an die erste und/oder zweite Zielgruppe (Gmin, Gmax) oder jeweils eine Teilmenge der ersten und/oder zweiten Zielgruppe (Gmin, Gmax) ausgerollt und die Performance der ausgerollten Softwareaktualisierung evaluiert wird, wobei die Softwareaktualisierung (SW1', SW2, SW2', SW3, SW4, SW5a, SW5b) nur im Falle einer positiven Evaluation auf weitere Teile der Fahrzeugflotte ausgerollt wird.Method for the optimized rollout of software updates to a vehicle fleet, for which the software update (SW1', SW2, SW2', SW3, SW4, SW5a, SW5b) is first rolled out to a subset of the vehicle fleet, this subset being determined based on collected data from the vehicles (10) of the vehicle fleet, characterized in that the collected data comprise characteristic vehicle vectors (VFzg), which are formed from data from the vehicle sensors, and characteristic user vectors (VUser), which are formed from data on driving behavior, physiological data and environmental data, after which the vehicle vectors (VFzg) and user vectors (VUser) of all vehicles (10) of the vehicle fleet are aggregated, wherein the previous state of the software system boundaries is analyzed and characteristic boundary vectors (VGrenz) applicable at these system boundaries are determined, after which a distance measure (A) between the characteristic boundary vectors (VGrenz) and the characteristic vehicle vectors (VFzg) and User vectors (VUser) of the vehicle fleet are determined, from which a first target group (Gmin) of vehicles (10) with the minimum distance measure (A 11 , A 22 ) and a second target group of vehicles (10) with the maximum distance measure (A 12 , A 21 ) are determined, after which the software update (SW1', SW2, SW2', SW3, SW4, SW5a, SW5b) is rolled out to the first and/or second target group (Gmin, Gmax) or to a subset of the first and/or second target group (Gmin, Gmax) and the performance of the rolled out software update is evaluated, wherein the software update (SW1', SW2, SW2', SW3, SW4, SW5a, SW5b) is only rolled out to other parts of the vehicle fleet in the event of a positive evaluation. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass zur Evaluation der ausgerollten Softwareaktualisierung (SW1', SW2, SW2', SW3, SW4, SW5a, SW5b) ein Performancemaß (P) bestimmt wird, wobei eine positive Evaluation angenommen wird, wenn das Performancemaß (P) einen vorgegebenen Schwellenwert (Schwelle1) übersteigt, und wobei eine negative Evaluation angenommen wird, wenn das Performancemaß dem vorgegebenen Schwellenwert (Schwelle1) nicht erreicht.Procedure according to Claim 1 , characterized in that a performance measure (P) is determined to evaluate the rolled out software update (SW1', SW2, SW2', SW3, SW4, SW5a, SW5b), wherein a positive evaluation is assumed if the performance measure (P) exceeds a predetermined threshold value (threshold 1), and wherein a negative evaluation is assumed if the performance measure does not reach the predetermined threshold value (threshold 1). Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass zur Evaluation der Softwareaktualisierung (SW1', SW2, SW2', SW3, SW4, SW5a, SW5b) diese nur an eine Teilmenge der ersten und/oder zweiten Zielgruppe (Gmin, Gmax) ausgerollt wird, wonach die Performance im Vergleich zu einer weiteren Teilmenge der jeweiligen ersten und/oder zweiten Zielgruppe (Gmin, Gmax) als Vergleichsgruppe evaluiert wird.Procedure according to Claim 1 , characterized in that for the evaluation of the software update (SW1', SW2, SW2', SW3, SW4, SW5a, SW5b) it is rolled out only to a subset of the first and/or second target group (Gmin, Gmax), after which the performance is evaluated in comparison to a further subset of the respective first and/or second target group (Gmin, Gmax) as a comparison group. Verfahren nach Anspruch 3, dadurch gekennzeichnet, dass auf die Vergleichsgruppe eine alternative Softwareaktualisierung (SW5a, SW5b) ausgerollt wird.Procedure according to Claim 3 , characterized in that an alternative software update (SW5a, SW5b) is rolled out to the comparison group. Verfahren nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, dass im Falle einer negativen Evaluation die Softwareaktualisierung (SW1', SW2, SW2', SW3, SW4, SW5a, SW5b) zuerst optimiert und dann erneut auf die Zielgruppen (Gmin, Gmax) oder Teilmengen der Zielgruppen (Gmin, Gmax) ausgerollt wird, um die optimierte Softwareaktualisierung (SW1', SW2, SW2', SW3, SW4, SW5a, SW5b) zu evaluieren, bevor sie im Falle einer positiven Evaluation auf weitere Teile der Fahrzeugflotte ausgerollt wird.Method according to one of the Claims 1 until 4 , characterized in that in the event of a negative evaluation, the software update (SW1', SW2, SW2', SW3, SW4, SW5a, SW5b) is first optimized and then rolled out again to the target groups (Gmin, Gmax) or subsets of the target groups (Gmin, Gmax) in order to evaluate the optimized software update (SW1', SW2, SW2', SW3, SW4, SW5a, SW5b) before it is rolled out to further parts of the vehicle fleet in the event of a positive evaluation. Verfahren nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, dass die Aggregation in einem fahrzeugexternen Server (12) erfolgt, an welchen die Fahrzeugvektoren (VFzg) und Nutzervektoren (VUser) der Fahrzeuge (10) übermittelt werden.Method according to one of the Claims 1 until 5 , characterized in that the aggregation takes place in a vehicle-external server (12), to which the vehicle vectors (VFzg) and user vectors (VUser) of the vehicles (10) are transmitted. Verfahren nach Anspruch 6, dadurch gekennzeichnet, dass die Aggregation mittels Clustering-Verfahren erfolgt.Procedure according to Claim 6 , characterized in that the aggregation is carried out by means of clustering methods. Verfahren nach einem der Ansprüche 1 bis 7, dadurch gekennzeichnet, dass der charakteristische Grenzvektor (VGrenz) bestimmt wird, in dem Daten von Fahrzeugsensoren erfasst und gespeichert werden, wenn eine Systemgrenze erkannt worden ist.Method according to one of the Claims 1 until 7 , characterized in that the characteristic limit vector (VGrenz) is determined by recording and storing data from vehicle sensors when a system limit has been detected. Verfahren nach Anspruch 8, dadurch gekennzeichnet, dass der anhand der durch die erfassten und gespeicherten Daten bestimmte charakteristische Grenzvektor (VGrenz) der jeweiligen Systemgrenze zugeordnet wird, wonach ein vereinfachtes Modell gebildet wird, um die Zuordnungsvorschrift abzubilden und potenziellen Veränderungen nachzuführen.Procedure according to Claim 8 , characterized in that the characteristic boundary vector (VGrenz) determined on the basis of the recorded and stored data is assigned to the respective system boundary, after which a simplified model is formed in order to map the assignment rule and track potential changes. Verfahren nach einem der Ansprüche 1 bis 9, dadurch gekennzeichnet, dass der charakteristische Fahrzeugvektor (VFzg) auf Fahrzeugsensorwerten basiert, welche zumindest eine der Größen Geschwindigkeit, Lenkwinkel, Drehmoment, Betriebsart und/oder einen der Zustände von Fahrzeugsystemen, Triebstrang, Batterie umfassen.Method according to one of the Claims 1 until 9 , characterized in that the characteristic vehicle vector (VFzg) is based on vehicle sensor values which include at least one of the variables speed, steering angle, torque, operating mode and/or one of the states of vehicle systems, drive train, battery. Verfahren nach einem der Ansprüche 1 bis 10, dadurch gekennzeichnet, dass der charakteristische Nutzervektor (VUser) auf Daten basiert, welche zumindest eine der Größen Lenkwinkel, Geschwindigkeit, Beschleunigung, Wetter, Objekte im und um das Fahrzeug, Lidschlagfrequenz, Sekundenschlaf, Gesichtsausdruck, Gesten des Fahrzeugnutzers, umfassen.Method according to one of the Claims 1 until 10 , characterized in that the characteristic user vector (VUser) is based on data which includes at least one of the following variables: steering angle, speed, acceleration, weather, objects in and around the vehicle, eyelid frequency, microsleep, facial expression, gestures of the vehicle user.
DE102022004038.7A 2022-10-28 2022-10-28 Procedures for optimized rollout of software updates Pending DE102022004038A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE102022004038.7A DE102022004038A1 (en) 2022-10-28 2022-10-28 Procedures for optimized rollout of software updates
PCT/EP2023/079739 WO2024089082A2 (en) 2022-10-28 2023-10-25 Method for improved roll-out of software updates

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102022004038.7A DE102022004038A1 (en) 2022-10-28 2022-10-28 Procedures for optimized rollout of software updates

Publications (1)

Publication Number Publication Date
DE102022004038A1 true DE102022004038A1 (en) 2024-05-08

Family

ID=88598891

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102022004038.7A Pending DE102022004038A1 (en) 2022-10-28 2022-10-28 Procedures for optimized rollout of software updates

Country Status (2)

Country Link
DE (1) DE102022004038A1 (en)
WO (1) WO2024089082A2 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10042635B2 (en) 2015-06-16 2018-08-07 Lear Corporation Method for wireless remote updating vehicle software
DE102018205615A1 (en) 2018-04-13 2019-10-17 Audi Ag Method for updating vehicle software

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10042635B2 (en) 2015-06-16 2018-08-07 Lear Corporation Method for wireless remote updating vehicle software
DE102018205615A1 (en) 2018-04-13 2019-10-17 Audi Ag Method for updating vehicle software

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Size matters? Or not: A/B testing with limited sample in automotive embedded software" von Liu et al https://arxiv.org/abs/2107.02461v2, 10 Nov. 2021

Also Published As

Publication number Publication date
WO2024089082A2 (en) 2024-05-02

Similar Documents

Publication Publication Date Title
DE102019104974A1 (en) Method and system for determining a driving maneuver
DE102018203583B4 (en) Method, driver assistance system and motor vehicle for the prediction of a position or a trajectory by means of a graph-based environment model
DE102018222176A1 (en) Prediction of the lane change of other vehicles
DE102019135608A1 (en) Method, device and system for the detection of abnormal operating conditions of a device
DE102016119502A1 (en) Categorization of vehicles in the vicinity of a motor vehicle
DE102019002790A1 (en) Method for predicting a traffic situation for a vehicle
DE102015008353A1 (en) Autonomous vehicle and method for organizing convoy trips
DE102021100149A1 (en) Computer-implemented method for providing a test history of traffic scenarios to be tested
DE102019124018A1 (en) Method for optimizing tests of control systems for automated vehicle dynamics systems
DE102018220941A1 (en) Evaluation of measured variables with AI modules taking into account measurement uncertainties
DE102021003073B3 (en) Method and device for increasing the proportion of automated driving in an at least partially automated vehicle
DE102021128201A1 (en) Improved vehicle operation
DE102018206743A1 (en) A method of operating a driver assistance system of an ego vehicle having at least one environment sensor for detecting an environment of the ego vehicle, computer-readable medium, system, and vehicle
DE102018211726A1 (en) Method for automatic machine training of an electronic vehicle guidance system, and motor vehicle
DE102022004038A1 (en) Procedures for optimized rollout of software updates
EP3871052B1 (en) Method for calibrating a technical system
DE102022000849A1 (en) Method for generating an environment representation for a vehicle
DE102021207781A1 (en) Method, control device and system for adapting an assisted or automated driving function of a vehicle
DE102021203057A1 (en) Segment-based driver analysis and individualized driver assistance
DE102018206326B4 (en) Method for expanding a database of a Bayesian network
DE102021202083A1 (en) Computer-implemented method for training at least one algorithm for a control unit of a motor vehicle, computer program product, control unit and motor vehicle
DE102018215017A1 (en) Method for determining an operating strategy for a vehicle, system, control device for a vehicle and a vehicle
DE102019216184A1 (en) Method for the robustification of a neural network against adversarial disturbances
WO2020074559A1 (en) Method and system for providing a friction coefficient to a vehicle
DE102019200828A1 (en) Main object selection for an assistance function or automated driving function of a driver assistance or driving system of a motor vehicle

Legal Events

Date Code Title Description
R012 Request for examination validly filed