Method and system for monitoring vehicle movement using driver safety alerts

By installing sensors and computing devices in the vehicle and analyzing driving directions using high-definition map data, the problem of driver distraction resulting in failure to detect traffic signs or control measures in a timely manner is solved, and the effect of improving driving safety is achieved.

CN116710346BActive Publication Date: 2025-06-13ARGO AI LLC
View PDF 12 Cites 0 Cited by

Patent Information

Application Number
CN202280008871.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2021-01-08
Filing Date
2022-01-07
Publication Date
2025-06-13
Estimated Expiration
2042-01-07

AI Technical Summary

Technical Problem

The driver may fail to detect traffic signs or control measures in time due to distraction during driving, which will cause the vehicle to be unable to stop or turn in time, increasing the risk of collision.

Method used

By installing sensors and computing devices in the vehicle, identify areas of interest, access high-definition map data, extract road section data, and analyze driving directions to determine whether the vehicle meets the conditions related to traffic control measures, and warns the driver if not.

Benefits of technology

Effectively help drivers to detect traffic signs and control measures in a timely manner, avoid collisions between vehicles and other vehicles or pedestrians, and improve driving safety.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116710346B_ABST
    Figure CN116710346B_ABST
Patent Text Reader

Abstract

Disclosed is a vehicle driver assistance and warning system that warns a vehicle driver of incorrect driving and / or upcoming traffic control measures (TCMs). The system will identify a region of interest around the vehicle, access a vector map including the region of interest, and extract lane segment data associated with the lane segments within the region of interest. The system will analyze the lane segment data and the driving direction of the vehicle to determine whether the movement of the vehicle indicates: (a) the vehicle is driving in the wrong route direction of its lane; or (b) the vehicle is within the minimum stopping distance of an upcoming TCM in its lane. When the system detects either situation, it will cause the vehicle's driver warning system to output a driver alert.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Priority Claim

[0002] This patent document claims priority to U.S. Patent Application No. 17 / 144,441, filed on January 8, 2021, the entire content of which is incorporated herein by reference. Background Art

[0003] Vehicle drivers rely on signs painted on the road or road signs on the side of the road to adjust the speed and steering of the vehicle to control the driving direction, for example, along one-way roads, two-way roads, bridges, parking lots, and garages. When the driver is driving along the road, the driver's attention may turn to the direction of moving or stationary objects, pedestrians, etc. When the driver changes the radio station or adjusts the climate control of the vehicle, the driver's attention may shift. It is also common for drivers to consume food and beverages, make phone calls, or send text messages while driving. All of these tasks can divert the driver's attention from the road, even for just a second. As a result, certain traffic control measures (such as traffic stop signs and color changes of traffic lights) may not be seen. For example, this may cause the driver to fail to stop at a stop sign or a red light. Failing to stop at a stop sign, a red light, or other traffic control measures increases the likelihood of a vehicle colliding with another vehicle or a pedestrian. Drivers can keep their attention focused on the road 100% of the time. However, in some cases, traffic signs may be partially or completely blocked from the driver's view, such as being blocked by trees or shrubs, which may prevent the driver from stopping at a stop sign. In other cases, once the driver sees the traffic sign, it may be too late for the driver to decelerate the vehicle at a rate sufficient to stop for the traffic sign. When turning onto a road in the opposite direction of the vehicle's travel, the driver may not see a one-way sign blocked by trees or bushes. Driving in the reverse direction also increases the likelihood of a vehicle colliding with another vehicle or a pedestrian. This document describes methods and systems designed to address the above problems and / or other problems. Summary of the Invention

[0004] In various situations, in a method of assisting a vehicle driver, one or more sensors of the vehicle will sense the driving direction of the vehicle. A system including a computing device of the vehicle will include programming instructions that are configured to cause a processor of the device to perform the methods of the present disclosure. Optionally, the programming instructions may be included in a computer-readable medium and / or a computer program product.

[0005] The system can identify a region of interest, which includes the area proximate to and including the current position of the vehicle. The system will access a vector map including the region of interest, and it will extract lane segment data associated with the lane segments of the vector map within the region of interest. The system will analyze the lane segment data and the direction of travel to determine whether the movement of the vehicle satisfies a condition associated with one or more of the following: (a) the direction of travel of the lane corresponding to the current position of the vehicle; or (b) the minimum stopping distance for an upcoming traffic control measure in the lane corresponding to the current position of the vehicle. Option (a) may correspond to a wrong route detection process, while option (b) may correspond to a traffic control measure (TCM) position detection process. When the movement does not satisfy the condition, the system will cause the vehicle's driver warning system to output an alert for the invalid movement of the driver.

[0006] In the wrong route detection process, the lane segment data may include the heading of each lane segment in the region of interest. The heading will correspond to the direction of travel of the lane, and the direction of travel of the lane corresponds to the current position of the vehicle. The condition will be associated with the direction of travel of the lane corresponding to the current position of the vehicle. In this case, when determining whether the movement of the autonomous vehicle satisfies the condition, the system may: (a) determine whether any lane segment within the region of interest has a heading within an opposite heading tolerance range and opposite to the sensed direction of travel, (b) determine whether any lane segment within the region of interest has a heading within a similar heading tolerance range and similar to the sensed direction of travel. The system will determine that the movement does not satisfy the condition, and it will determine that the sensed direction of travel is the wrong route direction.

[0007] When both of the following are true: (i) at (a), it is determined that at least one lane segment has a heading opposite to the sensed direction of travel; and (ii) at (b), it is determined that no lane segment in the region of interest has a heading similar to the sensed direction of travel. Otherwise, the system determines that the movement satisfies the condition.

[0008] In the TCM detection process, the lane segment data may include the heading and length of each lane segment. The condition may be associated with the minimum stopping distance to an upcoming TCM in the lane corresponding to the current position of the vehicle. The steps for determining whether the movement of the vehicle satisfies the condition may include: (a) receiving the speed of travel of the vehicle from one or more sensors of the vehicle; determining the minimum stopping distance, which represents the distance from the current position of the vehicle to a position within a stop zone, and the position within the stop zone is in the travel lane before the position of the upcoming traffic control measure; and (c) using the speed and the current position to determine whether the vehicle can stop within the minimum stopping distance.

[0009] Optionally, during the TCM detection process, when using speed and current position to determine whether the vehicle can stop within the minimum stopping distance, the system can calculate the deceleration rate required to stop the vehicle at a position within the stop zone, and it can determine whether the calculated deceleration rate meets the deceleration threshold. If the calculated deceleration rate exceeds the deceleration threshold, the system can determine that the movement does not meet the conditions. Otherwise, the system can determine that the movement meets the conditions.

[0010] Additionally or optionally, before determining the minimum stopping distance, the system can calculate the stop zone polygon of the TCM, and it can calculate the end threshold polyline of the traffic control measure at the end of the stop zone polygon. The position within the stop zone will correspond to the end threshold polyline, and the minimum stopping distance is determined to be to the stop zone polygon and up to the end threshold polyline. To calculate the stop zone polygon, the system can set the width of the stop zone polygon to be greater than the width of the roadway segment. Then, the system can calculate the minimum stopping distance to include the travel distance that includes the steering movement to the end of the width of the stop zone polygon.

[0011] In some embodiments, during the TCM detection process, the system can detect more than one candidate valid TCM in front of the vehicle in the vehicle's travel direction. The system can also detect that a traffic signal activation command has been initiated in the vehicle before the vehicle reaches the first candidate traffic control measure among the candidate traffic control measures. If so, it can determine which TCMs are relevant by ranking the candidate TCMs based on the distance from the vehicle to each of the candidate TCMs or the remaining roadway segments in the region of interest between the vehicle and the candidate TCMs. Then, the upcoming TCM can be selected based on one or both of the distance and the vehicle turn signal status.

[0012] In other embodiments, an on-vehicle computing system of an autonomous vehicle may determine whether the vehicle is moving in a wrong route direction in a lane by the following steps: (a) calculating the position, orientation, and attitude of the autonomous vehicle; (b) determining the driving direction of the autonomous vehicle based on the calculated position, orientation, and attitude of the autonomous vehicle; (c) identifying a region of interest including the area adjacent to the autonomous vehicle; (d) accessing a vector map including the region of interest and extracting the lane segments within the region of interest from the vector map, where each lane segment includes a heading associating the lane segment with the driving direction of the lane; (e) determining whether any lane segment within the region of interest has a heading within a reverse heading tolerance range opposite to the sensed driving direction; (f) determining whether any lane segment within the region of interest near the autonomous vehicle position has a heading within a similar heading tolerance range similar to the sensed driving direction; and (g) determining that the autonomous vehicle has a movement as a wrong route direction when both: (i) it is determined at (e) that at least one lane segment has a heading opposite to the sensed driving direction, and (ii) no lane segment has a heading similar to the sensed driving direction at (f).

[0013] Optionally, in response to determining that the movement is in a wrong route direction, the system may generate a control signal to warn the operator that the driving direction of the autonomous vehicle is in a wrong route direction. Additionally, in response to determining that if the movement is in a wrong route direction, the system may record the information associated with determining that the movement is in a wrong route direction.

[0014] Optionally, in various embodiments, to identify the region of interest around the vehicle, the system may determine the trajectory of the vehicle, identify a radius around the autonomous vehicle, and define the region of interest as a circle with the autonomous vehicle located at the center point of the circle.

[0015] When the vehicle is an autonomous vehicle, when it is determined that the vehicle is moving in a wrong route direction, the system may correct the movement of the autonomous vehicle. To this end, the movement control system of the vehicle may generate control signals to control the steering controller, speed controller, and / or braking controller of the vehicle

[0016] Optionally, the programming instructions for determining whether the vehicle is moving in a wrong route direction in a lane may be included in a computer program product and executed by a processor. BRIEF DESCRIPTION OF THE DRAWINGS

[0017] Figure 1 A flowchart showing an exemplary method for verifying the movement of a vehicle along a path based on high-definition map data is shown.

[0018] Figure 2 A flowchart showing an exemplary method for verifying the heading movement of a vehicle is shown.

[0019] Figure 3 A flowchart illustrating an example method for generating motion correction.

[0020] Figures 4A - 4C A flowchart illustrating an exemplary method for verifying vehicle motion based on detected traffic control measures.

[0021] Figure 5 An example scenario of a high-definition map of a road segment on which a vehicle is traveling.

[0022] Figure 6 Shows a vehicle at the center and covering an Figure 5 exemplary circular region of interest on a road segment map.

[0023] Figure 7A Shows a vehicle in Figure 5 an example scenario where the vehicle erroneously turns into a one-way cross street in a road segment map.

[0024] Figure 7B Shows an exemplary angle between the vehicle heading and the road segment heading.

[0025] Figure 8 An example scenario showing a vehicle turning into a two-way cross street in a high-definition map of a road segment.

