Systems and methods for autonomous vehicle navigation
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2026-02-10
- Publication Date
- 2026-08-13
Smart Images

Figure US2026014696_13082026_PF_FP_ABST
Abstract
Description
MCC Ref. No.: 103362-087WO1 SYSTEMS AND METHODS FOR AUTONOMOUS VEHICLE NAVIGATION CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims the benefit of U.S. provisional patent application No. 63 / 756,399, filed on February 10, 2025, and titled " SYSTEMS AND METHODS FOR AUTONOMOUS VEHICLE NAVIGATION," the disclosure of which is expressly incorporated herein by reference in its entirety.BACKGROUND
[0002] Autonomous vehicles can navigate between two points without a human driver, or with limited human input. Satellite navigation can be used to track the position of autonomous vehicles and provide navigation guidance to the autonomous vehicles.Autonomous vehicles can also include sensors, computer systems, and communication systems, which can be used to identify obstacles, perform collision avoidance, and navigate while the autonomous vehicle is traversing a route. Autonomous vehicles can also operate in and around smart infrastructure systems and other autonomous vehicles.
[0003] Systems and methods for using autonomous vehicles with different combinations of smart infrastructure, satellite navigation, and / or autonomous vehicle sensors can improve navigation.SUMMARY
[0004] In some aspects, implementations of the present disclosure include an autonomous vehicle, including: a vehicle control system including a processor and a memory operably coupled to the processor, the memory having computer-executable instructions stored thereon that, when executed by the processor, cause the processor to: continuouslyMCC Ref. No.: 103362-087WO1 monitor availability of a satellite navigation system; in response to the satellite navigation system being unavailable, receive dead reckoning information from the autonomous vehicle; and determine, based on the dead reckoning information, an estimated location of the autonomous vehicle.
[0005] In some aspects, implementations of the present disclosure include an autonomous vehicle, wherein the memory has further computer-executable instructions stored thereon, that when executed by the processor, cause the processor to receive a navigation signal from a communication system, and wherein determining the estimated location of the autonomous vehicle is at least partially based on the navigation signal.
[0006] In some aspects, implementations of the present disclosure include an autonomous vehicle, wherein determining, based on the navigation signal and the dead reckoning information, an estimated location of the autonomous vehicle includes using Vehicle-to-Everything (V2X) map data, the V2X map data including locations of a plurality of smart infrastructure devices configured to broadcast navigation signals.
[0007] In some aspects, implementations of the present disclosure include an autonomous vehicle, wherein the navigation signal is broadcast by a roadside unit,
[0008] In some aspects, implementations of the present disclosure include an autonomous vehicle, wherein the navigation signal is broadcast by an AIM (Autonomous intersection management) system.
[0009] In some aspects, implementations of the present disclosure include an autonomous vehicle, wherein the navigation signal is broadcast by a STL (smart traffic light).MCC Ref. No.: 103362-087WO1
[0010] In some aspects, implementations of the present disclosure include an autonomous vehicle, wherein the memory has further computer-executable instructions stored thereon that, when executed by the processor, cause the processor to detect that the satellite navigation system is available and, upon detecting that the satellite navigation system is available, control the autonomous vehicle based on the satellite navigation system.
[0011] In some aspects, implementations of the present disclosure include an autonomous vehicle, wherein the satellite navigation system is a Global Positioning System.
[0012] In some aspects, implementations of the present disclosure include an autonomous vehicle, wherein the dead reckoning information includes a turn rate and an acceleration of the autonomous vehicle.
[0013] In some aspects, implementations of the present disclosure include an autonomous vehicle, wherein the dead reckoning information includes a position, orientation, and velocity of the autonomous vehicle.
[0014] In some aspects, implementations of the present disclosure include an autonomous vehicle, wherein the memory has further computer-executable instructions stored thereon that, when executed by the processor, cause the processor to control the autonomous vehicle based on the estimated location.
[0015] In some aspects, implementations of the present disclosure include a computer- implemented method for performing navigation for an autonomous vehicle, the method including: determining that a satellite navigation system is unavailable; receiving dead reckoning information from the autonomous vehicle; receiving a navigation signal; andMCC Ref. No.: 103362-087WO1 determining, based on the dead reckoning information, an estimated location of the autonomous vehicle.
[0016] In some aspects, implementations of the present disclosure include a computer-implemented method, further including receiving a navigation signal, and wherein determining the estimated location of the autonomous vehicle is at least partially based on the navigation signal.
[0017] In some aspects, implementations of the present disclosure include a computer- implemented method, wherein the navigation signal is broadcast by a roadside unit.
[0018] In some aspects, implementations of the present disclosure include a computer- implemented method, wherein the navigation signal is broadcast by a second autonomous vehicle.
[0019] In some aspects, implementations of the present disclosure include a computer- implemented method, wherein the navigation signal is broadcast by a mobile device.
[0020] In some aspects, implementations of the present disclosure include a computer- implemented method, further including controlling the autonomous vehicle based on the estimated location.
[0021] In some aspects, implementations of the present disclosure include a computer- implemented method, wherein determining an estimated location of the autonomous vehicle includes using a V2X map, the V2X map including locations of a plurality of smart infrastructure devices configured to broadcast navigation signals.
[0022] In some aspects, implementations of the present disclosure include a computer- implemented method, further including detecting that the satellite navigation system isMCC Ref. No.: 103362-087WO1 available and, upon detecting that the satellite navigation system is available, control the vehicle based on the satellite navigation system.
[0023] In some aspects, implementations of the present disclosure include a computer-implemented method, wherein the satellite navigation system is a Global Positioning System.
[0024] In some aspects, implementations of the present disclosure include a computer-implemented method, wherein the dead reckoning information includes a turn rate and an acceleration of the autonomous vehicle.
[0025] In some aspects, implementations of the present disclosure include a computer- implemented method, wherein the dead reckoning information includes a position, orientation, and velocity of the autonomous vehicle.
[0026] In some aspects, implementations of the present disclosure include a system for performing navigation for an autonomous vehicle, the system including: an autonomous vehicle; a communication system; and a vehicle control system operably coupled to the autonomous vehicle, the vehicle control system including a processor and a memory operably coupled to the processor, the memory having computer-executable instructions stored thereon that, when executed by the processor, cause the processor to: continuously monitor availability of a satellite navigation system; in response to the satellite navigation system being unavailable, receive dead reckoning information from the autonomous vehicle; receive a navigation signal by the communication system; and determine, based on the navigation signal and the dead reckoning information, an estimated location of the autonomous vehicle.
[0027] In some aspects, implementations of the present disclosure include a vehicle control system, including: a processor; and a memory operably coupled to the processor, theMCC Ref. No.: 103362-087WO1 memory having computer-executable instructions stored thereon that, when executed by the processor, cause the processor to: continuously monitor availability of a satellite navigation system; in response to the satellite navigation system being unavailable, receive dead reckoning information from an autonomous vehicle; receive a navigation signal from a communication system; and determine, based on the navigation signal and the dead reckoning information, an estimated location of the autonomous vehicle.
[0028] In some aspects, implementations of the present disclosure include an autonomous vehicle, including: a vehicle control system including a processor and a memory operably coupled to the processor, the memory having computer-executable instructions stored thereon that, when executed by the processor, cause the processor to: receive sensor data from one or more vehicle sensors; determine, a plurality of vehicle positions for a plurality of time steps based on the sensor data; generate an arc representing the position of the autonomous vehicle over time; and determine a location of the autonomous vehicle by comparing the arc to a map.
[0029] In some aspects, implementations of the present disclosure include an autonomous vehicle, wherein the sensor data includes at least one of: wheel speed data, yaw rate data, and steering data.
[0030] In some aspects, implementations of the present disclosure include an autonomous vehicle, wherein the memory has further computer-executable instructions stored thereon that, when executed by the processor, cause the processor to: continuously monitor availability of a satellite navigation system, and navigate the vehicle based on the arc in response to detecting the satellite navigation system is unavailable.MCC Ref. No.: 103362-087WO1
[0031] In some aspects, implementations of the present disclosure include an autonomous vehicle, wherein comparing the arc to a map includes calculating a Euclidean distance between a known position and a plurality of lane centerlines of the map.
[0032] In some aspects, implementations of the present disclosure include an autonomous vehicle, wherein the plurality of vehicle positions are revised based on the location.
[0033] In some aspects, implementations of the present disclosure include an autonomous vehicle, wherein the memory has further computer-executable instructions stored thereon that, when executed by the processor, cause the processor to: detect a lane change based on the location.
[0034] In some aspects, implementations of the present disclosure include an autonomous vehicle, wherein the memory has further computer-executable instructions stored thereon that, when executed by the processor, cause the processor to: evaluate a plurality of candidate lanes and determine, based on the arc, a new lane for the autonomous vehicle.
[0035] In some aspects, implementations of the present disclosure include a computer- implemented navigation method including: receiving sensor data from one or more vehicle sensors of an autonomous vehicle; determining, a plurality of vehicle positions for a plurality of time steps based on the sensor data; generating an arc representing the position of the autonomous vehicle over time; and determining a location of the autonomous vehicle by comparing the arc to a map.MCC Ref. No.: 103362-087WO1
[0036] In some aspects, implementations of the present disclosure include a computer-implemented navigation method, wherein the sensor data includes at least one of: wheel speed data, yaw rate data, and steering data.
[0037] In some aspects, implementations of the present disclosure include a computer-implemented navigation method, wherein the memory has further computer-executable instructions stored thereon that, when executed by the processor, cause the processor to: continuously monitor availability of a satellite navigation system, and navigate the vehicle based on the arc in response to detecting the satellite navigation system is unavailable.
[0038] In some aspects, implementations of the present disclosure include a computer- implemented navigation method, wherein comparing the arc to a map includes calculating a Euclidean distance between a known position and a plurality of lane centerlines of the map.
[0039] In some aspects, implementations of the present disclosure include a computer- implemented navigation method, wherein the plurality of vehicle positions are revised based on the location.
[0040] In some aspects, implementations of the present disclosure include a computer- implemented navigation method, wherein the memory has further computer-executable instructions stored thereon that, when executed by the processor, cause the processor to: detect a lane change based on the location.
[0041] In some aspects, implementations of the present disclosure include a computer- implemented navigation method, wherein the memory has further computer-executable instructions stored thereon that, when executed by the processor, cause the processor to:MCC Ref. No.: 103362-087WO1 evaluate a plurality of candidate lanes and determine, based on the arc, a new lane for the autonomous vehicle.
[0042] In some aspects, implementations of the present disclosure include a vehicle control system including: one or more vehicle sensors; a processor; and a memory operably coupled to the processor, the memory having computer-executable instructions stored thereon that, when executed by the processor, cause the processor to: implement the computer- implemented method.
[0043] It should be understood that the above-described subject matter may also be implemented as a computer-controlled apparatus, a computer process, a computing system, or an article of manufacture, such as a computer-readable storage medium.
[0044] Other systems, methods, features and / or advantages will be or may become apparent to one with skill in the art upon examination of the following drawings and detailed description. It is intended that all such additional systems, methods, features and / or advantages be included within this description and be protected by the accompanying claims.BRIEF DESCRIPTION OF THE DRAWINGS
[0045] The components in the drawings are not necessarily to scale relative to each other. Like reference numerals designate corresponding parts throughout the several views.
[0046] FIG. 1A illustrates a system block diagram of a system for autonomous vehicle navigation, according to implementations of the present disclosure.
[0047] FIG. 1B illustrates a system block diagram of a system for autonomous vehicle navigation, according to implementations of the present disclosure.MCC Ref. No.: 103362-087WO1
[0048] FIG. 1C illustrates a system block diagram of a system for autonomous vehicle navigation, according to implementations of the present disclosure.
[0049] FIG. 2A illustrates a method of performing autonomous vehicle navigation, according to implementations of the present disclosure.
[0050] FIG. 2B illustrates a method of performing autonomous vehicle navigation, according to implementations of the present disclosure.
[0051] FIG. 2C illustrates a method of performing autonomous vehicle navigation, according to implementations of the present disclosure.
[0052] FIG. 3 illustrates an example V2X map, according to implementations of the present disclosure.
[0053] FIG. 4 illustrates an example of dead-reckoning positioning and a V2x map of an intersection, according to implementations of the present disclosure.
[0054] FIG. 5 is an example computing device.
[0055] FIG. 6 illustrates an example localization method, according to implementations of the present disclosure.
[0056] FIG. 7 illustrates an example algorithm for lane detection, classification, and lane change, according to an example implementation of the present disclosure.
[0057] FIG. 8 illustrates results of a study showing Dead reckoning(DR) and SLAM that show significant drift at a Y-intersection scenario compared to GPS ground truth in GPS-denied conditions.MCC Ref. No.: 103362-087WO1
[0058] FIG. 9 illustrates an example test with ground truth dual GPS antennas Novatel PwrPak7D-E2 and ZED stereo Camera for SLAM, according to a study of an example implementation of the present disclosure.
[0059] FIG. 10 illustrates correcting dead reckoning localization estimate through static map matching using arc length map matching, according to a study of an example implementation of the present disclosure.
[0060] FIG. 11 illustrates a comparison of Map Matching (MM), GPS, Dead Reckoning (DR) trajectories across nine driving scenarios, according to a study of an example implementation of the present disclosure.
[0061] FIG. 12 illustrates a representative vehicle showing test vehicle length and width
[0062] FIG. 13 illustrates a Two-Dimensional Map showing points lying on the lane center, while the black lines connecting the circles indicate the approximate center line of the lane.
[0063] FIG. 14 illustrates example scenario 1 including a four-way intersection right turn, according to a study of an example implementation of the present disclosure.
[0064] FIG. 15 illustrates error distribution for scenario 1 and Q-Q plots in X and Y directions, according to a study of an example implementation of the present disclosure.
[0065] FIG. 16 illustrates example scenario 2 including a Four-way Intersection Left Turn, according to a study of an example implementation of the present disclosure.
[0066] FIG. 17 illustrates error distribution and Q.-Q plots in X and Y direction for scenario 2, according to a study of an example implementation of the present disclosure.MCC Ref. No.: 103362-087WO1
[0067] FIG. 18 illustrates example Scenario 3 including a Four-way Intersection straight, according to a study of an example implementation of the present disclosure.
[0068] FIG. 19 illustrates error distribution and Q. -Q plots in X and Y directions for Scenario 3, according to a study of an example implementation of the present disclosure.
[0069] FIG. 20 illustrates scenario 4 including a T-Intersection Right Turn, according to a study of an example implementation of the present disclosure.
[0070] FIG. 21 illustrates scenario 4 error distribution and Q.-Q. plots in X and Y directions, according to a study of an example implementation of the present disclosure.
[0071] FIG. 22 illustrates scenario 5 including a T-Intersection Left Turn, according to a study of an example implementation of the present disclosure.
[0072] FIG. 23 illustrates error distribution and Q-Q plots in X and Y directions for scenario 5, according to a study of an example implementation of the present disclosure.
[0073] FIG. 24 illustrates scenario 6 including a Y-Intersection Left Turn, according to a study of an example implementation of the present disclosure.
[0074] FIG. 25 illustrates error distribution and Q.-Q. plots in X and Y directions for Scenario 6, according to a study of an example implementation of the present disclosure.
[0075] FIG. 26 illustrates Y-Intersection Right Turn for scenario 7, according to a study of an example implementation of the present disclosure.
[0076] FIG. 27 illustrates error distribution and Q-Q plots in X and Y directions for Scenario 7, according to a study of an example implementation of the present disclosure.
[0077] FIG. 28 illustrates scenario 8 including a Round About Right Turn, according to a study of an example implementation of the present disclosure.MCC Ref. No.: 103362-087WO1
[0078] FIG. 29 illustrates error distribution and Q-Q plots in X and Y directions for Scenario 8, according to a study of an example implementation of the present disclosure.
[0079] FIG. 30 illustrates scenario 9 including a Round About Straight, according to a study of an example implementation of the present disclosure.
[0080] FIG. 31 illustrates error distribution and Q-Q plots in X and Y directions for scenario 9, according to a study of an example implementation of the present disclosure.
[0081] FIG. 32 illustrates Scenario 10 Round About Left Turn, according to a study of an example implementation of the present disclosure.
[0082] FIG. 33 illustrates error distribution and Q — Q plots in X and Y directions for scenario 10, according to a study of an example implementation of the present disclosure.
[0083] FIG. 34 illustrates Scenario 11 including a Round About U-Turn, according to a study of an example implementation of the present disclosure.
[0084] FIG. 35 illustrates error distribution and Q-Q plots in X and Y directions for Scenario 11, according to a study of an example implementation of the present disclosure.
[0085] FIG. 36 illustrates Scenario 12 including a Slip Lane, according to a study of an example implementation of the present disclosure.
[0086] FIG. 37 illustrates error distribution and Q-Q plots in X and Y directions for Scenario 12, according to a study of an example implementation of the present disclosure.
[0087] FIG. 38 illustrates Scenario 13 including a Staggered Intersection, according to a study of an example implementation of the present disclosure.
[0088] FIG. 39 illustrates error distribution and Q -Q plots in X and Y directions for scenario 13, according to a study of an example implementation of the present disclosure.MCC Ref. No.: 103362-087WO1
[0089] FIG. 40 illustrates Scenario 14 including a Curved Road, according to a study of an example implementation of the present disclosure.
[0090] FIG. 41 illustrates error distribution and Q-Q plots in X and Y directions for Scenario 14, according to a study of an example implementation of the present disclosure.
[0091] FIG. 42 illustrates Root Mean Square error (RMSE) for all scenarios, according to a study of an example implementation of the present disclosure.
[0092] FIG. 43 illustrates arc-length-based map matching failing in lane change scenarios, according to a study of an example implementation of the present disclosure.
[0093] FIG. 44 illustrates dynamic lane identification for map matching, according to a study of an example implementation of the present disclosure.
[0094] FIG. 45 illustrates an example test setup, according to a study of an example implementation of the present disclosure.
[0095] FIG. 46 illustrates a Lane Change Detection Block Diagram crossing, according to a study of an example implementation of the present disclosure.
[0096] FIG. 47A illustrates trajectories of kinematics, SLAM and Map matching in a left turn scenario, according to a study of an example implementation of the present disclosure.
[0097] FIG. 47B illustrates trajectories of kinematics, SLAM and Map matching in a right turn scenario, according to a study of an example implementation of the present disclosure.
[0098] FIG. 47C illustrates trajectories of kinematics, SLAM and Map matching in a swerving scenario, according to a study of an example implementation of the present disclosure.MCC Ref. No.: 103362-087WO1
[0099] FIG. 47D illustrates trajectories of kinematics, SLAM and Map in a long run scenario, according to a study of an example implementation of the present disclosure.
[0100] FIG. 48A illustrates lane change detection in a left turn scenario, according to a study of an example implementation of the present disclosure.
[0101] FIG. 48B illustrates lane change detection in a right turn scenario, according to a study of an example implementation of the present disclosure.
[0102] FIG. 48C illustrates lane change detection in a swerving scenario, according to a study of an example implementation of the present disclosure.
[0103] FIG. 48D illustrates lane change detection in a long run scenario, according to a study of an example implementation of the present disclosure.
[0104] FIG. 49A illustrates Error of kinematics, SLAM and map matching in a left turn scenario, according to a study of an example implementation of the present disclosure.
[0105] FIG. 49B illustrates Error of kinematics, SLAM and map matching in a right turn scenario, according to a study of an example implementation of the present disclosure.
[0106] FIG. 49C illustrates Error of kinematics, SLAM and map matching in a swerving scenario, according to a study of an example implementation of the present disclosure.
[0107] FIG. 49D illustrates Error of kinematics, SLAM and map matching in a long run scenario, according to a study of an example implementation of the present disclosure.
[0108] FIG. 50A illustrates Error of kinematics, SLAM and map matching in a left turn scenario, according to a study of an example implementation of the present disclosure.
[0109] FIG. 50B illustrates Error of kinematics, SLAM and map matching in a right turn scenario, according to a study of an example implementation of the present disclosure.MCC Ref. No.: 103362-087WO1
[0110] FIG. 50C illustrates Error of kinematics, SLAM and map matching in a swerving scenario, according to a study of an example implementation of the present disclosure.
[0111] FIG. 50D illustrates Error of kinematics, SLAM and map matching in a long run scenario, according to a study of an example implementation of the present disclosure.DETAILED DESCRIPTION
[0112] Unless defined otherwise, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art. Methods and materials similar or equivalent to those described herein can be used in the practice or testing of the present disclosure. As used in the specification, and in the appended claims, the singular forms "a," "an," "the" include plural referents unless the context clearly dictates otherwise. The term "comprising" and variations thereof as used herein is used synonymously with the term "including" and variations thereof and are open, non-limiting terms. The terms "optional" or "optionally" used herein mean that the subsequently described feature, event or circumstance may or may not occur, and that the description includes instances where said feature, event or circumstance occurs and instances where it does not, Ranges may be expressed herein as from "about" one particular value, and / or to "about" another particular value. When such a range is expressed, an aspect includes from the one particular value and / or to the other particular value. Similarly, when values are expressed as approximations, by use of the antecedent "about," it will be understood that the particular value forms another aspect. It will be further understood that the endpoints of each of the ranges are significant both in relation to the other endpoint, and independently of the other endpoint. While implementations will be describedMCC Ref. No.: 103362-087WO1 for performing collision avoidance between autonomous vehicles in intersections, it will become evident to those skilled in the art that the implementations are not limited thereto, but are applicable for preventing collisions between other vehicle types, as well as preventing collisions between vehicles in locations other than intersections.
[0113] Described herein are systems and methods for performing navigation and control of autonomous vehicles at an intersection.
[0114] Implementations of the present disclosure improve the ability of autonomous vehicles to reliably perform navigation, including in situations where satellite navigation is interrupted or unavailable. Localization is a safety-critical requirement for an automated driving system. GPS is widely used as a reliable source of information. However, in GPS-denied environments such as signal disruptions in urban areas, alternative methods like dead reckoning and IMU can be used to provide a localization estimate. However, dead reckoning and IMU estimates suffer from drift that can only be corrected using fusion with GPS. The present disclosure includes systems and methods to fuse the kinematic model's temporal information with the spatial 2D map of the driving environment thus enabling localization in GPS-denied scenarios without relying on communication networks like 5G, V2X, WiFi, Zigbee, etc.
[0115] The present disclosure overcomes the limitations of conventional methods. For automated driving applications, vehicles have been equipped with diverse combinations of on-board vehicle sensors, GPS and offboard information from communication techniques like V2X, 5G network. Each hardware configuration comes with its own set of strengths and limitations owing to real-life scenarios like intersections, environmental conditions, traffic density, cost,MCC Ref. No.: 103362-087WO1 etc. Vehicle localization methods can be classified into four types based on their level of reliance on GPS availability. GPS-only methods use satellite signals to determine vehicle location but signal obstruction often causes delays, resulting in unreliable localization.
[0116] Conventional GPS-Based Cooperative Localization combines GPS with additional sensors including Inertial Measurement Units (IMU), cameras, Light Detection and Ranging (LiDAR), and Vehicle-To-Everything (V2X) communication, employing techniques like map matching and metrics such as Time of Arrival (TOA) and Angle of Arrival (AOA) to enhance positioning accuracy. Vehicle-to-vehicle (V2V) communication using TOA metrics has demonstrated improved GPS accuracy. Vision-based lane detection achieves centimeter-level precision with 0.73 m mean error, though performance depends on 3D map availability, lighting, and viewing angles. Radar-based SLAM provides high accuracy (RMSE: 0.07 m lateral, 0.38 m longitudinal) but lacks resilience in dynamic environments. Cooperative map matching significantly reduces GPS error from 15.48 m to 6.31 m. These methods represent significant progress toward overcoming GPS limitations.
[0117] Conventional Non-GPS-Based Cooperative Localization: Cooperative methods operate independently from GPS. The Time of Arrival (TOA) metric applied to signals from Roadside Units (RSUs) can effectively determine vehicle positioning. However, this approach is influenced by factors such as the vehicle's speed and traffic density, which increases the error of the localization estimate. LiDAR-based SLAM has shown high accuracy achieving 0.017 m lat and 0.033 m long RMSE although it depends on the availability of 3D prior map. Similarly, LiDAR map-based visual localization demonstrated high precision with errors of 0.014 m lat. and 0.019 m long.MCC Ref. No,: 103362-087WO1
[0118] Conventional Non-Cooperative Localization methods: These methods rely on single information sources. GPS-independent network-based localization using directional antenna-equipped RSUs has been employed, but it lacks wide applicability due to reliance on standard antenna patterns and performance issues at high speed. Zigbee and TOA-based positioning, including C-V2X, offer alternatives but face reliability issues in GPS-denied areas. LiDAR-based sensor localization offers precision but requires real-time processing. Dead reckoning, another non-cooperative approach, provides relatively precise positioning but is prone to error accumulation when GPS is unavailable, Differential wheel speeds, unaccounted roll dynamics, and surface variations can be major error sources.
[0119] These conventional methods face challenges in GPS-denied situations. To overcome the limitations of conventional systems and methods, kinematic dead reckoning is implemented in implementations of the present disclosure using measurements from the steering angle, steering rate, yaw rate, and wheel speed sensors onboard the vehicle. However, dead reckoning methods suffer from drift, The present disclosure provides an arc-length based map matching method that uses a digital 2D map of the scenario in order to correct drift in the dead reckoning estimate. The kinematic model's prediction is used to introduce a temporal notion to the spatial information available in the map data. Results show reliable improvement in drift for all GPS-denied scenarios tested in this study. This innovative approach ensures that automated vehicles can maintain continuous and reliable navigation, significantly enhancing their safety and operational reliability in environments where GPS signals are compromised or unavailable.MCC Ref. No.: 103362-087WO1
[0120] Implementations of the present disclosure address the issue of GPS unavailability in self-driving vehicles, a situation that poses significant safety and reliability concerns. In scenarios where GPS is accessible, the self-driving vehicle can navigate based on GPS coordinates. Conversely, in the absence of GPS, the example method can include activating alternative navigation strategies. An example alternative navigation strategy is dead reckoning. For example, dead reckoning can be performed in vehicles to estimate their position by integrating data from the vehicle's CAN bus system, specifically focusing on the vehicle's velocity, yaw rate, and last known position. Following this estimation, the derived position is then cross-referenced with pre-recorded GPS points available in V2X map data.
[0121] Subsequently, the method engages in map matching, where it compares the estimated position with the V2X map data. In cases where a match is not found, the system recalculates the vehicle's position and repeats the map-matching process. If there is a match, the vehicle then proceeds to follow the V2X map data for localization. After that, the method will continuously check for the GPS. If the GPS is available, the vehicle will follow the GPS point. If the GPS is not available, it will use the last known position and again start calculating using the dead reckoning. This example implementation ensures continuous and reliable navigation for self-driving vehicles, even in the absence of GPS signals.
[0122] The example implementation can be used to provide safety features for (LI, L2, and L3 autonomy) and safe (L3 and L4 autonomy) self-driving vehicles by vehicle manufacturers to make them safer to drive on the road. LI, L2, and L3 vehicles safety features can use this positioning to enhance safety.MCC Ref. No.: 103362-087WO1
[0123] Examples of how implementations of the present disclosure can improve safety include:
[0124] Collision Avoidance: Automatic Emergency Braking (AEB) engages the brakes autonomously when a potential crash is detected, improving its precision and dependability through the invented positioning technique that better gauges the vehicle's distance.
[0125] Forward Collision Warning (FCW) notifies the driver about an imminent collision with a vehicle ahead, with the positioning technique providing earlier and more accurate warnings. Rear Cross Traffic Alert helps drivers be aware of vehicles moving behind them while reversing, with the positioning method enhancing the accuracy of the alert system.
[0126] Adaptive Cruise Control (ACC): Adaptive Cruise Control (ACC) automatically adjusts the car's speed to maintain a safe distance from the vehicle ahead, becoming safer with the positioning method that accurately measures the gap.
[0127] Blind Spot Detection (BSD): Blind Spot Detection (BSD) signals the driver when another vehicle enters their blind spot, aiding safer lane changes. The positioning method allows for more precise detection of surrounding vehicles.
[0128] Advantageously, autonomous vehicles with Level 4 and Level 5 autonomy can use the systems and methods described herein to improve their reliability and performance. As used herein, level 4 autonomous vehicles are vehicles that can operate without human intervention under some conditions and level 5 autonomous vehicles are vehicles that can operate without human intervention under all conditions. Both level 4 and level 5 autonomous vehicles can use satellite navigation systems like GPS to follow waypoints to a destination. So in scenarios where GPS signals are unavailable, these vehicles may not be able to operate at theMCC Ref. No.: 103362-087WO1 same level of performance and / or reliability that is required. Implementations of the present disclosure can overcome these limitations by guiding the vehicles to their intended location while also enhancing collision safety measures.
[0129] FIG. 1A illustrates an example system 100 for performing navigation for an autonomous vehicle 102. The system 100 can include an autonomous vehicle 102, a vehicle control system 104, and a communication system 106. The vehicle control system 104 and communication system 106 can optionally include any or all of the components of the computing device 500 shown in FIG. 5.
[0130] The communication system 106 can be operably connected to any number of V2X devices 108. V2X encompasses communication technologies that allow vehicles to communicate with each other and with various elements of the transportation infrastructure. This includes Vehicle-to-Vehicle (V2V), Vehicle-to-Infrastructure (V2I), Vehicle-to-Pedestrian (V2P), and other forms of communication. As used herein, a " V2X device" refers to any or all of the following devices: Smart infrastructure devices (e.g., RSUs, smart traffic lights, etc.); pedestrian devices (e.g., mobile computing devices); and other vehicle control systems or communication systems. It should be understood that the present disclosure contemplates any combination of V2X devices 108 can be included in different implementations of the present disclosure.
[0131] The vehicle control system 104 can be operably coupled to a satellite navigation system 110 (e.g., GPS). Optionally the vehicle control system 104 includes one or more satellite receivers configured to receive signals from the satellite navigation system.MCC Ref. No.: 103362-087WO1
[0132] In some implementations of the present disclosure, the vehicle control system 104 is in operative communication with one or more vehicle sensors 112 of the autonomous vehicle 102. The vehicle sensors 112 can include any sensors configured to measure the position, orientation, velocity, rate of turn, vector, etc. of the autonomous vehicle 102. The output of the vehicle sensors 112 can be used to estimate the location of the autonomous vehicle over time as the autonomous vehicle moves. Optionally, the estimate of the location of the autonomous vehicle can be determined by the vehicle control system 104 based on dead reckoning, where the speed, direction, and duration of the autonomous vehicle's movements are used to calculate the amount that a vehicle has moved.
[0133] By estimating the location of the autonomous vehicle based on dead reckoning and the V2X devices, the systems described herein can optionally control an autonomous vehicle without the satellite navigation signal. Optionally, the systems described herein can be configured so that during periods when a satellite navigation signal is occluded or degraded (e.g., environments with buildings, overpasses, tunnels, etc.) the navigation of the autonomous vehicle can continue until the satellite navigation signal is available again. In some implementations, the vehicle can be configured to steer into a safe location and / or stop at a safe location depending on the length that the satellite navigation signal is unavailable.
[0134] FIG. 1B and FIG. 1C illustrate additional example systems according to implementations of the present disclosure.
[0135] In FIG. 1B, a Roadside Unit (RSU) (an example of a V2X device described in FIG.1A) exchanges vehicle-to-everything (V2X) information with the On-Board Unit (OBU) (an example of a vehicle control system 104 shown in Fig. 1A). The RSU transmits V2X map data toMCC Ref. No.: 103362-087WO1 the OBU, which is integrated with the vehicle's Controller Area Network (CAN) Bus. This map data is then transmitted onto the vehicle's CAN Bus. Following this, the microcontroller receives V2X information, along with data about the vehicle's speed and yaw rate. Using these parameters, a positioning algorithm determines the vehicle's location, and the V2X map data assists in map matching. The vehicle's position, as computed by the microcontroller, is then sent back to the vehicle's CAN Bus. The OBU then forwards this position back to the RSU for dissemination to other vehicles.
[0136] FIG. 1C illustrates another example system according to implementations of the present disclosure. In FIG. 1C, Roadside Units (RSUs) communicate V2X information with On- Board Units (OBUs). The RSU provides V2X map data to the OBU. The OBU then shares this V2X information with a computer or a vehicle server. This computer or server acquires the vehicle's velocity and yaw rate from the vehicle's CAN Bus. It houses an algorithm to calculate the vehicle's position. Once calculated, this position is relayed to the OBU, which in turn communicates it back to the RSU. In some implementations of the present disclosure, additional smart infrastructure devices (e.g., Autonomous intersection management systems and / or smart traffic lights) can be used as alternatives to, or in addition to, RSUs.
[0137] With reference to Fig. 2A and FIG. 2B, implementations of the present disclosure include methods for performing navigation using autonomous vehicles. Optionally, the methods of FIG. 2A and FIG. 2B can be performed using the systems shown and described in FIGS. 1A-1C.
[0138] FIG. 2A illustrates an example method 200. At step 210, the method includes continuously monitoring the availability of a satellite navigation system.MCC Ref. No.: 103362-087WO1
[0139] At step 220, the method includes receiving dead reckoning information from the autonomous vehicle. The dead reckoning information can be received in response to the satellite navigation system that is continuously monitored at step 210 being unavailable. As used herein, dead reckoning refers to determining the position of an object based on the change in position of an object (e.g., a moving vehicle) over time from a known point (e.g., a last position determined by a satellite navigation system). Non-limiting examples of information that can be used for dead reckoning include: a turn rate and an acceleration of the autonomous vehicle; and a position, orientation, and velocity of the autonomous vehicle. It should be understood that any of the types of dead reckoning information described herein can be used, for example an angular acceleration and a linear acceleration can be used to determine the rate of change of the angular velocity and linear velocity of the vehicle. Similarly, the angular velocity and linear velocity of the vehicle can be used to estimate the change in position of the vehicle. Finally, the corresponding time durations over which the accelerations and velocities take place is another non-limiting example of dead reckoning information.
[0140] Optionally the method can include receiving a navigation signal at step 230 in addition to the dead reckoning information. As described with reference to the system of FIGS.1A-1C, the navigation signal can be a signal from one or more V2X devices. Optionally, the navigation signal can include map data (e.g., the maps illustrated in FIGS. 3 and 4). A V2X map is a digital map that incorporates real-time information related to the surrounding environment, traffic conditions, road infrastructure, and other relevant data. For example, the V2X map can include GPS locations that correspond to locations of V2X devices, including the V2X device that broadcasts the navigation signal.MCC Ref. No.: 103362-087WO1
[0141] At step 240, the method includes determining, based on the dead reckoning information, an estimated location of the autonomous vehicle. Optionally, the estimated location of the autonomous vehicle can be based on a V2X map that indicates the location of V2X devices in physical space. In implementations of the present disclosure where a navigation signal is received from a V2X device, the navigation signal can optionally include information about the V2X device and / or location information of where the V2X device is in space.
[0142] Optionally, the method can include detecting that the satellite navigation system is available, and controlling the vehicle based on the satellite navigation system after detecting the satellite navigation system is available. Optionally, the method can further include reconciling the difference in position between the position estimated by dead reckoning, the position of the V2X devices, and the position received by the satellite navigation system (e.g., to improve the accuracy of the estimated position of the autonomous vehicle).
[0143] Example Implementation 1:
[0144] In a first example setup, the Roadside Unit (RSU) exchanges vehicle-to-everything (V2X) information with the On-Board Unit (OBU). The RSU transmits V2X map data to the OBU, which is integrated with the vehicle's Controller Area Network (CAN) Bus. This map data is then transmitted onto the vehicle's CAN Bus. Following this, the microcontroller receives V2X information, along with data about the vehicle's speed and yaw rate. Using these parameters, a positioning algorithm determines the vehicle's location, and the V2X map data assists in map matching. The vehicle's position, as computed by the microcontroller, is then sent back to the vehicle's CAN Bus. The OBU then forwards this position back to the RSU for dissemination to other vehicles.MCC Ref. No.: 103362-087WO1
[0145] In a second example setup, Roadside Units (RSUs) communicate V2X information with On-Board Units (OBUs). The RSU provides V2X map data to the OBU. The OBU then shares this V2X information with computer or a vehicle server. This computer or server acquires the vehicle's velocity and yaw rate from the vehicle's CAN Bus. It houses an algorithm to calculate the vehicle's position. Once calculated, this position is relayed to the OBU, which in turn communicates it back to the RSU.
[0146] Example Implementation 2:
[0147] A study was performed using example implementations of the present disclosure. Effective localization is a requirement of an algorithm that can accurately determine a vehicle's position. This precise location can be used to make vehicles safe and secure. GPS is a primary method currently found in every vehicle. The challenge arises, therefore, when GPS is not available: how will an autonomous vehicle localize itself to ensure safe maneuvers, or will a normal vehicle enhance the safety that is GPS-dependent? Autonomous vehicles traditionally navigate to their destinations by following pre-mapped paths marked with GPS points, using satellite-based GPS for guidance. However, reliance on GPS for localization can be limited. This dependency manifests in two ways: firstly, autonomous vehicles are restricted to areas that have been pre-mapped with GPS points, and secondly, they require a continuous GPS signal to follow the planned route to their destination.
[0148] GPS Based Positioning: The initial system depends entirely on GPS for navigation. GPS determines location using the Time of Arrival (TOA) technique, which measures when the signal arrives. However, when obstacles delay the signal, GPS-based positioning can become inaccurate. As a result, reliance on GPS alone has led to unreliable location determination.MCC Ref. No.: 103362-087WO1
[0149] GPS Based Cooperative Localization: The second method improves upon this by combining GPS with other localization techniques, creating a more reliable and accurate system known as the GPS-Based Cooperative Localization Technique.
[0150] Non-GPS Based Cooperative Localization: The third method, non-GPS-based cooperative localization, operates independently of GPS. Non-GPS-based cooperative localization included RSU (roadside unit) positioning, TOA (time of arrival)-based positioning, and RSSI (received signal strength)-based positioning. However, this technique's localization accuracy is disturbed when the vehicle speed increases. Vehicular sensors (camera, IMU, and lidar) are also used in this type of localization.
[0151] Non-Cooperative Localization: While the fourth method, non-cooperative localization, does not rely on cooperative techniques, non-cooperative localization has different techniques: RSU (roadside unit)-based positioning, DR (dead reckoning), Zigbee, and RSSI. Moreover, non-cooperative localization strategies employ various technologies, including inertial measurement units (IMU), cameras, radar, lidar, and ultrasonic devices. For instance, Mechlab has utilized LiDAR in autonomous driving for lane mark detection and localization. While these approaches are generally effective in providing precise location information, they require the processing of vast amounts of data in real-time, which can be computationally intensive. Additionally, in certain environments, like tunnels or dense urban areas, some sensors, like GPS, may fail to provide accurate localization. Moreover, in extreme situations with significant obstructions where most localization systems are ineffective, the vehicle must still be capable of accurately determining its own motion.MCC Ref. No.: 103362-087WO1
[0152] GPS-independent vehicle localization system using directional antenna-equipped RSUs along roads, requiring no special vehicle hardware or prior vehicle data, where vehicles locate themselves using only RSU beacon messages.
[0153] Dead reckoning has emerged as a technology for providing vehicles with relatively precise positioning and navigation capabilities in scenarios where other sensors fail. The example herein investigates path tracking in autonomous driving, especially where common sensors fail. It suggests dead reckoning with wheel speed for localization, using a differential drive model and a pure pursuit algorithm. However, this method has limitations at high speeds.
[0154] Zigbee positioning is short-range communication-based positioning only effective for low speed. Time of Arrival (TOA)-based positioning has been introduced using a V2x signal. A vehicle's onboard system uses C-V2X to receive and send signals based on the time taken for communication with roadside units. It's integrated with GPS for positioning, influenced by the C-V2X's signal time. However, reliance on GPS and C-V2X's Time of Arrival can be problematic in GPS-denied areas, and due to the need for precise timing and signal vulnerabilities, this can question the system's reliability.
[0155] In response, two problems remain with the methods that have been in the literature: a reliable method of vehicle navigation for autonomous vehicle movement and enhancing safety features for current human-driven vehicles independent of GPS.
[0156] The example implementation of the present disclosure addresses the significant challenge caused by the potential unavailability of GPS signals, which can critically affect the vehicle's safety and reliability. FIG. 2B illustrates a flowchart of an example implementation ofMCC Ref. No.: 103362-087WO1 the present disclosure, the method shown in FIG. 2B can ensure continuous and reliable navigation for self-driving vehicles, even in the absence of GPS signals. The method can include continuous monitoring of GPS availability. When GPS is available, the vehicle navigates based on GPS coordinates. In its absence, the system activates an alternative strategy employing dead reckoning. This technique estimates the vehicle's position by integrating data from the vehicle's CAN bus system, focusing on velocity and yaw rate, and referencing the last known position. The estimated position is then cross-referenced with pre-recorded GPS points available in V2X map data. FIG. 3 illustrates a non-limiting example of a map that can be stored in the roadside unit and broadcast to a vehicle to be used as pre-recorded GPS points for cross-referencing. The map included GPS points with a lane number. FIG.4 illustrates a non-limiting example of a Roadside Unit Store V2X intersection map.
[0157] The process continues with map matching, comparing the estimated position against V2X map data. If a match is not found, the vehicle recalculates its position and repeats the matching process. Upon finding a match, the vehicle follows the V2X map data for localization. The system also continuously checks for GPS availability, switching back to GPS navigation when signals are detected. This innovative approach ensures that self-driving vehicles can maintain continuous and reliable navigation, significantly enhancing their safety and operational reliability in environments where GPS signals are compromised or unavailable. This method benefits both autonomous and human-driven vehicles. Autonomous vehicles can utilize it for navigation, while human-driven vehicles can enhance safety features like blind spot detection and adaptive cruise control as V2X communication allows sharing of positional data with nearby V2X-enabled vehicles.MCC Ref. No.: 103362-087WO1
[0158] Example Implementation 3
[0159] Additional example implementations of the present disclosure include systems and methods for performing vehicle localization without the use of satellite navigation systems (e.g., GPS). The example implementations can perform vehicle localization relative to a map (e.g., determining where the vehicle is on a road network) and / or vehicle localization within a road network (e.g., which lane the vehicle is in). The example methods can be implemented using the system 100 shown in FIG. 1A, for example as part of an autonomous vehicle and / or vehicle control system (e.g., one or more controllers including the computing device 500 described with reference to FIG. 5).
[0160] An example method 250 is illustrated in FIG. 2C. At step 260, the method can include receiving sensor data from one or more vehicle sensors of an autonomous vehicle. Nonlimiting examples of sensor data include wheel speed data, yaw rate data, and / or steering data.
[0161] At step 270 the method can include determining a plurality of vehicle positions for a plurality of time steps based on the sensor data.
[0162] At step 280 the method can include generating an arc representing the position of the autonomous vehicle over time.
[0163] At step 290 the method can include determining a location of the autonomous vehicle by comparing the arc to a map. Optionally, the comparison of the arc to the map can include calculating a Euclidean distance between a known position and a plurality of lane centerlines of the map. The "location" can be accurate enough to determine what lane of the road the vehicle is traveling in.MCC Ref. No.: 103362-087WO1
[0164] Optionally, the method 250 can be triggered by a detection that a satellite navigation system is not operating (e.g., the satellite signals are blocked, the satellite receiver of the vehicle has failed, etc.). Alternatively or additionally, the method 250 can include navigating the autonomous vehicle using the location of the autonomous vehicle determined at step 290. For example, the method 250 can be used to "take over" autonomous navigation when a GPS system fails.
[0165] In some implementations, the location of the vehicle determined at step 290 can be used to adjust or correct the vehicle positions of the plurality of vehicle positions (e.g., by compensating for errors in dead-reckoning by using the location determined at step 290 as a ground truth).
[0166] It should be appreciated that the logical operations described herein with respect to the various figures may be implemented (1) as a sequence of computer implemented acts or program modules (i.e., software) running on a computing device (e.g., the computing device described in FIG. 5), (2) as interconnected machine logic circuits or circuit modules (i.e., hardware) within the computing device and / or (3) a combination of software and hardware of the computing device. Thus, the logical operations discussed herein are not limited to any specific combination of hardware and software. The implementation is a matter of choice dependent on the performance and other requirements of the computing device. Accordingly, the logical operations described herein are referred to variously as operations, structural devices, acts, or modules. These operations, structural devices, acts and modules may be implemented in software, in firmware, in special purpose digital logic, and any combination thereof. It should also be appreciated that more or fewer operations may be performed thanMCC Ref. No.: 103362-087WO1 shown in the figures and described herein. These operations may also be performed in a different order than those described herein.
[0167] Referring to FIG. 5, an example computing device 500 upon which the methods described herein may be implemented is illustrated. It should be understood that the example computing device 500 is only one example of a suitable computing environment upon which the methods described herein may be implemented. Optionally, the computing device 500 can be a well-known computing system including, but not limited to, personal computers, servers, handheld or laptop devices, multiprocessor systems, microprocessor-based systems, network personal computers (PCs), minicomputers, mainframe computers, embedded systems, and / or distributed computing environments including a plurality of any of the above systems or devices. Distributed computing environments enable remote computing devices, which are connected to a communication network or other data transmission medium, to perform various tasks. In the distributed computing environment, the program modules, applications, and other data may be stored on local and / or remote computer storage media.
[0168] In its most basic configuration, computing device 500 typically includes at least one processing unit 506 and system memory 504. Depending on the exact configuration and type of computing device, system memory 504 may be volatile (such as random access memory (RAM)), non-volatile (such as read-only memory (ROM), flash memory, etc.), or some combination of the two. This most basic configuration is illustrated in FIG. 5 by dashed line 502. The processing unit 506 may be a standard programmable processor that performs arithmetic and logic operations necessary for operation of the computing device 500. The computingMCC Ref. No.: 103362-087WO1 device 500 may also include a bus or other communication mechanism for communicating information among various components of the computing device 500.
[0169] Computing device 500 may have additional features / functionality. For example, computing device 500 may include additional storage such as removable storage 508 and nonremovable storage 510 including, but not limited to, magnetic or optical disks or tapes.Computing device 500 may also contain network connection(s) 516 that allow the device to communicate with other devices. Computing device 500 may also have input device(s) 514 such as a keyboard, mouse, touch screen, etc. Output device(s) 512 such as a display, speakers, printer, etc. may also be included. The additional devices may be connected to the bus in order to facilitate communication of data among the components of the computing device 500. All these devices are well known in the art and need not be discussed at length here.
[0170] The processing unit 506 may be configured to execute program code encoded in tangible, computer-readable media. Tangible, computer-readable media refers to any media that is capable of providing data that causes the computing device 500 (i.e., a machine) to operate in a particular fashion. Various computer-readable media may be utilized to provide instructions to the processing unit 506 for execution. Example tangible, computer-readable media may include, but is not limited to, volatile media, non-volatile media, removable media and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. System memory 504, removable storage 508, and non-removable storage 510 are all examples of tangible, computer storage media. Example tangible, computer-readable recording media include, but are not limited to, an integrated circuit (e.g., field-programmable gate arrayMCC Ref. No.: 103362-087WO1 or application-specific IC), a hard disk, an optical disk, a magneto-optical disk, a floppy disk, a magnetic tape, a holographic storage medium, a solid-state device, RAM, ROM, electrically erasable program read-only memory (EEPROM), flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices.
[0171] In an example implementation, the processing unit 506 may execute program code stored in the system memory 504. For example, the bus may carry data to the system memory 504, from which the processing unit 506 receives and executes instructions. The data received by the system memory 504 may optionally be stored on the removable storage 508 or the non-removable storage 510 before or after execution by the processing unit 506.
[0172] It should be understood that the various techniques described herein may be implemented in connection with hardware or software or, where appropriate, with a combination thereof. Thus, the methods and apparatuses of the presently disclosed subject matter, or certain aspects or portions thereof, may take the form of program code (i.e., instructions) embodied in tangible media, such as floppy diskettes, CD-ROMs, hard drives, or any other machine-readable storage medium wherein, when the program code is loaded into and executed by a machine, such as a computing device, the machine becomes an apparatus for practicing the presently disclosed subject matter. In the case of program code execution on programmable computers, the computing device generally includes a processor, a storage medium readable by the processor (including volatile and non-volatile memory and / or storage elements), at least one input device, and at least one output device. One or more programs may implement or utilize the processes described in connection with the presently disclosedMCC Ref. No.: 103362-087WO1 subject matter, e.g., through the use of an application programming interface (API), reusable controls, or the like. Such programs may be implemented in a high level procedural or object-oriented programming language to communicate with a computer system. However, the program(s) can be implemented in assembly or machine language, if desired. In any case, the language may be a compiled or interpreted language and it may be combined with hardware implementations.
[0173] Examples
[0174] The following examples are put forth so as to provide those of ordinary skill in the art with a complete disclosure and description of how the compounds, compositions, articles, devices and / or methods claimed herein are made and evaluated, and are intended to be purely exemplary and are not intended to limit the disclosure. Efforts have been made to ensure accuracy with respect to numbers (e.g., amounts, temperature, etc.), but some errors and deviations should be accounted for. Unless indicated otherwise, parts are parts by weight, temperature is in °C or is at ambient temperature, and pressure is at or near atmospheric.
[0175] An example implementation of the present disclosure includes systems and methods of operating autonomous vehicles. The example implementation was configured to localize a vehicle using dead-reckoning and / or detect lane changes of the autonomous vehicle by dead reckoning. The example implementation includes improvements to dead-reckoning techniques to increase the accuracy of dead reckoning and improve the integration of deadreckoning with vehicle systems. Implementations of the present disclosure allow for autonomous navigation in situations where satellite or other navigation systems are offline (e.g., " GPS denied" scenarios).MCC Ref. No.: 103362-087WO1
[0176] The example GPS-denied localization system combines a kinematic dead reckoning calculated trajectory with an arc-length-based map-matching algorithm, as shown in FIG. 6. The example system and methods can achieve precise (e.g., lane-level) localization. The method can acquire data from vehicle on-board sensors (e.g., existing / conventional vehicle sensors) via a Controller Area Network (CAN) bus. These sensors include wheel speed sensors, yaw rate sensors, and steering sensors, which collectively provide the necessary inputs to calculate the vehicle's trajectory in real-time. This data can be processed by a kinematic model to calculate the vehicle's motion over time. The example implementation technically improves dead-reckoning based techniques by enabling those techniques to be used with the types of sensors commonly installed on vehicles.
[0177] The method can use a kinematic model and dead reckoning to calculate the vehicle's position. These parameters can be used to calculate small positional changes at each time step. The resulting trajectory represents the estimated path of the vehicle, which includes the cumulative distance traveled, referred to herein as the arc length. The arc length provides a measure of the total distance traversed along the estimated path. The arc length generated by the kinematic model can be matched with the corresponding lane centerline on a preloaded 2D map (e.g., a map received from a commercial or governmental maps database). The map can include lane center geocoordinates.
[0178] A map-matching algorithm used in the example implementation includes identifying the closest point on the lane centerline to the vehicle's initial position. The lane identification process at initialization determines the vehicle's last known position from GPS. To identify the correct lane, the system calculates the Euclidean distance between the vehicle'sMCC Ref. No.: 103362-087WO1 last known position and all points along the lane centerlines in the map. An example lanelocalization method is shown in FIG. 7. The lane with the minimum cumulative Euclidean distance is shortlisted. For shortlisted candidate lanes, the lateral distances between the vehicle and lane centerlines are computed to refine the lane choice further. The lateral distance is defined as the absolute difference in the x-coordinate of the vehicle and the x-coordinate of the lane point. The distance between the vehicle last known position and shortlisted lanes each point is calculated. The algorithm identifies two closest points on the selected lane segment and calculates the intersection of the vehicle's perpendicular line with the lane. This intersection point represents the corrected position of the vehicle on the lane. This intersection point serves as the initialization for subsequent alignment. As the vehicle moves, the system continuously updates the estimated arc length and compares it with the preloaded map data. By identifying the segment of the lane centerline whose arc length corresponds most closely to the estimated value, the algorithm refines the vehicle's position. This alignment process dynamically adjusts for lateral and longitudinal offsets of calculated position to ensure the accuracy of map matching localization accuracy.
[0179] Any deviations due to drift in the kinematic model and dead reckoning can be corrected by realigning the estimated trajectory with the map, which can significantly improve localization accuracy.
[0180] When the vehicle reaches the end of the lane, the system can find the next lane to continue the map matching. To identify the next lane when the current lane ends, the algorithm can evaluate proximity and directional alignment between the current lane and potential candidate lanes. The endpoint of the current lane is defined, along with its directionMCC Ref. No.: 103362-087WO1 vector, which is calculated as the difference between the last two points on the current lane's centerline. For each candidate lane, the algorithm computes its direction vector, provided there are at least two points defining the lane geometry.
[0181] Both the direction vector of the current lane and the direction vectors of candidate lanes can be normalized. This normalization ensures consistency in evaluating directional alignment. The algorithm can calculate the dot product between the direction vectors of the current lane and each candidate lane. This step determines the alignment by checking if the cosine of the angle between the vectors is greater than a threshold, indicating sufficient alignment.
[0182] After confirming directional alignment, the algorithm evaluates the proximity of candidate lanes. The Euclidean distance between the endpoint of the current lane and the starting point of each candidate lane is calculated. The lane with the shortest distance that meets the proximity threshold is selected as the next lane. Once the next closest lane is identified, the map-matching process transitions to this new lane, ensuring continuity in localization.
[0183] In addition, the system can continuously check for lane changes while map matching. During a lane change, the lane detection algorithm can send the lane change detection command to the map matching algorithm which helps the transition and dynamically shifts its focus to the new lane. After a lane change is detected, the system determines the new lane through a structured process that ensures accurate alignment and continuity in localization. Initially, the system finds the same direction lanes which vehicleMCC Ref. No.: 103362-087WO1 was moving. Then, the Euclidean distance from the vehicle’s position before the lane change to all points on each candidate lane centerline is calculated. This identifies the closest points on each lane, allowing the algorithm to shortlist potential new lanes based on proximity. For each shortlisted lane, the lateral distances between the vehicle’s estimated position and all points along the lane are then computed. These distances are sorted in ascending order, and the two closest points on the lane are selected to define a segment that represents the probable location of the vehicle on the new lane.
[0184] Using the identified segment, the system calculates its slope and determines the perpendicular slope at the vehicle's position. A line is drawn using this perpendicular slope, and the intersection point with the lane segment is calculated. This intersection point provides a point to start the map matching in the new lane after the lane change. Among all candidates, the intersection point with the smallest lateral distance to the vehicle is selected as the final reference point. The map-matching algorithm is then updated to transition to the new lane based on this refined position, ensuring smooth and accurate localization during and after the lane change.
[0185] Example 1:
[0186] An example implementation of the present disclosure was designed and tested according to the method shown in FIG. 6.
[0187] Methods
[0188] In GPS-denied scenarios, network-based cooperative methods may not be widely available, and camera / LiDAR solutions have limitations. Dead reckoning using onboard sensorsMCC Ref. No.: 103362-087WO1becomes the primary localization method, but accumulates positioning error over time as shown in FIG. 8, with the most severe drift occurring laterally.
[0189] Traditional localization frameworks employ Kalman Filters (KF), Extended Kalman Filters (EKF), and Bayesian filters to estimate vehicle state through prediction update cycles, refining state predictions xjFvia measurementsas:+ Kk(zk- Hkxk), (1)
[0190] where Kkrepresents the Kalman gain. EKF extends this to nonlinear models through linearization, while Bayesian filters provide probabilistic estimation without strict linearity assumptions.
[0191] In GPS-denied environments, dead reckoning relies on Controller Area Network (CAN) bus sensor data, but inherently suffers cumulative drift, described by:*k = + Bkuk+ wk, (2)with the corresponding error covariance propagation given by:P=FfcPk-l k. " Qk> (3)
[0192] This unbounded covariance growth degrades filter accuracy over time. While available measurements include IMU and static map data, IMU localization suffers drift without GPS fusion, and map data lacks the temporal variability needed for effective state correction in filtering frameworks. Consequently, KF, EKF, and Bayesian filters cannot sustain accurate localization in GPS-denied scenarios. SLAM methods also accumulate error over time. This example implementation includes an arc-length-based map-matching technique to correct drift and improve localization accuracy in GPS-denied scenarios.
[0193] Test SetupMCC Ref. No.: 103362-087WO1
[0194] The test vehicle (FIG. 9) measures 4.31 m X 1.77 m with 2.68 m wheelbase and is equipped with GPS and a stereo vision camera. GPS provides ground truth reference, while a Zed stereo camera enables production-grade SLAM. The camera features a 120 mm stereo baseline, captures 1080 p video at 30 fps, includes a built-in IMU, barometer, and magnetometer, and is IP66-rated for environmental protection. For high-accuracy Ground Truth positioning, a Novatel PwrPak7D-E2 multi-frequency dual-antenna GPS+INS with TerraStar-C PRO PPP correction service achieves 2.5 cm horizontal accuracy (RMS) in open sky conditions.
[0195] Testing Scenarios
[0196] Nine test scenarios were conducted under GPS-denied conditions to verify the algorithm. Scenarios 1-2 evaluated 90 -degree turns at low speed at a four-way intersection (right and left turns). Scenario 3 tested high-speed performance (45 mph ) at the same intersection. Scenario 4 examined mild and sharp turn geometries at a Y-intersection, while Scenario 5 assessed constant curvature handling at a roundabout. Scenario 6 evaluated high¬ speed variable curvature performance on a slip lane without stopping. Scenario 7 special case tested robustness in a low-light parking garage with complete GPS signal loss. Scenario 8 evaluated performance under a bridge with reduced lighting and weak GPS signal along a curved road. Scenario 9 examined adaptability in a residential neighborhood featuring complex maneuvers including a speed hump, 90 -degree turn, and railway crossing to assess handling of multiple road features, elevation changes, and infrastructure-induced sensor noise.
[0197] Assumptions: The lane on which the vehicle is traveling is assumed to be known since automated vehicles are generally equipped with a perception system for detecting lanes. Moreover, the vehicle is assumed to travel along the lane center line which is reasonable for aMCC Ref. No.: 103362-087WO1vehicle equipped with level 2 or higher automation capability. The road geometry of the road / lane is treated by connecting various points on the lane in a piecewise linear manner, thus ensuring an efficient data structure. This limitation arises from the current assumption that the vehicle remains within a single lane, thereby simplifying the localization process but restricting the method's applicability in scenarios involving lane transitions.
[0198] Kinematic Dead Reckoning: Map Matching Based Correction Approach
[0199] Consider a test vehicle of wheelbase I located at coordinates (%(t),y(t))eand oriented at a yaw angle? >(£) G S1: — [0,2TT) at time t with respect to an arbitrary inertial frame of reference. The vehicle's front wheels are rotated at steering angle of θ_f(t) ∈ S1
[0200] with respect to the vehicle's body. The generalized coordinates=are the minimum set of independent coordinates that define the configuration of the vehicle system. Generalized velocities q(t are defined as the time derivatives of the generalized coordinates of the system. A kinematic model of the vehicle, = J (q(t )u t, where J (tjr(t)) is a matrix-valued function of (t), is shown in equation (4) and can be constructed by assuming rolling without slipping constraint at the wheel.cos ip(t)siny(0ip(t') tan 0f(t) (4)
[0201] where, v(t) is the velocity vector at the vehicle's rear axle, and (t)f(t) is the steering rate at the front wheels.MCC Ref. No.: 103362-087WO1
[0202] Onboard vehicle sensor data logged from the vehicle's Controller Area Network(CAN) bus provides the inputs u(t) to compute the generalized velocities q( ) using thekinematic model q(t)= (equation (4)). Additionally, sensor measurements areused to update the matrixat every time step. A dead reckoning estimate at time t isobtained when the vehicle's current configuration q(t') is computed using numerical integrationas described in equations (5) and (6).For flat space IR2: ( = I ( dt (5)W. V JoFor G S1space: = I ip(t)dt (mod27r)(6)Jo
[0203] Instrumentation and Data Logging: The kinematic model is developed for the testvehicle having a wheelbase of 2.675 m. The following quantities are logged from the CAN bus:The steering wheel rate [deg / s] is divided by vehicle steering gear train's steering ratio to obtainthe front wheel's steering rate a (t). Vehicle speed v(t) [km / h] at rear axle is computed fromthe wheel speed sensor measurement by using a nominal wheel radius. Steering angle 6 / (t) isobtained from the hand steering wheel angle [deg] measurement by dividing it by the vehicle'ssteering gear train ratio. Yaw rate [deg / s] is numerically integrated to obtain a measuredestimate of yaw angle ^(t). These values of 0y(t) and ^(t)toupdate the kinematic model(equation (4)) at every time step.
[0204] Trajectory Arc Length Based Map Matching
[0205] The example approach considers static map information that consists of lanecenter coordinates of the road scenario. In GPS-denied scenario, the dead reckoningMCC Ref. No.: 103362-087WO1 localization estimate is corrected by map matching using lane information. FIG. 10 shows a schematic diagram describing the map matching algorithm's implementation.
[0206] Notations: The geographical coordinates (latitude, longitude) are denoted by ( 2, ), while the Cartesian coordinates are denoted by (%,y). The conversion between geographic coordinates and cartesian coordinates is performed using equirectangular projection.
[0207] Initialization: In the GPS-denied scenario, although the GPS estimate is unavailable beyond a certain point, there is a history of GPS points available. The last available location from GPS denoted by ( Ar, (pr), where Aris the latitude and 0ris the longitude of the reference point, is used as the initial reference localization estimate for the example algorithm. The slope of a line connecting the last two known GPS points is used to estimate the vehicle's initial yaw angle 0(0) = tan-1(Ay / A%). The static map points represented in geographic coordinates are transformed to their corresponding Cartesian coordinate representation on the tangent plane to the Earth with origin fixed at the geographic coordinates (r, <pr).
[0208] Coordinates (x^y ) of the initial corrected dead reckoning estimate are obtained by projecting the point (0,0) = (2r, 0r){geographic}ontothe line segment £TojTi(equation (7)). The line segment connecting the static map point ( xT.,yTi) that the vehicle is targeting, and the static map point ( xT._,yTi i) preceding it is shown in equation (7).(fry)(7){(xTi>y) i y Gfor xi\ =XT^The coordinates (%i,yi) are obtained using the orthogonality mle as shown in equation (8).MCC Ref. No.: 103362-087WO1L ' L '° = 0S.t. (xnyi) e ^ (8)\W \X1\ ~XTJ]
[0209] Iteration and Re-Initialization of Kinematics: The kinematic dead reckoningestimate is now computed for a batch of N points using the equations (4), (5) and (6) for abatch of input velocity v and steering rates a, a>r(equation (4)) logged from CAN bus.
[0210] For the z’-th iteration, the point (Xj,yf) is considered as the initial point for thekinematics. The arc length s(of the kinematic trajectory (x(t), y(t)) for the batch is computedfrom the generalized velocity q(t) using the Riemann integral approach as shown in equation(9), where || • || denotes the2norm.* N— 1d / x(t)\1rxKliSj = I — -( I dt = lim / ,rAtk(9)Jo dt \y(t) ->o. Ly[tfc]JK. — JL
[0211] where, t;* e [tk, tfc+1] tk= tk+1- tkIn equation (9), the time tkcan be chosen arbitrarily within the bounds [tk, tk+1j since thegeneralized velocity q(t~) computed from the kinematics is a continuous curve in time, thus isalways Riemann integrable.
[0212] Now, the point (Xj+1, yj+1) is obtained by searching the point on the linesegment £T.T.+^ having arc length s,. The solution candidates ^xc^.,yc^ E Q for search processare the roots to the quadratic polynomial (x — Xj)2+ (y — yi)2— s2(refer equation (10)),which implies that there are two roots that is, dim© = 2. The solution (Xj+1, yj+1) accepted isthe one that lies between the points ( 'j, y() and (Xj+1,yj+1). As a result, the solution with theshorter distance from the target point ( xT.,yT. ) is selected as shown in equation (11).MCC Ref. No.: 103362-087WO1G G (x,y) G = (10)xr— xc.(.xi+l> yi+1) —ar8m’n(xc.,.vc.)eS (11)yr.. -■
[0213] The integrator for kinematics shown in equation (5) are re-initialized at(X;+1, Vj+i) for the next iteration.
[0214] Moving to the Next Static Map Segment: The distance between the current pointand the target static map point is denoted by d[= l|[^ ydT- F^ (12)
[0215] TABLE I: RMSE Comparison for Test Scenarios (X and Y Directions) DR, SLAM and Map Matching(MM)RM RM: SLA RM SLA RMS DR RMS DRSeen SE SE M RMS SE M EX VS E Y VSario X X VS E Y Y VS (SLA MM (SLA MMID (DR (M MM (DR) (M AIM M) % M) %) M) % M) % 0.40 0.73 0.669 0.66 0.72 2.306 68.5 I 80.3 10.0 9.2983 64 1 34 51 2 523512 673 371.24 0.36 1.084 70.4 66.0 0.65 0.50 0.915 22.1 44.5 258 83 2 543 363 26 81 6 343 1720.60 0.16 1.999 73.0 91.8 0.31 0.56 1.249 54.8 3 77.573 38 7 341 050 80 47 7 2059123.46 0.43 1.925 87.3 772 8.59 0.77 1.706 91.0 54.8 456 77 1 738 562 54 01 4 400 6491.00 1.21 1.785 31.7 1.53 1.30 2.432 15.0 46.3 5 21.711 84 3 445 83 66 8 702 0161984.05 0.86 1.924 78.6 55.1 3.05 0.48 1.092 84.0 55.5 606 32 0 877 503 24 58 8 846 421MCC Ref. No.: 103362-087WO17(Spec 1.30 1.91 1.691 1 59 0.87 0.985 45.0 10.846.7 13.3ial 55 65 4 55 79 1 075 830794 100Case)4.35 0.44 0.417 89.7 3.83 1.01 0.841 73.4 8 7.08 21.024 68 3 416 48 84 1 51735 454 9 2.42 0.53 1.586 77.8 66.1 10.0 0.39 0.915 96.0 56.544 74 7 424 388 375 77 9 38 776
[0216] As the end of the line segment;i 'sreached, the distance dj will becomeshorter than the length s,. When> d, the algorithm moves to the next static map segment.The leftover length (— dj ) is searched on the next line segmentar|d the algorithm'siterations continue as long as the static map data is available.
[0217] Results
[0218] The example method has been evaluated on nine urban scenarios, eachpresenting a unique combination of road geometries and vehicle maneuvers, as shown in FIG.115. The performance was assessed using the root mean square error (RMSE) in both X and Ydirections, and the results were compared with DR and SLAM. FIG. 8 shows that the deadreckoning estimate had a significant drift error. By implementing the example method, it isobserved in FIG. 11 that drift in the dead reckoning localization estimate is corrected in a spatialsense and RMSE with respect to dead reckoning is improved (FIG. 8) for all scenarios. Ninedistinct scenarios (road geometries and maneuvers) were tested. FIG. 11 illustrates the ninescenarios and the spatially corrected map matching. Table I shows the root mean square(RMSE) and the percentage of improvement in X and Y directions compared to SLAM and DR inMCC Ref. No.: 103362-087WO1 all the scenarios, including temporal corrections. Scenarios 1 and 2 are conducted on a fourway intersection, where the vehicle takes a turn.
[0219] In Scenario 1, the test vehicle begins at a speed of 25 mph and enters a four-way intersection. Upon entering the intersection, the vehicle performs a sharp 90-degree right turn maneuver; after that, it moves at 45 mph. The example method underperformed in comparison to DR X:-80.35% and SLAM X:-10.07% (RMSE X: DR 0.4083 m, MM0.7364 ni, 0.6691 m ) While the performance declined by Y: —9.29% compared to DR, 68.55% has improved compared to SLAM (RMSE Y: DR 0.6634 m, MM 0.7251 m, SLAM 2.3062 m ). This performance disparity compared to DR is attributed to the design limitation of the example method, which constrains vehicle position to the center of the lane, whereas DR is not restricted by such assumptions and more closely follows the GPS trajectory. However, the example method still shows sub-meter level accuracy. Although SLAM achieved marginally better accuracy in the X direction, its performance in the Y direction deteriorated significantly, as illustrated in FIG. 11. In Scenario 2, the vehicle performs a left turn at the same four-way intersection. The example method yields improvements of X:70.45% and Y:22.13% compared to DR. In comparison to SLAM, the performance has improved X:66.04% and Y:22.13%. While in Scenario 3 the vehicle continues driving straight through the four-way intersection at a speed of 45 mph without performing any turns. The example method performed better with 73.03% in comparison to DR and 91.81% in comparison to SLAM in the X direction (RMSE X: DR 0.6073 m, Map 0.1638 m, SLAM 1.9997 m). While the performance has declined compared to DR:-77.59% and SLAM: 54.82% in the Y direction (RMSE Y: DR 0.3183 m, MM: 0.5647 m, SLAM: 1.2497 m). The performance degradation compared to DR is due to the violation of the assumption thatMCC Ref. No.: 103362-087WO1 the vehicle follows the center of the lane. However, the method is still effectively doing the localization with sub-meter accuracy while the vehicle is in the lane. In scenario 4, the vehicle drives at an average speed of 35 mph on a curved road and then enters a Y-intersection. The example method shows substantial improvements of X: 87.37% and Y: 91.04% compared to DR. On the other hand, the example method has performed well compared to SLAM which are 77.26% and 54.86%. In scenario 5, the vehicle enters a roundabout and then takes the exit and goes straight. In this scenario performance compared with DR has declined by X: —21.72% and Y: 15.07%. The performance has declined in the X direction due to the violation of lane center assumption violations in the continuous curve changing in the roundabout. In comparison to SLAM, the example method performed well, with a percentage of improvement of X: 31.74% and Y: 46.30%.
[0220] In scenario 6, the test vehicle enters the slip lane at approximately 45 mph. The example method achieves improvements of 78.69%(X) and 84.08%(Y) over DR, and 55.15%(X) and 55.54% (Y) over SLAM. Scenario 7 involves a covered parking garage with complete ground-truth GPS signal loss and low lighting conditions. The map matching method achieves high localization accuracy by leveraging 2D map structure, whereas commercial GPS- denied dead reckoning accumulates drift and SLAM fails in extremely low light. Complete ground-truth GPS loss poses challenges to performance evaluation. However, the map¬ matching method localizes the vehicle along the actual rectangular path, thus demonstrating performance superiority over the DR and SLAM methods. In Scenario 8 (curved road with a bridge), SLAM shows overall better RMSE values but fails under the dimly lit bridge. However, the example method shows improvements of 89.74% (X) and 73.45% (Y) over DR andMCC Ref. No.: 103362-087WO1 maintains consistent accuracy. Scenario 9 tests driving through a neighborhood with speed bumps and a railway crossing, achieving improvements of 77.84% (X) and 96.04% (Y) over DR, and 66.14% (X) and 56.58% (Y) over SLAM, demonstrating robustness to elevation changes.
[0221] The example map-matching method reliable performance compare to the ground truth GPS position spatially and temporally across all scenarios, underscoring the efficiency of the arc-length based map matching approach. Based on RMSE metrics, the method performs well in complex road geometries and varying speed conditions. Although some scenarios show reduced performance versus DR and SLAM due to lane center assumption violations, the example method maintains consistent and reliable localization. In contrast, DR suffers from accumulated error, and SLAM exhibits inconsistent performance under varying lighting conditions and speeds. System implementation processed each localization update in 0.04 to 1.3 seconds (0.77 Hz to 25 Hz), depending on driving conditions and map segment complexity, demonstrating real-time feasibility for vehicular applications.
[0222] Discussion
[0223] This example introduces a novel iterative map-matching approach for reliable vehicle localization in GPS-denied situations. The example method relies on the availability of spatial 2D map information of the geometry of the lane on which the vehicle is traveling. The results demonstrate good localization correction performance in both spatial and temporal senses, with RMSE improvement ranging from 21% to 96% across nine distinct scenarios tested in this preliminary study as long as the correct lane on which the vehicle is traveling is known. The example method is especially effective at eliminating localization drift in GPS- denied environments. The method operates independently of network infrastructure byMCC Ref. No.: 103362-087WO1 utilizing vehicle onboard sensors, ensuring robustness across various environments and road conditions while maintaining algorithmic simplicity, deterministic operation, and smooth trajectories. However, the method has limitations due to the lane center assumption with no lane change with dependency on an accurate 2D map. Future research will focus on implementing the example localization framework in a real-time onboard system integrated in an automated vehicle. This will enable validation of the algorithm's performance under real-world driving conditions and assess its effectiveness for automated vehicle navigation in GPS- denied environments.
[0224] Example 2:
[0225] An additional study was performed of the example embodiment of Example 1 herein.
[0226] Testing Scenarios
[0227] Several test scenarios representing varied road geometries as outlined in Table 1 have been selected for this research. In all these scenarios, the localization performance of the map-matching algorithm described in has been assessed in GPS-denied environments. The table includes 14 scenarios. Scenarios 1 and 2 occur at a four-way intersection with a low-speed 90 -degree right and left turn. Scenario 3 involves a straight, high-speed (45mph) turn at a four-way intersection. Besides, scenarios 4 and 5 are conducted with 90-degree left and right turns at a T-intersection. On the other hand, scenarios 6 and 7 are at the Y intersection with a mild left turn and a sharp right turn, Conversely, scenarios 8, 9, 10, and 11 are conducted at a roundabout, thus representing a road with a constant curvature at low speeds. The tests conducted on the roundabout incorporate maneuvers such as right turns, straight turns, leftMCC Ref. No.: 103362-087WO1 turns, and U-turns. Scenario 12 involves a right turn at a slip lane intersection, aimed at testing the road geometry's variable curvature turns without halting. Furthermore, scenario 13 takes place at a staggered intersection, designed to test the sinusoidal steering scenario, which involves steering left and then right. At the end, scenario 14 is on a curved road to test behavior while taking a curve at medium-high speed.
[0228] TABLE 1 Testing scenariosScenario ScenarioTest objective ManeuversID DescriptionI Four-way Low speed 90-degree turn geometry Right Turn Intersection2 Low speed 90 -degree turn geometry Left Turn3 Straight High speed( 45 mph ) Straight4 T-Intersection Low speed 90 -degree turn geometry Right Turn5 Low speed 90 -degree turn geometry Left TurnY-Intersection Left Turn (sharp 6 Low speed mild turn geometryTurn)Right Turn (mild 7 Low speed sharp turn geometryTurn) Roundabout Road with a constant curvature low8 Right Turn speed sectionRoad with a constant curvature low9 Straightspeed sectionRoad with a constant curvature low10 Left Turnspeed sectionRoad with a constant curvature low11 U-Turnspeed sectionVariable curvature turns without12 Slip Lane Right Turn stoppingStaggered Reproduce a roughly sinusoidal Steer Left and then 13Intersection steering scenario steer RightMCC Ref. No.: 103362-087WO1Investigate kinematic behavior while14 Curve Road Curved Road taking a curve at medium high speed
[0229] Test Vehicle and Two-Dimensional Map
[0230] FIG. 12 illustrates the test vehicle used in this study, which has external dimensions of 1.77 m width and 4.31 m length, and a wheelbase of 2.68 m. Moreover, the test vehicle is equipped with a Novatel GPS system that gives ground truth location data with access to the vehicle's CAN bus. The two-dimensional map shown in the FIG. 13 illustrates the lane structure map. Each circle with black edge in the map represents the lane center geographical coordinates. These lane center points are interpolated to create a continuous 2D map representation as indicated by the lines connecting the adjacent circles in FIG. 13.
[0231] Dead Reckoning Correction Using Map Matching Method
[0232] In GPS-denied scenario, the vehicle has to rely on localization estimate obtained using a dead reckoning methodology that uses a kinematic model of the vehicle to predict the trajectory of the vehicle using vehicle's onboard sensor data logged from the vehicle's Controller Area Bus (CAN) bus.
[0233] Kinematic Model of the Vehicle
[0234] Consider a test vehicle with wheelbase I located at coordinates (x(t),y(t)) ∈ ℝ2and oriented at a yaw angle ψ(t) ∈ S1: = [0,2π] at time t with respect to an arbitrary inertial frame of reference. The vehicle's front wheels are rotated at a steering angle of θ_f(t) ∈ S1with respect to the vehicle's body. The generalized coordinates q(t) ={x(t),y(t), are the minimum set of independent coordinates that define the configuration of the vehicleMCC Ref. No.: 103362-087WO1system. Generalized velocities q̇(t) are defined as the time derivatives of the generalized coordinates of the system.
[0235] A kinematic model of the vehicle, q̇(t) = J(q(t))u(t), where J(q(t)) is a matrixvalued function of q(t), is shown in equation (1) and can be constructed by assuming rolling without slipping constraint at the wheel.sin ip{t) 0y(0tan 0f(t)MO0
[0236] The position coordinates of the vehicle by using dead reckoning are obtained by numerically integrating the generalized velocities obtained from the kinematic model given in equation (1). The inputs to the kinematic model: the vehicle's velocity v(t) is obtained from the vehicle's wheel speed sensor, the steering rate ω_f(t) is obtained from the steering wheel rate sensor. The values of steering angle 0y(t) and yaw rate < / ’(t) also logged form vehicle's onboard sensors are used to update the kinematic model at every time step. The vehicle onboard sensor measurements are logged from the Controller Area Network (CAN).
[0237] Arc-Length Based Map Matching
[0238] To correct the dead reckoning drift, an iterative approach utilizes a static 2D map that includes the lane center coordinates, the vehicle's trajectory is matched to the lane geometry using an arc-length method. The arc length Sj of the kinematic trajectory is computed as shown in equation (2).w-1 / • r * \d / x(t)Si = dt = lim V" | |Atfc(2)dt 1)7(1) z. v it* jy1 JMCC Ref. No.: 103362-087WO1
[0239] where t_k* ∈ [t_k, t_{k+1}], Δt_k = t_{k+1} - t_kThe corrected position is determined by finding the point on the map segment, defined as astraight line L_{T_{j-1},T_j} connecting adjacent points (X_{T_{j-1}}, Y_{T_{j-1}}) and (X_{T_j}, Y_{T_j}) on the staticmap.L_{T_{j-1},T_j} := {(x,y) | y = y_{T_j} + (y_{T_j} - y_{T_{j-1}}) / (x_{T_j} - x_{T_{j-1}}) (x - x_{T_j})} (3)
[0240] Suppose that the vehicle's corrected dead reckoning estimate at the previousstep in the iteration was(x_i, y_i) ∈ L_{T_{j-1}, T_j}. Then the corrected estimate for the vehicle'slocation at the next time step is obtained by determining the point that lies on the line segmentLT._^T. that lies at the same distance from the previous point as the arc length s, obtainedfrom kinematics. However, there are two points on the line LT._1 T. that lie at a distance s, fromwith one point P_reach closer to the reach point (x_{T_j}, y_{T_j}) of the map segment and theother point P_initial closer to the starting point (x_{T_{j-1}}, y_{T_{j-1}}) of the map segment. The correcteddead reckoning estimate is the point closer to the reach point. Mathematically, this process isdescribed as follows:
[0241] Points at distance sf: {Pinitial, Preach}initial breach ) = V, G -'T-' Illlfc yj' / I / I |I| = S
[0242] (x_{i+1}, y_{i+1}) = argmin_{P∈{P_initial, P_reach}} ‖(x_{T_i} / y_{T_i}) - P‖
[0243] The distance between current point ( x_i, y_i ) and the target static map reachpoint (x_{T_j}, y_{T_j}) is denoted by d
[0244] di =MCC Ref. No.: 103362-087WO1
[0245] At the end of the line segment L_{T_{i-1},T_i} is reached, the distance will becomeshorter than length Sj. When Sj > dj the algorithm moves to next segment of the static map.
[0246] Error Calculation and Analysis Methodology
[0247] Positional error was calculated between the true GPS trajectory ( x_i, y_i ) and theestimated localization ( x̂_j, ŷ_j ) obtained from either the kinematic model or the map matchingcorrection. The errors in X and Y directions are denoted as exand ey
[0248] ex i= yq, ey:i= yt- yj
[0249] To quantify temporal correction, the Root Mean Square Error (RMSE) in eachdirection was computed where
[0250] RMSE_x = √(1 / N Σᵢ₌₁ᴺ (e_{x,i})²), RMSE_y = √(1 / N Σᵢ₌₁ᴺ (e_{y,i})²)
[0251] The combined RMSE is expressed as RMSE_complete — [ RMSEX, RMSEy]
[0252] The distribution of errors ex, eyis visualizedd using histogram in order to visuallyinspect the normality of the error distribution. Moreover, Quantile-Quantile (Q-Q) plots werealso utilized to check the normality of the distribution by plotting stored error ex, eyagainst thetheoretical quantiles (q_i, e_x), (q_i, e_y), whererepresents the theoretical quantiles from astandard normal distribution.
[0253] If the error adheres to a normal distribution, the points on Q-Q Plots will alignclosely with reference line aligned at a slope of 45 degrees with respect to the horizontal axis. Ifthe error distribution is determined to be non-Gaussian, the non-parametric method has to beused to calculate the confidence interval for nonnormally distributed error. Nonparametric 95%confidence interval is computed through 2.5th and 97.5th percentile of the error distributions.MCC Ref. No.: 103362-087WO1 The confidence interval of error in the X direction are defined as [LB_X, UB_X], where LB_X = P_{2.5}(e_x) and UB_x = P_{97.5}(e_x) respectively denote the lower and upper bounds of the range of 95% of confidence interval of errors in the X direction. Similarly, the confidence interval of error in the X direction are defined as [LBY, UBY], where LB_Y = P_{2.5}(e_y) and UB_Y = P_{97.5}(e_y) respectively denote as the lower and upper bounds of the range of 95% of confidence interval of errors in the Y direction.
[0254] Results and Experiments
[0255] The example method has been tested on fourteen different scenarios with distinct road geometry and maneuvers. The performance was assessed based on Root Mean Square Error (RMSE) in X and Y directions. Moreover, a percentile-based confidence level interval has been calculated to assess the confidence that the example localization method will operate within a certain error margin. All figures with maps demonstrate spatial correction, while Table 2 (in Appendix) includes RMSE in the X and ¥ directions with percentages of improvement with respect to kinematics and confidence intervals. A negative value in the confidence interval indicates that the localization system is constantly overestimating from the true position, which means that the estimate lies ahead of the true position in the direction ( X or Y ) corresponding to the confidence interval. In contrast, positive values indicate that the system is underestimating the position, which means it lags from the true position in the direction corresponding to the confidence interval.
[0256] Note: Going forward, overestimate error is denoted as "0", and underestimate error is denoted as " U". For example: —0.5(0) denotes an overestimate error of 0.5 m, whileMCC Ref. No.: 103362-087WO1 0.5(U) denotes an underestimate error of 0.5 m. To clarify further, a positive error is always an overestimate, while a negative error is underestimate. All errors are reported in meters.
[0257] Scenarios 1, 2, and 3 demonstrated the example method in a four-way intersection with maneuvers such as right turn, left turn, and straight motion with spatial correction. In scenarios 1 and 2 (shown in FIG. 14 and FIG. 16), kinematic drift increased over time, deviating from the ground truth due to accumulated error in dead reckoning. The example map-matching method has effectively corrected the drift in the kinematic trajectory; thus, the map-matching estimate closely follows the ground truth in FIG. 14 and FIG. 16, respectively. In scenario 3 shown in FIG. 18, the kinematic trajectory remains close to the ground truth, with no significant increase in error over time as the scenario involves a straight path without the significant influence of steering inputs. The example map-matching method also performed well in this scenario. Temporal correction has been demonstrated through the RMSE in the X and Y directions as shown in Table 2.
[0258] In scenario 1, RMSE in the X direction is 20.45% while RMSE in the Y direction is — 137.76%, which shows a decline in accuracy compared to the kinematic localization estimate. Meanwhile, in scenario 2, RMSE in the X and Y directions are 90.30% and 77.46%, demonstrating a significant improvement in both directions. However, the accuracy in scenario 3 declined with RMSE in the X direction (-49.15%) and in the Y direction (-35.89%), but it still maintains centimeter-level accuracy.
[0259] For scenario 1 shown in FIG. 15, the X and Y error distributions are observed to be non-Gaussian from the histograms. Moreover, the Q-Q plots also show significant deviation from the reference line, indicating non-normality with the presence of skewness and outliers.MCC Ref. No.: 103362-087WO1 To calculate the percentile-based confidence interval for a non-Gaussian error distribution, a non-parametric method was used. For each axis ( X and Y ), the 2.5th and 97.5th percentiles of the error data were calculated, providing a 95% confidence interval as mentioned in Table 2. The 95% confidence interval error for the X direction is [—2.194(0), 1.018 (U)] meters, indicating that 95% of the errors fall between -2.194 meters ( 0 ) and 1.018 meters ( U ). For the Y-direction, the 95% confidence interval is [0.384(U), 0.913 ( U)] meters, showing a narrower error range.
[0260] In scenario 2, the error distribution histograms and Q-Q plots for both the X and Y directions are shown in FIG. 17. The figure illustrates that the error distributions in both directions are non-Gaussian, as the Q-Q plots indicate significant deviations from normality. The percentile-based confidence interval in the X direction is [—0.572 (O), 0.680 (U)] meters and in the Y direction [1.012 (O), 0.324 (U)] meters from Table 2. Based on FIG. 19, for scenario 3, the histogram and Q-Q plots show that both the X and Y direction distributions are non-Gaussian, as evidenced by the Q-Q plots showing significant deviations
[0261] from the reference line. The X direction percentile-based 95% confidence interval is [0.358(U), 1.163 (U)] meters, while in the Y direction it is [-1.039(0), 1.031 (U)] meters.
[0262] Scenarios 4 and 5 take place at a T-intersection, where the driver makes 90 -degree turns in the right and left turns at low speed. FIG. 20 and FIG. 22 illustrate spatial correction in the localization estimate by using the example map-matching method. Note that the kinematic trajectory represented by the blue curve shows drift from the actual positioning (red) due to accumulated error and the effect of the steering input for both left and right turns.MCC Ref. No.: 103362-087WO1 This drift error is reduced by using the mapmatching method as shown by the green curves in FIGS. 20 and 22.
[0263] In scenario 4, the root mean square error in the X direction is 87.96%, and in the Y direction, it is 77.76% from Table 2. The result is a significant improvement over kinematics while maintaining high accuracy. Similarly, in scenario 5, RMSE in the X and Y directions improved by 93.78% and 96.18%, respectively. For scenario 4, the error distribution in both X and Y directions is non-Gaussian, as evidenced by the deviations from the Q-Q plots from the reference line in FIG. 21. Therefore, using the nonparametric method, the 95% confidence interval in the X direction is [−2.188(O), 0.440(U)] meters, and in the Y direction, the confidence interval is [-2.763 ( O ), 0.508(U) ] meters, as mentioned in Table 2.
[0264] Meanwhile, the error distributions from histograms and Q-Q plots for both the X and Y directions in scenario 5 are shown in FIG. 23, indicating non-Gaussian behavior with noticeable skewness. Hence, the nonparametric 95% confidence interval in the X direction is [−0.934(O), 0.753(U) ] meters, and the Y direction is [-1.006 (O), 0.633(U) ], as shown in Table 2.
[0265] Scenarios 6 and 7 are set at the Y intersection and are intended to test a mild left-turn and right-turn configuration. FIG. 24 and FIG. 26 illustrate the kinematic and map matching trajectories. The kinematic trajectory exhibits drift due to accumulated error over time, which causes it to deviate from the ground truth. Moreover, the figures illustrate the spatial correction achieved by the example method for both scenarios 6 and 7, respectively, which is deemed satisfactory.MCC Ref. No.: 103362-087WO1
[0266] In scenario 6, the RMSE indicates the temporal correction in the X and Y directions, with an improvement of 96.59% in the X direction and 98.93% in the Y direction. The method demonstrates a significant improvement in RMSE. Similarly, in scenario 7, RMSE improvements in the X and Y directions are 93.39% and 97.41%, respectively, with significant improvement as seen in Table 2. For scenario 6 shown in FIG. 25, Q-Q plots for both X and Y directions show a clear deviation from the reference line, and the error distributions from histograms indicate a nonGaussian error distribution. Therefore, the nonparametric 95% confidence interval for the X direction is [−0.267(O), 1.572(U) ] meters, and in the Y direction, it is [-1.583(O), 0.478(U) ] meters.
[0267] On the other hand, Scenario 7 shown in FIG. 27, the error distribution via histogram indicates a non-Gaussian distribution, and Q-Q plots for both X and Y directions show a deviation from the reference line, further confirming the non-Gaussian behavior. As a result, the nonparametric 95% confidence interval for the X direction is [−0.083(O), 1.630(U) ] meters, and for the Y direction, it is [-0.080(O), 0.667 (U)] meters.
[0268] Scenarios 8, 9, 10, and 11 take place at a roundabout and are useful for evaluating algorithm behavior under constant curvature changes with maneuvers such as right turn, straight, left turn, and U-turn. The spatially corrected localization estimate obtained from the example mapmatching method, as shown in FIG. 28, FIG. 30, FIG. 32, and FIG. 34 closely follows the ground truth GPS. However, in all scenarios, kinematic trajectory without map matching correction exhibits drift with respect to the ground truth GPS localization estimate.
[0269] Across all scenarios, RMSE has improved significantly for both the X and Y directions. In the X direction, the improvements are 93.41%, 94.44%, 92.77%, and 65.64%,MCC Ref. No.: 103362-087WO1 and in the Y direction, the improvements are 83.08%, 96.32%, 86.68%, and 53.88% in scenarios 8,9,10, and 11, respectively.
[0270] FIG. 29, FIG. 31, FIG. 33, and FIG. 35 depict the error distribution via histograms and Q-Q plots, which indicate that the error distribution in all scenarios does not follow a Gaussian distribution. The Q-Q plots show deviation from the reference line, which indicates the use of a percentilebased confidence interval to evaluate the errors. From Table 2, in the X direction, the 95% percentile-based confidence intervals are [-0.387(O), 1.106 (U)] meters for scenario 8, [-0.326 (O), 0.501 (U)]. meters for scenario 9, [-0.196 (O), 1130 (U)] meters for scenario 10, [-1.326 (O), 0.965(D)] meters for scenario 11. In the Y direction, the95% percentile-based confidence intervals are as follows: [-0.690 (O), 0.855(D) ] meters for scenario 8, [-1.655 (O), 0.582(D) ] meters for scenario 9, [-0.775 (O), 0.709(D) ] meters for scenario 10, and [-4.155(0), 0.559 (U)] meters for scenario 11.
[0271] Scenario 12 takes place in the slip lane while taking a right turn at an intersection with continuously changing curvature. The example method's spatial correction is depicted in FIG. 36 as the kinematic trajectory exhibits accumulated error over time, resulting in drift. The kinematic plot deviates from the actual GPS position due to drift. The example method demonstrates significant RMSE improvements in the X(98.45%) and Y(96.48%) directions from the kinematic dead reckoning localization estimate. FIG. 37 displays the error distribution through a histogram and Q-Q plots of scenario 12, revealing a non-Gaussian distribution.Hence, a non-parametric percentile-based confidence interval is used to assess error. From Table 2, the 95% percentile-based confidence interval in the X and Y directions is found to be [-0.593 (O), 0.830(U)], and [−0.570(O), 0.600(U)] meters, respectively.MCC Ref. No.: 103362-087WO1
[0272] Scenario 13 takes place at a staggered intersection where the vehicle takes an approximately sinusoidal turn in an intersection. FIG. 38 shows the kinematic drift due to accumulated error and the spatial correction achieved by the example map-matching method. In this complex scenario, the example method demonstrates RMSE improvements in both the X (49.79%) and Y (69.49%) directions. Moreover, FIG. 39 depicts error distribution and a Q-Q plots, which indicate a non-Gaussian distribution. So, a percentile-based confidence interval is used to assess the error in this scenario. The 95% percentile-based confidence intervals in the X and Y directions are determined to be [-0.145(O), 1.963(U)] meters and [-0.697 (0), 1.166 (U)] meters.
[0273] Scenario 14 takes place on a curved road scenario. FIG.40 depicts kinematic drift due to accumulated error on a road with continuously changing curvature. The spatial correction by the example map-matching method is also shown in FIG. 40. In this changing curvature scenario, the example method has shown significant RMSE improvements in the X (93.3948%) and Y (81.5764%) directions. FIG. 41, which shows the error distribution with a histogram and Q-Q plots, also shows that the error distribution is not Gaussian. So, the 95% percentile-based confidence intervals in both X and Y directions are determined to be[−0.254(O), 0.631(U)] meters and [−0.394(O), 0.340 (U)] meters, respectively.
[0274] FIG. 42 illustrates the RMSE of kinematic and map matching in the X and Y directions for all scenarios. This figure shows that in most scenarios, map matching has performed well and maintained good accuracy, even in complex geometric scenarios.
[0275] Example 3:MCC Ref. No.: 103362-087WO1
[0276] An example implementation of the present disclosure includes an enhanced arc-length-based map-matching approach that improves on the example approaches described in Example 1 and Example 2. The example implementation dynamically identifies the vehicle's current lane and predicts the upcoming lane using map data, enabling accurate localization even in multi-lane scenarios. Furthermore, the method incorporates a perception system to detect lane changes, allowing the algorithm to seamlessly match with the upcoming lane from the map during transitions. This approach significantly enhances localization accuracy and robustness in GPS-denied environments, even under dynamic and multi-lane conditions. The example implementation can overcome limitations with the example implementation described in example 1 by enabling lane-identification in GPS-denied scenarios. As shown in FIG. 43, arc- length-based map matching may not be able to identify a lane change in some scenarios.
[0277] The example implementation includes:
[0278] Dynamic Lane Identification: An enhanced map-matching algorithm that dynamically identifies the current lane and predicts upcoming lanes, ensuring accurate localization after GPS denial.
[0279] Integration with Perception Algorithms: The enhanced map-matching algorithm is integrated with a perception-based lane change detection system, enabling seamless adaptation to new lanes during multi-lane transitions while maintaining localization accuracy.
[0280] Statistical Performance Analysis: Detailed statistical analysis to evaluate the performance and robustness of the algorithm across varied road geometries and maneuvers, ensuring statistical reliability.
[0281] Test SetupMCC Ref. No.: 103362-087WO1
[0282] In the study of Example 2, a test vehicle is shown in FIG. 45 with a respective length, width, and wheelbase of 4.31 m, 1.77 m, and 2.68 m. The vision camera used is the FLIR Blackfly S GigE Color camera (BFS-PGE-50S4C-C). It is a 5 MP resolution camera using a 1 / 1.8" Sony IMX547 color CMOS sensor. A global shutter is used to reduce the jello effect. The camera is set in the front center of the sensor suite using a Fujinon HF6Xa-5 m 6 mm lens. The FOV (field of view) of the camera is 66°. The frames per second (FPS) of the camera is set to 20 Hz. For the GPS receiver, the Novatel PwrPak7D-E2 multifrequency dual-antenna GPS+INS enclosure provides groundtruth location data. Dual antenna input provides alignment data to fuse GPS solutions with the built-in Epson EG370N IMU. In this testing vehicle, the GPS enclosure uses the Novatel TerraStar-C PRO PPP (Precise Point Positioning) correction service, which can achieve 2.5 cm horizontal position accuracy (Root Mean Square) in open sky conditions.
[0283] Testing Scenarios
[0284] The selected scenarios were designed to validate the algorithm as outlined in Table I, below. Scenario 1 takes place at a multilane four-way intersection where the vehicle performs a left maneuver, Scenario 2 occurs at a four-way intersection involving right maneuvers. Scenario 3 represents a swerving scenario where the vehicle deviates from the lane center instead of maintaining a steady lane center path, Finally, Scenario 4 is a long-run scenario in which the vehicle follows an extended route consisting of multiple lanes, curved roads, and intersections, simulating normal driving patterns.
[0285] MethodologyMCC Ref. No.: 103362-087WO1
[0286] The arc-length-based map matching technique used in the present example is shown in FIG. 6 which utilizes onboard sensor data to calculate kinematic dead reckoning trajectories and a two-dimensional method to correct kinematic error. Moreover, lane change detection is also integrated to correct the dead reckoning error with the correct lane map to maintain the accuracy of localization.
[0287] Initial point for Map Matching
[0288] The location where the vehicle lost GPS signal is the vehicle's last known position Pv= (xv,yv). The static 2D map information has lane center coordinates of lanes for all the roads in the scenario. All lane centers are converted from geo-coordinates to Cartesian representation in meters, All lanes are represented as N sets of Cartesian coordinates Lj =yu), [xi,2> yi,2)> ■■■> where i is the lane index and M is the number of points in the lane
[0289] Shortlist Closest Lane: As shown in FIG. 44 from the last known position of the vehicle. The Euclidean distance (equation (1)) is calculated from each lane's center coordinate. For each lane, the point with the minimum Euclidean distance is identified and shortlisted using equation (2). Among all lanes, those with the smallest Euclidean distance from the vehicles' last known position are the shortlisted lane candidates using equation (3). However, determining the vehicle's current lane from shortlisted lane candidates needs additional analysis.7 2dij = ^(xi,j -xvY + (Vij - yv) '> for J = 1,2,..., M (1)d™m= mindjj (2)P argmin d™in(3)MCC Ref. No.: 103362-087WO1
[0290] Closest Lane Identification: From the shortlisted lane candidates, the lateral distance was calculated between the vehicle's last known position and the nearest lane center point using the equation— x. The lateral distance corresponds to the X component in Li = [^i> y, as shown in FIG. 44. The lane with the minimum lateral distance is selected as the closest lane. However, the nearest lane center point may not always be parallel to the vehicle's last known position. To accurately determine the lane center, the perpendicular points on the shortlisted lane center relative to the vehicle's last known position need to be identified. These steps ensure the accuracy of the lateral distance calculation, allowing for the selection of the closest lane that best aligns with the vehicle's actual position.
[0291] TABLE I: Test ScenariosScenario Scenario Test Objective: Vehicle DynamicManeuvers ID Description Behavior TestedFour- way Multi-lane scenario test with speed1 Left turn intersection variationFour- way Multi-lane scenario test with speed2 Right turn intersection variationCurved 3 Swerving Deviation from lane center assumptionroad4 Long Run Normal driving behavior Multi -lane
[0292] From the vehicle's last known position Pv, the two closest lane points are identified by calculating the distance to each lane center point using equation (4). Here, A =(Xa, and B = (Xb, represent two closest points.Indices of A, B = arg minMCC Ref. No.: 103362-087WO1
[0293] Then, the A and B slopes are calculated using equation (5). where Ax — Xb— Xaand Ay = Yb— Ya.Ay®
[0294] From the slope AB, the perpendicular line slope is calculated in equation (6).This follows the property of perpendicular lines in geometry where the product of the twoperpendicular lines slopes is -1. Therefore, the perpendicular slope is the negative reciprocal ofmAB. Equation (7) is the perpendicular line passing through the vehicle’s last known position.1mPX= −(6)mABy= Tnpxx + cPX, where cPX= yv— mPXxv(7)
[0295] The intersection point of the perpendicular line PX with the line segment AB iscalculated by solving equation (8). Solving for the x -coordinates and corresponding y-coordinates in equation (9) and (10) for xint, and yjntmABx + cAB= m⊥x + c⊥(8)C j GcXint — AL.(9)mAB “ml. Vint ~~ +CAB (10)
[0296] The vehicle's last known position Pv= (xv, yv) and the intersection point (%int, yint ) are calculated in equation (11)II F*intT IIPv-1,1(11)II U'mtJ ll
[0297] if the lateral distance d±is the shortest distance among all the shortlistedcandidates. The corresponding lane is updated as the closest lane. The closest laneperpendicular intersection point is the starting point for map matching. If d±is the smallestMCC Ref. No.: 103362-087WO1distance among all candidates, the corresponding lane is updated as the closest lane. The perpendicular intersection point serves as the starting point for the map-matching algorithm.
[0298] Kinematic Model
[0299] A test vehicle With a wheelbase I with coordinates positioned at (x(t),y(t)) £ IR2and orientated at a yaw angleE [0,2TT), with the front wheels steered at an angle G [0,2TT). The generalized coordinates of the vehicle system q(t ={x(t),y(t), and the generalized velocities are defined by their temporal derivatives, which q(t) define the generalized velocities
[0021] . The kinematic model of the vehicle derived using the rolling without slipping constraint is given by q(t)— J where the matrixis: / cos / *(0 \siny(0V)(t) tan Of(t)0
[0300] The inputs to the kinematic model are ωf(t) wheel steering rate, v(t) rear axle velocity, steering angle 0y(t), and yaw rate ^(t). These inputs are logged from the vehicle's onboard data through the vehicle's CAN bus. The position of the vehicle is obtained using dead reckoning by numerically integrating generalized velocities in equation (12).
[0301] Map Matching Algorithm
[0302] The dead reckoning has drifted, and to correct the drift, an iterative approach can be used based on a static two-dimensional map. The two-dimensional map can include lane information with geo-coordinates of the lane center. In the approach, the vehicle's dead reckoning trajectory is matched with the lane center coordinates using an arc length-basedMCC Ref. No.: 103362-087WO1technique. The vehicle’s initial yaw angle is estimated using i >(0) — tan 1(Ay / Ax) the last two GPS point line slopes.
[0303] The kinematic dead reckoning for a batch of N points is computed iteratively,starting from ( Xj, Vj ), using the kinematic model (equation (12) and the data from the vehicle'sonboard sensors through the vehicle's CAN Bus. The arc length Sj of the kinematic trajectory forthe batch is computed:ft d / x(t)Si dt Atfe, (13)JodtW)
[0304] where tkG [tk, tfc+1]. To obtain the first corrected dead reckoning coordinates(x17yx), the line segment.£?o Tiis projected onto the origin (0,0). The corrected deadreckoning position is determined by identifying the corresponding point on the map segment,which is represented as a straight lineTm-iconnecting two adjacent points (x7m-i’ yTm_i and f x-r,yT) on the static 2D map.I I IX, y >vy — —vVT I I ^ -TmyTm-i f 1 x — xT. I f£T T■ = J i I VmxThn ~ XT‘m-i 't7JJ (14)I y e for = xTm__A
[0305] The next point ( xi+1,yi+1) is determined by finding the point •£r. ’i+1foat^es atthe same distance from the previous point as the arc length Sj using equation (15) that satisfiesthe arc length constraint. Points at distance {Pjnjtiai, J’reach }{J^nit ’ ^reach 1 )(X'. V) (15)
[0306] The solution candidate in the search process has the roots to the quadraticpolynomial. This implies there are two roots. The shorter distance from the Pinitia| is selectedusing equation (16):MCC Ref. No.: 103362-087WO1 / xT. - x(xf+1,yf+1) = argminKy)eS(16)Ui - x
[0307] The kinematics integrator can be re-initialized with (xi+1,yi+1) for the next iteration.
[0303] Transition to the Next Static Map Segment: When the arc length Sj is more than the remaining distance between the current point ( x^y^ ) and the target static map point (xrm,yTm) given by equation (17), the algorithm shifts to the next map segment. In the next line segment, the leftover length is searched.(17)
[0309] Lane Change Detection Algorithm
[0310] The lane change detection consists of three primary steps: lane detection, lane classification, and lane change detection, as pictured in the block diagram in FIG. 46. The algorithm uses a single frame from a continuous stream of images from the camera as its input.
[0311] Lane Detection: Lane detection can optionally be performed by the CLRKDNet model due to its balance between inference speed and accuracy. The model utilizes simplified FPN (Feature Pyramid Network) and detection heads from the state-of-the-art CLRNet architecture
[0024] . Additionally, knowledge distillation allows the CLRKDNet model to preserve the accuracy of CLRNet while significantly reducing runtime. In the configuration settings provided by the authors, the backbone selected was ResNet18, the maximum lanes were 8, and the cut height was adjusted with respect to the image size. The input image is directly passed into the model, with the output being a list of coordinates on the image representing each laneMCC Ref. No.: 103362-087WO1 line that could be detected. To reduce complexity, only the starting and ending points of each lane are stored for further use in lane classification and lane change detection.
[0312] Lane Classification: The detected lanes, along with the corresponding image, are passed into the lane classification model. First, the image is downscaled, preserving the aspect ratio, to optimize for algorithm runtime. Subsequently, the region between the start and end points of the lane, with an additional offset, is extracted to form a region of interest (ROI). This ROI includes a contour surrounding the lane lines to ensure adequate context to perform classification.
[0313] Image masking is applied to the ROI to isolate lane pixels from the road pixels. To ensure the mask contains sufficient information, the number of lane-related pixels is checked. If the number of pixels in the mask is below a predefined threshold, it is classified as a false positive and excluded from further classification.
[0314] The classification process involves applying color-specific masks for white and yellow hues to the lane pixels. The ratio of each color compared to the total number of lane pixels is computed. If the ratio of white or yellow pixels exceeds the defined threshold, the lane is assigned that color. Otherwise, if both ratios are below their respective thresholds, the color is classified as unknown.
[0315] The second stage of lane classification organizes the lanes into 4 classes (dashed, solid, double, and unknown). Connected components, the process of grouping pixels together based on nearby pixels, is the primary technique used here to group individual lane markings. The algorithm analyzes the number of connected components of each individual segment when the lane mask is divided across its vertical axis. If the number of consecutive 2 -componentMCC Ref. No.: 103362-087WO1 segments and the total number of 2-component segments exceed the predefined threshold, the lane type is determined to be a double lane line.
[0316] Additionally, the ratio of the total sum of each connected component within the entire lane mask, compared to the mask's total height, is calculated. A lower ratio suggests that the lane line is not composed of many lane markings on the road, indicating that the lane is of a dashed or dotted nature. If the ratio is closer to 1, then most of the lane line includes lane markings, signifying that the lane is likely a solid lane. If the ratio is considerably greater than 1, then the lane likely has multiple parallel lane markings in each horizontal segment indicating a double or a combination of dash-solid lanes. Otherwise, the lane type is unknown.
[0317] The lane classification block is used primarily to remove false positive lane lines but also has the added benefit of better visualization of detections. In visualizations of the algorithm, like in FIGS. 48A and 48B, the line styling and coloring will change depending on the predicted lane type and color. Dotted lines, solid lines, double parallel solid lines, and black lines are used to represent dashed, solid, double, and unknown lane types, The lane color will be yellow, white, or red to represent unknown. Any lane changes detected will override the color to be green.
[0318] Lane Change Detection: The final module processes the classified lanes to detect lane changes. Each lane is evaluated to determine whether it lies within the potential lane crossing threshold. The side of the lane crossing, if it occurs, is based on which side of the threshold the lane is closer to. These results (right or left crossing) are stored in a history buffer. The lane-crossing history is analyzed to determine whether sufficient detections have accumulated to trigger a state change. If the previous state was "no-crossing" and enoughMCC Ref. No.: 103362-087WO1 detections were recorded for either side, the state transitions to "crossing" for that side.Conversely, if the previous state was "crossing" and a sufficient number of null (no-crossing) results accumulate, the state reverts to "no-crossing". The final results of the lane change detection module, including the state and side of the
[0319] New Lane After a Lane Change
[0320] Shortlist Lanes: When a lane change is detected, the Euclidean distance is calculated from the current position of the vehicle to all points Plane=on each lane i using equation (1). Based on the minimum distance from equation (1) for each lane, if it is less than the threshold minEuclideanDistance, the closest lane is selected, as d-111” <min Euclidean Distance.
[0321] Selected Lane: Lane center coordinates are extracted for each lane. Then the lateral distances are calculated between the x component of each lane center coordinate and the vehicle's position: Plane= (xlane, ylane). X component as li:j = ||xlane,j− xest|. The lateral distances are sorted to determine the two closest points as sortedlndices = argsort(Zj, ascending). Finally, the two closest points are selected based on the sorted indices, resulting in points A and B. Here, A = (Xa, Ya) and B = Xb, Ybrepresent the two closest points.
[0322] Starting Point for Map Matching in New Lane: The process of finding the intersection point of the perpendicular line with the lane segment AB follows the steps outlined earlier. The line segment AB is calculated using equation (5). The slope of the perpendicular line is the negative reciprocal line segment equation (6). The derived equation of the perpendicular passes through the vehicle's position Pvehicle= (xest, yest) when a laneMCC Ref. No.: 103362-087WO1change is detected. The intersection point (xint, yint) of the two lines is determined by solving the equations of AB. Distances are calculated from all the intersection points for all shortlisted lanes from the vehicle's position. The minimum distance lane is the closest lane, and the intersection point is the point to start the map matching in the next lane after the lane change.
[0323] Next Lane after the end of current Lane
[0324] When the current lane ends, the next lane has to be found. The endpoint of the current lane is defined, Pendand the current lane direction vector is calculated using the last two lane coordinates: vcurrent lane= Pend− Pend-1The directionvector for each lane candidate, which is calculated from the two starting lane coordinates: ^candidate lane ^starting point, 2-Pstarting point, 1
[0325] Then current and candidate lane direction vector are normalized> V current i lane,, Q,Vcurrent lane ii 17 (1°)II ’'current lane II> ^candidate lane^candidate lane 11 1111 ’'candidate lane 11
[0326] Directional Alignment and Proximity Check: Then the alignment between the current and candidate lanes is assessed, and the dot product of the direction vectors of the current and candidate lanes is calculated using equation (20). The distance between the lane end coordinates and the candidate lane coordinates is also calculated using the equation (1). If the alignment falls within the threshold and the calculated distance is the lowest distance (21), the map matching process moves on to the next lane.cos θ = vcurrent lane· vcandidate lane(20)dmin= min(dmin, d) (21)
[0327] Error Analysis and Confidence Interval CalculationMCC Ref. No.: 103362-087WO1
[0328] For evaluation of the example method, the error is calculated between the ground truth GPS and the estimated position by map matching, kinematics, and SLAM. The error calculation in the X and Y directions is as follows ex,i= xi− x̂j_closestand ey,i= yi− ŷj_closest
[0329] Root Mean Square Error (RMSE): Root Mean Square Error (RMSE) quantifies the temporal correction for the X and Y directions using equations (22) and (23). The combined RMSE for both X and Y components is represented as shown in Equation (24).RMSEXRMSEy(23)1=1RMSE = [RMSEX, RMSE J (24)
[0330] Confidence Interval calculation: The error distribution is visualized using a histogram to determine the normality. Moreover, Q.-Q plot is also utilized to determine the normality. Q-Q plots use the errors exand eyQ-Q. plot theoretical quantiles are (ex)and ( Qpey,(n )> where q± represent the theoretical quantiles from a standard normal distribution. If the errors are approximately normally distributed, the points will align closely along the 45-degree line. If the error distribution is non-Gaussian or non-normal, a non¬ parametric distribution has to be utilized to calculate the confidence interval. The 95% confidence interval is calculated using the 2.5th and 97.5thpercentiles of the errors. The 95% confidence interval in the X direction is defined as the lower bound = P2.5(ex) and the upper bound = P97.5(ex). Thus, the 95% confidence interval for the X errors is defined as [Lower Boundx, Upper Boundx]. Similarly, for the Y component, the lower and upper bounds areMCC Ref. No.: 103362-087WO1 P2.5(ey) and P97.5(ey). The 95% confidence interval for the Y errors is defined as [Lower Boundy, Upper Boundy]. These intervals represent the range within which most of the errors (95%) are expected to fall, providing a measure of error variability.
[0331] Results and Discussion
[0332] The example method was evaluated in the scenarios as shown in Table I. Each scenario has different objectives with different road geometries and maneuvers. The example method was compared with kinematic and the SLAM method. OpenVSLAM was chosen as the current conventional model in monocular-camera SLAM, since it has a l m absolute trajectory error on average in the scenarios from the KITTI dataset. RMSE was used to assess the localization accuracy of each method relative to ground truth GPS. Additionally, error distribution histograms and Q-Q plots were plotted for each scenario to examine the nonnormality. When the non-normality is proven, the nonparametric method is used to calculate the confidence interval in each scenario. Table II consists of RMSE values in the X and Y directions for the example map-matching, kinematic, and SLAM methods, evaluated over all the scenarios. The percentage of improvement from kinematic and SLAM error by map matching was also analyzed in all scenarios through percentage. Table III presents the confidence interval in the X and Y directions for all methods.
[0333] Scenarios 1 and 2 took place at different four-way intersections where the vehicle performed the left and right turn maneuvers. In the left turn scenario shown in FIG. 47, the vehicle changed lanes from the adjacent lane to the left turn lane at 45 mph. The lane change detection algorithm identified the maneuver as shown FIG. 47A with a green line to indicate a left lane change has been made. Similarly, in the right-turn scenarios (shown in FIG.MCC Ref. No.: 103362-087WO1 47B), the vehicle changed the lane at 45 mph, executing the right turn. The lane change and lane detection results are shown in (FIG. 48B). In both scenarios (Table II), RMSE for kinematic localization was significantly high due to accumulated errors (scenario 1: X = 1.7030 m, Y — 3.1285 m ) and (scenario 2: X = 8.7384 m, Y ~ 2.8478 m ). Moreover, SLAM demonstrated even worse accuracy (scenario 1: X — 3.3850 m, Y — 0.8227 m ) and (scenario 2: X — 1.4007 m, Y = 0.3393 m ). The low accuracy of SLAM can be explained by several probable reasons. During testing, it was observed that the SLAM model requires a relatively high camera frame rate to vehicle speed ratio. However, in these scenarios, the rate was found to be lower, which makes the model highly unreliable. Additionally, current SLAM models use ORB as a feature extractor, which has been shown to be less reliable in an outdoor environment with variable lighting conditions.
[0334] However, the example map-matching method significantly outperformed both approaches, achieving lower RMSE values (scenario 1: X = 0.5987 m, Y = 0.7558 m ) and (scenario 2: X = 0.5649 m, Y = 0.8911 m ). The error trends for kinematic, SLAM, and the example map matching for both scenarios are depicted in FIG. 49A and FIG. 49B in the X and Y directions. The map-matching error remains stable and bounded with some fluctuations. On the contrary, kinematic and SLAM error show significant drift, unbounded error, and fluctuations over time; this exhibits that both kinematic and SLAM approaches lack the ability to maintain bounded error. Additionally, the percentage of improvement of the example method from kinematics was 64.84% in X and 75,84% in Y for scenario 1. This exhibits that the map matching has effectively reduced kinematic drift and maintained the accuracy. Similarly, the percentage of improvement from SLAM (X: 82.313% and Y: 8.131% ) also shows betterMCC Ref. No.: 103362-087WO1 performance of map matching in comparison to SLAM. For Scenario 2, the percentage of improvement from SLAM (X: 93.53% and Y: 68.70%) still shows the effectiveness of map matching compared to the kinematic method. On the other hand, the percentage of improvement from SLAM in the X direction is 59.670% but in the Y direction is —61.923%. Although SLAM outperforms map matching in the Y direction, map matching is still able to maintain sub-meter-level accuracy.
[0335] Furthermore, FIG. 50A presents the error distribution histogram and the Q-Q. plot of scenario 1, confirming the nonnormality of the error distribution. Similarly, FIG. 50B depicts the non-normality of error distribution in the right-turn scenario. A nonparametric method was used to calculate the confidence interval. Scenario 1 confidence intervals in the X (2.5652 m, 1.0283 m ) and in the Y direction ( —3.6207 ni, 0.6426m), while scenario 2 confidence intervals in the X(— 0,9019 m, 1.1599 m) and in the Y direction(-0.6946 m, 1.9956 m ).
[0336] Scenario 3 shown in FIG. 47C involved a swerving maneuver where the vehicle did not follow the center of the lane. This scenario tested the robustness of the example method, which relies on matching kinematic data to the lane center map. Lane change and lane detection are observed across the scenario in FIG. 48C. Table II shows that kinematic and SLAM approaches performed poorly in the scenarios with high RMSE (kinematic X: 5.7 m, SLAM X: 2.7619 m) and (kinematic Y: 28.9416 m, SLAM Y: 7.0338 m). Despite the swerving motion, the example method maintained high accuracy (RMSE X: 0.2675 m) with the percentage of improvement in the X direction from kinematics 95.30% and from SLAM 90.314% while in the Y direction (RMSE Y: 0.4203 m) with the percentage of improvement from kinematics 98.54%MCC Ref. No.: 103362-087WO1 and from SLAM 94.024%. FIG. 49C illustrates the error of kinematics and SLAM increasing. Both kinematic and SLAM exhibit non-bounded error, but the example method has bounded and constrained positional drift with a consistent level of accuracy. The error distribution histogram and Q-Q plot shown in FIG. 50C confirmed nonnormality, justifying the use of a nonparametric confidence interval in the X direction (—0.3508 m, 0.6312 m) and in the Y direction (—0.5796 m, 1.3178 m).
[0337] Scenario 4 shown in FIG. 47D represented the longest test, covering a distance of 5944 m ( 3.7 miles). This scenario simulated normal driving scenarios, including multiple lanes and intersections with various maneuvers. Lane change detection in the scenario is shown in FIG. 48D. In this scenario, SLAM failed early. A possible cause of the SLAM failure is a sudden change in lighting-the car was under the bridge, casting a shadow on the vehicle, and when it pulled out from under it, the image was over-lit for a few frames, which was enough to throw the model off. FIG. 49D exhibits that kinematic and SLAM error shows a fluctuating, unbounded, increasing error trend. Table II reports the RMSE of kinematic and SLAM in the X directions (kinematic X: 56.7234 m, SLAM X: 15.1531 m) and Y directions (kinematic Y: 13.0701 m, SLAM Y: 30.4217 m). Kinematic and SLAM have less positional accuracy. However, the example method demonstrated significantly better accuracy (RMSE X: 0.4288 m, RMSE Y:0.6231 m) with a percentage of improvement from kinematic (X:99.244% and Y:97.170%) and SLAM(X:95.232% and Y: 97.951 ). Additionally, the example method maintained bounded error throughout the scenario as illustrated in FIG. 49D. The error distribution histogram and Q-Q, plot shown in FIG. 50D confirmed non-normality, leading to the application of a non-parametric confidence interval method. The results of the confidence interval in the X -direction and Y -MCC Ref. No.: 103362-087WO1 direction lower and upper bounds are ( —0.3859 m, 0.8700 m ) and V-direction ( -0.9961 m, 1.1830 m ).
[0338] Discussion
[0339] The enhanced novel arc length-based map matching approach according to implementations of the present disclosure addresses GPS-denied localization. The example method effectively reduces the drift of kinematics, which was calculated using the vehicle's onboard sensors. The method uses two-dimensional map to correct the kinematic drift while finding the correct lane map to match dynamically without previously knowing the vehicle's path all within sub-meter accuracy. The incorporation of a lane change detection model increases robustness by dynamically identifying the change of lane and ensures continuous and precise localization. Kinematics, SLAM, and map matching were validated across different driving scenarios, including left, right, swerving, and long driving. Across the scenarios, comparative analysis shows that the example method has superior performance in comparison to kinematics and SLAM. Kinematic and SLAM errors are unbounded and exhibit fluctuation, whereas the map-matching method error is consistently stable and bounded. Moreover, the confidence intervals of the example methods confirm their high reliability. The present disclosure further contemplates implementing the example method in a vehicle equipped with an autonomous vehicle controller to control the vehicle during GPS-denied driving scenarios.
[0340] TABLE II: Performance of kinematics, Map matching(MM), and SLAM in driving scenariosMCC Ref. No.: 103362-087WO1M M RM MM M: RM: MM M RMS RMS RMS SE vs vs RMS SE vs vs See E X E YEX X Kine SL E Y Y Kine SL nari (Map (Map(Kine (SL matic A (Kine (SL matic A o ID Mate Matematic) AM X M matic) AM Y M hing) hing)(%) X ) (%) Y (%) (%) 1.703 0.598 3.38 64.84 82. 3.128 0.755 0.82 75.84 8.1 I0 7 50 4 313 5 8 27 1 318.738 0.564 1.40 93.53 59. 2.847 0.891 0.33 68.70 2 61.4 9 07 5 670 8 1 93 9923 5.700 0.267 2.76 95.30 90. 28.94 0.420 7.03 98.54 94.30 5 19 7 314 16 3 38 7 024 56.72 0.428 15.1 99.24 97. 13.07 0.623 30.4 95.23 97.434 8 531 4 170 01 1 217 2 951
[0341] TABLE III: Confidence Interval of Map MatchingConfidence Confidence Confidence ConfidenceTravel Scenario Interval Interval Interval IntervalDistance ID Lower X Upper X Lower Y Upper Y(meter) (meter) (meter) (meter) (meter)1 -2.5652 1.0283 -3.6207 0.6426 321 2 -0.9019 1.1599 -0.6946 1.9956 2643 -0.3508 0.6312 -0.5796 1.3178 3224 -0.3859 0.8700 -0.9961 1.1830 5944
[0342] References
[0343] Although the subject matter has been described in language specific to structural features and / or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above.MCC Ref. No.: 103362-087WO1 Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.
[0344] N. Uddin Javed, Y. Singh, and Q. Ahmed, " Vehicle Localization in GPS-Denied Scenarios Using Arc-Length-Based Map Matching," IEEE Transactions on Intelligent Transportation Systems, doi: 10.1109 / TITS.2025.3648744.
[0345] Javed, N., Singh, Y., Tan, S., and Ahmed, Q.., " Improving Vehicle Localization Confidence under Different Road Geometries," SAE Technical Paper 2025-01-8043, 2025. https: / / doi.org / 10.4271 / 2025-01-8043.
[0346] N. U. Javed, R. Zhu, A. Kopanev, S. Tan, and Q. Ahmed, " Lane-Level Localization of Vehicle in GPS-Denied Environment," 2025 IEEE / ION Position, Location and Navigation Symposium (PLANS), Salt Lake City, UT, USA, 2025, pp. 1467-1478, doi:10.1109 / PLANS61210.2025.11028441.
[0347] Javed, N. U. (2024). GPS-Denied Vehicle Localization. OhioLINK Electronic Theses and Dissertations Center.http: / / rave.ohiolink.edu / etdc / view?acc_num=osul732681836098689.
Claims
MCC Ref. No,: 103362-087WO1 WHAT IS CLAIMED:
1. An autonomous vehicle, comprising:a vehicle control system comprising a processor and a memory operably coupled to the processor, the memory having computer-executable instructions stored thereon that, when executed by the processor, cause the processor to:continuously monitor availability of a satellite navigation system; in response to the satellite navigation system being unavailable, receive dead reckoning information from the autonomous vehicle; and determine, based on the dead reckoning information, an estimated location of the autonomous vehicle,2. The autonomous vehicle of claim 1, wherein the memory has further computer-executable instructions stored thereon that, when executed by the processor, cause the processor to receive a navigation signal from a communication system, and wherein determining the estimated location of the autonomous vehicle is at least partially based on the navigation signal,3. The autonomous vehicle of claim 2, wherein determining, based on the navigation signal and the dead reckoning information, an estimated location of the autonomous vehicle comprises using Vehicle-to-Everything (V2X) map data, the V2X map data comprising locations of a plurality of smart infrastructure devices configured to broadcast navigation signals.MCC Ref. No.: 103362-087WO1 4. The autonomous vehicle of claim 2 or claim 3, wherein the navigation signal is broadcast by a roadside unit.
5. The autonomous vehicle of claim 2 or claim 3, wherein the navigation signal is broadcast by an AIM (Autonomous intersection management) system.
6. The autonomous vehicle of claim 2 or claim 3, wherein the navigation signal is broadcast by an STL (smart traffic light).
7. The autonomous vehicle of any one of claims 1-6, wherein the memory has further computer-executable instructions stored thereon that, when executed by the processor, cause the processor to detect that the satellite navigation system is available and, upon detecting that the satellite navigation system is available, control the autonomous vehicle based on the satellite navigation system.
8. The autonomous vehicle of any one of claims 1-7, wherein the satellite navigation system is a Global Positioning System.
9. The autonomous vehicle of any one of claims 1-8, wherein the dead reckoning information comprises a turn rate and an acceleration of the autonomous vehicle.MCC Ref. No.: 103362-087WO1 10. The autonomous vehicle of any one of claims 1-9, wherein the dead reckoning information comprises a position, orientation, and velocity of the autonomous vehicle.
11. The autonomous vehicle of any one of claims 1-10, wherein the memory has further computer-executable instructions stored thereon that, when executed by the processor, cause the processor to control the autonomous vehicle based on the estimated location.
12. A computer-implemented method for performing navigation for an autonomous vehicle, the method comprising:determining that a satellite navigation system is unavailable;receiving dead reckoning information from the autonomous vehicle;receiving a navigation signal; anddetermining, based on the dead reckoning information, an estimated location of the autonomous vehicle.
13. The computer-implemented method of claim 12, further comprising receiving a navigation signal, and wherein determining the estimated location of the autonomous vehicle is at least partially based on the navigation signal.
14. The computer-implemented method of claim 12 or claim 13, wherein the navigation signal is broadcast by a roadside unit.MCC Ref. No.: 103362-087WO1 15. The computer-implemented method of any one of claims 12-14, wherein the navigation signal is broadcast by a second autonomous vehicle.
16. The computer-implemented method of any one of claims 12-15, wherein the navigation signal is broadcast by a mobile device.
17. The computer-implemented method of any one of claims 12-16, further comprising controlling the autonomous vehicle based on the estimated location.
18. The computer-implemented method of any one of claims 12-17, wherein determining an estimated location of the autonomous vehicle comprises using a V2X map, the V2X map comprising locations of a plurality of smart infrastructure devices configured to broadcast navigation signals.
19. The computer-implemented method of any one of claims 12-18, further comprising detecting that the satellite navigation system is available and, upon detecting that the satellite navigation system is available, control the vehicle based on the satellite navigation system.
20. The computer-implemented method of any one of claims 12-19, wherein the satellite navigation system is a Global Positioning System.MCC Ref. No.: 103362-087WO1 21. The computer-implemented method of any one of claims 12-20, wherein the dead reckoning information comprises a turn rate and an acceleration of the autonomous vehicle.
22. The computer-implemented method of any one of claims 12-21, wherein the dead reckoning information comprises a position, orientation, and velocity of the autonomous vehicle.
23. A system for performing navigation for an autonomous vehicle, the system comprising:an autonomous vehicle;a communication system; anda vehicle control system operably coupled to the autonomous vehicle, the vehicle control system comprising a processor and a memory operably coupled to the processor, the memory having computer-executable instructions stored thereon that, when executed by the processor, cause the processor to:continuously monitor availability of a satellite navigation system; in response to the satellite navigation system being unavailable, receive dead reckoning information from the autonomous vehicle;receive a navigation signal by the communication system; and determine, based on the navigation signal and the dead reckoning information, an estimated location of the autonomous vehicle.
24. A vehicle control system, comprising:MCC Ref. No.: 103362-087WO1 a processor; anda memory operably coupled to the processor, the memory having computer-executable instructions stored thereon that, when executed by the processor, cause the processor to:continuously monitor availability of a satellite navigation system; in response to the satellite navigation system being unavailable, receive dead reckoning information from an autonomous vehicle;receive a navigation signal from a communication system; and determine, based on the navigation signal and the dead reckoning information, an estimated location of the autonomous vehicle.
25. An autonomous vehicle, comprising:a vehicle control system comprising a processor and a memory operably coupled to the processor, the memory having computer-executable instructions stored thereon that, when executed by the processor, cause the processor to:receive sensor data from one or more vehicle sensors;determine, a plurality of vehicle positions for a plurality of time steps based on the sensor data;generate an arc representing the position of the autonomous vehicle over time; anddetermine a location of the autonomous vehicle by comparing the arc to a map.MCC Ref. No.: 103362-087WO126. The autonomous vehicle of claim 25, wherein the sensor data comprises at least one of: wheel speed data, yaw rate data, and steering data.
27. The autonomous vehicle of claim 25 or claim 26, wherein the memory has further computer-executable instructions stored thereon that, when executed by the processor, cause the processor to: continuously monitor availability of a satellite navigation system, and navigate the vehicle based on the arc in response to detecting the satellite navigation system is unavailable.
28. The autonomous vehicle of any one of claims 25-27, wherein comparing the arc to a map comprises calculating a Euclidean distance between a known position and a plurality of lane centerlines of the map.
29. The autonomous vehicle of any one of claims 25-28, wherein the plurality of vehicle positions are revised based on the location.
30. The autonomous vehicle of any one of claims 25-29, wherein the memory has further computer-executable instructions stored thereon that, when executed by the processor, cause the processor to: detect a lane change based on the location.MCC Ref. No.: 103362-087WO1 31. The autonomous vehicle of claim 30, wherein the memory has further computer-executable instructions stored thereon that, when executed by the processor, cause the processor to: evaluate a plurality of candidate lanes and determine, based on the arc, a new lane for the autonomous vehicle.
32. A computer-implemented method comprising:receiving sensor data from one or more vehicle sensors of an autonomous vehicle;determining a plurality of vehicle positions for a plurality of time steps based on the sensor data;generating an arc representing the position of the autonomous vehicle over time; anddetermining a location of the autonomous vehicle by comparing the arc to a map.
33. The computer-implemented method of claim 32, wherein the sensor data comprises at least one of: wheel speed data, yaw rate data, and steering data.
34. The computer-implemented method of claim 32 or claim 33, further comprising continuously monitoring availability of a satellite navigation system, and navigate the vehicle based on the arc in response to detecting the satellite navigation system is unavailable.MCC Ref. No.: 103362-087WO135. The computer-implemented method of any one of claims 32-34, wherein comparing the arc to a map comprises calculating a Euclidean distance between a known position and a plurality of lane centerlines of the map.
36. The computer-implemented method of claim 32, wherein the plurality of vehicle positions are revised based on the location.
37. The computer-implemented method of claim 32, further comprising detecting a lane change based on the location.
38. The computer-implemented method of claim 37, further comprising evaluating a plurality of candidate lanes and determine, based on the arc, a new lane for the autonomous vehicle.
39. A vehicle control system comprising:one or more vehicle sensors;a processor; anda memory operably coupled to the processor, the memory having computer-executable instructions stored thereon that, when executed by the processor, cause the processor to: implement the computer-implemented method of any one of claims 32-