Error lane driving detection and collision mitigation
By combining GNSS, IMU sensors and a map database, the vehicle control system can detect and mitigate wrong-lane driving, solving the problems of inaccurate detection and insufficient response measures in existing technologies and achieving more efficient collision mitigation.
Patent Information
- Application Number
- CN202110527217.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2020-12-14
- Filing Date
- 2021-05-14
- Publication Date
- 2025-10-10
- Estimated Expiration
- 2041-05-14
AI Technical Summary
Existing vehicle control systems rely on high-resolution sensors and visual cues to detect and mitigate wrong-lane driving, are unable to effectively warn other vehicles without communication systems, and lack powertrain-related countermeasures.
Combining global navigation satellite systems, inertial measurement unit sensors and map databases, it detects the vehicle's position and direction of movement through dead reckoning, generates a severity measure and deploys multiple countermeasures, such as warning the driver, controlling the vehicle's powertrain and communicating with other vehicles.
Improved accuracy and timeliness of wrong-lane driving detection, the system can mitigate collision risks through multiple means, including powertrain control and vehicle-to-vehicle communication, enhancing the robustness of collision mitigation.
Smart Images

Figure CN114620035B_ABST
Abstract
Description
Background Art
[0001] The information provided in this section is for the purpose of generally presenting the background of the present disclosure. To the extent described in this section, the work of the presently named inventors and aspects of the description that may not otherwise constitute prior art at the time of filing are neither explicitly nor implicitly admitted to be prior art to the present disclosure.
[0002] The present disclosure relates generally to vehicle control systems and, more particularly, to systems for wrong-way driving detection and collision mitigation.
[0003] Many vehicles are equipped with monitoring systems that monitor whether the vehicle is staying in its lane, maintaining distance from other vehicles, and other factors. These monitoring systems typically include sensors, such as cameras, that detect lane markings on the road, and surrounding objects such as signs and other vehicles. The monitoring system warns the driver when another vehicle approaches too close, or when the vehicle crosses a lane marking without intending to change lanes (this can be detected from the turn signal). These monitoring systems are useful, to a certain extent, in reducing the risk of accidents. Summary of the Invention
[0004] A system includes a processor and a memory storing instructions that, when executed by the processor, configure the processor to: receive data from a plurality of sensors in a vehicle, the sensors including a global navigation satellite system receiver, an accelerometer, a gyroscope, and a magnetometer; and determine a position of the vehicle and a direction of motion of the vehicle based on the data and a history of the vehicle's position over the preceding N seconds, where N is a number greater than 0. The instructions configure the processor to: determine an allowed driving direction for the vehicle based on the vehicle's position and a map database; and detect whether the vehicle is moving in the wrong direction based on the allowed driving direction and the vehicle's direction of motion.
[0005] In another feature, the processor is further configured to determine the location of the vehicle based on additional data received from a ground station associated with the global navigation satellite system.
[0006] In other features, the processor is further configured to: determine a pose of the vehicle based on the data; receive a grade of the vehicle's position from a map database; and additionally detect whether the vehicle is moving in the wrong direction based on the pose of the vehicle and the grade of the vehicle's position.
[0007] In other features, in response to detecting that the vehicle is moving in the wrong direction, the processor is further configured to: generate a severity metric based on the location of the vehicle and at least one of the vehicle's speed, road type, time of day, traffic, weather, and construction information; and generate an alert based on the severity metric.
[0008] In another feature, the processor is further configured to warn an occupant of the vehicle using one or more of an audio, visual, and tactile alert in response to detecting that the vehicle is moving in the wrong direction.
[0009] In another feature, the processor is further configured to at least one of turn on hazard lights, sound a horn, and flash headlights of the vehicle in response to detecting the vehicle moving in the wrong direction.
[0010] In another feature, the processor is further configured to at least one of reduce the speed of the vehicle, limit the maximum speed of the vehicle, and engage an automatic braking system of the vehicle in response to detecting that the vehicle is moving in the wrong direction.
[0011] In another feature, the processor is further configured to modify parameters of an automatic braking system of the vehicle in response to detecting that the vehicle is moving in the wrong direction.
[0012] In another feature, the processor is further configured to selectively notify a cloud-based monitoring system that the vehicle is moving in the wrong direction.
[0013] In another feature, the processor is further configured to selectively send a message to a V2X communication system that the vehicle is moving in the wrong direction.
[0014] In yet other features, a method includes receiving data from a plurality of sensors in a vehicle, the sensors including a global navigation satellite system receiver, an accelerometer, a gyroscope, and a magnetometer. The method includes determining a position of the vehicle and a direction of motion of the vehicle based on the data and a history of the vehicle's position over the previous N seconds, where N is a number greater than zero. The method includes determining an allowed driving direction for the vehicle based on the vehicle's position and a map database. The method includes detecting whether the vehicle is moving in the wrong direction based on the allowed driving direction and the direction of motion of the vehicle.
[0015] In another feature, the method further comprises determining the position of the vehicle based on additional data received from a ground station associated with the global navigation satellite system.
[0016] In another feature, the method further includes determining a pose of the vehicle based on the data, receiving a slope of a vehicle location from a map database, and detecting whether the vehicle is moving in a wrong direction based additionally on the pose of the vehicle and the slope of the vehicle location.
[0017] In other features, the method further includes, in response to detecting that the vehicle is moving in a wrong direction: generating a severity metric based on a location of the vehicle and at least one of a speed of the vehicle, a road type, a time of day, traffic, weather, and construction information; and generating an alert based on the severity metric.
[0018] In another feature, the method further includes, in response to detecting that the vehicle is moving in a wrong direction, alerting an occupant of the vehicle using one or more of an audio, a video, and a haptic alert.
[0019] In another feature, the method further includes, in response to detecting that the vehicle is moving in a wrong direction, at least one of turning on hazard lights, sounding a horn, and flashing headlights of the vehicle.
[0020] In another feature, the method further includes, in response to detecting that the vehicle is moving in a wrong direction, at least one of reducing a speed of the vehicle, limiting a maximum speed of the vehicle, and engaging an automatic braking system of the vehicle.
[0021] In another feature, the method further includes, in response to detecting that the vehicle is moving in a wrong direction, modifying a parameter of an automatic braking system of the vehicle.
[0022] In another feature, the method further includes selectively notifying a cloud-based monitoring system that the vehicle is moving in a wrong direction.
[0023] In another feature, the method further includes selectively sending a message to a V2X communication system that the vehicle is moving in a wrong direction.
[0024] The disclosure also includes the following aspects:
[0025] Aspect 1. A system comprising:
[0026] a processor; and
[0027] a memory storing instructions that, when executed by the processor, configure the processor to:
[0028] receive data from a plurality of sensors in a vehicle, the sensors including a global navigation satellite system receiver, an accelerometer, a gyroscope, and a magnetometer;
[0029] determining the position of the vehicle and the direction of movement of the vehicle based on the data and a history of the position of the vehicle over the previous N seconds, where N is a number greater than 0;
[0030] determining an allowed driving direction for the vehicle based on the position of the vehicle and a map database; and
[0031] Whether the vehicle is moving in a wrong direction is detected based on the allowed driving direction and the direction of motion of the vehicle.
[0032] Option 2. The system of Option 1, wherein the processor is further configured to determine the position of the vehicle based on additional data received from a ground station associated with the global navigation satellite system.
[0033] Option 3. The system according to Option 1, wherein the processor is further configured to:
[0034] determining a posture of the vehicle based on the data;
[0035] receiving a slope at a vehicle location from the map database; and
[0036] It is additionally detected whether the vehicle is moving in the wrong direction based on the posture of the vehicle and the gradient of the vehicle position.
[0037] Option 4. The system of Option 1, wherein in response to detecting that the vehicle is moving in the wrong direction, the processor is further configured to:
[0038] generating a severity metric based on at least one of a speed of the vehicle, a road type, a time of day, traffic, weather, and construction information, and a location of the vehicle; and
[0039] An alert is generated based on the severity metric.
[0040] Option 5. The system of Option 1, wherein the processor is further configured to warn an occupant of the vehicle using one or more of an audio, visual, and tactile alarm in response to detecting that the vehicle is moving in the wrong direction.
[0041] Option 6. The system of Option 1, wherein the processor is further configured to at least one of turn on hazard lights, sound a horn, and flash the vehicle's headlights in response to detecting that the vehicle is moving in the wrong direction.
[0042] Option 7. The system of Option 1, wherein the processor is further configured to at least one of reduce the speed of the vehicle, limit the maximum speed of the vehicle, and engage an automatic braking system of the vehicle in response to detecting that the vehicle is moving in the wrong direction.
[0043] Option 8. The system of Option 1, wherein the processor is further configured to modify parameters of the vehicle's automatic braking system in response to detecting that the vehicle is moving in the wrong direction.
[0044] Embodiment 9. The system of embodiment 1, wherein the processor is further configured to selectively notify a cloud-based monitoring system that the vehicle is moving in the wrong direction.
[0045] Option 10. The system of Option 1, wherein the processor is further configured to selectively send a message to a V2X communication system that the vehicle is moving in the wrong direction.
[0046] Scheme 11. A method comprising:
[0047] receiving data from a plurality of sensors in the vehicle, including a global navigation satellite system receiver, an accelerometer, a gyroscope, and a magnetometer;
[0048] determining the position of the vehicle and the direction of movement of the vehicle based on the data and a history of the position of the vehicle over the previous N seconds, where N is a number greater than 0;
[0049] determining an allowed driving direction for the vehicle based on the vehicle's position and a map database; and
[0050] Whether the vehicle is moving in a wrong direction is detected based on the allowed driving direction and the direction of motion of the vehicle.
[0051] Option 12. The method of Option 11 further comprises determining the position of the vehicle based on additional data received from a ground station associated with the global navigation satellite system.
[0052] Option 13. The method according to Option 11, further comprising:
[0053] determining a posture of the vehicle based on the data;
[0054] receiving a slope at a vehicle location from the map database; and
[0055] In addition, whether the vehicle is moving in the wrong direction is detected based on the posture of the vehicle and the slope of the vehicle position.
[0056] Option 14. The method of option 11 further comprising, in response to detecting that the vehicle is moving in the wrong direction:
[0057] generating a severity metric based on at least one of a speed of the vehicle, a road type, a time of day, traffic, weather, and construction information, and a location of the vehicle; and
[0058] An alert is generated based on the severity metric.
[0059] Embodiment 15. The method of embodiment 11 further comprises: in response to detecting that the vehicle is moving in the wrong direction, alerting an occupant of the vehicle using one or more of an audio, visual, and tactile alarm.
[0060] Embodiment 16. The method of embodiment 11 further comprising: in response to detecting that the vehicle is moving in the wrong direction, performing at least one of turning on hazard lights, sounding a horn, and flashing headlights of the vehicle.
[0061] Option 17. The method of Option 11 further includes: in response to detecting that the vehicle is moving in the wrong direction, at least one of reducing the speed of the vehicle, limiting the maximum speed of the vehicle, and engaging an automatic braking system of the vehicle.
[0062] Option 18. The method of Option 11 further comprising: modifying parameters of an automatic braking system of the vehicle in response to detecting that the vehicle is moving in the wrong direction.
[0063] Option 19. The method of Option 11 further comprising: selectively notifying a cloud-based monitoring system that the vehicle is moving in the wrong direction.
[0064] Option 20. The method according to Option 11 further includes: selectively sending a message to a V2X communication system that the vehicle is moving in the wrong direction.
[0065] Further areas of applicability of the present disclosure will become apparent from the detailed description, claims and accompanying drawings.The detailed description and specific examples are intended for purposes of illustration only and are not intended to limit the scope of the present disclosure. BRIEF DESCRIPTION OF THE DRAWINGS
[0066] The present disclosure will be more fully understood from the detailed description and accompanying drawings, in which:
[0067] Figure 1 is a block diagram of a system for wrong-way driving detection and collision mitigation according to the present disclosure;
[0068] Figure 2is a flow chart of a method for wrong-way driving detection and collision mitigation according to the present disclosure;
[0069] Figure 3 is a flow chart of a method for determining a navigation state of a vehicle;
[0070] Figure 4 is a flow chart of a method for comparing a vehicle's navigation state with a map database to detect wrong-way driving; and
[0071] Figure 5 is a flow chart of a method for assigning a severity metric to detected wrong-way driving.
[0072] Among the drawings, reference numerals may be repeated to identify similar and / or identical elements. DETAILED DESCRIPTION
[0073] Current vehicle control systems rely on the availability of advanced sensors, such as cameras and V2X communications, to warn drivers when a vehicle is in the wrong lane. V2X, or vehicle-to-everything communication, is communication between a vehicle and any entity that may affect or be affected by it. V2X is a vehicle communication system that combines other more specific types of communication, such as V2I (vehicle-to-infrastructure), V2N (vehicle-to-network), V2V (vehicle-to-vehicle), V2P (vehicle-to-pedestrian), V2D (vehicle-to-device), and V2G (vehicle-to-grid). However, these control systems are not robust enough to effectively mitigate head-on collisions.
[0074] The system of the present disclosure detects whether a vehicle is traveling in the wrong lane (i.e., in the wrong direction, such as entering a highway via an exit ramp, traveling in the opposite direction on a one-way street, etc.). For robustness, the system uses a combination of sensor data and a map database. If wrong-lane driving is detected with a high level of certainty, the system deploys multiple countermeasures to mitigate or reduce the severity of a head-on collision.
[0075] Specifically, the system uses various resources to detect wrong-way driving. For example, resources include offline (or online) map databases, global navigation satellite systems (GNSS), inertial measurement unit (IMU) sensors, and optional other sensors in the vehicle. GNSS refers to a satellite constellation that sends positioning and timing data to a GNSS receiver. The receiver in the vehicle uses the positioning data and timing data to determine the vehicle's position. The GNSS system can be enhanced by auxiliary corrections via ground-based stations or other systems. The corrections improve the positioning accuracy of the GNSS-based positioning system. However, position alone is not enough to quickly and accurately detect wrong-way driving. It is necessary to additionally and quickly determine the direction of the vehicle's movement. While GNSS provides position information (i.e., the vehicle's position), the IMU sensor in the vehicle provides direction information (i.e., the direction of the vehicle's movement). Examples of IMU sensors include accelerometers, gyroscopes, magnetometers, etc.
[0076] In addition to sensor data, the system uses dead-reckoning (the vehicle's previous N-second navigational state history, including position, orientation, attitude, altitude, etc.) to establish the vehicle's orientation and compare it to the expected direction of the road, which can be determined from a map database. In navigation, dead-reckoning is the process of calculating the current navigational state of a moving object by using previously determined navigational states, which are calculated using estimates of speed, heading, and course over time. The system ultimately provides (to the driver and / or vehicle control system) a set of actions that are practical and can be immediately implemented to mitigate head-on collisions when wrong-way driving is detected.
[0077] Notably, the prior art does not consider dead reckoning to detect wrong-way driving. Instead, it relies on detecting wrong-way signs, signals, and other visual cues. These markers not only require high-resolution sensors and extensive computation to detect, but are also not always reliable. Furthermore, the prior art warns wrong-way drivers, noting other vehicles via communications, but does not alert nearby vehicles when a communication system is unavailable. Nor does the prior art include any powertrain-related countermeasures.
[0078] The disclosed system uses a map database in conjunction with positioning and inertial measurement sensors to detect wrong-way driving. The system uses the last N seconds of vehicle motion history to improve detection accuracy. The system uses high-definition (HD) maps to check measured driving direction, slope, lane, etc. against predicted driving direction, slope, lane, etc. to detect wrong-way driving.
[0079] The system includes strategies for preventing collisions through a multi-prong approach. For example, the system controls the vehicle's powertrain by limiting maximum speed, engaging the automatic braking system, etc. The system controls the vehicle's safety systems by anticipating an impending collision and modifying automatic braking system parameters to prevent a possible frontal collision. The system provides driver alerts (e.g., visual, auditory, and / or tactile alerts). The system warns other vehicles on the road by performing one or more of the following: turning on the vehicle's hazard lights, flashing the vehicle's headlights, sounding the vehicle's horn, alerting a cloud-based monitoring service to which other vehicles may subscribe, and transmitting a V2X message that the vehicle is driving the wrong way. In addition, the system can be used as a watchdog in an autonomous vehicle to detect and notify vehicle occupants and / or the vehicle's control system of wrong-way driving. These and other features of the system of the present disclosure are described in detail below.
[0080] Figure 1 A system 100 for wrong-way driving detection and collision mitigation that can be implemented in a vehicle is shown. The system 100 includes a processor 102, a memory 104, a plurality of sensors (110, 112, 114), and a plurality of vehicle control subsystems (130, 132, 134, 136, 140). For example, the plurality of sensors includes a GNSS receiver 110, an IMU sensor 112 (e.g., an accelerometer, a gyroscope, a magnetometer), and other sensors 114 in the vehicle (e.g., a speed sensor, a brake sensor, a wheel sensor, etc.). For example, the plurality of vehicle control subsystems includes an infotainment subsystem 130, an alarm subsystem 132, a powertrain subsystem 134, an autonomous subsystem 136, and a communication subsystem 140. The system 100 includes a map database 120.
[0081] In short, the infotainment subsystem 130 may include audio-visual aids for vehicle occupants. The alarm subsystem 132 may control the vehicle's lights, horn, tactile alarm features, etc. The powertrain subsystem 134 may control the vehicle's transmission, brakes, and other related subsystems. The autonomous subsystem 136 may control the autonomous or semi-autonomous mode of driving the vehicle. The communication subsystem 140 may include cellular, satellite, and other communication subsystems for communicating with other vehicles via a V2X system, for communicating with a server in the cloud (e.g., to access a map database and / or periodically update the map database 120 in the vehicle), etc. These elements of the system 100 may communicate with each other via a communication network in the vehicle, such as a controller area network (CAN bus) or Ethernet.
[0082] Now refer to Figure 2-5The system 100 is described in detail with reference to methods 200, 250, 300, and 350 shown in FIG. The system 100 performs the methods 200, 250, 300, and 350. The method 200 shows an overview of wrong-way driving detection and collision mitigation performed by the system 100. The methods 250, 300, and 350 show specific features of the method 200 in more detail.
[0083] exist Figure 2 , at 202, the processor 102 determines the current navigation state of the vehicle. The navigation state of the vehicle includes the position (i.e., location), direction of movement, speed, and attitude (i.e., orientation of the vehicle; for example, whether the vehicle is moving uphill or downhill) of the vehicle. The processor 102 determines the position of the vehicle based on GNSS data received by the GNSS receiver 110 of the GNSS system. The processor 102 determines the direction of movement of the vehicle and the attitude of the vehicle based on data received from the IMU sensor 112. The processor 102 receives the speed of the vehicle from the speed sensor (e.g., 114). For example, the processor 102 determines the navigation state of the vehicle once per second or at any other suitable frequency. Figure 3 Navigation state determination is described in more detail.
[0084] At 204, the processor 102 updates the vehicle's N-second navigation state history with the vehicle's current navigation state. For example, N may be 10 or any other suitable number. At any time, the N-second navigation state history provides a history of the vehicle's navigation state in the immediately preceding N seconds. The N-second navigation state history is used as dead reckoning to determine the vehicle's navigation state, as described below with reference to Figure 3 Further detailed explanation.
[0085] At 206 , the processor 102 compares the vehicle's current navigation state with the data in the map database 120 . For example, the map database 120 may be stored locally in the vehicle. Alternatively, the map database 120 may be stored on a server in the cloud. The processor 102 may access the map database 120 in the cloud via the communication subsystem 140 . The map database 120 in the vehicle may be periodically updated by receiving updates from the map database 120 in the cloud via the communication subsystem 140 .
[0086] For the vehicle's current position (i.e., location) indicated in the vehicle's current navigation state, the map database 120 may provide details about the vehicle's location. Non-limiting examples of these details include the following: current lane, permitted direction of travel in the current lane, current road grade, road segment type (e.g., freeway ramp, N-lane road, divided freeway, lane, etc.), road speed limit, and real-time traffic data (e.g., construction, road closures, detours, etc.).
[0087] At 208, based on the comparison between the vehicle's current navigation state and the data in the map database 120, the processor 102 determines whether the vehicle is on the correct road (i.e., whether the detected direction of motion of the vehicle matches the direction of travel allowed on the road inferred from the comparison between the vehicle's current navigation state and the data in the map database 120). The comparison between the vehicle's current navigation state and the data in the map database 120 and the determination of whether the vehicle is on the correct road based on the comparison are explained in more detail below with reference to FIGS. 3-5. Figure 4 The comparison between the vehicle's current navigation state and the data in the map database 120 and the determination of whether the vehicle is on the correct road based on the comparison are explained in more detail below with reference to FIGS. 3-5.
[0088] If the vehicle is moving in the allowed direction on the road, at 210, the processor 102 resets the counter. The counter can be stored in the memory 104, for example. As explained below, the counter is updated several times per second and is used to detect false lane driving. After resetting the counter, the method 200 returns to 202.
[0089] If the vehicle is not moving in the allowed direction on the road, at 212, the processor 102 detects a violation and assigns a severity measure to the detected violation. The processor 102 generates the severity measure based on the comparison between the vehicle's current navigation state and the data in the map database 120. The severity measure indicates a level of severity of the detected violation. The severity measure is granular (i.e., graduated) and depends on various factors (explained below). The severity measure is used to deploy commensurate mitigation procedures. The processor 102 adds the severity measure to the counter. The generation of the severity measure and the updating of the counter are explained in more detail below with reference to FIGS. 6-8. Figure 5 The generation of the severity measure and the updating of the counter are explained in more detail below with reference to FIGS. 6-8.
[0090] At 214, the processor 102 determines whether the counter exceeds a predetermined limit. The predetermined limit is calibrated to not cause false alarms (e.g., when the vehicle momentarily turns into a false lane while making a turn and then returns to the proper lane, or when the vehicle quickly moves into a false lane to pass another vehicle on a divided highway and then returns to the proper lane, etc.).
[0091] If the counter does not exceed the predetermined limit, the method 200 returns to 202 and the processor 102 continues to determine the vehicle's current navigation state and update the N-second position history. If the vehicle continues to move in the false direction, the processor 102 performs the loop 202, 204, 206, 208, 212, 214 multiple times per second and quickly detects that the counter exceeds the predetermined limit.
[0092] If the counter exceeds a predetermined limit, at 216, the processor 102 checks whether the driver has selected to override the system 100 (e.g., intentionally decided to drive in the wrong direction due to construction, accident, etc.). If the driver has selected to override the system 100, the method 200 returns to 202. If the driver has not selected to override the system 100, at 218, the processor 102 deploys one or more countermeasures based on the severity counter. Non-limiting examples of countermeasures include the following.
[0093] For example, the alert subsystem 132 and / or the infotainment subsystem 130 can alert and advise the driver in the form of visual, audible, and / or haptic alerts. The alert subsystem 132 and / or the infotainment subsystem 130 can also advise the driver of mitigation strategies. Additionally, the alert subsystem 132 can alert other vehicles in the vicinity. For example, the alert subsystem 132 can perform one or more of the following functions: turn on hazard lights, flash headlamps, and / or cause the vehicle’s horn to sound intermittently. Additionally, the communication subsystem 140 can send a message to a V2X communication system indicating that the vehicle is moving in the wrong direction.
[0094] Furthermore, depending on the severity counter, the powertrain subsystem 134 can perform one or more of the following functions: reduce and / or limit the speed at which the vehicle can move, change the transmission state (e.g., lower gears), engage an automatic braking system (e.g., pull the vehicle to the side of the road), etc. Moreover, the autonomy subsystem 136 can use safety mechanisms, such as modifying automatic braking system parameters, to avoid possible head-on collisions.
[0095] Figure 3 A method 250 performed by the processor 102 to determine the navigation state of the vehicle is shown. In the method 250, the processor 102 processes data provided by different sensors and estimates the navigation state of the vehicle based on the data from each sensor, as explained below. The processor 102 then combines these estimates and determines the navigation state of the vehicle. Since data from various sensors is used, the navigation state of the vehicle is more robust than if the navigation state is determined based on data from a single sensor. Robustness is further increased by using dead reckoning, as explained in more detail below.
[0096] At 252, the processor 102 estimates the navigation state of the vehicle based on data received from the IMU sensor 112. For example, an accelerometer can indicate vehicle acceleration; a gyroscope can indicate rotational motion (e.g., turning) and attitude (i.e., orientation; e.g., whether the vehicle is moving uphill or downhill) of the vehicle; and a magnetometer can indicate the direction in which the vehicle is pointing. This type of information is not available in data received from the GNSS receiver 110, which can only provide the position (i.e., location and altitude) of the vehicle.
[0097] At 254, processor 102 estimates the vehicle's position based on the data received from GNSS receiver 110. Processor 102 can further refine the vehicle's position (e.g., from a resolution of several meters down to several centimeters) based on correction data received from a local ground station (the local ground station is stationary) that provides an indication of offset or error in the GNSS positioning signal. Corrections can also be received from other information sources, including internet-based correction providers. Processor 102 can adjust the vehicle's position determined based on the GNSS data received from GNSS receiver 110 by combining the correction data received from the local ground station, and can determine the vehicle's position (i.e., location) with high accuracy.
[0098] At 256, the processor 102 estimates the navigational state of the vehicle based on data received from the vehicle's other sensors 114. For example, the processor 102 may process data from speed and braking sensors in the vehicle to determine how much the vehicle has moved in a given amount of time, which may help determine the navigational state of the vehicle.
[0099] Furthermore, at 258, the processor 102 estimates the vehicle's navigation state by using the vehicle's previous N-second navigation state history. The N-second navigation state history provides navigation state information (i.e., dead reckoning) that helps the processor 102 detect vehicle movement in the wrong direction much earlier than the GNSS system. For example, if a vehicle enters an exit ramp of a highway to reach the highway, the vehicle will have already traveled much further along the exit ramp by the time the GNSS system is able to detect the vehicle's position on the exit ramp. In contrast, due to the availability of the most recent position from the N-second navigation state history (which can be updated several times per second), once the vehicle enters the exit ramp, the processor 102 can detect that the vehicle has entered the exit ramp much faster than the GNSS system.
[0100] As another example, when turning left onto a multi-lane road, the processor 102 can detect faster than a GNSS system whether the vehicle has made a tighter turn (or a wider turn if turning right onto a multi-lane road) and has entered the wrong lane based on data from the IMU sensor and the N-second navigation state history. At 260, the processor 102 combines all of the above estimates with the vehicle's N-second navigation state history to accurately determine the vehicle's navigation state, which the method 200 uses to compare with the map database 120.
[0101] Figure 4Method 300 is shown, which is executed by processor 102 to compare the current navigation state of the vehicle with map database 120 and determine whether the vehicle is on the correct road (i.e., traveling in the correct direction allowed by the road). At 302, processor 102 extracts the vehicle's position data from the vehicle's current navigation state (determined in methods 200 and 250).
[0102] At 304, the processor 102 determines additional details about the vehicle's location using the vehicle's position data extracted from the vehicle's current navigation state and data from the map database 120. Specifically, for the vehicle's current position (i.e., location) indicated in the vehicle's current navigation state, the data from the map database 120 may indicate one or more of the following additional details about the vehicle's location: current lane, permitted direction of travel for the current lane, current road grade, road segment type (e.g., freeway ramp, N-lane road, divided freeway, lane, etc.), road speed limit, and real-time traffic data (e.g., construction, road closures, detours, etc.).
[0103] Based on these additional details, the processor 102 may infer a set of permissible vehicle navigation states (e.g., direction and attitude or slope) for the vehicle's current location (i.e., position) at 306. For example, based on the additional details, the processor 102 may infer whether the vehicle should move north and uphill for the vehicle's current location (i.e., position).
[0104] At 308, the processor 102 extracts the vehicle's heading and attitude data from the vehicle's current navigation state. At 310, the processor 102 compares the vehicle's expected or allowed heading and attitude, inferred from the comparison of the vehicle's position with the map database 120 at 306, with the vehicle's actual heading and attitude data extracted from the determined vehicle's current navigation state.
[0105] If the vehicle's actual direction and attitude data are consistent with the expected direction and attitude, then at 312, the processor 102 determines that the vehicle is on the correct path (i.e., the direction the vehicle is moving matches the direction permitted for driving on the path). The processor 102 may set the flag "on the correct path" to true. If the vehicle's actual direction and attitude data are inconsistent with the expected direction and attitude, then at 314, the processor 102 determines that the vehicle is not on the correct path (i.e., the direction the vehicle is moving does not match the direction permitted for driving on the path; in other words, the vehicle is heading in the wrong direction). The processor 102 may set the flag "on the correct path" to false.
[0106] Figure 5A method 350 is shown that the processor 102 performs to generate severity metrics and counter updates. At 352, the processor 102 obtains the current navigation state of the vehicle. At 354, the processor 102 extracts the vehicle's location data from the vehicle's current navigation state. At 356, the processor compares the location data extracted from the vehicle's current navigation state with the map database 120 and determines additional details about the vehicle's location, as described above with reference to the method 300.
[0107] At 358, if the vehicle is not moving in a permitted direction on the road, the processor 102 assigns a severity metric to the detected violation. The processor 102 generates the severity metric based on a comparison between the vehicle's current navigation state and additional details inferred from a comparison of the vehicle's position data with data in the map database 120.
[0108] The severity metric is generated using a model calibrated based on various factors and combinations thereof. For example, these factors may include the type of wrong-way road, the speed limit of the wrong-way road, the time of day when the wrong-way road was driven on, weather conditions when the wrong-way road was driven on, road construction or other construction or maintenance activities on the wrong-way road, other specific information about accident-prone road sections (e.g., intersections, exit / entry ramps, etc.), etc.
[0109] For example, driving in the wrong direction on a highway when there is less congested traffic may not be as serious as during congested traffic; driving in the wrong direction on urban streets with lower speed limits may not be as serious as driving in the wrong direction on a highway; driving in the wrong direction in bad weather may be more serious than driving in the wrong direction in clear weather; and so on.
[0110] For example, if the processor 102 detects that a vehicle briefly uses the wrong lane to pass another vehicle at high speed, the severity metric will be lower than if the vehicle also continues onto the highway via an exit ramp at a lower speed. For example, if the processor 102 detects that a vehicle uses the wrong lane at an intersection known to have a higher accident rate, the severity metric may be higher than the severity metric at other intersections. Many of these and other factors can be heuristically included in calibrating the model that the processor 102 uses to assign severity metrics to detected violations.
[0111] At 360, the processor 102 adds the severity metric to the counter. That is, the new counter value is the sum of the previous counter value and the severity metric assigned to the current navigation state of the vehicle. In other words, the severity metric is accumulated each time the processor 102 executes the loops 202, 204, 206, 208, 212, 214 in the method 200.
[0112] The cumulative severity metric helps to quickly confirm whether the vehicle is actually traveling in the wrong direction, in which case the severity level (i.e., counter value) will increase quickly and exceed the predetermined threshold; and the processor 102 can quickly deploy mitigation procedures with certainty. If the vehicle is briefly traveling in the wrong direction and quickly returns to the appropriate lane (e.g., after passing the vehicle, after the driver or autonomous subsystem realizes the error, etc.), the counter will not exceed the predetermined threshold and no mitigation will be required.
[0113] The foregoing description is merely illustrative in nature and is not intended to limit the present disclosure, its application or use. The broad teachings of the present disclosure can be implemented in various forms. Therefore, although the present disclosure includes specific examples, the true scope of the present disclosure should not be so limited, because after studying the drawings, description and appended claims, other modifications will become apparent. It should be understood that, without changing the principle of the present disclosure, one or more steps in the method can be performed in different orders (or simultaneously). In addition, although each of the embodiments is described above as having certain features, any one or more of those features described with respect to any embodiment of the present disclosure can be implemented in the features of any one of the other embodiments and / or combined with the features of any one of the other embodiments, even if the combination is not explicitly described. In other words, the embodiments described are not mutually exclusive, and the replacement of one or more embodiments with each other remains within the scope of the present disclosure.
[0114] Various terms are used to describe the spatial and functional relationships between elements (e.g., between modules, circuit elements, semiconductor layers, etc.), including "connected," "engaged," "coupled / connected," "adjacent," "next to," "on top of," "above," "below," and "disposed." Unless explicitly described as "directly," when a relationship between a first and a second element is described in the above disclosure, the relationship can be a direct relationship with no other intervening elements between the first and second elements, but can also be an indirect relationship with one or more intervening elements between the first and second elements (spatially or functionally). As used herein, the phrase at least one of A, B, and C should be construed to mean a logical (A or B or C) using a non-exclusive logical "OR" and should not be construed to mean "at least one of A, at least one of B, and at least one of C."
[0115] In the accompanying drawings, the direction of the arrow, as indicated by the arrow, generally represents the flow of information (such as data or instructions) of interest to the diagram. For example, when element A and element B exchange various information, but the information sent from element A to element B is relevant to the diagram, an arrow may be directed from element A to element B. This unidirectional arrow does not imply that no other information is sent from element B to element A. In addition, for information sent from element A to element B, element B may send a request for the information or an acknowledgment of receipt of the information to element A.
[0116] In this application, including the definitions below, the term "module" or the term "controller" may be replaced with the term "circuit". The term "module" may refer to, be part of, or include: an application-specific integrated circuit (ASIC); a digital, analog, or mixed analog / digital discrete circuit; a digital, analog, or mixed analog / digital integrated circuit; a combinational logic circuit; a field programmable gate array (FPGA); a processor circuit (shared, dedicated, or group) that executes code; a memory circuit (shared, dedicated, or group) that stores code executed by the processor circuit; other suitable hardware components that provide the functionality; or a combination of some or all of the above, such as in a system on a chip.
[0117] The module may include one or more interface circuits. In some examples, the interface circuit may include a wired or wireless interface connected to a local area network (LAN), the Internet, a wide area network (WAN), or a combination thereof. The functionality of any given module of the present disclosure may be distributed across multiple modules connected via the interface circuits. For example, multiple modules may allow for load balancing. In a further example, a server (also referred to as a remote or cloud) module may perform some functions on behalf of a client module.
[0118] The term "code" as used above may include software, firmware and / or microcode, and may refer to programs, routines, functions, classes, data structures and / or objects. The term "shared processor circuit" includes a single processor circuit that executes some or all code from multiple modules. The term "group processor circuit" includes a processor circuit that, in conjunction with additional processor circuits, executes some or all code from one or more modules. References to multi-processor circuits include multi-processor circuits on discrete dies, multi-processor circuits on a single die, multiple cores of a single processor circuit, multiple threads of a single processor circuit, or combinations of the above. The term "shared memory circuit" includes a single memory circuit that stores some or all code from multiple modules. The term "group memory circuit" includes a memory circuit that, in conjunction with additional memory, stores some or all code from one or more modules.
[0119] The term“memory circuitry” is a subset of the term computer-readable medium. The term“computer-readable medium” as used herein does not encompass transitory propagating signals per se (such as electric or electromagnetic signals propagating through a medium, such as on a carrier); therefore, the term“computer-readable medium” can be considered tangible and non-transitory. Non-limiting examples of non-transitory, tangible computer-readable media are nonvolatile memory circuits (such as flash memory circuits, erasable programmable read-only memory circuits, or mask read-only memory circuits), volatile memory circuits (such as static random access memory circuits or dynamic random access memory circuits), magnetic storage media (such as analog or digital magnetic tapes or magnetic hard drives), and optical storage media (such as CDs, DVDs, or Blu-ray discs).
[0120] The apparatus and methods described in this application can be implemented partially or wholly by special purpose computers created by configuring general purpose computers to execute one or more specific functions implemented in computer programs. The above-described function blocks, flowchart components, and other elements are used as software specifications for a routine work of a skilled programmer or programmer team to transform into computer programs.
[0121] A computer program includes processor-executable instructions stored on at least one non-transitory, tangible computer-readable medium. A computer program can also include or rely on stored data. A computer program can include a basic input / output system (BIOS) that interacts with hardware of the special purpose computer, device drivers that interact with particular devices of the special purpose computer, one or more operating systems, user applications, background services, background applications, etc.
[0122] A computer program can include: (i) descriptive text to be parsed, such as HTML (HyperText Markup Language), XML (Extensible Markup Language), or JSON (JavaScript Object Notation), (ii) assembly code, (iii) object code generated from source code using an assembler, (iv) object code generated from source code using a compiler, (v) source code for execution by an interpreter, (vi) source code for compilation and execution by a just-in-time compiler, etc. As examples only, source code can be written using syntax from a language including C, C++, C#, Objective-C, Swift, Haskell, Go, SQL, R, Lisp, Java®, Fortran, Perl, Pascal, Curl, OCaml, Javascript®, HTML5 (HyperText Markup Language 5th revision), Ada, ASP (Active Server Pages), PHP (PHP: Hypertext Preprocessor), Scala, Eiffel, Smalltalk, Erlang, Ruby, Flash®, Visual Basic®, Lua, MATLAB, SIMULINK, and Python®.
Claims
1. A system comprising: processor; as well as a memory storing instructions that, when executed by the processor, configure the processor to: receiving data from a plurality of sensors in the vehicle, including a global navigation satellite system receiver, an accelerometer, a gyroscope, and a magnetometer; determining the location of the vehicle and the direction of movement of the vehicle based on: (i) data received from a plurality of sensors in the vehicle; and (ii) a history of the location of the vehicle over the previous N seconds, where N is a number greater than zero; determining an allowed driving direction for the vehicle based on the position of the vehicle and a map database; detecting whether the vehicle is moving in a wrong direction based on the allowed driving direction and the direction of motion of the vehicle; When the vehicle moves in the permitted driving direction, resetting a counter; When the vehicle moves, updating the counter; determining whether the counter exceeds a predetermined limit; determining whether an override feature is selected; as well as In response to the counter exceeding a predetermined limit and the override feature not being selected, one or more countermeasures are deployed based on the counter. 2 . The system of claim 1 , wherein the processor is further configured to determine the position of the vehicle based on additional data received from a ground station associated with the global navigation satellite system.
3. The system of claim 1 , wherein the processor is further configured to: determining a posture of the vehicle based on the data; receiving a slope at a vehicle location from the map database; and It is additionally detected whether the vehicle is moving in the wrong direction based on the posture of the vehicle and the gradient of the vehicle position.
4. The system of claim 1 , wherein in response to detecting that the vehicle is moving in the wrong direction, the processor is further configured to: generating a severity metric based on at least one of a speed of the vehicle, a road type, a time of day, traffic, weather, and construction information, and a location of the vehicle; and An alert is generated based on the severity metric. 5 . The system of claim 1 , wherein the processor is further configured to warn an occupant of the vehicle using one or more of an audio, visual, and tactile alarm in response to detecting that the vehicle is moving in the wrong direction.
6. The system of claim 1 , wherein the processor is further configured to at least one of turn on hazard lights, sound a horn, and flash headlights of the vehicle in response to detecting the vehicle moving in the wrong direction.
7. The system of claim 1 , wherein the processor is further configured to at least one of reduce the speed of the vehicle, limit the maximum speed of the vehicle, and engage an automatic braking system of the vehicle in response to detecting that the vehicle is moving in the wrong direction. 8 . The system of claim 1 , wherein the processor is further configured to modify parameters of an automatic braking system of the vehicle in response to detecting that the vehicle is moving in the wrong direction.
9. The system of claim 1, wherein the processor is further configured to selectively notify a cloud-based monitoring system that the vehicle is moving in the wrong direction.
10. The system of claim 1, wherein the processor is further configured to selectively send a message to a V2X communication system that the vehicle is moving in the wrong direction.
11. A method comprising: receiving data from a plurality of sensors in the vehicle, including a global navigation satellite system receiver, an accelerometer, a gyroscope, and a magnetometer; determining the location of the vehicle and the direction of movement of the vehicle based on: (i) data received from a plurality of sensors in the vehicle; and (ii) a history of the location of the vehicle over the previous N seconds, where N is a number greater than zero; determining an allowed driving direction for the vehicle based on the vehicle's position and a map database; detecting whether the vehicle is moving in a wrong direction based on the allowed driving direction and the direction of motion of the vehicle; When the vehicle moves in the permitted driving direction, resetting a counter; When the vehicle moves, updating the counter; determining whether the counter exceeds a predetermined limit; determining whether an override feature is selected; as well as In response to the counter exceeding a predetermined limit and the override feature not being selected, one or more countermeasures are deployed based on the counter.
12. The method of claim 11, further comprising determining the position of the vehicle based on additional data received from a ground station associated with the global navigation satellite system.
13. The method according to claim 11, further comprising: determining a posture of the vehicle based on the data; receiving a slope at a vehicle location from the map database; as well as In addition, whether the vehicle is moving in the wrong direction is detected based on the posture of the vehicle and the slope of the vehicle position.
14. The method of claim 11 , further comprising, in response to detecting that the vehicle is moving in the wrong direction: generating a severity metric based on at least one of a speed of the vehicle, a road type, a time of day, traffic, weather, and construction information, and a location of the vehicle; and An alert is generated based on the severity metric.
15. The method according to claim 11, further comprising: In response to detecting that the vehicle is moving in the wrong direction, an occupant of the vehicle is warned using one or more of an audio, visual, and tactile alarm.
16. The method according to claim 11, further comprising: At least one of turning on hazard lights, sounding a horn, and flashing headlights of the vehicle is performed in response to detecting that the vehicle is moving in the wrong direction.
17. The method according to claim 11, further comprising: At least one of reducing the speed of the vehicle, limiting the maximum speed of the vehicle, and engaging an automatic braking system of the vehicle is performed in response to detecting that the vehicle is moving in the wrong direction.
18. The method according to claim 11, further comprising: Parameters of an automatic braking system of the vehicle are modified in response to detecting that the vehicle is moving in the wrong direction.
19. The method according to claim 11, further comprising: A cloud-based monitoring system is selectively notified that the vehicle is moving in the wrong direction.
20. The method according to claim 11, further comprising: A message is selectively sent to a V2X communication system indicating that the vehicle is moving in the wrong direction.
Citation Information
Patent Citations
Wrong-way vehicle detection
CN108694837A
Global navigation satellite system (GNSS) localization using vehicle sensors
CN110068342A
One-way direction sensing system
US20190382016A1