DE102015201867A1 - Optimierte Speicherung einer Umfeldkarte im Speicher eines Fahrzeugs - Google Patents

Optimierte Speicherung einer Umfeldkarte im Speicher eines Fahrzeugs Download PDF

Info

Publication number
DE102015201867A1
DE102015201867A1 DE102015201867.9A DE102015201867A DE102015201867A1 DE 102015201867 A1 DE102015201867 A1 DE 102015201867A1 DE 102015201867 A DE102015201867 A DE 102015201867A DE 102015201867 A1 DE102015201867 A1 DE 102015201867A1
Authority
DE
Germany
Prior art keywords
rank
subarea
environment
pointer
memory
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.)
Withdrawn
Application number
DE102015201867.9A
Other languages
English (en)
Inventor
Oliver Kormann
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.)
Bayerische Motoren Werke AG
Original Assignee
Bayerische Motoren Werke 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 Bayerische Motoren Werke AG filed Critical Bayerische Motoren Werke AG
Priority to DE102015201867.9A priority Critical patent/DE102015201867A1/de
Publication of DE102015201867A1 publication Critical patent/DE102015201867A1/de
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT 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
    • B60W40/00Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models
    • B60W40/02Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models related to ambient conditions
    • B60W40/04Traffic conditions
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT 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/00Details 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
    • B60W2050/0001Details of the control system
    • B60W2050/0002Automatic control, details of type of controller or control system architecture
    • B60W2050/0004In digital systems, e.g. discrete-time systems involving sampling
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT 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/00Details 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
    • B60W2050/0001Details of the control system
    • B60W2050/0002Automatic control, details of type of controller or control system architecture
    • B60W2050/0004In digital systems, e.g. discrete-time systems involving sampling
    • B60W2050/0005Processor details or data handling, e.g. memory registers or chip architecture
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT 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/00Details 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
    • B60W2050/0001Details of the control system
    • B60W2050/0002Automatic control, details of type of controller or control system architecture
    • B60W2050/0004In digital systems, e.g. discrete-time systems involving sampling
    • B60W2050/0006Digital architecture hierarchy
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT 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/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W50/06Improving the dynamic response of the control system, e.g. improving the speed of regulation or avoiding hunting or overshoot
    • B60W2050/065Improving the dynamic response of the control system, e.g. improving the speed of regulation or avoiding hunting or overshoot by reducing the computational load on the digital processor of the control computer

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Mathematical Physics (AREA)
  • Transportation (AREA)
  • Mechanical Engineering (AREA)
  • Traffic Control Systems (AREA)

Abstract

Offenbart wird ein Verfahren zum Ablegen einer Umfeldkarte in einem Speicher eines Fahrzeugs, wobei die Umfeldkarte Umfelddaten umfasst, die Sensormessungen des Bereichs des Umfelds repräsentieren, wobei der Bereich in Teilbereiche unterteilt ist; wobei jedem Teilbereich diejenigen Umfelddaten zugewiesen sind, die die Sensormessungen des entsprechenden Teilbereichs repräsentieren; wobei jedem Teilbereich ein erster Rang in einer ersten Ordnung und ein zweiter Rang in einer zweiten Ordnung zugewiesen wird; wobei die Zuweisung auf der geometrischen Anordnung der Teilbereiche innerhalb des Bereichs basiert; wobei der Umfeldkarte eine Liste von Zeigern auf jeweils einen zweiten Rang zugewiesen ist, wobei jeder Zeiger einem ersten Rang zugewiesen ist; Wobei das Verfahren umfasst: Für einen ausgewählten Teilbereich; wobei die Umfelddaten des ausgewählten Teilbereiches ein vorgegebenes Kriterium erfüllen, wobei der erste und zweite Rang des ausgewählten Teilbereiches als ausgewählter erster beziehungsweise zweiter Rang bezeichnet werden: Speichern des zweiten Ranges, auf den der Zeiger der Liste für den ausgewählten ersten Rang verweist, in Verbindung mit den Umfelddaten des ausgewählten Teilbereiches; Setzen des Zeigers der Liste für den ausgewählten ersten Rang auf den ausgewählten zweiten Rang.