[0026] Figure 9 An example scenario showing a vehicle turning into the wrong lane around parked cars.

[0027] Figure 10 Describes an example situation where a vehicle navigates across a two-way road from outside the vehicle lane by turning left in the far vehicle lane.

[0028] Figure 11 An example scenario showing a vehicle passing through a two-way street from outside the vehicle lane by making a U-turn.

[0029] Figure 12 Describes another example situation where a vehicle navigates across a two-way street from outside the vehicle lane by turning left in the far vehicle lane.

[0030] Figure 13 An example scenario of a high-definition map of a road segment with various indicated traffic control measures.

[0031] Figure 14 Shows Figure 13 an example scenario of a high-definition map of a road segment, where a calculated stop area polygon and polyline are overlaid on the map.

[0032] Figure 15An example scenario of a high-definition map of a roadway segment with traffic control measures before an intersection between a one-way street and a two-way street is shown.

[0033] Figure 16 An example scenario of a high-definition map of a roadway segment is shown Figure 13 in which the distances to each of two traffic control measures are indicated.

[0034] Figure 17 An exemplary system architecture with an on-vehicle computing device for an autonomous vehicle is shown. Detailed Description

[0035] As used herein, the singular forms "a", "an", and "the" include plural references unless the context clearly dictates otherwise. All technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art unless otherwise defined. As used herein, the term "comprising" means "including but not limited to".

[0036] As used in the present disclosure, the term "wrong-way route direction" is intended to refer to the designated heading of a roadway segment that is opposite to the computed heading or direction of travel of a vehicle within a preset tolerance.

[0037] As used in the present invention, the term traffic control measure (TCM) refers to an object installed along, in, or above the lanes of a road to control traffic flow by slowing down and / or stopping traffic under specific conditions. Examples of TCMs include stop signs, traffic light signals, yield signs, crosswalks, and speed bumps.

[0038] As used in the present disclosure, the term "vector map" refers to a high-definition digital map dataset that uses polygons to represent roads, where the polygons are divided into smaller pieces called "roadway segments". Each roadway segment is represented by a polygon that has a lane centerline with at least one of a heading and a length. Each roadway segment may include a width.

[0039] In this document, the term "region of interest" (ROI) is a region that defines some or all of the vehicle lanes in proximity to the vehicle's position. The ROI will include the vehicle and all roadway segments that exist within a radius extending from the vehicle. The radius can be a fixed value, or it can have a value that increases as the vehicle speed increases and decreases as the vehicle speed decreases. The vehicle lanes can include one or more of the following: (1) a driving lane having the same heading as the vehicle's current travel; (2) a lane having the opposite heading of the vehicle and parallel and adjacent to the driving lane; and / or (3) any cross lane within a predetermined number of feet of the vehicle's current position. The ROI can place the vehicle at the center point of the region.

[0040] Definitions of other terms relevant to this document are included at the end of this detailed description.

[0041] In one embodiment, an autonomous vehicle operating in an environment can use sensors to automatically identify the vehicle's current speed and direction of travel. When a driver manually operates a fully autonomous vehicle in manual mode, or when a driver operates a semi-autonomous vehicle that includes driver assistance capabilities, the vehicle uses data from a high-definition map of the area to verify its movement such that if the driver: (a) is in danger of not being able to stop under traffic control measures, or (b) is traveling incorrectly (i.e., against the heading of a roadway segment), the driver can be warned.

[0042] In some embodiments, for example, data from a high-definition map can be used to warn a driver of traveling incorrectly along a one-way street. For example, a driving error can occur if the "one-way route" aspect of the street is poorly marked or missing. For example, this can also occur when a driver unknowingly drives in the opposite direction on an interstate lane late at night.

[0043] In some embodiments, data from a high-definition map can be used to warn a driver of a deceleration rate that exceeds the limit to stop within the stopping distance to the next effective traffic control measure.

[0044] will be described in conjunction with Figures 1 - 4C and Figure 17 The method and system will be described. The method steps can be performed in the order shown or in a different order. One or more of the steps can be performed simultaneously. Additionally, one or more steps can be added or omitted in an iteration.

[0045] Figure 1 A flowchart of an exemplary method 100 for verifying the movement of a vehicle, such as autonomous vehicle 10 ( Figure 17 ), along a path based on high-definition map data 1771 associated with a high-definition map ( Figure 5 ) is shown. In various embodiments, the high-definition map can be a vector map.

[0046] At 102, the on-vehicle computing device 1710 may identify a ROI adjacent to the current position of the autonomous vehicle 10. The system may accomplish this by retrieving global positioning system (GPS) data including the coordinates of the current position, by receiving an image of the current position from one or more on-vehicle cameras and processing the image to identify one or more landmarks with known coordinates, and / or other processes. At 104, the on-vehicle computing device 1710 may access a vector map including those road segments within the ROI, and at 106, extract road segment data 1774 associated with a plurality of road segments within the ROI ( Figure 17 ). The vector map may be stored in a memory on the vehicle, and the vector map may include coordinates for the vehicle to select the correct vector map including the coordinates of the ROI.

[0047] At 108, the on-vehicle computing device 1710 may determine the driving direction or heading calculated for the autonomous vehicle 10 based on data received from one or more sensors 1735 ( Figure 17 ). The on-vehicle computing device 1710 may also determine the speed of the vehicle. The driving direction may be based on a first tolerance. The first tolerance is an angular tolerance and in particular the maximum angle between the driving direction of the vehicle and the reference line of the lane or road segment on which the vehicle is traveling, within which the lane or road segment can generally be considered to be traveling in the same direction as the vehicle. The first tolerance may be relatively large to avoid false positives in cases where the vehicle is turning within a lane or otherwise angled but still generally advancing in the correct direction. For example, the first tolerance for the autonomous vehicle 10 may include +1.3 radians or approximately +74.48° relative to the driving direction of the lane or the heading of the vector map to verify that the driving direction of the vehicle is in the same direction or the correct route. Although +1.3 radians is used in this example, as a non-limiting example, the first tolerance may be in the range between +1.1 - 1.9 radians. Additionally, the system may also consider a distance-based measurement as a second tolerance, which is used to determine whether the sensed driving direction of the vehicle is a direction other than the driving direction of the lane. The second tolerance measures how far the vehicle may move away from the reference line before the vehicle can be considered to be advancing in a direction other than the direction of the lane. The second tolerance should also be relatively large to avoid false positives, such as the approximate width of a typical lane in the jurisdiction where the lane is located (in the United States, it is currently 3.6 meters). The third tolerance is conceptually the reciprocal of the first tolerance as it is the minimum angle between the facing direction of the vehicle and the reference line, beyond which the direction of the lane can be opposite to the direction of the vehicle. This angle should be relatively small to avoid false positives. For example, the third tolerance may be approximately +0.35 radians or 20.05°, or in the range between +0.03 - 0.044. Other values are possible. As Figure 7BAs shown, the tolerance ranges described herein can be compared with the calculated angles or radians to determine the heading of vehicle 10 relative to a particular road segment of a lane.

[0048] Then, the system can use these tolerances to evaluate whether the monitored vehicle is traveling in the correct direction or in the wrong route direction, as follows: (1) First, the system can search for all lanes whose direction is within a first tolerance of the vehicle's direction and within a distance of the second tolerance of the vehicle. If any such lanes are found, the vehicle is traveling in the same direction as the nearby lanes, so the system may not need to activate the direction monitor. (In this case, for example, the AV may have steered into an oncoming lane to pass an obstacle). (2) If no such lanes are found, the system can search for all lanes whose direction is within a third tolerance in the opposite direction of the vehicle's direction and within a small threshold distance of the AV (e.g., within a circle with a diameter of the vehicle length centered on the vehicle). If no such lanes are found in the second step, the system can determine that the vehicle is not near lanes in the opposite direction, so it can deactivate the monitor. (In this case, for example, the vehicle may be in an uncharted parking lot). If the system does not find lanes in the same direction nearby in step (1) and finds lanes in the opposite direction nearby in step (2), the system can determine that the vehicle is moving in the wrong route direction in its lane, so the system will activate the monitor and / or trigger an alarm.

[0049] At 110, the on-vehicle computing device 1710 can monitor the movement of vehicle 10 based on the road segment data 1774 ( Figure 17 ). For example, the movement can be based on one or more sensors 1735 ( Figure 17 ) relative to the planned path 1772 stored in the memory 1770. The system 1700 ( Figure 17 ) includes various sensors 1735 for collecting real-time data associated with the autonomous vehicle to which the sensors 1735 are attached. The operating state of the autonomous vehicle 10 includes, for example, the current speed and the current driving direction based on sensor data from the speed sensor 1748 ( Figure 17 ) and the position sensor 1744 ( Figure 17 ). The state of the autonomous vehicle 10 can include the alignment of the vehicle body with the lane (i.e., the heading / towards relative to the road segment), the driving direction, the speed and / or acceleration, and the heading and / or towards.

[0050] At 112, the in-vehicle computing device 1710 may verify the movement of vehicle 10 by determining whether the movement of the vehicle meets a condition, specifically by determining whether the driving direction of the vehicle corresponds to the driving direction of the lane in which the vehicle is currently located. When verifying the movement of vehicle 10, the in-vehicle computing device 1710 may use the lane segment data of the high-definition map data for any instantiation. For example, at 114, the in-vehicle computing device 1710 may verify the movement of the vehicle by determining whether the current lane heading of the vehicle has changed (i.e., whether the vehicle has moved into a lane or lane segment with a different heading), as described with respect to Figure 7A and Figure 8 . When the vehicle changes lane segments along a path, the current heading of the lane segment is retrieved from the lane segment data 1774.

[0051] If the determination at 114 is "yes", then an evaluation of the driving direction of the vehicle is performed at 116. As a non-limiting example, the evaluation of the sensed driving direction of the vehicle may perform a false positive analysis, as described with respect to Figure 2 . Depending on the evaluation, as described with respect to Figure 2 , at 128, the driver may be warned.

[0052] In some embodiments, at 122, the in-vehicle computing device 1710 may determine whether a correction is needed based on the evaluation at 116. The decision shape at 122 is shown as a dashed line to indicate that it is optional. If the determination at 114 or 122 is "no", the method may return to 102. For example, if the autonomous vehicle 10 is fully autonomous, an alert may not be needed. Instead, the in-vehicle computing device 1710 may determine a movement correction at 123, for example. If the autonomous vehicle 10 is semi-autonomous, there may be a safety driver alert, and in some embodiments, the in-vehicle computing device 1710 may determine a movement correction action that causes its movement control. In some embodiments, the system may determine a movement correction action that causes the movement control system of the vehicle to take actions such as decelerating, stopping, and / or steering into a different lane segment.

