-
Die vorliegende Offenbarung betrifft ein Fahrzeugkommunikationssystem und genauer ein System und ein Verfahren zum adaptiven Filtern von Fahrzeug-zu-Fahrzeug-Mitteilungen von entfernten Fahrzeugen.
-
Dieser Abschnitt stellt Hintergrundinformationen bezüglich der vorliegenden Offenbarung bereit, die nicht notwendigerweise Stand der Technik ist.
-
Fahrzeug-zu-Fahrzeug-Kommunikationssysteme (V2V, „vehicle-to-vehcile“), Fahrzeug-zu-Infrastruktur-Kommunikationssysteme (V2I, „vehicle-toinfrastructure“), Fahrzeug-zu-Fußgänger-Kommunikationssysteme (V2P, „vehicle-to-pedestrian“) und Fahrzeug-zu-Netzwerkkommunikationssysteme (V2N, „vehicle-to-network“), die gemeinsam als Fahrzeug-zu-Allem-Systeme (V2X, „vehicle-to-everything“) bezeichnet werden, ermöglichen Fahrzeugen, Basissicherheitsmitteilungen (BSMs, „Basic Safety Messages“) durch eine Kommunikation über ein Fahrzeugkommunikationsfunksystem zu umgebenden Fahrzeugen in der Umgebung zu übertragen. Das Fahrzeugkommunikationsfunksystem kann zum Beispiel einen Funk bzw. eine Funkeinrichtung für dedizierte Nahbereichskommunikationen (DSRC, „Dedicated Short Range Communications“), einen Funk bzw. eine Funkeinrichtung für zellenbasiertes V2X (C-V2X) oder irgendein anderes geeignetes Kommunikationssystem umfassen, das einem Fahrzeug ermöglicht, BSMs zu übertragen und zu empfangen. Als weiteres Beispiel werden in Fahrzeugkommunikationsfunksystemen, die DSRC-Systeme verwenden, Mitteilungen unter Verwendung von 5.9 GHz DSRC-Kommunikationen gesendet und empfangen, die über eine DSRC-Antenne für 5.9 GHz gesendet werden. Als ein weiteres Beispiel werden in Fahrzeugkommunikationsfunksystemen, die C-V2X-Systeme verwenden, Mitteilungen unter Verwendung von 5G C-V2X-Kommunikationen, die über eine zellenbasierte Antenne gesendet werden, gesendet und empfangen. Das SAE-Dokument mit dem Titel „On-Board System Requirements for V2V Safety Communications“ (J2945/1) stellt einen Standard bereit, mit Regeln, die verwendet werden, um BSMs von Fahrzeugkommunikationsfunksystemen zu empfangen und an diese zu übertragen.
-
In bestimmten Situationen, wie etwa einer überlasteten Schnellstraße in einem städtischen Ballungsgebiet, kann ein V2X-System eines bestimmten Bezugsfahrzeugs (HV, „Host Vehicle“) eine große Anzahl von BSMs von einer großen Anzahl von entfernten Fahrzeugen (RVs, „Remote Vehicles“) in der Umgebung des HV empfangen. Zum Beispiel kann das HV BSMs von 200 oder mehr RVs innerhalb eines Bereichs von 300 Metern empfangen. Während es für das V2X-System des HV möglich sein könnte, jede RV-Mitteilung kurz zu inspizieren, könnte das V2X-System des HV nicht die Berechnungsressourcen aufweisen, um alle BSMs, die von allen RVs innerhalb der Umgebung des HV empfangen werden, vollständig zu verarbeiten. Zum Beispiel ist es nicht üblich, dass die Verarbeitungsressourcen, die erforderlich sind, um eine Dekodierung gemäß „Abstract Syntax Notation 1“ (ASN.1) vollständig durchzuführen und eine detaillierte Klassifikation für alle BSMs, die von 200 oder mehr RVs innerhalb eines Bereichs von 300 Metern empfangen werden, durchzuführen, in traditionellen kostengünstigen V2X-Systemen vorhanden sind. Zusätzlich könnten manche der BSMs und in manchen Fällen ein Großteil der BSMs von den RVs durch die sicherheitskritischen Anwendungen eines Bezugsfahrzeugs als unkritisch unberücksichtigt bleiben, da nur ein kleiner Teil der BSMs, der durch das HV empfangen wird, eine Gefahr oder eine Situation angeben könnte, der/die eine gewisse Aktion durch das HV erfordert.
-
Dieser Abschnitt stellt eine allgemeine Kurzfassung der Offenbarung bereit, und ist keine umfassende Offenbarung bezüglich ihres vollständigen Umfangs oder aller ihrer Merkmale.
-
Ein Kommunikationssystem für ein Fahrzeug ist bereitgestellt und umfasst einen Speicher, der eine Warteschlange mit hoher Priorität bzw. eine Hochprioritätswarteschlange und eine Warteschlange mit niedriger Priorität bzw. eine Niedrigprioritätswarteschlange speichert, wobei die Hochprioritätswarteschlange eine Vielzahl von ersten Kommunikationsmitteilungen von einer Vielzahl von ersten entfernten Fahrzeugen in Kommunikation mit dem Fahrzeug speichert, und die Niedrigprioritätswarteschlange eine Vielzahl von zweiten Kommunikationsmitteilungen von einer Vielzahl von zweiten entfernten Fahrzeugen in Kommunikation mit dem Fahrzeug speichert. Das Kommunikationssystem umfasst ebenso eine Steuerung, die dazu konfiguriert ist: eine Kommunikationsmitteilung von einem entfernten Fahrzeug zu empfangen; Filterkriterien auf die Kommunikationsmitteilung von dem entfernten Fahrzeug anzuwenden; die Kommunikationsmitteilung basierend auf dem Anwenden der Filterkriterien in einer der Hochprioritätswarteschlange oder der Niedrigprioritätswarteschlange zu speichern; die Vielzahl von ersten Kommunikationsmitteilungen in der Hochprioritätswarteschlange bei einer ersten Verarbeitungsrate zu verarbeiten und zu dekodieren; und die Vielzahl von zweiten Kommunikationsmitteilungen in der Niedrigprioritätswarteschlange bei einer zweiten Verarbeitungsrate zu verarbeiten und zu dekodieren. Die erste Verarbeitungsrate ist höher als die zweite Verarbeitungsrate.
-
Ein Verfahren ist ebenso bereitgestellt und umfasst ein Empfangen, mit einer Steuerung eines Kommunikationssystems für ein Fahrzeug, einer Kommunikationsmitteilung von einem entfernten Fahrzeug, wobei das Kommunikationssystem einen Speicher umfasst, der eine Hochprioritätswarteschlange und eine Niedrigprioritätswarteschlange speichert, wobei die Hochprioritätswarteschlange eine Vielzahl von ersten Kommunikationsmitteilungen von einer Vielzahl von ersten entfernten Fahrzeugen in Kommunikation mit dem Fahrzeug speichert, und die Niedrigprioritätswarteschlange eine Vielzahl von zweiten Kommunikationsmitteilungen von einer Vielzahl von zweiten entfernten Fahrzeugen in Kommunikation mit dem Fahrzeug speichert. Das Verfahren umfasst ebenso ein Anwenden, mit der Steuerung, von Filterkriterien auf die Kommunikationsmitteilung von dem entfernten Fahrzeug. Das Verfahren umfasst ebenso ein Speichern, mit der Steuerung, der Kommunikationsmitteilung in einer der Hochprioritätswarteschlange oder der Niedrigprioritätswarteschlange basierend auf einem Anwenden der Filterkriterien. Das Verfahren umfasst ebenso ein Verarbeiten und Dekodieren, mit der Steuerung, der Vielzahl von ersten Kommunikationsmitteilungen in der Hochprioritätswarteschlange bei einer ersten Verarbeitungsrate. Das Verfahren umfasst ebenso ein Verarbeiten und Dekodieren, mit der Steuerung, der Vielzahl von zweiten Kommunikationsmitteilungen in der Niedrigprioritätswarteschlange bei einer zweiten Verarbeitungsrate. Die erste Verarbeitungsrate ist höher als die zweite Verarbeitungsrate.
-
Weitere Anwendungsgebiete werden aus der folgenden Beschreibung ersichtlich, die nachstehend bereitgestellt ist. Die Beschreibung und spezifische Beispiele in dieser Kurzfassung sind nur zum Zweck der Darstellung gedacht und nicht dazu gedacht, den Umfang der vorliegenden Offenbarung zu beschränken.
-
Die hierin beschriebenen Zeichnungen dienen nur zu illustrativen Zwecken von ausgewählten Ausführungsbeispielen und nicht von allen möglichen Implementierungen und sind nicht dazu gedacht, den Umfang der vorliegenden Offenbarung zu beschränken.
- 1 ist eine Darstellung eines Fahrzeugs, das ein Fahrzeugkommunikationssystem umfasst.
- 2 ist ein Blockdiagramm eines Fahrzeugkommunikationssystems gemäß den vorliegenden Lehren.
- 3A ist ein Ablaufdiagramm für ein Verfahren des adaptiven Filterns von Fahrzeug-zu-Fahrzeug-Mitteilungen gemäß den vorliegenden Lehren.
- 3B ist ein Ablaufdiagramm für ein Verfahren des adaptiven Filterns von Fahrzeug-zu-Fahrzeug-Mitteilungen gemäß den vorliegenden Lehren.
- 4A ist ein Ablaufdiagramm für ein Verfahren des adaptiven Filterns von Fahrzeug-zu-Fahrzeug-Mitteilungen gemäß den vorliegenden Lehren.
- 4B ist eine Fortsetzung des Ablaufdiagramms von 4A für ein Verfahren des adaptiven Filterns von Fahrzeug-zu-Fahrzeug-Mitteilungen gemäß den vorliegenden Lehren.
- 5 ist eine Darstellung von mehreren Fahrzeugen mit Fahrzeugkommunikationssystemen in einem Beispiel einer urbanen Umgebung.
- 6 ist eine Darstellung eines Begrenzungsrechtecks eines Bezugsfahrzeugs.
-
Entsprechende Bezugszeichen geben entsprechende Teile in den mehreren Ansichten der Zeichnungen an.
-
Beispiele von Ausführungsbeispielen werden nun ausführlicher mit Bezug auf die anhängigen Zeichnungen beschrieben.
-
Wie vorstehend angemerkt kann in bestimmten Situationen, wie etwa einer überfüllten Schnellstraße in einem städtischen Ballungsgebiet, ein V2X-System eines Bezugsfahrzeugs (HV) eine große Anzahl von Basissicherheitsmitteilungen (BSMs) von einer großen Anzahl von entfernten Fahrzeugen (RVs) in der Umgebung des HV empfangen. Zum Beispiel könnte das HV BSMs von 200 oder mehr RVs innerhalb eines Bereichs von 300 Metern empfangen. In dieser Situation könnte das V2X-System des HV nicht die Berechnungsressourcen umfassen, um alle BSMs, die von allen RVs innerhalb der Umgebung des HV empfangen werden, vollständig zu verarbeiten.
-
Traditionell, wenn das V2X-System bestimmt, dass es in einer Verkehrsstausituation ist, kann das V2X-System die Frequenz bzw. Häufigkeit, mit der BSMs übertragen werden, reduzieren. Zum Beispiel kann das V2X-System einen Überlastungsalgorithmus umfassen, der die Frequenz, mit der BSMs gesendet werden, bestimmt, und die Frequenz reduziert, wenn das V2X-System in einer Verkehrsstausituation ist. In einer Nichtverkehrsstausituation zum Beispiel kann das V2X-System 10 BSMs pro Sekunde übertragen, das heißt bei einer Übertragungsfrequenz von 10 Hz. Wenn sich eine Überlastung in der Umgebung des V2X-Kommunikationssystems erhöht, kann der Überlastungsalgorithmus die Frequenz, mit der die BSMs gesendet werden, auf weniger als 10 BSMs pro Sekunde verringern. Zum Beispiel kann der Überlastungsalgorithmus die Frequenz auf 8, 6 oder 4 BSMs pro Sekunde, das heißt eine Übertragungsfrequenz von 8 Hz, 6 Hz oder 4 Hz, oder auf bis zu 3 BSMs pro Sekunde, das heißt eine Übertragungsfrequenz von 3 Hz, verringern. In bestimmten überlasteten Situationen in städtischen Ballungsgebieten kann jedoch auch bei der reduzierten Übertragungsfrequenz das V2X-Kommunikationssystem immer noch zu viele BSMs für das V2X-System empfangen, um diese zu verarbeiten. Mit anderen Worten könnte das V2X-System des HV auch bei der reduzierten Übertragungsfrequenz noch immer nicht die Berechnungsressourcen umfassen, um alle der eingehenden BSMs, die von allen RVs innerhalb der Umgebung des HV empfangen werden, vollständig zu verarbeiten und zu dekodieren. Dieses Problem wird schlimmer, wenn mehr und mehr Fahrzeuge auf der Straße V2X-Kommunikationssysteme verwenden.
-
Um diese Probleme anzugehen, stellt die vorliegende Offenbarung Systeme und Verfahren zum adaptiven Filtern von empfangen BSMs durch die Verwendung von verschiedenen Filterkriterien bereit, um BSMs von RVs in eine Hochprioritätswarteschlange und eine Niedrigprioritätswarteschlange zu sortieren. Die BSMs, die von den RVs in der Hochprioritätswarteschlange empfangen werden, werden vollständig dekodiert und verarbeitet, wenn diese empfangen werden, oder gemäß einer Hochprioritätsverarbeitungszeit. Die Hochprioritätsverarbeitungszeit kann zum Beispiel 100 ms sein, was eine Verarbeitungsrate von zehnmal pro Sekunde oder 10 Hz gemäß der maximalen BSM-Übertragungsrate ergibt, wie es durch das SAE-Dokument mit dem Titel „On-Board System Requirements for V2V Safety Communications“ (J2945/1) eingestellt ist. Die Hochprioritätsverarbeitungszeit kann als RV_Filter_HOCH_Prozess_Zeit_ms bezeichnet werden. Andere Verarbeitungszeiten oder Verarbeitungsraten können verwendet werden. Die BSMs von RVs in der Niedrigprioritätsrate werden andererseits bei einer niedrigeren Rate gesampelt bzw. abgetastet und verarbeitet, um die Zeit und Berechnungsressourcen, die bei einer Verarbeitung von BSMs von RVs in der Niedrigprioritätswarteschlange verbraucht werden, zu begrenzen. Zum Beispiel kann das V2X-Kommunikationssystem eine Verarbeitungsgrenze von nur zum Beispiel einer BSM pro Sekunde von individuellen RVs in der Niedrigprioritätsrate auferlegen, während irgendwelche zusätzlichen BSMs von diesem individuellen RV verworfen werden, bis zu dem nächsten Ein-Sekunden-Zyklus. Mit anderen Worten werden die BSMs, die von den RVs in der Niedrigprioritätswarteschlange empfangen werden, gemäß einer Niedrigprioritätsverarbeitungszeit vollständig dekodiert und verarbeitet, die eine längere Zeitperiode ist, als die Hochprioritätsverarbeitungszeit. Zum Beispiel kann die Niedrigprioritätsverarbeitungszeit gleich 1000 ms sein, was eine Verarbeitungsrate von einmal pro Sekunde oder 1 Hz ergibt. Die Niedrigprioritätsverarbeitungszeit kann als RV_Filter_NIEDRIG_Prozess_Zeit_ms bezeichnet werden. Andere Verarbeitungszeiten oder Verarbeitungsraten können verwendet werden. Auf diese Weise wird das V2X-Kommunikationssystem nur maximal eine BSM pro Sekunde von einem individuellen RV in der Niedrigprioritätswarteschlange vollständig dekodieren und verarbeiten. Das V2X-Kommunikationssystem kann sich dann effizienter und effektiver fokussieren und kann seine Berechnungsressourcen und Zeit zur Verarbeitung von BSMs von den RVs in der Hochprioritätswarteschlange anwenden, wenn diese bei der Rate, die durch den Überlastungsalgorithmus vorgegeben ist, empfangen werden, das heißt 3-10 BSMs pro Sekunde (oder 3-10 Hz). Auf diese Weise wird das V2X-Kommunikationssystem des HV BSMs von einem RV in der Hochprioritätswarteschlange gemäß der Hochprioritätsverarbeitungszeit vollständig dekodieren und verarbeiten, was ermöglichen kann, dass BSMs von einem RV in der Hochprioritätswarteschlange verarbeitet werden, wenn diese bei der Rate, die durch den Überlastungsalgorithmus vorgegeben ist, empfangen werden, das heißt bei einer Rate von 3-10 BSMs pro Sekunde (oder 3-10 Hz), und wird BSMs von einem RV in der Niedrigprioritätswarteschlange bei einer Rate von 1 BSM pro Sekunde (oder 1 Hz) vollständig dekodieren und verarbeiten. Während spezifische Frequenzen und Raten hier als darstellende Beispiele bereitgestellt sind, können alternativ andere Frequenzen und Raten verwendet werden, basierend auf den Hardwareressourcen, die für eine bestimmte Anwendung oder Operationsumgebung gemäß den vorliegenden Lehren verfügbar sind.
-
Gemäß den vorliegenden Lehren werden BSMs von RVs in die Hochprioritätswarteschlange gelegt, bis die Warteschlange voll ist. Sobald eine maximale Anzahl von BSMs von RVs in eine Hochprioritätswarteschlange gelegt wurde, das heißt sobald die Hochprioritätswarteschlange ihre Kapazität erreicht, wenden die Systeme und Verfahren der vorliegenden Offenbarung einen Filter an, um BSMs von RVs wahlweise in entweder die Hochprioritätswarteschlange oder eine Niedrigprioritätswarteschlange zu kategorisieren, basierend auf verschiedenen Filterkriterien. Jedes der Filterkriterien kann unabhängig aktiviert, kalibriert und angepasst werden, um zu den bestimmten Verarbeitungsfähigkeiten des V2X-Systems des HV und bestimmten zugehörigen Anwendungserfordernissen zu passen. Wenn der Filter angewendet wird, wird das V2X-System des HV eine vollständige Dekodierung und Verarbeitung gemäß ASN.1 gemäß der Hochprioritätsprozesszeit für alle BSMs, die von RVs in der Hochprioritätswarteschlange empfangen werden, die erfolgreich die aktivierten Filterkriterien passiert haben, durchführen, und wird eine vollständige Dekodierung und Verarbeitung gemäß ASN.1 für nur manche (zum Beispiel 1 pro Sekunde) der BSMs, die von RVs in der Niedrigprioritätswarteschlange empfangen werden, durchführen. Auf diese Weise ermöglichen der Filter und die Verwendung der verschiedenen Filterkriterien dem V2X-System des HV, nur einen minimalen Betrag von Prozessorressourcen zu verwenden und zu verbrauchen, um zu entscheiden, ob eine bestimmte BSM einer weiteren Dekodierung und Gefahrenklassifikation unterzogen werden sollte, und kann ausreichende Ressourcen zum Dekodieren und Klassifizieren von nur diesen BSMs von RVs zuweisen, die erfolgreich die aktivierten Filterkriterien passiert haben. Dies ergibt eine effizientere Verwendung der Verarbeitungsressourcen des V2X-Systems des HV und vermeidet die Notwendigkeit, dass das V2X-System des HV mit teureren Verarbeitungsressourcen bereitgestellt wird, die ansonsten notwendig wären, um zum Beispiel die große Anzahl von BSMs zu verarbeiten, die durch das V2X-System des HV in bestimmten Situationen empfangen werden, wie etwa einer überlasteten Schnellstraße in einem städtischen Ballungsgebiet.
-
Unter Verwendung von Datenelementen innerhalb der empfangenen BSMs von den RVs extrahiert der Filter der vorliegenden Offenbarung BSM-Parameter und berechnet mehrere lokale Messungen durch direkte Indexierung zu festen Byte-Offsets bzw. Byte-Versätzen in der BSM. Diese direkte Indexierung zu zugehörigen BSM-Datenelementen von Interesse eliminiert die Notwendigkeit, eine vollständige Dekodierung gemäß ASN.1 der BSM in der Filterstufe durchzuführen, wodurch wertvolle Verarbeitungszyklen bezüglich jeder empfangenen BSM eingespart werden. Basierend auf dem momentanen Status der Hoch- und Niedrigprioritätswarteschlangen und dem Ergebnis der RV-Filterkriterien, kann das V2X-System des HV bestimmen, ob die BSM von dem RV in die Hoch- oder Niedrigprioritätswarteschlange zu setzen ist, bevor eine vollständige ANS.1-Dekodierung der BSM durchgeführt wird. Wenn die BSM nicht von einem RV in der Hoch- oder Niedrigprioritätswarteschlange ist, kann das V2X-System bestimmen, ob das übertragende RV für die BSM eines der RVs, die bereits in einer der Warteschlangen sind, verdrängen sollte, basierend auf den Filterkriterien. Wenn die Filterkriterien angeben, dass das neue RV eines der RVs in einer der Warteschlangen nicht verdrängen sollte, kann das V2X-System die BSM einfach ohne weitere Verarbeitung verwerfen.
-
Die Warteschlangen können mit vorbestimmten Größen implementiert werden. Zum Beispiel kann die Hochprioritätswarteschlange eine vorbestimmte Größe aufweisen, sodass diese auf einen Schwellenwert von 20 eindeutigen RVs beschränkt ist. Irgendeine andere Anzahl von RVs kann jedoch alternativ verwendet werden, basierend auf den verfügbaren Systemressourcen des HV, wie etwa der bestimmten Hardware der elektronischen Steuerungseinheit (ECU), der Geschwindigkeit des Prozessors (CPU), des verfügbaren Speichers, usw. Die Größe oder Beschränkung der Hochprioritätswarteschlange kann als RV_Filter_HOCH_Warteschlange_Max bezeichnet werden. Sobald die Hochprioritätswarteschlange ihre volle Kapazität erreicht hat und BSMs von zusätzlichen RVs empfangen werden, kann der Filter beginnen, BSMs von RVs in der Hochprioritätswarteschlange zu eliminieren, basierend auf der Entfernung von dem sendenden RV zu dem HV. Zum Beispiel beginnt der Filter durch Eliminieren eines BSM von einem RV in der Hochprioritätswarteschlange mit einer größten zugehörigen Entfernung zu dem HV. Irgendwelche RVs, die von der Hochprioritätswarteschlange eliminiert werden, können zu der Niedrigprioritätswarteschlange überführt werden, vorausgesetzt, dass BSMs von diesen RVs die anwendbaren Filterkriterien passieren, was später detaillierter beschrieben wird. Ähnlich zu der Hochprioritätswarteschlange kann die Niedrigprioritätswarteschlange eine vorbestimmte Größe aufweisen, sodass diese auf einen Schwellenwert von 20 eindeutigen RVs beschränkt ist. Irgendeine andere Anzahl von RVs kann jedoch alternativ verwendet werden, basierend auf den verfügbaren Systemressourcen des HV, wie etwa der bestimmten Hardware der elektronischen Steuerungseinheit (ECU), der Geschwindigkeit des Prozessors (CPU) und des verfügbaren Speichers, usw. Die Größe oder Beschränkung der Niedrigprioritätswarteschlange kann als RV_Filter_NIEDRIG_Warteschlange_Max bezeichnet werden.
-
Wie vorstehend angemerkt werden BSMs von RVs in der Niedrigprioritätswarteschlange bei einer reduzierten Abtastrate verarbeitet, um die Verarbeitungszeit und Ressourcen, die einer Verarbeitung von BSMs von RVs in der Niedrigprioritätswarteschlange zugewiesen sind, zu beschränken. Zum Beispiel kann die reduzierte Abtastzeit oder die niedrige Prioritätsprozesszeit gleich 1000 Millisekunden oder 1 Sekunde sein. Mit anderen Worten könnte das V2X-System nur 1 BSM pro Sekunde von den BSMs in der Niedrigprioritätswarteschlange verarbeiten. Wie vorstehend angemerkt kann die reduzierte Abtastzeit als RV_Filter_NIEDRIG_Prozess_Zeit_ms bezeichnet werden. Auf diese Weise werden RVs in der Niedrigprioritätswarteschlange, die sich an dem entfernten Ende des Filterkriterienbereichs befinden, mit einer niedrigeren Priorität und bei einer niedrigeren Rate verarbeitet als BSMs von RVs in der Hochprioritätswarteschlange. Dadurch kann das V2X-System seine Berechnungsressourcen effektiver und effizienter nutzen, um BSMs von den RVs in der Hochprioritätswarteschlange, die wahrscheinlicher eine potenzielle Bedrohung für das HV sind, zu verarbeiten, und kann den Betrag an Berechnungsressourcen, die zum Verarbeiten von BSMs von RVs in der niedrigeren Prioritätswarteschlange verwendet werden, beschränken und/oder reduzieren.
-
Mit Bezug auf 1 ist ein Fahrzeug 10 gezeigt, das ein Fahrzeugkommunikationsfunksystem 20 für eine Fahrzeug-zu-Fahrzeug-Kommunikation (V2V), eine Fahrzeug-zu-Infrastruktur-Kommunikation (V2I), eine Fahrzeug-zu-Fußgänger-Kommunikation (V2P) und eine Fahrzeug-zu-Netzwerk-Kommunikation (V2N) umfasst, die gemeinsam als Fahrzeug-zu-Allem-Kommunikation (V2X) bezeichnet werden. Das Fahrzeugkommunikationsfunksystem 20 kann zum Beispiel ein dediziertes Nahbereichskommunikationssystem (DSRC-System) oder ein zellulares V2X-System (C-V2X-System) sein. Während beschrieben ist, dass das Fahrzeug 10 mit einem DSRC-System oder einem C-V2X-System ausgestattet ist, kann irgendein anderes geeignetes Fahrzeugkommunikationssystem für eine V2X-Kommunikation verwendet werden. Weiterhin, während dargestellt und beschrieben ist, dass das Fahrzeugkommunikationsfunksystem 20 in einem Fahrzeug 10 angeordnet ist, ist die vorliegende Offenbarung auf V2X-Kommunikationssysteme anwendbar, die an Fahrzeugen, einer Infrastruktur, oder irgendeinem anderen V2X-Kommunikationsort installiert sind. Zusätzlich, während die vorliegende Offenbarung eine Kommunikation zwischen einem Bezugsfahrzeug (HV) und einem entfernten Fahrzeug (RV) beschreibt, ist zu verstehen, dass dies nur für einen beispielhaften Zweck ist, und dass die vorliegenden Lehren auf eine Kommunikation durch oder zwischen einem Fahrzeugkommunikationsfunksystem 20 und irgendeinem entfernten Mitteilungs-Sende-System anwendbar sind, inklusive einer entfernten Infrastruktur, einem entfernten Fußgänger usw. Des Weiteren, während 1 zeigt, dass das Fahrzeugkommunikationsfunksystem 20 in einem Automobil oder einem Leichtfahrzeug installiert ist, sind die vorliegenden Lehren auf eine Kommunikation zwischen irgendwelchen anderen Arten von Fahrzeugen anwendbar, wie etwa Schwermaschinen, schweren Lastwägen, Motorrädern, Fahrrädern, usw., sowie Fußgängersystemen. Der Einfachheit halber werden Kommunikationen von irgendeiner anderen Quelle als dem HV, wie etwa Kommunikationen von einem Infrastrukturkommunikationssystem, einem Fußgängerkommunikationssystem, einem anderen Fahrzeug, usw. als Kommunikationen von einem RV bezeichnet.
-
Das Fahrzeugkommunikationsfunksystem 20 kann dazu konfiguriert sein, Signale zu übertragen und zu empfangen, die für eine Kollisionsvermeidung kritisch sind, wie etwa eine momentane Position und Geschwindigkeit, zu/von entfernten Fahrzeugen (RVs), die ebenso mit V2X-Systemen ausgestattet sind, und/oder zu/von einem Infrastrukturkommunikationsort, der mit einem V2X-System ausgestattet ist. Die Signale können zum Beispiel verwendet werden, um frühe Warnungen oder eine Vermeidung von Unfällen und Fahrrisiken bereitzustellen. Zusätzlich kann das Fahrzeugkommunikationsfunksystem 20 dazu konfiguriert sein, zukünftige Unfälle oder Fahrrisiken basierend auf einer Kommunikation mit entfernten Fahrzeugen und/oder Infrastrukturkommunikationsorten, die ebenso mit V2X-Systemen ausgestattet sind, durch Berechnen der momentanen und zukünftigen Positionen des Fahrzeugs 10 vorherzusagen.
-
Das Fahrzeugkommunikationsfunksystem 20 kann eine Antenne umfassen, wie etwa zum Beispiel eine 5.9 GHz DSRC-Antenne, eine 5G Mobilfunkantenne, oder irgendeine andere geeignete Kommunikationsantenne, und kann Informationen von einem globalen Netzwerksatellitensystem (GNSS) 22 und/oder einem globalen Positionierungssystem (GPS) 24 empfangen, die mit dem Fahrzeugkommunikationsfunksystem 20 kommunizieren. Das Fahrzeugkommunikationsfunksystem 20 kann ebenso Basissicherheitsmitteilungen (BSMs) (die als Kommunikationsmitteilungen bezeichnet werden) empfangen, die durch andere Fahrzeuge, Infrastruktur, Fußgänger, Netzwerke, usw. periodisch übertragen werden. Die BSMs können Informationen über das RV umfassen, das die BSM sendet, wie etwa die momentane Position, Positionsgenauigkeit, Geschwindigkeit, Richtung, Bremsstatus und andere Informationen bezüglich des Fahrzeugs, der Infrastruktur, des Fußgängers, des Netzwerks, usw. Das SAE-Dokument mit dem Titel „On-Board System Requirements for V2V Safety Communications“ (J2945-1) stellt einen Standard mit Regeln bereit, die verwendet werden, um BSMs an Fahrzeugkommunikationsfunksysteme zu übertragen und von diesen zu empfangen, und definiert die Frequenz, Leistung, usw. zum Übertragen von BSMs. Durch die Verwendung einer V2X-Technologie und Kommunikationssystemen, wird eine Fahrzeugsicherheit durch die Verwendung von Fahrzeugsystemen, die mit einem höheren Level von Informationen über die Fahrzeugumgebungen arbeiten, verbessert, inklusive Informationen über umgebende Fahrzeuge, Infrastruktur, Fußgänger, die Orte von Gefahren, sich voraus entwickelnde Situationen, usw.
-
Alle der Komponenten des Fahrzeugkommunikationsfunksystems 20 können sich an einem oder mehreren Orten auf dem Dach des Fahrzeugs 10 befinden. Alternativ können sich manche der Komponenten im Inneren des Fahrzeugs 10 befinden. Während das Fahrzeugkommunikationsfunksystem 20 von 1 derart dargestellt ist, dass es sich auf dem Dach des Fahrzeugs 10 befindet, können sich in anderen Ausführungsbeispielen das Fahrzeugkommunikationsfunksystem 20 und irgendwelche oder alle seiner Komponenten an irgendeinem Ort bezüglich des Fahrzeugs 10 befinden, inklusive dem vorderen Ende, dem hinteren Ende, den Seiten, und/oder im Inneren des Fahrzeugs 10.
-
Das Fahrzeugkommunikationsfunksystem 20 kann sowohl unter Sichtlinienbedingungen (LOS, „Line-Off-Sight“) und Nichtsichtlinienbedingungen (NLOS, „None-Line-Off-Sight“) arbeiten, was ermöglicht, dass das Fahrzeugkommunikationsfunksystem 20 des Fahrzeugs 10 BSMs inklusive Warnungen und Fahrrisiken kommuniziert, trotz einer Blockade von dazwischenliegenden Fahrzeugen, toten Winkeln, oder einer straßenseitigen Infrastruktur. Signale von dem Fahrzeugkommunikationsfunksystem 20 sind derart dargestellt, dass diese in kreisförmigen Mustern abgestrahlt werden, wie durch gestrichelte Kreise angegeben ist.
-
Mit Bezug auf 2 ist ein Blockdiagramm dargestellt, das Komponenten des Fahrzeugs 10 zeigt, das das Fahrzeugkommunikationsfunksystem 20 umfasst. Wie in 2 gezeigt ist, umfasst das Fahrzeugkommunikationsfunksystem 20 eine Steuerung 40. Die Steuerung 40 kann einen Prozessor umfassen, wie etwa eine zentrale Verarbeitungseinheit (CPU), und einen Speicher, wie etwa einen Direktzugriffsspeicher (RAM) und/oder einen Festwertspeicher (ROM), der Programme/Codes speichert, die ausreichend sind, um die hierin beschriebene Funktionalität zu implementieren. Als ein Beispiel kann die Steuerung 40 ein Mikrocomputer oder eine andere Verarbeitungseinrichtung sein, die programmiert ist, um die hierin beschriebene Funktionalität auszuführen. Wie nachstehend angemerkt ist, kann der Ausdruck „Steuerung“ durch den Ausdruck „Modul“ ausgetauscht werden, und kann sich beziehen auf, ein Teil sein von, oder umfassen: eine anwendungsspezifische integrierte Schaltung (ASIC, „Application Specific Integrated Circuit“); eine digitale, analoge oder gemischt analoge/digitale diskrete Schaltung; eine digitale, analoge oder gemischt analoge/digitale integrierte Schaltung; eine kombinatorische Logikschaltung; ein feldprogrammierbares Gate-Array (FPGA, „Field Programmable Gate Array“); eine Prozessorschaltung (geteilt, dediziert, oder Gruppe), die einen Code ausführt; eine Speicherschaltung (geteilt, dediziert, oder eine Gruppe), die einen Code speichert, der durch die Prozessorschaltung ausgeführt wird; andere geeignete Hardwarekomponenten, die die beschriebene Funktionalität bereitstellen; oder eine Kombination von manchen oder allen der Vorstehenden, wie etwa bei einem System auf einem Chip bzw. System-On-Chip. Zusätzlich, während 2 eine einzelne Steuerung 40 zeigt, kann das Fahrzeugkommunikationsfunksystem 20 mehrere Steuerungen umfassen, die parallel arbeiten, um die hierin beschriebene Funktionalität durchzuführen. In solch einem Fall kann die Verarbeitung, von der beschrieben ist, dass diese durch die Steuerung 40 durchgeführt wird, unter den mehreren Steuerungen aufgeteilt sein.
-
Wie in 2 gezeigt ist, umfasst das Fahrzeugkommunikationsfunksystem 20 ebenso einen Sender/Empfänger 42 und eine Antenne 44, die verwendet werden, um Signale an andere Kommunikationseinrichtungen zu übertragen und von diesen zu empfangen, wie etwa einem Fahrzeugkommunikationsfunksystem 20 von RVs. Während 2 einen Sender/Empfänger 42 zeigt, kann ein Senderempfänger verwendet werden, kann ein separater Sender und ein separater Empfänger verwendet werden, und/oder können irgendwelche anderen Kommunikationseinrichtungen zum Übertragen und Empfangen von Funkfrequenzsignalen (RF-Signalen) verwendet werden. In dem Beispiel von 2 steuert die Steuerung 40 den Sender/Empfänger 42, um RF-Signale unter Verwendung der Antenne 44 zu übertragen und zu empfangen. Zum Beispiel kann die Steuerung 40 den Sender/Empfänger 42 steuern, um BSMs an RVs unter Verwendung der Antenne 44 zu übertragen und von diesen zu empfangen. Zusätzlich kann die Steuerung 40 den Sender/Empfänger 42 steuern, um die Antenne 44 zu verwenden, um GPS-Signale von GPS 24 und/oder GNSS-Signale von GNSS 22 (in 1 gezeigt) zu empfangen. Die GPS-Signale und/oder die GNSS-Signale können durch ein Fahrzeuglokalisierungssystem 56, wie etwa ein Fahrzeug-GPS, verwendet werden, um einen Ort des Fahrzeugs 10 zu bestimmen. Während beschrieben ist, dass das Fahrzeuglokalisierungssystem 56 GPS- oder GNSS-Signale verwendet, können andere Fahrzeuglokalisierungssysteme verwendet werden, wie etwa Fahrzeuglokalisierungssysteme, die den Ort des Fahrzeugs 10 basierend auf Bilddaten, die durch Bildsensoren des Fahrzeugs 10 gesammelt werden, bestimmen, und/oder Fahrzeuglokalisierungssysteme, die den Ort des Fahrzeugs 10 basierend auf einer Kommunikation mit anderen Fahrzeugen oder einer Infrastruktur, die das Fahrzeug 10 umgeben, bestimmen.
-
Wie weiter in 2 gezeigt ist, umfasst das Fahrzeugkommunikationsfunksystem 20 einen Speicher 46, auf den die Steuerung 40 zugreifen kann. Der Speicher 46 ist ein computerlesbares Medium und speichert eine Hochprioritätswarteschlange 48 und eine Niedrigprioritätswarteschlange 50. Wie nachstehend detailliert diskutiert wird, kann die Steuerung 40 BSMs von RVs empfangen und die BSMs von den RVs in entweder die Hochprioritätswarteschlange 48 oder die Niedrigprioritätswarteschlange 50 klassifizieren. Zusätzlich kann die Steuerung 40 ebenso BSMs von RVs in der Hochprioritätswarteschlange 48 in die Niedrigprioritätswarteschlange 50 bewegen und/oder von der Niedrigprioritätswarteschlange 50 in die Hochprioritätswarteschlange 48 bewegen. Die Hochprioritätswarteschlange 48 und die Niedrigprioritätswarteschlange 50 speichern temporäre Kennungen, die mit dem RV verknüpft sind, das die bestimmte BSM gesendet hat, für jede BSM, die in jeder der Warteschlangen klassifiziert und gespeichert ist. Die temporäre Kennung stellt eine temporäre Identifikation der RVs bereit, die sich in dem Kommunikationsbereich des HV befinden. Die temporären Kennungen werden periodisch randomisiert, um eine langfristige Nachvollziehbarkeit von mit V2X ausgestatteten Fahrzeugen zu verhindern.
-
Wie weiterhin in 2 gezeigt ist, befindet sich das Fahrzeugkommunikationsfunksystem 20 in Kommunikation mit einer oder mehreren Fahrzeugsystemsteuerungen 52, die eines oder mehrere Fahrzeugsysteme 54 steuern können. Zum Beispiel könnte/n das/die Fahrzeugsysteme 54 ein Bremssystem, das ein Bremsen für das Fahrzeug 10 bereitstellt, ein Lenksystem, das ein Lenken des Fahrzeugs 10 bereitstellt, ein Drosselklappensystem, das die Drosselklappe des Fahrzeugs 10 steuert, ein Getriebesystem, das ein Getriebe des Fahrzeugs 10 steuert, ein Beleuchtungssystem, das das Licht des Fahrzeugs 10 steuert, und/oder ein Warnsystem umfassen, das visuelle, Audio- oder haptische Warnungen an einen Fahrer oder Insassen des Fahrzeugs 10 steuert und ausgibt. Jedes der Fahrzeugsystem(e) 54 kann durch eines der Fahrzeugsystemsteuerung(en) 52 gesteuert werden. Zusätzlich oder alternativ kann eine der Fahrzeugsystemsteuerung(en) 52 eines oder mehrere der Fahrzeugsysteme 54 steuern. Die Fahrzeugsystemsteuerung(en) 52 befindet bzw. befinden sich in Kommunikation mit dem Fahrzeugkommunikationsfunksystem 20 und können Informationen bezüglich der Umgebung eines Fahrzeugs 10 basierend auf BSMs, die durch das Fahrzeugkommunikationsfunksystem 20 verarbeitet werden, empfangen, wie detaillierter nachstehend beschrieben ist, und können das bzw. die anwendbare(n) Fahrzeugsystem(e) 54 basierend auf den empfangenen Informationen über die Umgebung eines Fahrzeugs 10 steuern. Zum Beispiel kann das bzw. können die Fahrzeugsystemsteuerung(en) 52 Informationen empfangen, dass es eine mögliche Gefahr oder ein Hindernis auf der Straße voraus gibt, basierend auf einer oder mehreren BSMs, die durch das Fahrzeugkommunikationsfunksystem 20 von RVs empfangen werden. Basierend auf den empfangenen Informationen kann bzw. können die Fahrzeugsystemsteuerung(en) 52 das Warnsystem des Fahrzeugs 10 steuern, um eine visuelle, Audio- oder haptische Warnung an einen Fahrer oder Insassen des Fahrzeugs 10 auszugeben. Zusätzlich oder alternativ kann bzw. können die Fahrzeugsystemsteuerung(en) 52 das Bremssystem steuern, um das Fahrzeug 10 zu verlangsamen. Zusätzlich oder alternativ kann bzw. können die Fahrzeugsystemsteuerungen 52 das Lenksystem steuern, um das Fahrzeug 10 auf eine unterschiedliche Spur zu lenken oder andere Fahrzeugsysteme angemessen zu steuern, um eine bestimmte Gefährdung oder ein Hindernis zu vermeiden oder zu minimieren.
-
Die Fahrzeugsystemsteuerung(en) 52 kann bzw. können ebenso eine Anzahl von Fahrerassistenzanwendungen inklusive sicherheitskritischer Anwendungen implementieren. Zum Beispiel kann bzw. können die Fahrzeugsystemsteuerung(en) 52 eine Abstandsregeltempomatanwendung, eine Vorwärtskollisionswarnanwendung, eine Totwinkelmonitor- und -warnanwendung, eine Kreuzungsunfallwarnanwendung, eine autonome Fahranwendung, usw. implementieren.
-
Mit Bezug auf 3A ist ein Ablaufdiagramm für ein Verfahren 200 des adaptiven Filterns von BSMs und, genauer, des Klassifizierens von BSMs von RVs in die Hochprioritätswarteschlange 48 und die Niedrigprioritätswarteschlange 50 gemäß den vorliegenden Lehren gezeigt. Das Verfahren 200 kann zum Beispiel durch die Steuerung 40 des Fahrzeugkommunikationsfunksystems 20 durchgeführt werden. Wie vorstehend angemerkt kann das Fahrzeugkommunikationsfunksystem 20 mehrere Steuerungen umfassen. In solch einem Fall könnte das Verfahren 200 durch die mehreren Steuerungen durchgeführt werden und unterschiedliche Schritte oder Abschnitte des Verfahrens 200 könnten durch unterschiedliche Steuerungen des Fahrzeugkommunikationsfunksystems 20 durchgeführt werden, die zusammenarbeiten. Das Verfahren 200 startet bei 202.
-
Bei 204 empfängt die Steuerung 40 eine BSM von einem RV. Bei 206 bestimmt die Steuerung 40, ob die Hochprioritätswarteschlange 48 voll ist. Zum Beispiel kann die Steuerung 40 die Anzahl von BSMs von RVs, die bereits in der Hochprioritätswarteschlange 48 sind, mit der Größe oder der Beschränkung der Hochprioritätswarteschlange 48, die als RV_Filter_HOCH_Warteschlange_Max bezeichnet ist, vergleichen. Wenn die Hochprioritätswarteschlange 48 nicht voll ist, geht die Steuerung über zu 208 und fügt die BSM von dem RV zu der Hochprioritätswarteschlange 48 hinzu. Die Steuerung geht dann über zu 232 (in 3B gezeigt) und endet.
-
Bei 206, wenn die Hochprioritätswarteschlange 48 voll ist, geht die Steuerung 40 über zu 210. Bei 210 überprüft die Steuerung 40, um zu sehen, ob die relevanten BSM-Datenelemente, die erforderlich sind, um die Filterüberprüfungen zu vollenden, gültig sind. Zum Beispiel kann die Steuerung 40 eine direkte Indexierung verwenden, wie vorstehend diskutiert, um zu überprüfen, ob die BSM gültige Eingabedaten in vorbestimmten indexierten Datenfeldern innerhalb des BSM-Pakets enthält, ohne das BSM-Paket unter Verwendung einer ASN.1-Dekodierung vollständig zu dekodieren. Zum Beispiel kann die Steuerung 40 überprüfen, um zu sehen, ob das BSM gültige Datenelemente für Breitengraddaten, Längengraddaten und Höhendaten, die mit dem RV verknüpft sind, das die BSM gesendet hat, umfasst. Wenn ein RV eine BSM sendet, sollte die BSM Breitengraddaten, Längengraddaten und Höhendaten des RV, das die BSM sendet, umfassen. Die Breitengraddaten, Längengraddaten und Höhendaten sind von der BSM an vorbestimmten indexierbaren Orten innerhalb des BSM-Pakets abrufbar, ohne dass die BSM unter Verwendung einer ASN.1-Dekodierung vollständig dekodiert werden muss. Die Steuerung 40 kann direkt in die BSM indexieren, um die vorbestimmten Orte zu überprüfen und zu bestimmen, ob gültige Daten für Breitengrad, Längengrad und Höhe in der BSM enthalten sind. Bei 210, wenn die BSM Datenelemente umfasst, die nicht gültig sind, geht die Steuerung über zu 212 und verwirft die BSM, ohne die BSM von dem RV zu entweder der Hochprioritätswarteschlange 48 oder Niedrigprioritätswarteschlange 50 hinzuzufügen. Die Steuerung 40 geht dann über zu 232 (in 4B gezeigt) und endet.
-
Bei 210, wenn alle BSM-Datenelemente gültig sind, geht die Steuerung 40 über zu 214. Bei 214 überprüft die Steuerung 40 die absolute Deltahöhe zwischen dem RV und dem HV. Zum Beispiel kann die Steuerung 40 auf Daten über die Höhe des HV zugreifen, basierend auf Daten, die von dem Fahrzeuglokalisierungssystem 56 empfangen werden. Zusätzlich enthält die BSM von dem RV Höhendaten, die die Höhe des RV angeben. Bei 210 vergleicht die Steuerung 40 die absolute Differenz (das heißt den Absolutwert der Differenz) der Höhe oder die Deltahöhe zwischen dem HV und dem RV mit einem Höhenschwellenwert. Der Höhenschwellenwert kann zum Beispiel als RV_Filter_Delta_Höhe_Schwellenwert_m bezeichnet werden. Der Höhenschwellenwert kann zum Beispiel auf 10 Meter eingestellt sein. Alternativ kann der Höhenschwellenwert eine Funktion des Bereichs oder der Entfernung zwischen dem RV und dem HV sein. Zum Beispiel kann der Höhenschwellenwert erhöht werden, wenn die Entfernung zwischen dem RV und dem HV zunimmt, um ein Straßengefälle zu kompensieren oder diesem Rechnung zu tragen, wenn sich der Bereich oder die Entfernung zwischen dem RV und dem HV erhöht. Wenn die Differenz in der Höhe niedriger als der Höhenschwellenwert ist, geht die Steuerung 40 über zu 216. Wenn die Differenz in der Höhe nicht niedriger als der Höhenschwellenwert ist, dann wird angenommen, dass sich das RV und das HV auf unterschiedlichen Straßenhöhen befinden. Mit anderen Worten wird angenommen, dass das RV und das HV sich auf unterschiedlichen Straßen befinden, wie etwa unterschiedlichen Abschnitten von Mehrfachabschnittüberführungen, bei denen sich die mehreren unterschiedlichen Abschnitte der Überführung auf unterschiedlichen Höhen befinden. In solch einem Fall, wenn die Differenz in der Höhe nicht niedriger als der Höhenschwellenwert ist, geht die Steuerung 40 über zu 212 und verwirft die BSM, ohne die BSM von dem RV zu entweder der Hochprioritätswarteschlange 48 oder der Niedrigprioritätswarteschlange 50 hinzuzufügen. Die Steuerung 40 geht dann über zu 232 (in 3B gezeigt) und endet. Das Höhenfilterkriterium kann wahlweise aktiviert werden. In manchen Implementierungen oder Ausführungsbeispielen kann das Höhenkriterium deaktiviert werden, und in solch einem Fall würde die Steuerung 40 214 auslassen und von 210 direkt zu 216 übergehen, wenn die BSM-Datenelemente bei 210 gültig sind.
-
Bei 214, wenn die Differenz in der Höhe zwischen dem HV und dem RV kleiner als der Höhenschwellenwert ist, geht die Steuerung 40 über zu 216, um Bereichskriterien zu initiieren. Bei 216 bestimmt die Steuerung 40 den Bereich oder die Entfernung zwischen dem HV und dem RV. Die Steuerung 40 kann zum Beispiel auf Informationen zugreifen, die den Ort des HV angeben, und kann Informationen, die den Ort des RV angeben, von der BSM abrufen. Die Steuerung 40 kann dann die Entfernung zwischen dem HV und RV bestimmen und kann die Entfernung mit einem Bereichsschwellenwert vergleichen. Der Bereichsschwellenwert kann zum Beispiel als RV_Filter_Bereich_Schwellenwert_m bezeichnet werden. Der Bereichsschwellenwert kann zum Beispiel 300 Meter sein. Wenn die Entfernung zwischen dem HV und dem RV bei 216 kleiner als der Bereichsschwellenwert ist, geht die Steuerung 40 über zu 218. Wenn die Entfernung zwischen dem HV und dem RV bei 216 nicht kleiner als der Bereichsschwellenwert ist, geht die Steuerung 40 über zu 220.
-
Bei 218 bestimmt die Steuerung 40 eine Änderungsrate der Entfernung zwischen dem HV und dem RV. Zum Beispiel kann die Steuerung 40 auf Informationen bezüglich des momentanen Orts, der Geschwindigkeit und Richtung des HV zugreifen, basierend auf Informationen von dem Fahrzeuglokalisierungssystem 56. Die Steuerung 40 kann ebenso auf Informationen bezüglich des momentanen Orts, Geschwindigkeit und Richtung des RV zugreifen, basierend auf Informationen von der BSM. Basierend auf dem momentanen Ort, der Geschwindigkeit und Richtung des HV und des RV kann die Steuerung 40 eine Änderungsrate der Entfernung zwischen dem HV und dem RV bestimmen. Die Steuerung 40 kann dann die Änderungsrate der Entfernung zwischen dem HV und dem RV mit einem Bereichsratenschwellenwert vergleichen. Der Bereichsratenschwellenwert wird als RV_Filter_Bereich_Rate_Schwellenwert_mps bezeichnet. Der Bereichsratenschwellenwert kann zum Beispiel 20 Meter pro Sekunde oder 20 m/s sein. Eine negative Bereichsrate würde dem entsprechen, dass sich das RV in Richtung des HV bewegt. Dementsprechend würde ein Einstellen des Bereichsratenschwellenwerts auf einen positiven Wert dem entsprechen, dass sich das RV von dem HV wegbewegt, aber nicht so schnell. Alternativ könnte der Bereichsratenschwellenwert auf 0 oder einen negativen Wert eingestellt werden, um nur BSMs von einem RV aufzunehmen, das sich in Richtung des HV bewegt oder an dieses näher herankommt.
-
Wenn die Steuerung 40 bei 218 bestimmt, dass die Bereichsrate nicht größer als der Bereichsratenschwellenwert ist, befindet sich das RV in unmittelbarer Nähe zu dem HV und bewegt sich nicht schnell von dem HV weg. In diesem Fall ist es wahrscheinlich, dass sich das RV in einer Verkehrsspur befindet, die sich in eine entgegengesetzte Richtung von dem HV bewegt. In diesem Fall geht die Steuerung 40 über zu 212 und verwirft die BSM, ohne die BSM von dem RV zu entweder der Hochprioritätswarteschlange 48 oder der Niedrigprioritätswarteschlange 50 hinzuzufügen. Die Steuerung 40 geht dann über zu 232 (in 3B gezeigt) und endet. Die Bereichsfilterkriterien können wahlweise aktiviert werden. In manchen Implementierungen oder Ausführungsbeispielen können die Bereichsfilterkriterien deaktiviert werden, und in solch einem Fall kann die Steuerung 40 Schritte 216 und 218 weglassen und von entweder 210 oder 214 direkt zu 220 übergehen, in Abhängigkeit davon, ob die Höhenfilterkriterien aktiviert sind.
-
Wenn bei 218 die Bereichsrate größer als der Bereichsratenschwellenwert ist, geht die Steuerung 40 über zu 220 und bestimmt, ob sich das RV innerhalb eines Begrenzungsrechtecks 30 des HV befindet. Mit Bezug auf 6 ist ein Begrenzungsrechteck 30 für HV 10-1 gezeigt. Das Begrenzungsrechteck 30 ist bezüglich des HV 10-1 zentriert und wird durch einen Abstand von +x1 nach vorne, einen Abstand von -x2 nach hinten, einen ersten seitlichen Abstand von +y1 und einen zweiten seitlichen Abstand von -y2 definiert, wie nachstehend detaillierter beschrieben wird. Basierend auf den Entfernungsinformationen, die in der BSM enthalten sind und basierend auf Informationen über den eigenen Aufenthaltsort des HV von dem Fahrzeuglokalisierungssystem 56, kann die Steuerung 40 bestimmen, ob sich das RV, das die BSM gesendet hat, innerhalb des Begrenzungsrechtecks 30, das um das HV zentriert ist, befindet. In einem beispielhaften Ausführungsbeispiel kann die Entfernung nach vorne +x1 gleich 300 Meter sein, kann die Entfernung nach hinten x2 gleich 150 Meter sein und können die erste und zweite seitliche Entfernung +y1, y2 gleich 200 Meter sein. Obwohl bestimmte Beispielentfernungen bereitgestellt sind, können irgendwelche geeigneten Entfernungen für die Entfernung nach vorne, die Entfernung nach hinten und die erste und zweite seitliche Entfernung verwendet werden. Wie in dem Beispiel von 6 gezeigt ist, befindet sich das RV 10-17 innerhalb des Begrenzungsrechtecks 30 des HV 10-1.
-
Wieder mit Bezug auf 3A, wenn bei 220 die Steuerung 40 bestimmt, dass sich das RV nicht innerhalb des Begrenzungsrechtecks 30 befindet, geht die Steuerung 40 über zu 212 und verwirft die BSM, ohne die BSM von dem RV zu entweder der Hochprioritätswarteschlange 48 oder der Niedrigprioritätswarteschlange 50 hinzuzufügen. Die Steuerung 40 geht dann über zu 232 (in 3B gezeigt) und endet. Die Begrenzungsrechteckfilterkriterien können wahlweise aktiviert werden. In manchen Implementierungen oder Ausführungsbeispielen können die Begrenzungsrechteckfilterkriterien deaktiviert sein, und in solch einem Fall könnte die Steuerung 40 Schritt 220 weglassen und von entweder 210, 214 oder 218 direkt zu 222 übergehen, in Abhängigkeit davon, ob die anwendbaren Filterkriterien aktiviert sind.
-
Wenn sich bei 220 das RV innerhalb des Begrenzungsrechtecks 30 des HV befindet, geht die Steuerung 40 über zu 222 von 3B. Bei 222 bestimmt die Steuerung 40, ob der RV-Bereich oder die Entfernung von dem RV, das die BSM an das HV gesendet hat, kleiner ist als der größte RV-Bereich in der Hochprioritätswarteschlange 48. Mit anderen Worten bestimmt die Steuerung 40, ob die BSM von einem RV ist, das näher zu dem HV ist, als das RV in der Hochprioritätswarteschlange 48 mit dem größten Bereich zu dem HV. Wenn bei 222 der RV-Bereich nicht kleiner ist als der größte RV-Bereich in der Hochprioritätswarteschlange 48, geht die Steuerung 40 über zu 228 und initiiert ein Bestimmen, ob die BSM von dem RV in die Niedrigprioritätswarteschlange 50 platziert werden sollte, wie nachstehend weiter diskutiert ist.
-
Wenn bei 222 der RV-Bereich oder die Entfernung von dem RV, das die BSM an das HV gesendet hat, kleiner ist als der größte RV-Bereich in der Hochprioritätswarteschlange 48, geht die Steuerung 40 über zu 224. Bei 224 entfernt die Steuerung 40 das RV mit dem größten Bereich von der Hochprioritätswarteschlange 48 und fügt die neue BSM von dem RV zu der Hochprioritätswarteschlange 48 hinzu. Das entfernte RV wird als das verdrängte RV bezeichnet, da es von der Hochprioritätswarteschlange 48 verdrängt wurde. Die Steuerung 40 geht dann zu 226 über.
-
Bei 226 sucht die Steuerung 40 die Niedrigprioritätswarteschlange 50 ab, um zu sehen, ob das RV, das gerade zu der Hochprioritätswarteschlange 48 hinzugefügt wurde, ebenso in der Niedrigprioritätswarteschlange 50 vorhanden ist. Zum Beispiel sucht die Steuerung 40 die Niedrigprioritätswarteschlange 50 nach einer temporären Kennung ab, die mit der temporären Kennung der RV-BSM, die gerade zu der Hochprioritätswarteschlange 48 hinzugefügt wurde, übereinstimmt. Wenn ein Duplikat gefunden wird, sodass das RV, das gerade zu der Hochprioritätswarteschlange 48 hinzugefügt wurde, ebenso in der Niedrigprioritätswarteschlange 50 vorhanden ist, verwirft oder löscht die Steuerung 40 den doppelten Eintrag von der Niedrigprioritätswarteschlange 50. Die Steuerung 40 geht dann über zu 228.
-
Bei 228 initiiert die Steuerung 40 ein Bestimmen, ob die neue RV-BSM (wenn die Steuerung 40 von Schritt 222 kommt) oder die verdrängte RV-BSM (wenn die Steuerung 40 von Schritt 226 kommt) zu der Niedrigprioritätswarteschlange 50 hinzugefügt werden sollte. Bei 228 bestimmt die Steuerung 40, ob die Niedrigprioritätswarteschlange 50 voll ist.
-
Bei 228, wenn die Steuerung 40 bestimmt, dass die Niedrigprioritätswarteschlange 50 nicht voll ist, geht die Steuerung 40 über zu 230, und fügt die neue/verdrängte RV-BSM zu der Niedrigprioritätswarteschlange 50 hinzu. Die Steuerung 40 geht dann über zu 232 und endet.
-
Wenn die Steuerung 40 bei 228 bestimmt, dass die Niedrigprioritätswarteschlange 50 voll ist, geht die Steuerung 40 über zu 234 und bestimmt, ob der RV-Bereich zu dem HV für das neue/verdrängte RV niedriger ist als der größte RV-Bereich in der Niedrigprioritätswarteschlange 50 (ähnlich zu Schritt 222, der vorstehend für die Hochprioritätswarteschlange 48 diskutiert wurde). Wenn bei 234 der RV-Bereich zu dem HV für das neue/verdrängte RV nicht kleiner ist als der größte RV-Bereich in der Niedrigprioritätswarteschlange 50, geht die Steuerung 40 über zu 236 und verwirft die BSM von dem neuen/verdrängten RV. Die Steuerung 40 geht dann über zu 232 und endet.
-
Wenn bei 234 der RV-Bereich zu dem HV für das neue/verdrängte RV kleiner ist als der größte RV-Bereich in der Niedrigprioritätswarteschlange 50, geht die Steuerung 40 über zu 238 und entfernt und verwirft die RV mit dem größten Bereich von der Niedrigprioritätswarteschlange 50. Die Steuerung 40 geht dann über zu 230 und fügt die neue/verdrängte RV-BSM zu der Niedrigprioritätswarteschlange 50 hinzu. Die Steuerung 40 geht dann über zu 232 und endet.
-
Auf diese Weise verwendet die Steuerung 40 die vorstehend beschriebenen Filterkriterien, um BSMs von RVs, die mit dem HV kommunizieren, effizient in die Hochprioritätswarteschlange 48 oder die Niedrigprioritätswarteschlange 50 zu kategorisieren. BSMs von RVs in der Hochprioritätswarteschlange 48 werden gemäß der höheren Verarbeitungsrate (oder einer ersten Verarbeitungsrate) verarbeitet, die durch die Hochprozesszeit bestimmt ist, zum Beispiel 100 ms oder 10 Hz, während BSMs von RVs in der Niedrigprioritätswarteschlange 50 gemäß der niedrigeren Verarbeitungsrate (oder einer zweiten Verarbeitungsrate) verarbeitet werden, die durch die niedrige Prozesszeit bestimmt ist, zum Beispiel 1000 ms oder 1 Hz. Auf diese Weise kann die Steuerung 40 ihre Verarbeitungsressourcen effizient und effektiv bewahren und nutzen, um BSMs von den relevantesten RVs zu verarbeiten.
-
Mit Bezug auf 4A ist ein Verfahren 300 zum Verarbeiten von BSMs von der Hochprioritätswarteschlange 48 gezeigt. Das Verfahren 300 kann zum Beispiel durch die Steuerung 40 des Fahrzeugkommunikationsfunksystems 20 durchgeführt werden. Wie vorstehend angemerkt kann das Fahrzeugkommunikationsfunksystem 20 mehrere Steuerungen umfassen. In solch einem Fall könnte das Verfahren 300 durch die mehreren Steuerungen durchgeführt werden und unterschiedliche Schritte oder Abschnitte des Verfahrens 300 könnten durch unterschiedliche Steuerungen des Fahrzeugkommunikationsfunksystems 20, die zusammenarbeiten, durchgeführt werden. Das Verfahren 300 startet bei 302.
-
Bei 304 geht die Steuerung 40 zu dem Anfangseintrag in der Hochprioritätswarteschlange 48 über. Zum Beispiel kann die Hochprioritätswarteschlange 48 eine „First-In-First-Out“-Warteschlange (FIFO-Warteschlange) sein, sodass die am frühesten empfangene BSM von einem RV der als erstes herausgenommene oder der initiale Eintrag in der Hochprioritätswarteschlange 48 ist. Die Steuerung 40 geht dann zu 306 über.
-
Bei 306 bestimmt die Steuerung 40 für den momentanen Eintrag, ob das Alter der momentanen RV-BSM, das als RV-BSM-Abtastalter bezeichnet wird, größer ist als ein Hochprioritätsabtastaltersschwellenwert. Der Hochprioritätsabtastaltersschwellenwert kann zum Beispiel 650 ms sein und wird als RV_Filter_Hoch_Max_Abtast_Alter_ms bezeichnet. Während das momentane Beispiel unter Verwendung eines Hochprioritätsabtastaltersschwellenwerts von 650 ms bereitgestellt ist, können andere Zeitperioden verwendet werden. Die Steuerung 40 bestimmt das RV-BSM-Abtastalter basierend auf der Zeitlänge zwischen dem Zeitstempel, der angibt, wann die RV-BSM durch die Steuerung 40 empfangen wurde, und der momentanen Zeit. BSM-Abtastungen können mehrere Male durch vorwärts „Coasting“ oder Extrapolieren der RV-Daten zu der momentanen Zeit während jedes Warteschlangenprozesszyklus verarbeitet werden. Aufgrund einer Verschlechterung einer Genauigkeit, wenn Abtastungen für eine zunehmende Zeit dahingleiten bzw. „gecoastet werden“, wird eine maximale Zeitgrenze hergestellt, bei der Abtastungen als zu alt/verbraucht angenommen werden, um dahinzugleiten bzw. zu „coasten“, und verworfen werden müssen. Wenn das RV-BSM-Abtastalter nicht größer als der Hochprioritätsabtastaltersschwellenwert ist, geht die Steuerung 40 über zu 308 und führt eine vollständige ASN.1-Dekodierung und RV-Klassifizierung der RV-BSM an diesem Eintrag in der Hochprioritätswarteschlange 48 durch. Die Steuerung 40 geht dann zu 312 über, was nachstehend detaillierter beschrieben wird.
-
Wenn bei 306 die Steuerung 40 bestimmt, dass das RV-BSM-Abtastalter größer ist als der Hochprioritätsabtastaltersschwellenwert, geht die Steuerung 40 über zu 310 und entfernt den momentanen RV-Eintrag von der Hochprioritätswarteschlange 48. In diesem Fall wird angenommen, dass das hohe RV-BSM-Abtastalter angibt, dass die BSM verbraucht oder zu alt ist, und als solches verworfen wird, ohne dekodiert oder vollständig verarbeitet zu werden. Die Steuerung 40 geht dann über zu 312.
-
Bei 312 bestimmt die Steuerung 40, ob sie das Ende der Hochprioritätswarteschlange 48 erreicht hat. Wenn die Steuerung 40 bei 312 das Ende der Hochprioritätswarteschlange 48 nicht erreicht hat, geht die Steuerung 40 über zu 314 und geht über zu dem nächsten Eintrag in der Hochprioritätswarteschlange 48. Die Steuerung 40 geht dann zurück zu 306 und vergleicht wiederholt das RV-BSM-Abtastalter des momentanen Eintrags mit dem Hochprioritätsabtastaltersschwellenwert.
-
Wenn die Steuerung 40 bei 312 das Ende der Hochprioritätswarteschlange 48 erreicht hat, geht die Steuerung 40 über zu 316 und beendet das Verfahren 300.
-
Das Verfahren 300 zum Verarbeiten der Hochprioritätswarteschlange 48 wird gemäß der Hochprioritätsprozesszeit, wie etwa 100 ms, periodisch durchgeführt. Die Hochprioritätsprozesszeit kann als RV_Filter_Hoch_Prozess_Zeit_ms bezeichnet werden. Mit anderen Worten kann die Steuerung 40 das Verfahren 300 zum Verarbeiten der Hochprioritätswarteschlange 48 einmal alle 100 ms oder bei einer Zyklusrate von 10 Hz ausführen. Zusätzlich kann das Verfahren 300 asynchron und parallel mit Verfahren 200 bezüglich des Platzierens der RV-BSMs in der Hochprioritätswarteschlange 48 und der Niedrigprioritätswarteschlange 50 durchgeführt werden. Anders gesagt kann die Steuerung 40 die RV-BSMs in die Hochprioritätswarteschlange 48 und die Niedrigprioritätswarteschlange 50 gemäß Verfahren 200 platzieren, asynchron mit dem Verarbeiten der RV-BSMs von den Hochprioritätswarteschlangen gemäß Verfahren 300 und Verfahren 320, was nachstehend beschrieben wird.
-
Mit Bezug auf 4B ist ein Verfahren 320 zum Verarbeiten von BSMs von der Niedrigprioritätswarteschlange 50 gezeigt. Das Verfahren 320 kann zum Beispiel durch die Steuerung 40 des Fahrzeugkommunikationsfunksystems 20 durchgeführt werden. Wie vorstehend angemerkt kann das Fahrzeugkommunikationsfunksystem 20 mehrere Steuerungen umfassen. In solch einem Fall könnte das Verfahren 320 durch die mehreren Steuerungen durchgeführt werden und unterschiedliche Schritte oder Abschnitte des Verfahrens 320 könnten durch unterschiedliche Steuerungen des Fahrzeugkommunikationsfunksystems 20, die zusammenarbeiten, durchgeführt werden. Das Verfahren 320 startet bei 322.
-
Bei 324 geht die Steuerung 40 zu dem anfänglichen Eintrag in der Niedrigprioritätswarteschlange 50 über. Zum Beispiel könnte die Niedrigprioritätswarteschlange eine „First-In-First-Out“-Warteschlange (FIFO-Warteschlange) sein, bei der die früheste empfangene BSM von einem RV der als erstes herausgenommene oder der initiale Eintrag in der Niedrigprioritätswarteschlange 50 ist. Die Steuerung 40 geht dann zu 326 über.
-
Bei 326 bestimmt die Steuerung 40 für den momentanen Eintrag, ob das Alter der momentanen RV-BSM, das als RV-BSM-Abtastalter bezeichnet wird, größer als ein Niedrigprioritätsabtastaltersschwellenwert ist. Der Niedrigprioritätsabtastaltersschwellenwert kann größer sein als der Hochprioritätsabtastaltersschwellenwert. Zum Beispiel kann der Hochprioritätsabtastaltersschwellenwert gleich 650 ms sein, wie vorstehend diskutiert, während der Niedrigprioritätsabtastaltersschwellenwert gleich 2000 ms sein kann. Der Niedrigprioritätsabtastaltersschwellenwert kann als RV_Filter_Niedrig_Max_Abtast_Alter_ms bezeichnet werden. Während das momentane Beispiel unter Verwendung eines Niedrigprioritätsabtastaltersschwellenwertes von 2000 ms bereitgestellt ist, können andere Zeitperioden verwendet werden. Wie vorstehend diskutiert ist, bestimmt die Steuerung 40 das RV-BSM-Abtastalter basierend auf einer Zeitlänge zwischen dem Zeitstempel, der angibt, wann die RV-BSM durch die Steuerung 40 empfangen wurde, und der momentanen Zeit. Wenn das RV-BSM-Abtastalter nicht größer als der Niedrigprioritätsabtastaltersschwellenwert ist, geht die Steuerung 40 über zu 328 und führt eine vollständige ASN.1-Dekodierung und eine RV-Klassifizierung der RV-BSM an dem Eintrag in der Niedrigprioritätswarteschlange 50 durch. Die Steuerung 40 geht dann zu 332 über, was nachstehend detaillierter diskutiert ist.
-
Wenn die Steuerung 40 bei 326 bestimmt, dass das RV-BSM-Abtastalter größer ist als der Niedrigprioritätsabtastaltersschwellenwert, geht die Steuerung 40 über zu 320 und entfernt den momentanen RV-Eintrag von der Niedrigprioritätswarteschlange 50. In diesem Fall wird angenommen, dass das hohe RV-BSM-Abtastalter angibt, dass die BSM verbraucht oder zu alt ist, und daher verworfen wird, ohne dekodiert oder vollständig verarbeitet zu werden. Die Steuerung 40 geht dann über zu 332.
-
Bei 332 bestimmt die Steuerung 40, ob sie das Ende der Niedrigprioritätswarteschlange 50 erreicht hat. Wenn die Steuerung 40 bei 332 das Ende der Niedrigprioritätswarteschlange 50 nicht erreicht hat, geht die Steuerung 40 über zu 334 und geht über zu dem nächsten Eintrag in der Niedrigprioritätswarteschlange 50. Die Steuerung 40 kehrt dann zurück zu 326 und vergleicht wiederholt das RV-BSM-Abtastalter des momentanen Eintrags mit dem Niedrigprioritätsabtastaltersschwellenwert.
-
Wenn die Steuerung 40 bei 332 das Ende der Niedrigprioritätswarteschlange 50 erreicht hat, geht die Steuerung 40 über zu 336 und beendet das Verfahren 320.
-
Das Verfahren 320 zum Verarbeiten der Niedrigprioritätswarteschlange 50 wird gemäß der Niedrigprioritätsprozesszeit, wie etwa 1000 ms, periodisch durchgeführt. Mit anderen Worten kann die Steuerung 40 das Verfahren 320 zum Verarbeiten der Niedrigprioritätswarteschlange 50 einmal alle 1000 ms oder bei einer Zyklusrate von 1 Hz durchführen. Zusätzlich kann das Verfahren 320 asynchron und parallel mit Verfahren 200 bezüglich des Platzierens der RV-BSMs in der Hochprioritätswarteschlange 48 und der Niedrigprioritätswarteschlange 50 durchgeführt werden. Anders gesagt kann die Steuerung 40 die RV-BSMs in der Hochprioritätswarteschlange 48 und der Niedrigprioritätswarteschlange 50 gemäß Verfahren 200 platzieren, asynchron mit der Verarbeitung der RV-BSMs von der Hochprioritätswarteschlange gemäß Verfahren 300 und 320.
-
Mit Bezug auf 5 ist eine Vielzahl von Fahrzeugen 10-1 bis 10-16 mit V2X-Kommunikationssystemen 20-1 bis 20-16 gezeigt. In dem Ausführungsbeispiel wird das Fahrzeug 10-1 als das Bezugsfahrzeug HV 10-1 bezeichnet und werden Fahrzeuge 10-2 bis 10-16 als entfernte Fahrzeuge RVs bezeichnet. Das HV 10-1 und die RVs 10-2 bis 10-16 werden gemeinsam als Fahrzeuge 10 oder einzeln/allgemein als Fahrzeug 10 bezeichnet. Das HV 10-1 und RVs 10-2 bis 10-16 sind jeweils mit entsprechenden Fahrzeugkommunikationsfunksystemen 20-1 bis 20-16 ausgestattet. Die Fahrzeugkommunikationsfunksysteme 20-1 bis 20-15 werden gemeinsam als Fahrzeugkommunikationssysteme 20 oder einzeln/allgemein als Fahrzeugkommunikationsfunksystem 20 bezeichnet.
-
Das Beispiel von 5 zeigt ein Ausführungsbeispiel mit sechs Verkehrsspuren, inklusive drei Verkehrsspuren, die in die gleiche Richtung wie das HV 10-1 fahren, und drei Verkehrsspuren, die in die entgegengesetzte Richtung wie das HV 10-1 fahren. Um die Konzepte der vorliegenden Offenbarung darzustellen, wurden in dem Beispiel von 5 die Fahrzeuge als „hp“, „lp“ oder „d“ bezeichnet. In diesem Beispiel wurden die Fahrzeuge, die als „hp“ bezeichnet sind, basierend auf Filterkriterien in die Hochprioritätswarteschlange 48 kategorisiert, und wurden die Fahrzeuge, die als „lp“ bezeichnet sind, basierend auf den Filterkriterien in die Niedrigprioritätswarteschlange 50 kategorisiert. Die Fahrzeuge, die als „d“ bezeichnet sind, wurden nicht in eine der Warteschlangen kategorisiert und somit werden Mitteilungen von diesen Fahrzeugen verworfen. In dem Beispiel von 5 weisen die Hochprioritätswarteschlange 48 und die Niedrigprioritätswarteschlange 50 jeweils fünf Plätze für RVs auf.
-
Mit Bezugnahme auf 5 wurden die fünf RVs, die das HV umgeben, das heißt 20-1 bis 20-6, in die Hochprioritätswarteschlange 48 kategorisiert und als „hp“ bezeichnet. Zusätzlich wurden die nächsten drei Fahrzeuge, die vor dem HV fahren, das heißt 20-7 bis 20-9, in die Niedrigprioritätswarteschlange 50 kategorisiert und als „lp“ bezeichnet. Zusätzlich wurden die zwei nächsten Fahrzeuge zu dem RV, die in die entgegengesetzte Richtung fahren, das heißt 20-11 und 20-13, ebenso in die Niedrigprioritätswarteschlange 50 kategorisiert und als „lp“ bezeichnet. Die verbleibenden Fahrzeuge, das heißt 20-10, 20-11, 20-12 und 20-14 bis 20-16, sind nicht in eine der Warteschlangen kategorisiert und Mitteilungen von diesen Fahrzeugen würden verworfen werden.
-
Die vorstehende Beschreibung der Ausführungsbeispiele wurde zum Zwecke der Darstellung und der Beschreibung bereitgestellt. Diese ist nicht dazu gedacht, erschöpfend zu sein oder die Offenbarung zu beschränken. Individuelle Elemente oder Merkmale eines bestimmten Ausführungsbeispiels sind allgemein nicht auf dieses bestimmte Ausführungsbeispiel beschränkt, sondern sind, wenn anwendbar, untereinander austauschbar und können in einem ausgewählten Ausführungsbeispiel verwendet werden, auch wenn dies nicht speziell gezeigt oder beschrieben ist. Dieselben können ebenso auf verschiedene Weisen variiert werden. Solche Variationen sind nicht als Abweichung von der Offenbarung zu betrachten und alle solchen Modifikationen sind dazu gedacht, innerhalb des Umfangs der Offenbarung umfasst zu sein.
-
Beispielhafte Ausführungsbeispiele sind bereitgestellt, sodass diese Offenbarung ausführlich sein wird und den Umfang den Fachmännern ausführlich vermittelt. Zahlreiche spezifische Details sind dargelegt, wie etwa Beispiele von spezifischen Komponenten, Einrichtungen und Verfahren, um ein umfassendes Verständnis von Ausführungsbeispielen der vorliegenden Offenbarung bereitzustellen. Es ist für den Fachmann offensichtlich, dass spezifische Details nicht eingesetzt werden müssen, dass beispielhafte Ausführungsbeispiele in vielen unterschiedlichen Formen verkörpert werden können, und dass keine davon ausgelegt werden sollten, um den Umfang der Offenbarung zu beschränken. In manchen beispielhaften Ausführungsbeispielen sind bekannte Prozesse, bekannte Einrichtungsstrukturen und bekannte Technologien nicht im Detail beschrieben.
-
Die hierin verwendete Terminologie dient zum Zweck der Beschreibung von bestimmten beispielhaften Ausführungsbeispielen und ist nicht dazu gedacht, beschränkend zu sein. Wie hierin verwendet, ist vorgesehen, dass singuläre Formen wie „ein“, „eine“, „einer“ und „der“, „die“, „das“ die mehrzahlige Form ebenso umfassen, solange der Kontext nicht eindeutig etwas Anderes angibt. Die Ausdrücke „weist auf“, „umfasst“, „enthält“ und „beinhaltet“ sind inklusiv und spezifizieren deshalb das Vorhandensein der dargelegten Merkmale, Ganzzahlen, Schritte, Operationen, Elemente und/oder Komponenten, aber schließen nicht das Vorhandensein oder die Hinzufügung von einem oder mehreren anderen Merkmalen, Ganzzahlen, Schritten, Operationen, Elementen und Komponenten und/oder Gruppen von diesen aus. Die Verfahrensschritte, Prozesse und Operationen, die hierin beschrieben sind, sind nicht derart auszulegen, dass deren Performanz in der bestimmten diskutierten oder dargestellten Reihenfolge erforderlich ist, solange dies nicht speziell als eine Reihenfolge einer Performanz identifiziert ist. Es ist ebenso zu verstehen, dass zusätzliche oder alternative Schritte eingesetzt werden können.
-
Wenn ein Element oder eine Schicht als „auf“, „im Eingriff mit“, „verbunden mit“, „gekoppelt mit“ einem anderen Element oder einer Schicht bezeichnet wird, kann dieses direkt auf, im Eingriff mit, verbunden mit, oder gekoppelt mit dem anderen Element oder der Schicht sein, oder dazwischenliegende Elemente oder Schichten können vorhanden sein. Im Gegensatz dazu, wenn ein Element als „direkt auf“, „direkt im Eingriff mit“, „direkt verbunden mit“, oder „direkt gekoppelt mit“ einem anderen Element oder einer Schicht bezeichnet ist, gibt es keine dazwischenliegenden Elemente oder Schichten. Andere Wörter, die zum Beschreiben der Beziehung zwischen Elementen verwendet werden, sollten auf eine ähnliche Weise interpretiert werden (zum Beispiel „zwischen“ im Vergleich mit „direkt dazwischen“, „neben“ im Vergleich mit „direkt daneben“, usw.). Wie hierin verwendet, umfasst der Ausdruck „und/oder“ jegliche und alle Kombinationen von einem oder mehreren der dazugehörigen aufgelisteten Elemente.
-
Obwohl die Ausdrücke erste, zweite, dritte usw. hierin verwendet werden, um verschiedene Elemente, Komponenten, Regionen, Schichten und/oder Abschnitte zu beschreiben, sind diese Elemente, Komponenten, Regionen, Schichten und/oder Abschnitte nicht auf diese Ausdrücke zu beschränken. Diese Ausdrücke könnten nur verwendet werden, um ein Element, eine Komponente, Region, Schicht oder einen Abschnitt von einer anderen Region, Schicht oder Abschnitt zu unterscheiden. Ausdrücke wie „erste“, „zweite“ und andere numerische Ausdrücke, wenn diese hierin verwendet werden, implizieren keine Abfolge oder Reihenfolge, solange dies nicht durch den Kontext klar angegeben ist. Somit könnte ein erstes Element, Komponente, Region, Schicht oder Abschnitt, wie nachstehend diskutiert, als zweites Element, Komponente, Region, Schicht oder Abschnitt bezeichnet werden, ohne von den Lehren der beispielhaften Ausführungsbeispiele abzuweichen.
-
Räumlich relative Ausdrücke, wie etwa „innere“, „äußere“, „unterhalb“, „unter“, „niedriger“, „über“, „obere“ und Ähnliches können hierin der Einfachheit halber verwendet werden, um eine Beziehung eines Elementes oder eines Merkmals zu einem anderen Element oder Merkmal oder anderen Elementen oder Merkmalen zu beschreiben, wie in den Figuren dargestellt ist. Es ist vorgesehen, dass räumlich relative Ausdrücke verschiedene Ausrichtungen der Einrichtung in deren Verwendung oder Operation zusätzlich zu der in den Figuren dargestellten Ausrichtung umfassen. Zum Beispiel, wenn die Einrichtung in den Figuren umgedreht wird, werden Elemente, die als „unter“ oder „unterhalb“ beschrieben sind, dann „über“ den anderen Elementen oder Merkmalen angeordnet. Somit kann der beispielhafte Ausdruck „unter“ sowohl eine Ausrichtung von über als auch von unter umfassen. Die Einrichtung kann anderweitig ausgerichtet sein (um 90 Grad gedreht oder bei anderen Ausrichtungen) und die räumlich relativen Beschreibungen, die hierin verwendet sind, können dementsprechend interpretiert werden.
-
In dieser Anmeldung, inklusive der nachstehenden Definitionen, könnte der Ausdruck „Modul“ oder der Ausdruck „Steuerung“ durch den Ausdruck „Schaltung“ ersetzt werden. Der Ausdruck „Modul“ kann sich beziehen auf und Teil sein von, oder umfassen: eine anwendungsspezifische integrierte Schaltung (ASIC); eine digitale, analoge oder gemischt analoge/digitale diskrete Schaltung; eine digitale, analoge oder gemischt analoge/digitale integrierte Schaltung; eine kombinatorische Logikschaltung; ein feldprogrammierbares Gate-Array (FPGA); eine Prozessorschaltung (geteilt, dediziert oder Gruppe), die einen Code ausführt; eine Speicherschaltung (geteilt, dediziert oder Gruppe), die einen Code speichert, der durch die Prozessorschaltung ausgeführt wird; andere geeignete Softwarekomponenten, die die hierin beschriebene Funktionalität bereitstellen; oder eine Kombination von manchen oder allen der Systeme, wie in einem System-On-Chip.
-
Das Modul kann eine oder mehrere Schnittstellenschaltungen umfassen. In manchen Ausführungsbeispielen kann die Schnittstellenschaltung drahtgebundene oder drahtlose Schnittstellen umfassen, die mit einem Nahbereichsnetzwerk (LAN), dem Internet, einem Weitbereichsnetzwerk (WAN), oder Kombinationen von diesen verbunden sind. Die Funktionalität von irgendeinem gegebenen Modul der vorliegenden Offenbarung kann unter mehreren Modulen, die über Schnittstellenschaltungen verbunden sind, verteilt sein. Zum Beispiel können mehrere Module einen Lastabgleich ermöglichen. In einem weiteren Beispiel kann ein Servermodul (ebenso als entferntes Modul oder Cloud-Modul bekannt) manche Funktionalität anstelle eines Klienten-Moduls bewerkstelligen.
-
Der Ausdruck Code, wie vorstehend verwendet, kann Software, Firmware und/oder Mikrocode umfassen, und kann sich auf Programme, Routinen, Funktionen, Klassen, Datenstrukturen und/oder Objekte beziehen. Der Ausdruck geteilte Prozessorschaltung umfasst eine einzelne Prozessorschaltung, die manche oder allen Code von mehreren Modulen ausführt. Der Ausdruck Gruppenprozessorschaltung umfasst eine Prozessorschaltung, die, in Kombination mit zusätzlichen Prozessorschaltungen, manchen oder allen Code von einem oder mehreren Modulen ausführt. Bezugnahmen auf mehrere Prozessorschaltungen umfassen mehrere Prozessorschaltungen auf diskreten Matrizen, mehrere Prozessorschaltungen auf einer einzelnen Matrize, mehrere Kerne einer einzelnen Prozessorschaltung, mehrere Threads einer einzelnen Prozessorschaltung oder eine Kombination der Vorstehenden. Der Ausdruck geteilte Speicherschaltung umfasst eine einzelne Speicherschaltung, die manchen oder allen Code von mehreren Modulen speichert. Der Ausdruck Gruppenspeicherschaltung umfasst eine Speicherschaltung, die, in Kombination mit zusätzlichen Speichern, manchen oder allen Code von einem oder mehreren Modulen speichert.
-
Der Ausdruck Speicherschaltung ist ein Untersatz des Ausdrucks computerlesbares Medium. Der Ausdruck computerlesbares Medium, wie hierin verwendet, umfasst nicht transitorische bzw. flüchtige elektrische oder elektromagnetische Signale, die sich durch ein Medium verbreiten (wie etwa auf einer Trägerwelle); der Ausdruck computerlesbares Medium kann daher als greifbar und nichtflüchtig verstanden werden. Nicht beschränkende Beispiele eines nichtflüchtigen, greifbaren computerlesbaren Mediums sind nichtflüchtige Speicherschaltungen (zum Beispiel eine Flash-Memory-Schaltung, eine löschbare programmierbare Festwertspeicherschaltung, oder eine maskierte Festwertspeicherschaltung), flüchtige Speicherschaltungen (wie etwa eine statische Direktzugriffspeicherschaltung oder eine dynamische Direktzugriffsspeicherschaltung), magnetische Speichermedien (wie etwa ein analoges oder digitales Magnetband oder ein Festplattenlaufwerk) und optische Speichermedien (zum Beispiel eine CD, eine DVD, eine Blu-ray Disk).
-
Die Vorrichtungen und Verfahren, die in dieser Anmeldung beschrieben sind, können teilweise oder vollständig durch einen Spezialzweckcomputer implementiert werden, der durch Konfigurieren eines Allzweckcomputers erzeugt wird, um eine oder mehrere bestimmte Funktionen, die in Computerprogrammen verkörpert sind, auszuführen. Die funktionalen Blöcke, Ablaufkomponenten und andere Elemente, die vorstehend beschrieben sind, dienen als Softwarespezifikationen, die in die Computerprogramme durch die Routinearbeit eines geschulten Technikers oder Programmierers übersetzt werden können.
-
Die Computerprogramme umfassen prozessorausführbare Anweisungen, die auf zumindest einem nichtflüchtigen, greifbaren computerlesbaren Medium gespeichert sind. Die Computerprogramme können ebenso gespeicherte Daten umfassen oder auf diesen beruhen. Die Computerprogramme können ein Basiseingabe-/Ausgabesystem (BIOS), das mit Hardware des Spezialweckcomputers interagiert, Einrichtungstreiber, die mit bestimmten Einrichtungen des Spezialzweckcomputers interagieren, eines oder mehrere Betriebssysteme, Benutzeranwendungen, Hintergrunddienste, Hintergrundanwendungen, usw. umfassen.
-
Die Computerprogramme können umfassen: (i) einen beschreibenden Text, der zu analysieren ist, wie etwa HTML („Hypertext Markup Language“), XML („Extendible Markup Language“), oder JSON („JavaScript Object Notation“), (ii) Assemblercode, (iii) Objektcode, der von einem Sourcecode durch einen Compiler erzeugt wird, (iv) Sourcecode zum Ausführen durch einen Interpretierer, (v) Sourcecode zum Kompilieren und Ausführen durch einen „Just-in-time-Compiler“, usw. Lediglich als Beispiel kann Sourcecode unter Verwendung einer Syntax von Sprachen inklusive C, C++, C#, Objective-C, Swift, Haskell, Go, SQL, R, Lisp, Java®, Fortran, Perl, Pascal, Curl, OCaml, Javascript®, HTML5 (Hypertext Markup Language, 5. Version), Ada, ASP (Active Server Pages), PHP (PHP: Hypertext Preprocessor), Scala, Eiffel, Smalltalk, Erlang, Ruby, Flash®, Visual Basic®, Lua, MATLAB, SIMULINK und Python® geschrieben werden.
-
Keines der Elemente, das in den Ansprüchen genannt ist, ist als ein „Means-plus-Function“-Element gemäß 35 U.S.C. §112(f) zu verstehen, solange ein Element nicht ausdrücklich unter Verwendung des Ausdrucks „Means for“ bzw. „Einrichtung zum“, oder in dem Fall eines Verfahrensanspruchs, unter Verwendung des Ausdrucks „Operation for“ oder „Step for“ bzw. „Operation zum“ oder „Schritt zum“ beschrieben ist.
-
Kommunikationssysteme und Verfahren für ein Fahrzeug (10) sind bereitgestellt und umfassen einen Speicher (46), der eine Hochprioritätswarteschlange (48) und eine Niedrigprioritätswarteschlange (50) speichert, wobei die Hochprioritätswarteschlange (48) erste Kommunikationsmitteilungen von ersten entfernten Fahrzeugen speichert, und die Niedrigprioritätswarteschlange (50) zweite Kommunikationsmitteilungen von zweiten entfernten Fahrzeugen speichert. Eine Steuerung (40) empfängt eine Kommunikationsmitteilung von einem entfernten Fahrzeug, wendet Filterkriterien auf die Kommunikationsmitteilung von entfernten Fahrzeugen an und speichert die Kommunikationsmitteilung in einer der Hochprioritätswarteschlange (48) oder der Niedrigprioritätswarteschlange (50) basierend auf der Anwendung der Filterkriterien. Die Steuerung (40) verarbeitet und dekodiert die ersten Kommunikationsmitteilungen in der Hochprioritätswarteschlange (48) bei einer ersten Verarbeitungsrate und verarbeitet und dekodiert die zweiten Kommunikationsmitteilungen in der Niedrigprioritätswarteschlange (50) bei einer zweiten Verarbeitungsrate. Die erste Verarbeitungsrate ist höher als die zweite Verarbeitungsrate.