Description

  • Die Erfindung betrifft ein Verfahren zum Ablegen einer Umfeldkarte in einem Speicher eines Fahrzeugs sowie eine entsprechend eingerichtete elektronische Recheneinheit.
  • Für viele zukünftige Fahrfunktionen und Fahrerassistenzsysteme eines Fahrzeugs, insbesondere das automatisierte Fahren, Einparkassistent, etc, ist die Erfassung des Umfeldes des Fahrzeugs unerlässlich. Insbesondere muss meist festgestellt werden, welche Teilbereiche des Umfeldes nicht durch Hindernisse blockiert sind und damit uneingeschränkt befahrbar sind. Die Umfelderfassung wird dabei mit verschiedenen Sensorsystemen wie Kameraverbünde, Radar, Lidar und Ultraschallsensoren, ausgeführt. Zur Modellierung des Umfelds eines Fahrzeugs für verschiedene Kamera- bzw. generell sensorbasierte Fahrerassistenzsysteme (z.B. Einparkassistent), wird typischerweise eine Umfeldkarte, häufig auch als Grid bezeichnet, als Modell verwendet.
  • Eine Umfeldkarte umfasst Umfelddaten, die aus der Verarbeitung von Sensormessungen des Umfeldes resultieren und diese repräsentieren. Die Umfelddaten werden dabei meist nach Teilbereichen (manchmal auch Zelle genannt) des Umfeldes geordnet. Jedem Teilbereich werden diejenigen Umfelddaten zugeordnet, die aus Messungen in diesem Teilbereich resultieren. Die Umfelddaten können unterschiedliche Informationstypen je Zelle umfassen, beispielsweise die Belegungswahrscheinlichkeit der jeweiligen Zelle (also die Wahrscheinlichkeit, dass die Zelle von einem Hindernis belegt ist), die Höhe des Hindernisses, der Explorationsgrad der Zelle, etc. Ein Hindernis in einer Zelle bedeutet, dass der Teilbereich des Umfeldes nicht oder nur unter Bedingungen mit dem Fahrzeug befahren werden kann. Insgesamt umfassen Umfeldkarten somit typischerweise mehrere Ebenen mit jeweils unterschiedlichen Informationstypen.
  • Die Teilbereiche des Umfeldes können gemäß verschiedenen geometrischen Anordnungen aufgeteilt sein. Beispielsweise können die Teilbereiche in einer regelmäßigen Gitterstruktur aufgeteilt sein mit Zeilen und Spalten (im Sinne einer Aufteilung nach kartesischen Koordinaten), die Teilbereiche können allerdings auch einer radialen Aufteilung nach Entfernung vom Ursprung und Winkelbereich folgen (im Sinne einer Aufteilung nach Polarkoordinaten). Die Anordnung gestattet allerdings den Teilbereichen jeweils einen Rang in zwei Ordnungen zuzuweisen. In einer Gitterstruktur kann dies die Zeilennummer und die Spaltennummer sein. In einer radialen Anordnung kann dies die (beispielsweise aufsteigend bestimmte) Nummer des Entfernungsbereichs vom Ursprung und die (beispielsweise aufsteigend bestimmte) Nummer der Winkelbereich sein.
  • Die Umfeldkarte wird in typischen echtzeitfähigen Implementierungen in embedded systemen für Fahrzeuge in einem linear angeordneten Speicher (Bitmap) abgelegt. Dabei wird jeder Zelle einer Umfeldkarte ein statischer Speicherbereich zugewiesen. Die benachbarten Zellen einer Zeile der Umfeldkarte liegen dabei auch in benachbarten Speicherzellen. Diese Ebenen können auf zwei Weisen codiert werden: Für jede Ebene wird ein eigener linearer Speicherbereich verwendet, oder die Ebenen liegen Zellenweise verschränkt im gleichen Speicherbereich.
  • Zur Verarbeitung der Karte wird der Speicherbereich üblicherweise vollständig traversiert, also die abgelegten Umfelddaten jeder Zelle bearbeitet, wodurch auch informationslose Zellen bzw. Zellen, deren Umfelddaten nicht auf ein Hindernis hindeuten, adressiert werden. In einer typischen Umfeldszene, also einem typischen Umfeld eines Fahrzeugs, ist die Umfeldkarte üblicherweise relativ dünn besetzt, umfasst also vergleichsweise wenig Zellen, deren Umfelddaten auf ein Hindernis hindeuten, beispielsweise weniger als 30%, 25%, 20%, 15%, 10% oder 5% der Zellen. Deshalb führt die vollständige Traversierung einer Karte zu einem eigentlich unnötigen und erheblichen Mehraufwand an Rechenleistung. Auf heutigen Desktop-Rechnern mit kostengünstigen Vergleichsoperatoren, ist dieser Mehraufwand in zeitlicher Hinsicht vernachlässigbar und die Echtzeitfähigkeit ist sichergestellt. Auf handelsüblichen Automotive- bzw. generell Embedded-Prozessoren, insbesondere mit nur seriellen Rechenkapazitäten, single core, können diese zusätzlichen Vergleiche allerdings die Laufzeit negativ beeinträchtigen. Diese Prozessoren sind gegebenenfalls nicht in der Lage, eine für die Anwendung zur Fahrtsteuerung unerlässliche Echtzeitfähigkeit zu erreichen.
  • Es ist deshalb eine Aufgabe der vorliegenden Erfindung, die Speicherung einer Umfeldkarte in einem Speicher eines Fahrzeugs derart zu optimieren, dass unnötiger Rechenaufwand vermieden wird.
  • Die Aufgabe wird durch ein Verfahren und eine elektronische Recheneinheit gemäß den unabhängigen Ansprüchen gelöst. Vorteilhafte Weiterbildungen sind in den abhängigen Ansprüchen definiert.
  • Ein erster Aspekt der Erfindung betrifft ein Verfahren zum Ablegen einer Umfeldkarte in einem Speicher eines Fahrzeugs, wobei die Umfeldkarte Umfelddaten umfasst, die Sensormessungen des Bereichs des Umfelds repräsentieren, wobei der Bereich in Teilbereiche unterteilt ist; wobei jedem Teilbereich diejenigen Umfelddaten zugewiesen sind, die die Sensormessungen des entsprechenden Teilbereichs repräsentieren; wobei jedem Teilbereich ein erster Rang in einer ersten Ordnung und ein zweiter Rang in einer zweiten Ordnung zugewiesen wird; wobei die Zuweisung auf der geometrischen Anordnung der Teilbereiche innerhalb des Bereichs basiert; wobei der Umfeldkarte eine Liste von Zeigern auf jeweils einen zweiten Rang zugewiesen ist, wobei jeder Zeiger einem (jeweils anderen) ersten Rang zugewiesen ist; Wobei das Verfahren umfasst: Für einen ausgewählten Teilbereich; wobei die Umfelddaten des ausgewählten Teilbereiches ein vorgegebenes Kriterium erfüllen, wobei der erste und zweite Rang des ausgewählten Teilbereiches als ausgewählter erster beziehungsweise zweiter Rang bezeichnet werden: Speichern des zweiten Ranges, auf den der Zeiger der Liste für den ausgewählten ersten Rang verweist, in Verbindung mit den Umfelddaten des ausgewählten Teilbereiches; Setzen des Zeigers der Liste für den ausgewählten ersten Rang auf den ausgewählten zweiten Rang. Typischerweise betrifft das Kriterium die Belegtheit eines Teilbereiches durch ein Hindernis, so dass das Fahrzeug den Teilbereich nicht oder nur unter Einschränkungen befahren kann. Aus diesem Grund wird ein Teilbereich, dessen Umfelddaten das Kriterium erfüllen hierin auch belegter Teilbereich genannt. Typischerweise wird das Verfahren für jede neue Feststellung einer Belegung eines Teilbereiches basierend auf neuen Sensordaten erneut ausgeführt. Mit anderen Worten: Die für den ausgewählten Teilbereich beschriebenen Schritte werden für jede (er)neute Feststellung einer Belegung eines Teilbereichs wiederholt. Jeder belegte Teilbereich wird somit in einem Durchlauf der ausgewählte Teilbereich.
  • Hierin wird also vorgeschlagen, nicht nur die Umfelddaten bezüglich eines Teilbereiches im Speicher abzulegen, sondern für belegte Teilbereiche auch die Information, eines Verweises (auch Zeiger genannt) auf einen oder zwei weitere belegte Teilbereiche. Die belegten Teilbereiche werden somit verkettet. Falls kein nachfolgender belegter Teilbereich vorhanden ist, wird ein entsprechender Hinweis oder kein Eintrag gespeichert. Mit anderen Worten: Die verkettete Liste wird aufgebaut, indem beim Zugriff auf eine neu zu belegende und (mit einem Hindernis) belegte Zelle jeweils die Umfelddaten (sensorische Information) sowie typischerweise zwei Verweise jeweils auf eine in der Verkettung vorgehende und nachfolgende Zelle. Der Aufbau der Verweisung wird durch Einfügungen ermöglicht, ohne eine Zeile (Teilbereiche gleichen ersten Ranges) zumindest teilweise traversieren zu müssen. Im Endeffekt ist die Verkettung dann unsortiert, was im Zugriff bzw. in der Auswertung aufgrund einer Speicherung meist im RAM oder Cache keine bzw. kaum Leistungseinbußen mit sich bringt. Die Verwendung einer unsortierten Verkettung birgt gegenüber einer sortieren Verkettung (Verweise jeweils nur auf die nächstliegenden belegten Zellen in einer Zeile) bei Einfügungen bzw. Aktualisierungen der Umfeldkarte eine Verringerung des Rechenaufwandes, weil kein Durchsuchen der Zeilen nach den nächsten belegten Nachbarn des ausgewählten Teilbereiches erfolgen muss.
  • Auf diese Weise wird es ermöglicht, dass die Umfeldkarte bei der Auswertung für Fahrerassistenzsysteme nicht vollständig traversiert werden muss, sondern bei der Auswertung von belegten Teilbereichen zu belegten Teilbereichen gesprungen werden kann. Die Bearbeitung von unbelegten Zellen wird vermieden und die entsprechende Rechenzeit insbesondere bei embedded systemen eingespart. Dies ermöglicht häufig erst den Einsatz derzeit handelsüblicher automotive Recheneinheiten als echtzeitfähige Systeme.
  • Die durch die Ausführung des Verfahrens entstehende Datenstruktur, erlaubt die für Embedded Systeme übliche statische Allokation von Speicher mit minimalem zusätzlichem Speicherbedarf (ein oder zwei Verweise pro Zelle). Sowohl die Umfeldkarte als auch die verkettete Liste, haben dabei eine (zur Übersetzungszeit) festgelegte maximale Speichergröße, da es sich bei der aus dem Verfahren vorgeschlagenen Datenstruktur um eine implizite Verschränkung zweier Datenstrukturen Umfeldkarte (bzw. Grid) und der verketteten Liste im gleichen Speicherbereich handelt.
  • In einer Implementierung der Erfindung wird für alle oder einen Großteil der Teilbereiche die Erfüllung des Kriteriums bestimmt, also die Belegung des jeweiligen Teilbereiches ermittelt. Anhand des Anteils der belegten Teilbereiche zur Gesamtheit der Teilbereiche können Fahrerassistenzsysteme (und/oder vorgelagerte Interpretationen des Umfeldes) unterschiedliche Auswertungen vornehmen, die sich in ihrem Rechenaufwand je belegtem Teilbereich unterscheiden (unter der Annahme, dass für unbelegte Teilbereiche kein oder ein im Vergleich zu einem belegten Teilbereich geringerer Rechenaufwand anfällt). Je weniger Teilbereiche belegt sind, desto rechenintensiver kann die Auswertung pro belegtem Teilbereich sein. Beispielsweise können sich die Auswertungen in der Berücksichtigung der verschiedenen Informationstypen oder Quantisierung der Informationen unterscheiden.
  • Vorteilhafterweise umfasst das Verfahren ferner: Vor dem Setzen des Zeigers: Speichern des ausgewählten zweiten Ranges in Verbindung mit den Umfelddaten des Teilbereiches mit ausgewähltem ersten Rang und zweiten Rang, auf den der Zeiger verweist. Hierin wird also auch eine Verkettung zum Vorgänger explizt definiert. Es entsteht die zweifach verkettete Liste. Mit anderen Worten: Die Implementierung sieht vor, die Zellstruktur einer Umfeldkarte (bzw. eines Grids) nebst dem sensorischen Inhalt (den Umfelddaten) um weitere Information (NEXT/PREV bzw. nachfolgender Teilbereich/vorangehender Teilbereich) zu ergänzen, sodass eine zweifach verkettete Liste über alle belegten Grid-Zellen dargestellt werden kann. In jeder belegten Zelle wird somit auf die jeweils vorangehenden und nachfolgenden belegten Zellen verwiesen. Damit kann das Grid traversiert werden, indem man der verketteten Liste über die belegten Zellen folgt. Der Speicherbedarf pro Teilbereich erhöht sich um zwei Zeiger, die Gesamtgröße des Speicherbedarfs bleibt weiterhin festgelegt.
  • Jedem Teilbereich ist typischerweise ein Speicherbereich im Speicher des Fahrzeugs zugewiesen ist, der darauf ausgelegt ist sowohl die jeweiligen entsprechenden Umfelddaten, als auch den zweiten Rang des nachfolgenden und/oder vorangehenden Teilbereichs zu speichern. Zur Laufzeit des entsprechenden Programms kann somit einzelnen Speicherbereichen fest eine entsprechende Zelle und deren Umfelddaten zugewiesen werden. Weiterhin umfasst der jeweilige Speicherbereich auch Speicherkapazität für die Zeiger zum belegten vorangehenden Teilbereich als auch zum belegten nachfolgenden Teilbereich. Dies ermöglicht die bei embedded Systemen übliche Aufteilung des Speicherbereiches.
  • Das vorgegebene Kriterium betrifft insbesondere die Bestimmung, dass die Umfelddaten des entsprechenden Teilbereichs darauf hindeuten, dass der Teilbereich nicht oder nur unter Bedingungen mit dem Fahrzeug befahren werden kann. Dabei können die verschiedenen Informationstypen der Umfelddaten kombiniert ausgewertet werden.
  • Ein anderer Aspekt der Erfindung betrifft eine elektronische Recheneinheit mit Speicher (beispielsweise ein embedded system für den Einsatz im Fahrzeug oder allgemeiner einen Computer), die dazu eingerichtet ist, eines der vorstehend erläuterten Verfahren auszuführen.
  • KURZE BESCHREIBUNG DER ZEICHNUNG
  • 1 zeigt eine Datenstruktur, wie sie durch die Anwendung eines Verfahrens gemäß einem Ausführungsbeispiel entsteht.
  • DETAILLIERTE BESCHREIBUNG DES AUSFÜHRUNGSBEISPIELS
  • 1 zeigt eine Datenstruktur, wie sie durch die Anwendung eines Verfahrens gemäß einem Ausführungsbeispiel entsteht. Symbolisch wird die resultierende Datenstruktur 1 einer Umfeldkarte in einer Gitterstruktur 2 im Speicher eines Fahrzeugs dargestellt. Die Gitterstruktur 2 spiegelt die kartesische Aufteilung der Teilbereiche des Umfeldes wider. Die Gitterstruktur 2 umfasst Zeilen in „horizontaler“-Richtung (x-Richtung) und Spalten in „vertikaler“-Richtung (y-Richtung). Jeder Gitterzelle ist ein Speicherbereich im Speicher eines Fahrzeugs (nicht dargestellt) zugeordnet. Jeder Speicherbereich weist eine Kapazität für die entsprechenden Umfelddaten (symbolischer Abschnitt 4, hier ein Speicherbereich für die Belegungswahrscheinlichkeit p) und zwei Zeiger (symbolische Abschnitte 5 und 6) auf und ist entsprechend gegliedert. Der Zeiger 6 dient zum Verweis auf einen vorhergehenden Speicherbereich und der Zeiger 5 dient zum Verweis auf einen nachfolgenden Speicherbereich in der Verkettung. Die Verweise sind in 1 symbolisch durch Pfeile dargestellt. Im Betrieb wird den Teilbereichen des Umfeldes statisch ein Speicherbereich zugewiesen. Ferner umfasst die Datenstruktur 1 eine Liste an Zeigern 3, die jeweils einen Verweis auf eine Spalte speichern können.
  • Beim Betrieb des Fahrzeuges führt eine elektronische Recheneinrichtung mit dem Speicher eine regelmäßige Verarbeitung von Sensordaten von Radar- und Kameravorrichtungen durch. Verfahren hierzu sind im Stand der Technik bekannt. Dabei werden die Sensordaten aufbereitet um die Umfelddaten zu erhalten (umfassend wiederum die Informationstypen Belegungswahrscheinlichkeit und Höhe des Hindernisses). Die Umfelddaten eines Teilbereiches werden dann in den dem Teilbereich zugeordneten Speicherbereich in Abschnitt 4 geschrieben.
  • Vor dem Schreiben der Umfelddaten überprüft die Recheneinrichtung, ob der Teilbereich des Umfeldes als belegt gilt (also das vorbestimmte Kriterium erfüllt). Dazu wird die Belegungswahrscheinlichkeit p der zu schreibenden Umfelddaten ausgewertet. Verfahren hierzu sind im Stand der Technik bekannt. Im einfachsten Fall wird die Zelle als belegt angenommen, wen die Belegungswahrscheinlichkeit größer 50% ist. Durch Hindernisse belegte Zellen sind in 1 schwarz markiert. Gegebenenfalls kann vorgesehen sein, die Belegung einer Zelle als explizites Speicherdatum in den Speicherbereich zu schreiben.
  • Im Betrieb empfängt die Recheneinrichtung kontinuierlich Sensordaten für die verschiedenen Teilbereiche des Umfeldes und wertet diese aus. Sofern ein Teilbereich als belegt gilt, wird der entsprechende Speicherbereich beschrieben. In 1 empfängt die Recheneinrichtung beispielhaft zu den Zeitpunkten t1, t2 und t3 Sensordaten von belegten Zellen und schreibt diese in die Datenstruktur. Zusätzlich werden auch die Informationen zur Verkettung, also die Zeiger in den Zellen und der Zeiger der Liste 3, geschrieben.
  • Im Zeitpunkt t1 werden Sensordaten für den Teilbereich in Spalte 5 und Zeile 1 empfangen, die auf eine Belegung hindeuten (p > 0,5). Diese Sensordaten zeigen die erste Belegung in Zeile 5 an. Die Sensordaten werden in den entsprechenden Speicherbereich geschrieben. Die Zeiger 5 und 6 der Zelle werden mit Nullwerten belegt, weil bisher in der Zeile 5 noch keine anderen belegten Zellen vorhanden sind. Dies kann anhand des Nullwertes des der Zeile zugordneten Zeigers bis zum Zeitpunkt t1 ermittelt werden. Dieser Zeiger wird nun auf den (Spalten)Rang 5 der belegten geschriebenen Zelle gesetzt.
  • Zum Zeitpunkt t2 werden Sensordaten für den Teilbereich in Spalte 7 und Zeile 1 empfangen, die auf eine Belegung hindeuten. Die Sensordaten werden zusammen mit einem Verweis auf den zweiten Rang (Spaltennummer) der zuletzt beschriebenen belegten Zelle abgelegt (hier Spaltennummer 5). Die Information über die zuletzt beschriebene belegte Zelle wird dem entsprechenden Zeiger der Liste 3 entnommen. Der Zeiger der Liste 3 wird auf den zweiten Rang (die Spaltenummer 7) der neu beschriebenen Zelle gesetzt. Darüber hinaus wird in der zuletzt beschriebenen Zelle (in Spalte 5) ein Zeiger auf die neu geschriebene Zelle (in Spalte 7 gesetzt. Auf diese Weise entsteht eine Verkettung von belegten Zellen in Zeile 1, deren Beginn durch den Zeiger der Liste 3 angezeigt wird. Jede Zelle verweist auf die zuletzt vor ihr beschriebene Zelle und auf die, falls vorhanden, nach ihr geschriebene Zelle. Das Ende der Verweisungskette wird durch den Nullzeiger angezeigt. Auf diese Weise entsteht eine unsortierte zweifache Verkettung für belegten Zellen mit gleichem erstem Rang bzw. in derselben Zeile. Die Verkettung folgt der zeitlichen Abfolge des Schreibens einer belegten Zelle.
  • Zum Zeitpunkt t3 werden Sensordaten für den Teilbereich in Spalte 2 und Zeile 1 empfangen, die auf eine Belegung hindeuten. Die Sensordaten werden zusammen mit einem Verweis auf die zuletzt beschriebene Zelle abgelegt. Die Information über die zuletzt beschriebene belegte Zelle wird dem entsprechenden Zeiger der Liste 3 entnommen. Der Zeiger der Liste 3 wird auf den zweiten Rang (die Spaltenummer 2) der neu beschriebenen Zelle gesetzt. Darüber hinaus wird in der zuletzt beschriebenen Zelle (in Spalte 7) ein Zeiger auf die neu geschriebene Zelle (in Spalte 2) gesetzt. Auf diese Weise entsteht eine Verkettung der belegten Zellen in Zeile 1, deren Beginn durch den Zeiger der Liste 3 angezeigt wird. Jede Zelle verweist auf die zuletzt vor ihr beschriebene Zelle. Darüber hinaus verweisen die „mittleren“ Zellen auf die jeweils nach ihr beschriebenen Zellen.

Claims (5)

  1. Verfahren zum Ablegen einer Umfeldkarte in einem Speicher eines Fahrzeugs, wobei die Umfeldkarte Umfelddaten umfasst, die Sensormessungen des Bereichs des Umfelds repräsentieren, wobei der Bereich in Teilbereiche unterteilt ist; wobei jedem Teilbereich diejenigen Umfelddaten zugewiesen sind, die die Sensormessungen des entsprechenden Teilbereichs repräsentieren; wobei jedem Teilbereich ein erster Rang in einer ersten Ordnung und ein zweiter Rang in einer zweiten Ordnung zugewiesen wird; wobei die Zuweisung auf der geometrischen Anordnung der Teilbereiche innerhalb des Bereichs basiert; wobei der Umfeldkarte eine Liste von Zeigern auf jeweils einen zweiten Rang zugewiesen ist, wobei jeder Zeiger einem ersten Rang zugewiesen ist; Wobei das Verfahren umfasst: Für einen ausgewählten Teilbereich; wobei die Umfelddaten des ausgewählten Teilbereiches ein vorgegebenes Kriterium erfüllen, wobei der erste und zweite Rang des ausgewählten Teilbereiches als ausgewählter erster beziehungsweise zweiter Rang bezeichnet werden: Speichern des zweiten Ranges, auf den der Zeiger der Liste für den ausgewählten ersten Rang verweist, in Verbindung mit den Umfelddaten des ausgewählten Teilbereiches; Setzen des Zeigers der Liste für den ausgewählten ersten Rang auf den ausgewählten zweiten Rang.
  2. Verfahren nach Anspruch 1, ferner umfassend: Vor dem Setzen des Zeigers: Speichern des ausgewählten zweiten Ranges in Verbindung mit den Umfelddaten des Teilbereiches mit ausgewähltem ersten Rang und zweiten Rang, auf den der Zeiger verweist.
  3. Verfahren nach einem der vorhergehenden Ansprüche, wobei jedem Teilbereich ein Speicherbereich im Speicher des Fahrzeugs zugewiesen ist, der darauf ausgelegt ist sowohl die jeweiligen entsprechenden Umfelddaten, als auch einen oder zwei zweite Ränge zu speichern.
  4. Verfahren nach einem der vorhergehenden Ansprüche, wobei das vorgegebene Kriterium die Bestimmung betrifft, dass die Umfelddaten des entsprechenden Teilbereichs darauf hindeuten, dass der Teilbereich nicht oder nur unter Bedingungen mit dem Fahrzeug befahren werden kann.
  5. Elektronische Recheneinheit mit Speicher, die dazu eingerichtet ist, ein Verfahren nach einem der vorhergehenden Ansprüche auszuführen.
DE102015201867.9A 2015-02-03 2015-02-03 Optimierte Speicherung einer Umfeldkarte im Speicher eines Fahrzeugs Withdrawn DE102015201867A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102015201867.9A DE102015201867A1 (de) 2015-02-03 2015-02-03 Optimierte Speicherung einer Umfeldkarte im Speicher eines Fahrzeugs

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102015201867.9A DE102015201867A1 (de) 2015-02-03 2015-02-03 Optimierte Speicherung einer Umfeldkarte im Speicher eines Fahrzeugs

Publications (1)

Publication Number Publication Date
DE102015201867A1 true DE102015201867A1 (de) 2016-08-04

Family

ID=56410402

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102015201867.9A Withdrawn DE102015201867A1 (de) 2015-02-03 2015-02-03 Optimierte Speicherung einer Umfeldkarte im Speicher eines Fahrzeugs

Country Status (1)

Country Link
DE (1) DE102015201867A1 (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102019203274B3 (de) 2019-03-11 2020-07-09 Zf Friedrichshafen Ag Computerimplementiertes Verfahren zum Erstellen eines Umfeldmodells für ein automatisiert betreibbares Fahrzeug, Steuergerät und Computerprogrammprodukt zur automatisierten Steuerung eines Fahrzeuges und Steuerungssystem für ein Fahrzeug
DE102020201000B3 (de) 2020-01-28 2021-07-29 Zf Friedrichshafen Ag Computerimplementiertes Verfahren und System zum Erhalten eines Umfeldmodells und Steuergerät für ein automatisiert betreibbares Fahrzeug

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140278049A1 (en) * 2011-10-28 2014-09-18 Conti Temic Microelectronic Gmbh Grid-Based Environmental Model for a Vehicle

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140278049A1 (en) * 2011-10-28 2014-09-18 Conti Temic Microelectronic Gmbh Grid-Based Environmental Model for a Vehicle

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Gunawardena, Ananda: CS 15-123: Effective programming in C and UNIX - Lecture 11: Doubly linked lists & array of linked lists. 2009. URL: http://www.cs.cmu.edu/~guna/15-123S11/Lectures/Lecture11.pdf [abgerufen am 27.11.15] *
Gunawardena, Ananda: CS 15-123: Effective programming in C and UNIX – Lecture 11: Doubly linked lists & array of linked lists. 2009. URL: http://www.cs.cmu.edu/~guna/15-123S11/Lectures/Lecture11.pdf [abgerufen am 27.11.15]
MATUSZEK, David; Penn Engineering - University of Pennsylvania: Sparse Arrays - CIT 594 Programming Languages & Techniques II,. 08.04.2004. URL: http://www.cis.upenn.edu/~matuszek/cit594-2004/Lectures/45-sparse-arrays.ppt [abgerufen am 30.11.2015]. Bibliographieinformationen ermittelt über: http://www.cis.upenn.edu/~matuszek/cit594-2004/index.html [abgerufen am 01.12.2015]. *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102019203274B3 (de) 2019-03-11 2020-07-09 Zf Friedrichshafen Ag Computerimplementiertes Verfahren zum Erstellen eines Umfeldmodells für ein automatisiert betreibbares Fahrzeug, Steuergerät und Computerprogrammprodukt zur automatisierten Steuerung eines Fahrzeuges und Steuerungssystem für ein Fahrzeug
DE102020201000B3 (de) 2020-01-28 2021-07-29 Zf Friedrichshafen Ag Computerimplementiertes Verfahren und System zum Erhalten eines Umfeldmodells und Steuergerät für ein automatisiert betreibbares Fahrzeug

Similar Documents

Publication Publication Date Title
EP2641061B1 (de) Verfahren zur automatischen ermittlung einer begrenzung einer teilfläche einer gesamtfläche
DE112007003602T5 (de) Backup-Reihen-Zuordnungsvorrichtung, Speicher-Reparaturvorrichtung, Backup-Reihen-Zuordnungsverfahren, Speicher-Herstellungsverfahren und Programm
EP3142913B1 (de) Umfeldkarte für fahrflächen mit beliebigem höhenverlauf
EP0995637A1 (de) Einrichtung zur Speicherung von Daten in einem Kraftfahrzeug
DE102015201706A1 (de) Verarbeitung von Sensormessungen eines Fahrzeugumfeldes bei geringer Querauflösung
DE112020004922T5 (de) Speicherungsvorrichtung mit erhöhter beständigkeit
EP3289578B1 (de) Analyse der belegung von grid-basierten umfeldkarten eines fahrzeugs
DE102019102861A1 (de) Verfahren und Vorrichtung zur Abschätzung der Abnutzung eines nicht-flüchtigen Informationsspeichers
DE102012214307A1 (de) Verfahren und Vorrichtung zum Modellieren eines Umfelds
DE102018213515A1 (de) Verfahren und Vorrichtung zum Erfassen einer Grenze in einem Umfeld eines Objekts
DE102013201935A1 (de) Verfahren und Vorrichtung zum Ermitteln von kollisionsfreien Pfaden
DE102015201867A1 (de) Optimierte Speicherung einer Umfeldkarte im Speicher eines Fahrzeugs
DE102015201868A1 (de) Optimierte Speicherung einer Umfeldkarte im Speicher eines Fahrzeugs
DE102018215949A1 (de) Verfahren zur Trajektorienplanung eines beweglichen Objektes
DE102023121561A1 (de) Lenkungssteuergerät und verfahren zur lenkungssteuerung
EP2924522B1 (de) Verfahren zur Beeinflussung eines Steuerprogramms
DE102018122115A1 (de) Verfahren zur Umgebungserfassung eines Fahrzeugs
DE102006059626A1 (de) Verfahren zum Auslesen von Daten aus einem Speichermedium
DE102019001450A1 (de) Verfahren zur Bereitstellung von Daten zur Lokalisierung eines Fahrzeugs
DE102018123563B4 (de) Verfahren zur Zwischenkernkommunikation in einem Mehrkernprozessor
DE102016121947B4 (de) Optimiertes Speicherlayout durch Data Mining
DE102022202335A1 (de) Computerimplementiertes verfahren zur speicheroptimierung eines partitionierten systems
DE102019008662A1 (de) Verfahren zur parallelen und/oder inkrementellen Geolokalisierung von Grundursachen von durch ein Fahrzeug erfassten Ereignissen
DE102023131790A1 (de) Bildverarbeitungsvorrichtung und bildverarbeitungsverfahren
DE102022003674A1 (de) Verfahren zum statischen Allozieren von lnformationen zu Speicherbereichen, informationstechnisches System und Fahrzeug

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R163 Identified publications notified
R120 Application withdrawn or ip right abandoned