[0053] As a non - limiting example, the on - vehicle computing device 1710 can verify the movement of the vehicle 10 by detecting whether there is an upcoming traffic control measure ahead at 118. The system can detect whether an upcoming traffic control measure is ahead by determining whether there is a measure in the high - definition map data for any instantiation. Alternatively and / or additionally, the on - vehicle computing device 1710 can receive a notification of the traffic control measure via vehicle - to - infrastructure (V2I) or other vehicle - to - everything (V2X) type communication, where the TCM transmits a signal to oncoming vehicles to warn them of its presence and status. In the case of a traffic light, the vehicle can also determine whether the TCM is actively signaling the vehicle to slow down or stop (such as a red or yellow traffic light) or whether the TCM will do so when the vehicle reaches it, based on a status indicator included in the V2X communication or by using an on - vehicle camera to detect and determine the status of the light.

[0054] For example, at 118, the on - vehicle computing device 1710 can verify the movement of the vehicle 10 by detecting whether there is an upcoming traffic control measure because the traffic control measure is (a) ahead of the vehicle, (b) in the vehicle's current lane or associated with the vehicle's current lane, and (c) within the ROI or within a threshold distance from the ROI. If the determination is "no", the method 100 can return to 102. On the other hand, if the determination is "yes", then at 120, the on - vehicle computing device 1710 can evaluate the minimum stopping distance as the distance from the vehicle's current position to a position in the stop zone in front of (i.e., prior to) the traffic control measure ahead of the vehicle. In various embodiments, the evaluation can determine that the vehicle 10 is traveling at a speed within the deceleration limit for stopping at the upcoming traffic control measure and / or decelerating at a rate within the deceleration limit for stopping at the upcoming traffic control measure. As will be described with respect to Figures 4A - 4C If the deceleration rate required for the vehicle's movement to stop at the upcoming traffic control measure is found to exceed the limit, the driver is warned via an auditory and / or visual alert at 128. In some embodiments, at 120, the on - vehicle computing device 1710 can record certain events or information related to the traffic control measure at 130, as described with respect to Figure 4C As described.

[0055] In some embodiments, at 122, the on - vehicle computing device 1710 can determine whether a correction is needed to decelerate the vehicle. If the determination at 118 or 122 is "no", the method can return to 102. On the other hand, if the determination at 122 is "yes", then at 123, the on - vehicle computing device 1710 can perform a movement correction process.

[0056] The in-vehicle computing device 1710 can perform a motion correction process by determining a specific motion correction at 124 based on the evaluation at 116 or 120, and cause the vehicle to perform the determined motion correction at 126. As a non-limiting example, if a correction is needed in response to the evaluation, at 120, the in-vehicle computing device 1710 can determine that the vehicle 10 needs to decelerate to adjust the stopping distance to the next traffic control measure. The correction may require the in-vehicle computing device 1710 of the system 1700 to generate a speed control signal that is sent to the speed controller 1728( Figure 17 ) to change the speed of the vehicle. In some embodiments, the control signal can generate a braking control signal that is sent to the brake controller 1723( Figure 17 ) to reduce the speed. In some embodiments, the control signal can generate a steering control signal that is sent to the steering controller 1724( Figure 17 ).

[0057] In various situations, at 126, in response to determining that the driving direction of the autonomous vehicle 10 is the wrong route, a potential correction motion can include preventing the vehicle 10 from performing a steering motion into an adjacent lane having a heading opposite to the heading of the vehicle 10. Accordingly, the in-vehicle computing device 1710 can generate a control signal that prevents the autonomous vehicle 10 from performing a steering into the adjacent lane. The control signal can include a steering control signal that is sent to the steering controller 1724 to prevent the vehicle's steering from performing a "steering" motion. It should be understood that other correction motions can be performed depending on the scenario.

[0058] At 128, the in-vehicle computing device 1710 can cause the driver warning system 1780( Figure 17 ) to provide an appropriate driver alert. For example, the driver warning system 1780 can include an audio speaker 1782( Figure 17 ), a display 1784( Figure 17 ), a light indicator 1786( Figure 17 ) and / or a vibration device 1788( Figure 17), any one or all of which can be activated to output an alert. The alert can be audible via speaker 1782, the illumination of a designated light indicator 1786, a notification message on display 1784, or visual and / or vibratory feedback via vibration device 1788. The display can be a heads-up display. The vibration device can be integrated into a part of the vehicle, such as the driver's seat, steering wheel, etc. As a non-limiting example, if vehicle 10 is detected to be traveling on a wrong route, then at 114, an audible alert can be generated to notify the human operator that the direction of travel or forward direction of the autonomous vehicle 10 is the wrong route. At 130, event data or information used in the wrong route detection can be recorded such that a report can be generated for later analysis. For example, road signs may be missing. The recorded data can be used to update various vehicles, including fully autonomous vehicles that use a computer vision system to identify signs along the road. In various embodiments, the "wrong route" alert can be configured to repeat after a time delay to avoid generating multiple alerts for the same event. This can allow vehicle 10 and / or the operator of the vehicle to take corrective action. The alert can include one or more alert modes simultaneously. For example, driver warning system 1780 can use speaker 1782 ( Figure 17 ), display 1784 ( Figure 17 ), light indicator 1786 ( Figure 17 ), and / or vibration device 1788 ( Figure 17 ) individually or in combination to generate an alert.

[0059] For purposes of illustration and understanding, Figure 5This is an example scenario of a high-definition map 500 of the road segments where the vehicle 10 travels at 102 and 102. The vehicle 10 is represented by an internal triangle. The vertex of the triangle points in the direction of travel of the vehicle. Each of the road segments 503 can be represented as a polygon that includes a heading 504 represented by a first arrow to associate the road segment 503 with the direction of travel of the lane. The map 500 also shows adjacent road segments 513, which can be represented as polygons having a heading 514 represented by a second arrow to associate the road segment 513 with the direction of travel of its lane. The heading 514 is in a different direction from the heading 504 and is anti-parallel (i.e., the road segments are parallel, but the vehicles within them will move in opposite directions). The map 500 may also include at least one road segment 523 that intersects the road segment 503. The at least one segment 523 can be represented as a polygon that includes a heading 524 represented by a third arrow, and the heading 524 intersects the headings 504 and 514. For example, the road segment 523 intersects the lane 503 at approximately 90°, however, other intersecting road segments can intersect at different angles and should not be limited to 90° intersections in any way herein. In this example, the vehicle 10 is currently traveling in the direction of the heading 504 of the lane 503.

[0060] For illustration and understanding, Figure 6 An example scenario showing a circular ROI 600 is presented, where the vehicle 10 is at the center of the ROI and is overlaid within the map 500 of the road segments. Any road segment that is contacted or surrounded by the ROI is considered "close" to the vehicle 10. In some embodiments, other road segments in the map vector 500 may be ignored by the on-vehicle computing device 1710. The ROI 600 can be a geometric area around the vehicle 10. In various embodiments, the ROI 600 can have a specific radius to the boundary of the area, and the vehicle 10 is located at or near the center of the ROI 600. It should be understood that the vehicle 10 does not have to be located at the center of the ROI.

[0061] Wrong route direction

[0062] Figure 2 Shows a flowchart of an exemplary method 200 for evaluating Figure 1 the direction of travel at 116 to verify the heading movement of the vehicle 10. It will be described with reference to Figure 7A and Figure 8 the example scenarios depicted in Figure 2 .

[0063] Returning again to Figure 2, A method 200 for evaluating the driving direction can evaluate whether a vehicle is driving in the wrong route direction. The method 200 can check for false alarms, such as but not limited to whether the vehicle 10 is i) driving on a two-way road, or driving into a parking lot or other area without an assigned direction ( Figure 8 ); ii) driving in a center turn lane; or iii) turning into an oncoming lane (i.e., a lane with a driving direction opposite to that of the vehicle) to pass a parked car 20 ( Figure 9 ). The conditions for the vehicle's driving direction must be met, which may require no such false alarms. At 202, the in-vehicle computing device 1710 can determine whether there is a road segment near the vehicle 10 that has a heading (within a second tolerance) similar to the opposite heading of the vehicle 10. If the determination at 202 is "yes", the in-vehicle computing device 1710 can perform the following operations: At 204, determine whether there is no road segment near the vehicle position that has a heading (within a third tolerance) similar to that of the vehicle 10.

[0064] In various embodiments, only road segments that a car or truck can drive on should be considered in the list of road segments in the ROI. In other words, bike lanes, parking lanes, and bus lanes may optionally not be considered in this process. The two criteria at 202 and 204 can be checked to avoid false alarms when the vehicle 10 is driving on a two-way road, driving in a center turn lane (where lanes matching and opposite to the vehicle's heading overlap each other), or when the vehicle 10 turns into an oncoming lane to pass a parked car, as Figures 9 - 12 shown. Thus, at 204, if the determination is "no", then at 206, the in-vehicle computing device 1710 determines that the vehicle 10 is driving in the correct road direction. In some embodiments, the evaluation can determine that the vehicle's movement is valid. 206. As a non-limiting example, when the vehicle is performing Figures 9 - 12 any maneuver, no alarm is generated because there is a road segment near the vehicle position that has a heading similar to the sensed driving direction of the vehicle. Additionally, the vehicle can drive through a lane where the heading is determined to be at an intersection angle of the road geometry relative to the sensed driving direction without requiring an alarm.

[0065] Specifically, depending on the situation, if the determination at either 202 or 204 is "No", the in-vehicle computing device 1710 can determine that the movement (i.e., the driving direction) is the correct route or valid. If the determination at 204 is "Yes", then at 208, the in-vehicle computing device 1710 can detect that the vehicle is driving in the wrong route direction, such that an alert can be generated at 128 and, in some embodiments, a corrective action can be taken at 122 as determined. At 208, based on the high-definition map data and a preset tolerance, the driving direction of the vehicle is determined to be invalid.

[0066] In various situations, the preset tolerance for determining "similar headings" can be small to avoid recording false alarms. An example scenario involves when vehicle 10 is about to enter a lane segment from outside any lane (e.g., at the start of a predicted steering or turning movement when vehicle 10 is within the drivable area but not within the lane segment), as will be described with respect to Figures 9 - 12 what is described. Based on the heading data, the in-vehicle computing device 1710 can determine which lane segments point in the same direction as vehicle 10 and which lane segments do not point in the same direction as vehicle 10.

[0067] One-way lane

[0068] For illustrative purposes, Figure 7A illustrate an example scenario of a wrong route cross street in the lane segment map of a vehicle's turn. When the vehicle is driving, the ROI 600 ( Figure 6 ) can be updated by the in-vehicle computing device 1710. For example, when vehicle 10 is driving along a lane segment of the map, those lane segments of the previous ROI 600 that are no longer close to vehicle 10 are ignored or removed from the lane segment list. If a lane segment is within a specific radius around vehicle 10, the in-vehicle computing device 1710 can select the lane segment.

[0069] In operation, the in-vehicle computing device 1710 can access the high-definition map data 1771 of the high-definition map and select the ROI lane segment data 1774 representing the example list 730. Assume that for Figure 7AExplanation: The list 730 of those lane segment data in the ROI 700 includes lane segments LS1 - LS8. The list 730 includes at least the heading data of each lane in the current ROI 700. Lane segments LS4 - LS6 have a heading corresponding to the heading of vehicle 10 and corresponding to heading H1. Heading H1 is an east heading because the arrow points to the right side of the page. Lane segments LS1 - LS3 are adjacent and parallel to lane segments LS4 - LS6, but have a heading H2 in the opposite direction to lane segments LS4 - LS6 and vehicle 10. Heading H3 is a west heading because the arrow points to the left side of the page. For example, lane segments LS7 - LS8 have a heading H3 that intersects with heading H1. Heading H3 is a north heading because the arrow points to the top of the page. In Figure 7A the example, it is assumed that vehicle 10 turns onto lane segment LS7. The movement of the vehicle can be based on the current state of the vehicle sensed by a sensor 1735 ( Figure 17 ) such as position sensor 1760. The described first tolerance can be compared with angle α2 to determine the current vehicle heading relative to the lane segment heading (i.e., heading H3) to evaluate the "opposite" heading before a full turn and a reverse turn, such as Figure 7B shown. Using the Figure 7B reference frame in, angle α2 is greater than 180°. Since angle α2 is outside the first tolerance (i.e., beyond this angle, the lane heading is considered opposite to the vehicle direction), an alert will be generated. After completing a full turn, vehicle 10 can have an angle α2 of approximately 180°, which is within the first tolerance.

[0070] In Figure 7A , vehicle 10 has a part of the body in lane segment LS5 and a part that intrudes into lane segment LS7. Figure 7B An exemplary angle α2 between the vehicle heading and the heading of lane segment LS7 is shown. The example angle α2 is represented as the angle between the calculated heading HV of vehicle 10 and heading H3 from list 730. Thus, at 202, the in - vehicle computing device 1710 will retrieve the ROI lane segment data of list 730 to determine that vehicle 10 is turning onto lane segment LS7 and its heading H3 as the north direction. However, based on sensor 1735, the in - vehicle computing device 1710 can determine that the heading of vehicle 10 is traveling roughly southward based on a certain preset tolerance (such as a second tolerance), which is opposite to the heading H3 of lane segment LS7.

[0071] Two - way lane

[0072] Figure 8An example scenario is shown in which a vehicle turns onto a two-way cross street in a high-definition map of a roadway segment. In this case, vehicle 10 is turning onto roadway segment LS9 with a heading H4 towards the south. Thus, at 202, on-vehicle computing device 1710 may retrieve the ROI roadway segment data of list 830 to determine that vehicle 10 is turning onto roadway segment LS9 and its heading H4. List 830 is similar to list 730 but also includes roadway segments LS9 - LS10 and their heading H4.

[0073] In Figure 8 this case, at 202, on-vehicle computing device 1710 may also determine the presence of roadway segments LS7 and LS8 with heading H3 based on the ROI roadway segment data of list 830, for example, based on the proximity of roadway segments LS7 and LS8 to roadway segment LS9. In this example, it is determined as "yes" at 202 because the headings of roadway segments LS7 and LS8 are opposite to the heading of the vehicle.

[0074] Based on sensor 1735, on-vehicle computing device 1710 may determine that the heading of vehicle 10 is the same as the heading H4 of roadway segment LS9 within a certain preset tolerance (i.e., the third tolerance). Thus, at 204, on-vehicle computing device 1710 determines that the heading H4 of roadway segment 119 is a similar heading within the third tolerance.

[0075] Additional cases will be described in conjunction with Figures 9 - 12 In each of scenarios 900, 1000, 1100, and 1200, the street has a roadway segment LS4 that is closest to vehicle 10. Thus, roadway segment LS4 can sometimes be referred to as the "adjacent roadway segment". In each of these examples, the street has a roadway segment LS1 that is farthest from vehicle 10. Thus, roadway segment LS1 can sometimes be referred to as the "distant roadway segment". The vehicle travels through the roadway segments of the two-way road at various angles relative to the headings of roadway segments not within the second tolerance range, and thus, no alert is generated. For the purpose of discussion, it is assumed that the movement of the driver in Figures 9 - 12 any of the scenarios is an example of a valid movement.

[0076] Figure 9An example scenario 900 is shown in which vehicle 10 steers around parked vehicle 20 into an allowed wrong lane section LS1. In scenario 900, it is assumed that vehicle 10 is traveling in lane section LS4, where parked vehicle 20 is in front of vehicle 10. The operator of vehicle 10 can use lane section LS1 to bypass parked vehicle 20 by steering into lane section LS1 and traveling along trajectory 910. Trajectory 910 returns the vehicle to lane section LS4. However, lane section LS1 has a heading opposite to the heading of the vehicle. If the operator steers into lane section LS1, this movement will be detected as correct because lane section LS4 is close to the vehicle. Thus, the determination at 204 will be "no".

[0077] Figure 10 An example scenario 1000 is shown in which vehicle 10 navigates across a two-way road from outside vehicle lane sections LS1 and LS4 by crossing the lane sections at an intersection angle and making a left turn in the distal vehicle lane section LS1. In Figure 10 this case, the sensed traveling direction of the vehicle is not within the second tolerance range. Thus, the determination at 202 will be "no". Alternatively, once the vehicle reaches lane section LS1, the lane section is within the third tolerance range. Thus, the determination at 204 will be "no". Thus, using Figure 2 method 200, no alarm is generated because the movement is valid.

[0078] Figure 11 An example scenario 1100 is shown in which vehicle 10 crosses a two-way street from outside the vehicle lane by making a U-turn into the distal lane section. In Figure 11 this case, vehicle 10 has the same heading direction as lane section LS4. Then, the movement of the vehicle crosses lane section LS4 at an intersection angle that is not within the second tolerance range and the third tolerance range to reach lane section LS1. Thus, the determination at 202 will be "no". Alternatively, once the vehicle reaches lane section LS1, the lane section is within the third tolerance range. Thus, the determination at 204 will be "no". Thus, using Figure 2 method 200, no alarm is generated because the movement is valid.

[0079] Figure 12Another example scenario 1200 is shown in which vehicle 10 navigates through a two-way street from outside the vehicle lane by turning left in the distal vehicle lane segment LS1. Initially, vehicle 10 has a direction opposite to that of lane segment LS4. However, lane segment LS1 exists in a direction corresponding to the same direction as the vehicle. When vehicle 10 travels through the lane segment, it travels at a crossing angle that is not within the second tolerance range and then turns left onto lane segment LS1. Therefore, the determination at 202 will be "no". Alternatively, once the vehicle reaches lane segment LS1, the lane segment is within the third tolerance range. Therefore, the determination at 204 will be "no". Thus, using Figure 2 method 200, since the movement is valid, no alarm is generated.

[0080] In example scenarios 1000, 1100, and 1200, vehicle 10 in each of these scenarios is outside the lane segments of the map. For example, vehicle 10 can be in a stop lane, grassland, emergency lane, etc., which are generally not marked for vehicle travel. It should be understood that these example scenarios are for illustrative purposes and should not be limited in any way.

[0081] Incorrect Route Correction

[0082] Figure 3 A flowchart illustrating an example method 300 for generating incorrect route movement correction. Generally, method 300 includes Figure 1 activities related to incorrect route correction at 124 and 126 of Figure 1 . At 302, the on-vehicle computing device 1710 can determine the planned trajectory of vehicle 10 in the ROI. At 302, the path trajectory corresponds to the predicted future state of the autonomous vehicle 10, including but not limited to the speed, direction, pose, and position of a particular vehicle. Each position of the trajectory can be stored in a data store or memory 1770. At 304, the on-vehicle computing device 1710 can identify the corrected lane segment or maneuver that will correct the driving direction to the correct route. Specifically,

[0083] In response to determining that the driving direction of the vehicle is incorrect, the on-vehicle computing device 1710 can prevent vehicle 10 from performing a turn onto a cross street (i.e., lane segment LS7) or an adjacent lane segment with an opposite heading. This can include turning onto a cross street that intersects the street on which the vehicle is currently traveling. This can also include identifying the lane segment of the cross street that the autonomous vehicle will enter when it turns onto the cross street. At 306, the on-vehicle computing device 1710 can use the lane segments in the ROI to perform incorrect lane correction of the vehicle's movement. It should be understood that the operation at 306 corresponds to Figure 1 the example activity at 126 of

[0084] At 306, the in-vehicle computing device 1710 may generate a control signal to control at least one of a steering controller 1724, a speed controller 1728, and a braking controller 1723 of the vehicle 10.

[0085] The system 1700 may define the ROI as a circle, with the vehicle located at the center point of the circle. In Figure 7A an example, for instance, if the vehicle is traveling in the lane segment LS5 but in a direction opposite to the heading H3, the vehicle may be controlled to change lanes to the lane segment LS2.

[0086] Traffic control measures

[0087] Figures 4A - 4C illustrates a flowchart of an exemplary method 400 for verifying vehicle movement based on detected traffic control measures. Method 400 corresponds to Figure 1 activity 120 of Figure 4A . Now referring to Figure 4A , at 402, the in-vehicle computing device 1710 may identify a traffic control measure at which the vehicle 10 must stop within the ROI, and specifically within the area of the ROI in front of the vehicle. The traffic control measure may be retrieved from data of a vector map associated with the ROI. For example, the traffic control measure may be associated with a lane segment. In some embodiments, the start point or the end point of the lane segment may be associated with the traffic control measure. The in-vehicle computing device 1710 may calculate a stop zone polygon at 404 and calculate an end threshold polyline at 406, as will be described later with respect to Figures 13 - 14 .

[0088] At 408, the in-vehicle computing device 1710 may determine whether the traffic control measure has a painted stop line. In various embodiments, if it is determined at 408 that "no", the in-vehicle computing device 1710 may adjust the position of the stop zone polygon and the end threshold to be before the intersection. At 410, for a stop sign without a painted stop line, instead of requiring the vehicle to stop at the stop sign, it is preferred to require the vehicle to stop before entering other traffic lanes, as will be described with respect to Figure 15 . This may be preferred because in some cities, stop signs without painted lines are placed very far from intersections. Therefore, the placement of the stop zone polygon and the end threshold may vary based on geographical location data, such as for a city, a neighborhood, or other jurisdictions with unique painted stop line requirements.

[0089] At 408, if it is determined that "yes", or after 410, method 400 may proceed to Figure 4B . Before describing Figure 4B , with respect toFigures 13 - 15 The example of describes an example scenario of traffic control measures.

[0090] Figure 13 An example scenario shows a high-definition map 1300 of a road segment with various traffic control measures 1310 and 1320 indicated in ROI 1301. Figure 14 Shows Figure 13 An example scenario 1400 of a high-definition map of a road segment, where the calculated stop area polygons 1410 and 1420 and the end threshold broken lines 1415 and 1425 are overlaid on the map 1300 ( Figure 13 ). To prevent overcrowding of the figure, Figure 14 ROI is omitted in . As shown, vehicle 10 travels along a road with road segments LS11 - LS15. Map 1300 also includes road segments LS16 - LS17. Map 1300 may include a traffic control measure 1310, and the traffic control measure 1310 is a traffic light (TL). The traffic control measure 1310 includes a red light 1312, a yellow light 1314, and a green light 1316. In the illustration, for the sake of discussion, only one light is illuminated at a time. In this case, it is assumed that the red light 1312 is illuminated, as shown by the dashed shadow of light 1312. The vehicle can determine that the light is red by processing an image of the light captured by an on-vehicle camera and / or through V2X communication reporting the status of the light by an external system of which the traffic light is a part. The map also includes a traffic control measure 1320 that is a stop sign. The on-vehicle computing device 1710 can use the road segment data of the high-definition map data 1771 to determine whether vehicle 10 can stop in time for traffic in the driving direction in front of the control measure in front of the vehicle. Some of these traffic control measures may be on streets that intersect the current path of the vehicle.

[0091] In Figure 14 the illustration of , as an example, the traffic control measure 1310 is substantially located at the end of road segment LS 14 or the beginning of road segment LS 15. In Figure 14In [the figure], an example list 1430 of lane segment data of the ROI in front of the vehicle is shown. The stop zone polygon 1410 is shown as covering the end of lane segment LS14 or the start of lane segment LS15, with a dashed shaded line. The end threshold polyline 1415 is shown with a slanted shaded line, starting where the stop zone polygon ends and extending a distance into the next lane segment (i.e., lane segment LS15). The demarcation line 1413 is the demarcation point between lane segments LS14 and LS15, with a heading H1. Heading H1 is shown as an east heading, where lane segment LS15 is shown as the east side of lane segment LS14. Each lane segment is associated with a length L1. In the list 1430, "TCM-TL" represents a data entry associated with a traffic control measure of the traffic light type. In the list 1430, "TCM-STOP" represents a data entry associated with a traffic control measure of the stop sign type. Although not shown, the ROI lane segment data in the list 1430 may include data associated with the width of the polygon of each lane segment.

[0092] In the illustration, the traffic control measure 1320 is substantially located at the end of lane segment LS16 or the start of lane segment LS17. The stop zone polygon 1420 is shown as covering the end of lane segment LS16 or the start of lane segment LS17, with a dashed shaded line. The end threshold polyline 1425 is shown with a slanted shaded line, starting where the stop zone polygon ends and extending a distance into the next lane segment (i.e., lane segment LS17). The demarcation line 1423 is the demarcation point between lane 1423 and lane 1423. Lane segments LS16 and LS17 with a heading H2. Heading H2 is shown as a north heading, where lane segment LS17 is shown as the north side of lane segment LS16.

[0093] It should be understood that if it is acceptable for the vehicle to be at or slightly beyond the stop line, the end threshold polyline can be positioned at the stop line or slightly beyond it. In the case where the driver of the vehicle 10 needs to turn left or right out of the lane (e.g., to avoid an obstacle) to navigate the road, it can extend to the left and right of the lane segment. The vehicle 10 turning into the extended area and polyline of the stop zone can be an example of the driver's normal driving movement. It should be understood that the stop area polygon 1420 can be calculated by the on-vehicle computing device 1710 to generate a polygon that extends a certain distance backward from the end threshold polyline 1425, covering the area where the vehicle must stop.

[0094] Figure 15An example scenario 1500 is shown of a roadway segment map having traffic control measure 1520 before an intersection of a one-way road and a two-way road. For a stop sign without a painted stop line, instead of requiring vehicle 10 to stop at the stop sign, it is preferably required that vehicle 10 stop before entering other traffic lanes.

[0095] Scenario 1500 may include roadway segments LS21 - LS23, which are represented as one-way, eastward. Scenario 1500 may include traffic control measure 1520 as a stop sign. Scenario 1500 may include roadway segments LS24 - LS25 intersecting roadway segment LS23. Roadway segments LS24 - LS25 have a southward direction. Scenario 1500 may include roadway segments LS26 to LS27, which intersect roadway segment LS23 and are parallel to roadway segments LS24 to LS25. Roadway segments LS26 - LS26 have a northward direction. In this example, the length of roadway segments LS22 - LS23 has a length different from that of Figure 15 the other roadway segments.

[0096] In scenario 1500, traffic control measure 1520 may be located between roadway segments LS22 and LS23. However, the stop zone polygon 1521 and the end threshold polyline 1525 are located at the intersection of roadway segment LS23 and roadway segments LS24 - LS25, corresponding to Figure 4A the activity at 410.

[0097] Now returning to Figure 4B , at 432, the on-vehicle computing device 1710 may calculate the minimum stopping distance and (reasonable) deceleration / jerk rate of traffic control measures (such as Figure 13 traffic control measures 1310 and 1320) at the current speed of the vehicle. Example deceleration / jerk rates are described later. An example algorithm for determining the minimum stopping distance is d = v 2 / 2a, where v = the speed of the vehicle and a = the acceleration of the vehicle.

[0098] The minimum stopping distance may also be based on the surrounding environmental conditions determined by the environmental sensor 1768. For example, the coefficient of friction may change in the presence of rain, snow, or surface type. The stopping distance can be calculated by calculating the reaction time and braking time. The minimum stopping distance is the shortest stopping distance for a specific deceleration rate.

[0099] At 434, the on-vehicle computing device 1710 may identify the lane segments in the map in front of the vehicle 10 from the high-definition map data. The lane segments in front of the vehicle 10 may correspond to those lane segments in the driving direction or having the same heading as the vehicle 10. These lane segments may be part of the ROI, but only those lane segments in front of the vehicle 10. The on-vehicle computing device 1710 may retrieve the ROI lane segment data 1774. The ROI lane segment data 1774 may include the length of each of the lane segments in front of the vehicle 10. For simplicity of discussion, it is assumed that all lane segments have the same length L1, as Figure 14 shown. It should be understood that the lane segments may have different lengths, as Figure 15 shown.

[0100] At 436, the on-vehicle computing device 1710 may search for all valid traffic control measures (stop signs / red or yellow lights) in the lane segments in front of the vehicle 10 within the minimum stopping distance, for which the vehicle 10 has not stopped within the stop zone polygon. As used in this disclosure, "active" traffic control measures may include traffic control measures in front of the vehicle and the vehicle has not stopped yet. In the case of a traffic light, when evaluating whether a traffic control measure is "valid", it may be determined whether the light will be red such that the vehicle should stop. The high-definition map data 1771 may include pre-stored traffic light timing data.

[0101] At 438, the on-vehicle computing device 1710 may determine whether more than one traffic control measure is found in the ROI lane segment data 1774. For example, if the road branches into different lane segments, such as Figure 13 , Figure 14 and Figure 16 shown, then one or more traffic control measures may be found on these branches. At 438, if the determination is "yes", then the on-vehicle computing device 1710 may detect whether the left turn signal of the vehicle 10 is activated at 440A, or detect whether the right turn signal of the vehicle 10 is activated at 440B.

[0102] The turn signal direction may allow the on-vehicle computing device 1710 to determine which path the vehicle is more likely to take. For example, if it is determined at 440A that the vehicle 10 activates its left turn signal, then at 442A, the on-vehicle computing device 1710 may ignore the traffic control measure that would require the vehicle to turn right to reach it. On the other hand, if it is determined at 440B that the vehicle 10 activates its right turn signal, then at 442B, the on-vehicle computing device 1710 may ignore the traffic control measure that would require the vehicle to turn left to reach it.

[0103] At 440A and 440B, if determined to be "No", the in-vehicle computing device 1710 can proceed to 444. At 444, the in-vehicle computing device 1710 can perform a search for the closest eligible active traffic control measure based on the distance that vehicle 10 must travel to reach it, as described in more detail with respect to Figure 16 . At 446, the in-vehicle computing device 1710 can calculate the deceleration rate required to stop for the traffic control measure.

[0104] Now referring to Figure 4C , at 452, the in-vehicle computing device 1710 can determine whether vehicle 10 can stop at the current deceleration rate for the evaluated traffic control measure for the stopping distance. If determined to be "Yes", the condition is met and the movement of the vehicle is valid. If determined to be "No", the condition is not met and the movement of the vehicle is invalid.

[0105] For example, when calculating the stopping distance and deceleration rate, multiple thresholds can be used for additional granularity. A first threshold can be used for "medium deceleration" (e.g., a deceleration rate of 2.0 m / s / s). "Medium deceleration" can have a first (reasonable) jerk of deceleration. A second threshold can be used for "emergency deceleration" (e.g., a deceleration rate of 2.5 m / s / s). "Emergency deceleration" can have a second jerk of deceleration that is different from the first jerk of deceleration. The second jerk of deceleration can be stronger than the first jerk of deceleration. A third threshold can be used for the yellow light beyond which no alarm is issued. For example, if the vehicle must decelerate its speed at a deceleration rate greater than 3 m / s / s to stop vehicle 10 at the yellow light, the driver should probably just proceed through the yellow light.

[0106] In some embodiments, information associated with the deceleration rate required to meet the stopping distance can be provided to the driver. However, if it is determined based on the calculation that the vehicle cannot stop using one of the deceleration rates for the TCM, the movement is invalid because the deceleration rate exceeds the limit for the vehicle to stop within the stop zone polygon until the end threshold broken line.

[0107] The in-vehicle computing device 1710 can repeat one or more steps of method 400 to determine at 452 that vehicle 10 cannot stop for the traffic control measure and recalculate the stopping distance at a different deceleration rate before providing an alarm at 128 ( Figure 1 ).

[0108] After determining whether the vehicle can stop for the traffic control measure, the system can then monitor the vehicle operation to determine when the vehicle reaches the stop threshold broken line. Once this occurs, at 454, the in-vehicle computing device 1710 can determine whether the vehicle has stopped within the stop zone polygon. At 454, if determined to be "No", the in-vehicle computing device 1710 can atFigure 1 130 recorded events in []. At 454, if determined to be "yes", the in-vehicle computing device 1710 may also determine at 456 whether the driver has violated the traffic measure control rule. At 456, if determined to be "yes", the in-vehicle computing device 1710 may be at Figure 1 130 recorded events in []. From 456, the method may return to Figure 1 102 of []. At 456, if determined to be "no", the in-vehicle computing device 1710 may also return to Figure 1 102 of [].

[0109] Example rules will now be described. In various embodiments, before the vehicle 10 touches the end threshold polygon of the vehicle body, the driver of the vehicle 10 must stop the vehicle within the stop zone polygon. If the vehicle 10 does not stop before touching the end threshold polyline, it is considered to have "run a stop sign" or violated the traffic control measure rule. In another example rule, once the vehicle 10 has stopped in the stop area polygon for a stop sign or equivalent traffic control measure, such as a flashing red light or a red light that allows a right turn on red), the end threshold polyline may be ignored and the vehicle 10 may continue. In another example rule, once the vehicle 10 has stopped in the stop area polygon of a red traffic light that does not allow it to travel, the vehicle 10 must remain stopped until the light turns green. If the vehicle crosses the end threshold polyline when the light is red, it is considered to have violated the traffic control measure. It should be understood that there are many rules for different traffic control measures and should not be limited to those described above in any way. If the vehicle 10 violates the traffic control measure, an event is recorded at 130 for later analysis.

[0110] The process of searching for the remaining nearest traffic control measures at 444 will now be described. Figure 16Example scenario 1600 shows a map of a road segment with distances to various traffic control measures. In this case, a vehicle can detect multiple candidate traffic control measures in front of the vehicle in the lane in which the vehicle is traveling. If the vehicle has activated a traffic signal before reaching the first candidate TCM, the system can use this information to determine which TCM it should slow down or stop at before turning. For example, the system can sort the valid candidate traffic control measures based on the distance from the vehicle to the next eligible traffic signal (ranking the nearest one first, the next nearest second, etc.). Then, the system can determine the distance between the vehicle and each candidate control measure, either by the measured distance or by the number of remaining road segments in the region of interest between the vehicle and the candidate traffic control measure. Then, the system can select the traffic control measure at which the vehicle will turn based on either or both of the distance and the vehicle turn signal state. For example, if vehicle 10 turns left onto road segment LS16, vehicle 10 can reach traffic control measure 1320 (i.e., a stop sign) within X feet = 45 feet. The stopping distance is based on the length of each road segment to traffic control measure 1320. If vehicle 10 continues straight, vehicle 10 can reach another traffic control measure 1310 (i.e., a traffic light) within Y feet = 30 feet. If the left turn signal of vehicle 10 is on, traffic control measure 1320 (i.e., the stop sign) will be selected as the nearest eligible and valid traffic control measure; if not, traffic control measure 1310 (i.e., the traffic light) will be selected.

[0111] Methods 100, 200, 300, and 400 can be implemented using hardware, firmware, software, or any combination of these. For example, methods 100, 200, 300, and 400 can be implemented as part of a microcontroller, a processor, and / or a graphics processing unit (GPUs) and an interface with registers, data storage, and / or memory 1770 ( Figure 17 ) for storing data and programming instructions that, when executed, perform the steps of methods 100, 200, 300, and 400 described herein.

[0112] Figure 17 Example architecture of system 1700 with an on-vehicle computing device 1710 for an autonomous vehicle is shown. System 1700 can employ feature extraction algorithms for detecting objects and the speed of the objects to perform machine learning. Feature extraction algorithms can include, but are not limited to, edge detection, corner detection, template matching, dynamic texture processing, segmentation image processing, motion detection, object tracking, background subtraction, object recognition and classification, etc.

[0113] System 1700 can control the navigation and movement of an autonomous vehicle (at 126). As a non-limiting example, a steering control signal can be sent from an on-vehicle computing device 1710 to a steering controller 1724.

[0114] For specific reference Figure 17 , system 1700 can include an engine or motor 1702 and various sensors 1735 for measuring various parameters of vehicle 10 and / or its environment. System 1700 can be integrated into the vehicle body. Autonomous vehicle 10 can be fully autonomous or semi-autonomous. Operation parameter sensors 1735 common to both types of vehicles include, for example: a position sensor 1736, such as an accelerometer, gyroscope, and / or inertial measurement unit; a speed sensor 1738; and an odometer sensor 1740. System 1700 can also have a clock 1742, and the system architecture uses clock 1742 to determine the vehicle time during operation. Clock 1742 can be encoded into the vehicle's on-vehicle computing device 1710, it can be a separate device, or multiple clocks can be available.

[0115] System 1700 can also include various sensors that operate to collect information about the environment in which the vehicle is traveling. These sensors can include, for example: a position sensor 1760, such as a global positioning system (GPS) device; object detection sensors, such as one or more cameras 1762, a laser detection and ranging (LADAR) system and / or a light detection and ranging (LIDAR) system 1764, a radio detection and ranging (RADAR) system and / or a sound navigation and ranging (SONAR) system 1766. The object detection sensors can be part of a computer vision system. Sensor 1735 can also include an environmental sensor 1768, such as a precipitation sensor and / or an environmental temperature sensor. The object detection sensors can enable system 1700 to detect objects at a given distance or within a range of vehicle 10 in any direction, while the environmental sensors collect data on the environmental conditions within the vehicle's travel area. System 1700 will also include one or more cameras 1762 for capturing images of the environment (such as images of the TCM as described above).

[0116] The computing device 1710 analyzes the data captured by the sensors and optionally controls the operation of the vehicle based on the results of the analysis. For example, the on-vehicle computing device 1710 can control braking via the brake controller 1723; the direction via the steering controller 1724; the speed and acceleration via the throttle controller 1726 (in a gas-powered vehicle) or the motor speed controller 1728 (such as a current level controller in an electric vehicle); the differential gear controller 1730 (in a vehicle with a transmission); and / or other controllers, such as the auxiliary device controller 1754. The on-vehicle computing device 1710 can include one or more communication links to the sensors 1735.

[0117] The system 1700 can also include a transceiver 1790 that is capable of receiving signals via an external system, such as V2X communication from an external TCM, other vehicles, or other objects.

[0118] The on-vehicle computing device 1710 can be implemented using hardware, firmware, software, or any combination of these. For example, the on-vehicle computing device 1710 can be implemented as part of a microcontroller, a processor, and / or a graphics processing unit (GPU). The on-vehicle computing device 1710 can include or interface with registers, data storage, and / or a memory 1770 for storing data and programming instructions that, when executed, perform vehicle navigation based on sensor information such as cameras and sensors from a computer vision system.

[0119] The on-vehicle computing device 1710 can include an ROI generator 1712 for performing the functions at 102( Figure 1 )). The ROI generator 1712 can be implemented using hardware, firmware, software, or any combination of these. For example, the ROI generator 1712 can be implemented as part of a microcontroller, a processor, and / or a graphics processing unit (GPU). The ROI generator 1712 can include or interface with registers, data storage, or a memory 1770 for storing data and programming instructions that, when executed, generate an ROI (i.e., ROI 600( Figure 6 ), 700 (Figure 7), or 1301( Figure 13 )) having a specific radius and a geometry with the vehicle 10 at the center of the ROI. For example, the radius can be 50 feet to 100 feet. The radius can be in the range of 10 - 300 feet. It should be understood that the radius can vary based on whether the vehicle is being driven in the city or in the suburbs. When the vehicle is being driven, the ROI generator 1712 can be configured to update the ROI on the high-definition map.

[0120] The on-vehicle computing device 1710 can include means for performing 104 and / or 106( Figure 1) a map selector 1714 for the functions at. The map selector 1714 can be implemented using hardware, firmware, software, or any combination of these. For example, the map selector 1714 can be implemented as part of a microcontroller, a processor, and / or a graphics processing unit (GPU). The map selector 1714 can include or interface with registers, data storage, or a memory 1770 for storing data and programming instructions that, when executed, look up a portion of a map corresponding to the ROI (i.e., ROI 600( Figure 6 ), 700 (Figure 7), or 1301( Figure 13 ))), retrieve high-definition map data associated with the ROI, and / or extract lane segment data of the lane segments in the ROI.

[0121] The in-vehicle computing device 1710 can include a motion monitor 1716 for performing the functions at 108 and / or 110( Figure 1 ). The motion monitor 1716 can be implemented using hardware, firmware, software, or any combination of these. For example, the motion monitor 1716 can be implemented as part of a microcontroller, a processor, and / or a graphics processing unit (GPU). The motion monitor 1716 can include or interface with registers, a data storage device, or a memory 1770 for storing data and programming instructions that, when executed, use sensed data from the sensors 1735 to determine the driving direction and speed of the vehicle 10 and / or monitor the motion of the vehicle 10 based on the lane segment data.

[0122] The in-vehicle computing device 1710 can include a device for performing 112( Figure 1) function at the motion validator 1718. The motion validator 1718 can be implemented using hardware, firmware, software, or any combination of these. For example, the motion validator 1718 can be implemented as part of a microcontroller, a processor, and / or a graphics processing unit (GPU). The motion validator 1718 can include or interface with a register, a data store, or a memory 1770 for storing data and programming instructions that, when executed, detect traffic control measures in the path and / or whether the vehicle 10 is traveling in the wrong route direction. The motion validator 1718 can include or interface with a register, a data store, or a memory 1770 for storing data and programming instructions that, when executed, evaluate the valid motion associated with the current state of the vehicle and upcoming traffic control measures in the path identified in the high-definition map data. The motion validator 1718 can include or interface with a register, a data store, or a memory 1770 for storing data and programming instructions that, when executed, evaluate the validity associated with the current driving direction of the vehicle and upcoming road segments in the path identified in the high-definition map data to determine whether the vehicle 10 is traveling in the wrong route direction.

[0123] The on-vehicle computing device 1710 can include for performing 123( Figure 1 ) function at the motion corrector 1720. The motion corrector 1720 can be implemented using hardware, firmware, software, or any combination of these. For example, the motion corrector 1720 can be implemented as part of a microcontroller, a processor, and / or a graphics processing unit (GPU). The motion corrector 1720 can include or interface with a register, a data store, or a memory 1770 for storing data and programming instructions that, when executed, control the vehicle to perform motion correction so that the vehicle returns to a valid motion condition. In some embodiments, the motion correction can include decelerating the vehicle at a deceleration rate within the limit of stopping in the stop zone polygon. In other embodiments, the motion correction can include preventing the vehicle from steering or manipulating the steering or making a safe U-turn of the vehicle. Other motion corrections are expected to safely correct the motion of the vehicle until it returns to a valid motion condition associated with the wrong route direction and the stopping distance to the traffic control measure.

[0124] The on-vehicle computing device 1710 can include for performing 128( Figure 1) an alert generator 1721 for the function at. The alert generator 1721 can be implemented using hardware, firmware, software, or any combination of these. For example, the alert generator 1721 can be implemented as part of a microcontroller, a processor, and / or a graphics processing unit (GPU). The alert generator 1721 can include or interface with registers, data storage, or a memory 1770 for storing data and programming instructions that, when executed, generate control signals to cause the driver warning system 1780 to generate an alert using one or more of an auditory alert, a visual alert, or a vibration alert, the alert indicating that the vehicle is traveling in the wrong route direction and / or indicating an upcoming traffic control measure with an excessive deceleration rate.

[0125] The in-vehicle computing device 1710 can include a recording module 1722 for performing the function at 130( Figure 1 )). The recording module 1722 can be implemented using hardware, firmware, software, or any combination of these. For example, the recording module 1722 can be implemented as part of a microcontroller, a processor, and / or a graphics processing unit (GPU). The recording module 1722 can include or interface with registers, data storage, or a memory 1770 for storing data and programming instructions that, when executed, record event data or information associated with the alert. The event data corresponds to vehicle sensor data from the sensors 1735, current road segment data, traffic control measurement data, and invalid motion detection data. The event data can include a record of a violation of a rule associated with a traffic control measure and / or a stop position by the vehicle associated with a stop area polygon. The event data or information can include an image captured in an area representing a bad sign.

[0126] The in-vehicle computing device 1710 can perform machine learning for planning the movement of the vehicle along a route from a starting position to a destination position in a global coordinate system. The parameters can include, but are not limited to, motor vehicle operation rules (i.e., speed limits) of the jurisdiction, objects in the vehicle route, a predetermined or planned route, traffic lights at intersections, etc.

[0127] Geographical location information can be transmitted from the position sensor 1760 to the in-vehicle computing device 1710, and then the in-vehicle computing device 1710 can access an environmental map corresponding to the location information to determine known fixed features of the environment, such as streets, buildings, stop signs, and / or stop / go signals. The map includes map data 1771. Additionally or alternatively, the vehicle 10 can send any data to a remote server system (not shown) for processing. Any known or to-be-known technique for object detection based on sensor data and / or captured images can be used in the embodiments disclosed in this document.

[0128] To determine the heading of an autonomous vehicle (i.e., the sensed direction of travel), an on-vehicle computing device 1710 can determine the position, orientation, pose, etc. (localization) of the autonomous vehicle in the environment based on, for example, three-dimensional position data (e.g., data from GPS), three-dimensional orientation data, predicted positions, etc. For example, the on-vehicle computing device 1710 can receive GPS data to determine the latitude, longitude, and / or altitude position of the autonomous vehicle. Other position sensors or systems (such as laser-based localization systems, inertial-aided GPS, or camera-based localization) can also be used to identify the position of the vehicle. The position of vehicle 10 can include absolute geographic locations such as latitude, longitude, and altitude, as well as relative position information such as the position relative to other vehicles in its immediate vicinity, which can generally be determined with less noise than absolute geographic locations. Map data 1774 can provide information about the identity and location of different roads, road segments, buildings, or other items, the location of traffic lanes, their boundaries and directions (e.g., the location and direction of stop lanes, turning lanes, bicycle lanes, or other lanes within a particular road), and metadata associated with the traffic lanes, traffic control data (e.g., the location and instructions of signs, traffic lights, or other traffic control measures); and / or any other map data 1774 that provides information to assist the on-vehicle computing device 1710 in analyzing the surrounding environment of the autonomous vehicle 10. Map data 1774 can also include information and / or rules for determining the right of way of objects and / or vehicles in conflict zones or spaces.

[0129] In some embodiments, the map data 1774 can also include reference path information that corresponds to a common pattern of vehicle travel along one or more lanes such that the movement of an object is constrained to the reference path (e.g., a position within one or more lanes). The lane on which an object typically travels). Such a reference path can be predefined, such as the centerline of a traffic lane. Optionally, a reference path can be generated based on historical observations of vehicles or other objects over a period of time (e.g., reference paths for straight driving, lane merging, turning, etc.).

[0130] In various implementations, the vehicle computing device 1710 can determine perception information of the surrounding environment of the autonomous vehicle 10. Based on sensor data provided by one or more sensors and the obtained location information, the vehicle computing device 1710 can determine perception information of the surrounding environment of the autonomous vehicle 10. The perception information can represent what a typical driver would perceive in the vehicle's surrounding environment. The perception data can include information related to one or more objects in the environment of the autonomous vehicle 10. For example, the vehicle computing device 1710 can process perception data including sensor data (e.g., LADAR data, LIDAR data, RADAR data, SONAR data, camera images, etc.) to identify objects and / or features in the environment of the autonomous vehicle 10. Objects can include traffic signals, road boundaries, other vehicles, pedestrians, and / or obstacles, etc. The vehicle computing device 1710 can use any object recognition algorithms, video tracking algorithms, and computer vision algorithms known now or in the future (e.g., iteratively tracking an object frame by frame over multiple time periods) to determine the perception. The perception information can include objects identified by discarding ground LIDAR points, as described below.

[0131] In various embodiments discussed in this document, the description may state that a vehicle or a controller included in a vehicle (e.g., in a vehicle computing system) can implement programming instructions that cause the vehicle and / or the controller to perform the following operations: make a decision and use the decision to control the operation of the vehicle. However, the embodiments are not limited to such an arrangement, because in various embodiments, the analysis, decision-making, and / or operation control can be processed in whole or in part by other computing devices that are electronically communicable with the vehicle's vehicle computing device and / or vehicle control system. Examples of such other computing devices include electronic devices associated with a person riding in the vehicle (such as a smart phone), and remote servers that are electronically communicable with the vehicle via a wireless communication network. The processor of any such device can perform the operations discussed below.

[0132] The features and functions and alternatives disclosed above can be combined into many other different systems or applications. The various components can be implemented in hardware or software or embedded software. Those skilled in the art can make various substitutions, modifications, variations, or improvements that are not currently foreseen or expected, each of which is also intended to be covered by the disclosed embodiments.

[0133] Terms related to the disclosure provided above include:

[0134] The term "vehicle" refers to any form of mobile transportation device that is capable of carrying one or more human occupants and / or cargo and is powered by any form of energy. The term "vehicle" includes, but is not limited to, automobiles, trucks, vans, trains, autonomous vehicles, airplanes, aerial drones, etc. An "autonomous vehicle" is a vehicle that has a processor, programming instructions, and powertrain components that can be controlled by the processor without a human operator. An autonomous vehicle can be fully autonomous in that it does not require a human operator for most or all driving conditions and functions. Alternatively, it can be semi-autonomous in that an operator may be required under certain conditions or for certain operations, or the operator can override the vehicle's autonomous systems and can control the vehicle. Autonomous vehicles also include vehicles in which the autonomous systems enhance the manual operation of the vehicle, such as vehicles with driver-assist steering, speed control, braking, stopping, and other advanced driver-assistance systems.

[0135] An "electronic device" or "computing device" refers to a device that includes a processor and a memory. Each device may have its own processor and / or memory, or the processor and / or memory may be shared with other devices in a virtual machine or container arrangement. The memory will contain or receive programming instructions that, when executed by the processor, cause the electronic device to perform one or more operations in accordance with the programming instructions.

[0136] The terms "memory", "memory device", "data storage", "data storage facility", etc. each refer to a non-transitory computer-readable medium that stores programming instructions and data. Unless otherwise specifically stated, the terms "memory", "memory device", "data storage", "data storage facility", etc. are intended to include single device embodiments, embodiments in which multiple memory devices store a set of data or instructions together or jointly, and individual sectors within these devices.

[0137] The terms "processor" and "processing device" refer to the hardware components of an electronic device that are configured to execute programming instructions. Unless otherwise specifically stated, the singular terms "processor" or "processing device" may be referred to as "processors" or "processing devices". Thus, the present invention is intended to include single processing device embodiments and embodiments in which multiple processing devices execute a process together or jointly.

[0138] In this document, the terms "communication link" and "communication path" mean a wired or wireless path via which a first device sends communication signals to and / or receives communication signals from one or more other devices. A device is "communicatively connected" if it can send and / or receive data via the communication link. "Electronic communication" refers to the transmission of data via one or more signals between two or more electronic devices, whether via a wired or wireless network and whether directly or indirectly via one or more intermediate devices.

[0139] When used in the context of autonomous vehicle motion planning, the term "trajectory" refers to a plan that the vehicle's motion planning system will generate and that the vehicle's motion control system will follow when controlling the vehicle's motion. The trajectory includes the planned positions and orientations of the vehicle at multiple time points within a time range, as well as the planned steering wheel angles and angular rates of the vehicle within the same time range. The motion control system of the autonomous vehicle will consume the trajectory and send commands to the vehicle's steering controller, brake controller, throttle controller, and / or other motion control subsystems to move the vehicle along the planned path.

[0140] The term "classifier" refers to an automated process by which an artificial intelligence system can assign labels or categories to one or more data points. Classifiers include algorithms trained via automated processes such as machine learning. Classifiers typically start with a set of labeled or unlabeled training data and apply one or more algorithms to detect one or more features and / or patterns within the data corresponding to various labels or categories. The algorithms can include, but are not limited to, algorithms as simple as decision trees, as complex as naive Bayes classification, and / or intermediate algorithms such as k-nearest neighbors. Classifiers can include artificial neural networks (ANNs), support vector machine classifiers, and / or any of many different types of classifiers. Once trained, the classifier can use the knowledge base it learned during training to classify new data points. The process of training classifiers can evolve over time, as classifiers can be periodically trained on updated data and they can learn from information provided about data they may have misclassified. The classifier will be implemented by a processor executing programming instructions and can operate on large datasets such as, for example, image data, lidar system data, lidar system data, and / or other data.

[0141] When referring to an object detected by a vehicle perception system or simulated by a simulation system, the term "object" is intended to cover both stationary objects and moving (or potentially moving) actors or pedestrians, unless otherwise specifically stated, in which case the terms "actor" or "stationary object" are used.

[0142] In this document, when relative terms such as the order of "first" and "second" are used to modify a noun, such use is only intended to distinguish one item from another and does not intend to require an order of sequence, unless specifically stated.

[0143] Additionally, when used, terms such as the relative positions of "front" and "rear" are intended to be relative to each other and do not need to be absolute, and only refer to a possible position of the device associated with these terms, depending on the orientation of the device. When this document uses the terms "front", "rear", and "side" to refer to areas of a vehicle, they refer to vehicle areas relative to the vehicle's default driving area. For example, the "front" of a car is the area closer to the vehicle's headlights compared to the vehicle's taillights, while the "rear" of a car is the area closer to the vehicle's tail. These lights are not the lights used for vehicle headlights. Furthermore, the terms "front" and "rear" are not necessarily limited to areas facing forward or backward respectively, but also include side areas closer to the front than the rear and vice versa. The "side" of a vehicle is intended to refer to the side-facing section between the foremost part and the rearmost part of the vehicle.

Claims

1. A method for navigating a vehicle, the method comprising, by a processor: Determine the heading of the vehicle based on data received from one or more sensors of the vehicle; Identify an area of interest, the area of interest including an area that contains the current position of the vehicle and is near the current position of the vehicle, Access a vector map including the area of interest, Extract lane segment data associated with lane segments of the vector map within the area of interest, Analyze the lane segment data and the heading of the vehicle to determine whether the movement of the vehicle meets a condition associated with one or more of the following: The driving direction of the lane corresponding to the current position of the vehicle, and The minimum stopping distance to an upcoming traffic control measure in the lane corresponding to the current position of the vehicle, and When the movement does not meet the condition, cause the vehicle to perform a movement correction, Wherein: The lane segment data includes the lane heading of each lane segment in the area of interest, wherein the lane heading corresponds to the driving direction of the lane corresponding to the current position of the vehicle; The condition is associated with the driving direction of the lane corresponding to the current position of the vehicle; and Determining whether the movement of the vehicle meets the condition includes: (a) Determining whether any lane segment within the area of interest has a lane heading that is within a reverse heading tolerance range and opposite to the heading of the vehicle, (b) Determining whether any lane segment within the area of interest has a lane heading that is within a similar heading tolerance range and similar to the heading of the vehicle, and (c) When both of the following are satisfied, determining that the movement does not meet the condition and determining that the heading of the vehicle is in the wrong route direction: (i) Determining at (a) that at least one lane segment in the lane segment has a lane heading opposite to the heading of the vehicle, and (ii) No lane segment in the area of interest is determined at (b) to have a lane heading similar to the heading of the vehicle, Otherwise, determining that the movement of the vehicle meets the condition.

2. The method according to claim 1, further comprising controlling a driver warning system of the vehicle to generate and output a driver alert for an invalid movement.

3. The method according to claim 1, wherein causing the vehicle to perform the movement correction includes generating a control signal to control at least one of the following: a steering controller, a speed controller, or a braking controller of the vehicle.

4. The method according to claim 3, wherein the movement correction includes at least one of the following: decelerating, stopping, or steering to a lane different from the lane corresponding to the current position of the vehicle.

5. The method according to claim 1, further comprising, in response to determining that the movement does not meet the condition, causing the vehicle to perform the movement correction, the movement correction including preventing the vehicle from performing a steering movement.

6. The method according to claim 1, wherein determining whether any of the lane segments within the region of interest has a lane heading within a similar heading tolerance range and similar to the heading of the vehicle further comprises determining whether any of the lane segments is within a tolerance distance of the lane corresponding to the current position of the vehicle.

7. The method according to claim 1, wherein: the lane segment data includes the heading and length of each lane segment; the condition is associated with the minimum stopping distance to the upcoming traffic control measure in the lane corresponding to the current position of the vehicle; and determining whether the movement of the vehicle satisfies the condition includes: receiving the driving speed of the vehicle from one or more of the sensors, determining the minimum stopping distance, which represents the distance from the current position of the vehicle to a position within the stop zone, the position within the stop zone being in the driving lane before the position of the upcoming traffic control measure, and using the speed and the current position to determine whether the vehicle can stop within the minimum stopping distance by the following steps: calculating the deceleration rate required to stop the vehicle at the position within the stop zone, determining whether the calculated deceleration rate satisfies a deceleration threshold, and if the calculated deceleration rate is more than the deceleration threshold, determining that the movement does not satisfy the condition, otherwise determining that the movement satisfies the condition.

8. The method according to claim 7, further comprising, in response to determining that the movement does not satisfy the condition, causing the vehicle to perform the movement correction, the movement correction including changing the speed of the vehicle.

9. The method according to claim 7, wherein, determining whether the movement of the vehicle satisfies the condition further includes: before determining the minimum stopping distance, calculating a stop zone polygon for the upcoming traffic control measure; and calculating an end threshold polyline for the upcoming traffic control measure, the end threshold polyline being at the end of the stop zone polygon, wherein the position within the stop zone corresponds to the end threshold polyline, and the minimum stopping distance is determined to pass through the stop zone polygon and up to the end threshold polyline.

10. The method according to claim 1, wherein, determining whether the movement of the vehicle satisfies the condition further includes: detecting a plurality of candidate traffic control measures in front of the vehicle in the direction corresponding to the heading of the vehicle; detecting that a traffic signal activation command has been initiated in the vehicle before the vehicle reaches the first candidate traffic control measure among the candidate traffic control measures; ranking the candidate traffic control measures based on the distance from the vehicle to each of the candidate traffic control measures, or the remaining lane segments in the region of interest between the vehicle and the candidate traffic control measures; and selecting the upcoming traffic control measure based on one or both of the distance and the vehicle turn signal state.

11. A system for navigating a vehicle, the system comprising: a vehicle having one or more sensors and an on-vehicle computing system, the on-vehicle computing system including a processor and a memory portion containing programming instructions which, when executed, will cause the processor to: determine the heading of the vehicle based on data received from one or more sensors; identify an area of interest, the area of interest including an area that contains the current position of the vehicle and is near the current position of the vehicle, access a vector map including the area of interest, extract lane segment data associated with lane segments of the vector map within the area of interest, analyze the lane segment data and the heading of the vehicle to determine whether the movement of the vehicle satisfies a condition associated with one or more of the following: the driving direction of the lane corresponding to the current position of the vehicle, and the minimum stopping distance to an upcoming traffic control measure in the lane corresponding to the current position of the vehicle, and when the movement does not satisfy the condition, cause the vehicle to perform a movement correction, wherein: the lane segment data includes the lane heading of each lane segment in the area of interest, wherein the lane heading corresponds to the driving direction of the lane corresponding to the current position of the vehicle; the condition is associated with the driving direction of the lane corresponding to the current position of the vehicle; and the determining whether the movement of the vehicle satisfies the condition includes: (a) determining whether any lane segment within the area of interest has a lane heading that is within an opposite heading tolerance range and opposite to the heading of the vehicle, (b) determining whether any lane segment within the area of interest has a lane heading that is within a similar heading tolerance range and similar to the heading of the vehicle, and (c) when both of the following are satisfied, determining that the movement does not satisfy the condition and determining that the heading of the vehicle is in the wrong route direction: (i) at (a), determining that at least one lane segment in the lane segments has a lane heading opposite to the heading of the vehicle, and (ii) no lane segment in the area of interest is determined at (b) to have a lane heading similar to the heading of the vehicle, otherwise determining that the movement of the vehicle satisfies the condition.

12. The system according to claim 11, further comprising programming instructions for controlling a driver warning system of the vehicle to generate and output a driver alert for an invalid movement.

13. The system according to claim 11, wherein the vehicle performing the movement correction includes generating a control signal to control at least one of the following: a steering controller, a speed controller, or a braking controller of the vehicle.

14. The system according to claim 13, wherein the movement correction includes at least one of the following: decelerating, stopping, or steering to a lane different from the lane corresponding to the current position of the vehicle.

15. The system according to claim 11, wherein: the lane segment data includes the heading and length of each lane segment; The conditions are associated with the minimum stopping distance to the upcoming traffic control measure in the lane corresponding to the current position of the vehicle; and Determining whether the movement of the vehicle satisfies the conditions includes: Receiving the driving speed of the vehicle from one or more of the sensors; Determining a minimum stopping distance, which represents the distance from the current position of the vehicle to a position within a stop zone, the position within the stop zone being in the driving lane before the position of the upcoming traffic control measure, and Determining whether the vehicle can stop within the minimum stopping distance by using the speed and the current position as follows: Calculating a deceleration rate required to stop the vehicle at the position within the stop zone; Determining whether the calculated deceleration rate satisfies a deceleration threshold; and If the calculated deceleration rate is more than the deceleration threshold, determining that the movement does not satisfy the conditions, otherwise determining that the movement satisfies the conditions.

16. The system according to claim 15, further comprising programming instructions that, when executed by the processor, cause the processor to: in response to determining that the movement does not satisfy the conditions, cause the vehicle to perform a movement correction, the movement correction including changing the speed of the vehicle.

17. The system according to claim 11, wherein, Determining whether the movement of the vehicle satisfies the conditions further includes: Detecting a plurality of candidate traffic control measures in front of the vehicle in a direction corresponding to the heading of the vehicle; Detecting that a traffic signal activation command has been initiated in the vehicle before the vehicle reaches a first candidate traffic control measure among the candidate traffic control measures; Ranking the candidate traffic control measures based on the distance from the vehicle to each of the candidate traffic control measures, or the remaining road segments in the region of interest between the vehicle and the candidate traffic control measures; and Selecting the upcoming traffic control measure based on one or both of the distance and the vehicle turn signal status.

18. A computer product, the computer product including a memory containing programming instructions that are configured to, when executed, cause a processor to: Determine the heading of the vehicle based on data received from one or more sensors of the vehicle; Identify a region of interest, the region of interest including a region that contains and is near the current position of the vehicle, Access a vector map including the region of interest, Extract road segment data associated with the road segments of the vector map within the region of interest, Analyze the road segment data and the heading of the vehicle to determine whether the movement of the vehicle satisfies conditions associated with one or more of the following: The driving direction of the lane corresponding to the current position of the vehicle, and The minimum stopping distance to the upcoming traffic control measure in the lane corresponding to the current position of the vehicle, and When the movement does not satisfy the conditions, cause the vehicle to perform a movement correction, Wherein: The lane segment data includes the lane headings of each lane segment in the region of interest, where the lane heading corresponds to the driving direction of the lane corresponding to the current position of the vehicle; The condition is associated with the driving direction of the lane corresponding to the current position of the vehicle; and Determining whether the movement of the vehicle satisfies the condition includes: (a) determining whether any lane segment within the region of interest has a lane heading that is within an opposite-heading tolerance range and opposite to the heading of the vehicle, (b) determining whether any lane segment within the region of interest has a lane heading that is within a similar-heading tolerance range and similar to the heading of the vehicle, and (c) determining that the movement does not satisfy the condition and that the heading of the vehicle is in the wrong route direction when both of the following are satisfied: (i) at (a), it is determined that at least one lane segment in the lane segments has a lane heading opposite to the heading of the vehicle, and (ii) no lane segment in the region of interest is determined at (b) to have a lane heading similar to the heading of the vehicle, otherwise determining that the movement of the vehicle satisfies the condition.

Citation Information

Patent Citations

  • Process for enhancing the safety and / or comfort of a motor vehicle

    CN101073018A

  • Configurable vehicular time to stop warning system

    CN101727753A

  • Wrong-way travel warning device and wrong-way travel warning method

    CN101765757A

  • Method for operating a motor vehicle and motor vehicle

    CN102542829A

  • Apparatus and method for controlling vehicle using vehicle communication

    CN105270399A