Vehicle system for controlling a vehicle while taking into account a preferred vehicle lane

The vehicle control system aligns navigation routes with high-definition map data to identify preferred lanes, enhancing navigation accuracy and reducing computational resources by integrating road segments and lane-level map data for efficient lane changes.

DE102025104318A1Active Publication Date: 2026-06-18GM GLOBAL TECHNOLOGY OPERATIONS LLC
View PDF 4 Cites 0 Cited by

Patent Information

Authority / Receiving Office
DE · DE
Patent Type
Applications
Current Assignee / Owner
GM GLOBAL TECHNOLOGY OPERATIONS LLC
Filing Date
2025-02-06
Publication Date
2026-06-18

AI Technical Summary

Technical Problem

Existing vehicle navigation systems lack sufficient integration with high-definition map data, leading to insufficient information for drivers and vehicle applications to reconcile navigation routes with lane-level map attributes, resulting in inefficient lane changes.

Method used

A vehicle control system that aligns navigation routes with high-definition map data by identifying road segments and lanes based on geometric relationships and connectivity, determining a preferred lane, and controlling vehicle operations accordingly.

Benefits of technology

Efficiently provides a preferred lane path for vehicles, reducing computing resources and improving navigation accuracy by integrating navigation routes with lane-level map data without significant computational overhead.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

A vehicle system comprises a vehicle control module and a control module. The control module is configured to receive a navigation route, a plurality of road segments defined by polygons, identify a set of road segments from the plurality of road segments based on the distance between one or more waypoints of the navigation route and the polygons, determine the lanes of the road segments along the navigation route and the endpoint distances for the lanes for each road segment from the set of road segments along the navigation route, and identify a preferred lane along the navigation route based on the endpoint distances for the lanes. The vehicle control module is configured to generate a control signal to control at least one operation of the vehicle based on the identified preferred lane along the navigation route.Other vehicle systems and procedures are also disclosed.
Need to check novelty before this filing date? Find Prior Art

Description

Introduction

[0001] The information provided in this section serves the purpose of presenting the general context of the disclosure. The work of the inventors mentioned herein, insofar as it is described in this section, as well as aspects of the description that cannot be classified as prior art at the time of filing, are neither expressly nor implicitly recognized as prior art with respect to the present disclosure.

[0002] The present disclosure relates to the identification of a preferred vehicle lane for vehicle control along a navigation route.

[0003] Vehicles and / or drivers often rely on a navigation route generated based on a selected destination in a navigation system. When generated, the navigation route provides a sequence of road-level waypoints aligned with the center of the road to guide the vehicle to the destination. Vehicle applications, such as a route-following application, can then use these waypoints to automatically change lanes along the navigation route. Summary

[0004] A vehicle control system comprises a vehicle control module and a control module that communicates with the vehicle control module. The control module is configured to receive a navigation route, receive a plurality of road segments defined by polygons, identify a set of road segments from the plurality of road segments based on the distance between one or more waypoints of the navigation route and the polygons, determine lanes of the road segments along the navigation route and endpoint distances for the lanes for each road segment from the set of road segments along the navigation route, and identify a preferred lane along the navigation route based on the endpoint distances for the lanes.The vehicle control module is configured to generate a control signal to control at least one operation of the vehicle based on the identified preferred lane along the navigation route.

[0005] In other features, the control module is configured to receive the navigation route based on a defined destination entered into a navigation system.

[0006] In other features, the control module is configured to identify the set of road segments based on only one or more waypoints that are within a distance threshold of the polygons.

[0007] In other features, the control module is configured to remove one or more road segments from the identified set of road segments based on headings for the identified set of road segments.

[0008] In other features, the control module is configured to determine one or more gaps between two road segments that occur due to a lack of waypoint density and to identify correct database road segments to fill the gaps between the two road segments.

[0009] In other features, the control module is configured to identify the preferred lane along the navigation route with the longest endpoint distance.

[0010] In other features, the vehicle system also includes a database configured to store the multitude of road segments, with the control module configured to extract the multitude of road segments from the database.

[0011] In other respects, the database is an in-vehicle database.

[0012] In other features, the vehicle system further includes a display module that is connected to the control module, the display module being configured to show a map that includes the preferred lane along the navigation route.

[0013] A vehicle system comprises a vehicle control module, a database, and a control module that communicates with the vehicle control module and the database. The control module is configured to receive a navigation route based on a defined destination entered into a navigation system, receive a multitude of road segments defined by polygons from the database, identify a set of road segments from the multitude based on the distance between one or more waypoints of the navigation route and the polygons, determine lanes for each road segment along the navigation route and endpoint distances for the lanes, and identify a preferred lane along the navigation route with the longest endpoint distance.The vehicle control module is configured to generate a control signal to control at least one operation of the vehicle based on the identified preferred lane along the navigation route.

[0014] In other respects, the database is an in-vehicle database.

[0015] In other features, the control module is configured to identify the set of road segments based on only one or more waypoints that are within a distance threshold of the polygons.

[0016] A vehicle control procedure comprises receiving a navigation route for a vehicle, receiving a plurality of road segments defined by polygons, identifying a set of road segments from the plurality of road segments based on a distance between one or more waypoints of the navigation route and the polygons, determining, for each road segment from the set of road segments along the navigation route, lanes of the road segments along the navigation route and endpoint distances for the lanes, identifying a preferred lane along the navigation route based on the endpoint distances for the lanes, and controlling at least one operation of the vehicle based on the identified preferred lane along the navigation route.

[0017] In other features, identifying the preferred lane along the navigation route includes identifying the preferred lane along the navigation route with the longest endpoint distance.

[0018] Other features of the vehicle control procedure include displaying a map showing the preferred lane along the navigation route.

[0019] In other features, identifying the set of road segments involves identifying the set of road segments based on only the one or more waypoints that are within a distance threshold of the polygons.

[0020] In other features, receiving the multitude of road segments includes receiving the multitude of road segments from an in-vehicle database.

[0021] In other features, receiving the navigation route includes receiving the navigation route based on a defined destination entered into a navigation system.

[0022] In other features, the vehicle control method further includes the removal of one or more road segments from the identified set of road segments based on directions for the identified set of road segments.

[0023] In other features, the vehicle control procedure further includes determining one or more gaps that occur between two road segments and identifying correct database road segments to fill the gaps between the two road segments.

[0024] Further areas of application will become apparent from the detailed description, the claims, and the drawings. The detailed description and the specific examples are intended for illustrative purposes only and are not meant to limit the scope of this disclosure. Brief description of the drawings

[0025] The present disclosure is more fully understood from the detailed description and the accompanying drawings, whereby: Fig. 1 a block diagram of an exemplary vehicle system for map matching at road segment level and providing a preferred lane path for vehicle drivers and / or vehicle control applications according to the present disclosure; Fig. 2-3 block diagrams of exemplary maps, comprising road segments defined by polygons and a sequence of waypoints to guide a vehicle to a selected destination, according to the present disclosure; and Fig. 4-6 Flowcharts of exemplary control processes for map matching at road segment level and providing a preferred lane path for vehicle control applications and / or vehicle drivers according to the present disclosure are.

[0026] Reference numbers can be reused in the drawings to identify similar and / or identical elements. Detailed description

[0027] Vehicle navigation routes are often generated based on a selected destination in a navigation system. Each navigation route provides a sequence of street-level waypoints to guide the vehicle to the selected destination. Vehicle applications, such as a route-following app, can then use these waypoints to automatically change lanes along the navigation route. While the waypoints can provide valuable information for vehicle navigation, drivers and / or vehicle applications relying on the navigation route often lack sufficient information to reconcile the navigation route with the vehicle's own high-resolution (HD) map data, which includes the lane-level map attributes desired by the driver and / or vehicle applications.This is because HD maps are created differently, based on map data, while navigation maps are created based on waypoints.

[0028] The vehicle systems and control methods according to the present disclosure effectively utilize geometric relationships and road segment connectivity to align a navigation route, including its waypoints, with intelligible high-definition map data of the vehicle. For example, the vehicle systems and control methods herein receive a navigation route with a sequence of waypoints at the road level and road segments defined by polygons, identify a set of road segments based on a distance between at least some of the waypoints and the polygons, determine lanes of the road segments along the navigation route and endpoint distances for the lanes, and then, based on the endpoint distances, identify a preferred lane along the navigation route.Once the preferred lane has been identified, the vehicle systems and control methods can steer the vehicle based on the preferred lane, as further explained herein. By utilizing such geometric relationships and road segment connectivity, the vehicle systems and control methods can efficiently and effectively perform map matching at the road segment level and provide drivers and / or vehicle control applications with a preferred lane path without requiring significant computing resources.

[0029] Now on Fig. Referring to Figure 1, a block diagram of an exemplary vehicle system 100 for map matching at the road segment level and providing a preferred lane path for the driver and / or vehicle applications of a vehicle 102 is shown. As in Fig. As shown in Figure 1, the vehicle system 100 generally comprises a control module 104 (e.g., an in-vehicle control module), a vehicle control module 106, a display module 108, and a map database 110 (e.g., an in-vehicle map database). In various embodiments, the control module 104 may be a software application module or another suitable module. Additionally, in some examples, the vehicle system 100 may optionally include an off-vehicle control module 112 and / or a remote map database 114. In such examples, the remote map database 114 may be used instead of, or in addition to, the map database 110, as further explained below. In various embodiments, the control module 112 and / or the remote database 114 (if used) may form a cloud-based architecture.

[0030] Although Fig. 1. Although the vehicle system 100 is depicted as containing specific dedicated modules, it should be understood that, if desired, one or more other modules can be used. For example, any combination of modules (e.g., the control module 104, the vehicle control module 106, the display module 108, and / or the control module 112) and / or their functionality can be integrated into a single module or several different modules. Additionally, it should be understood that, although in Fig. 1 not shown, the vehicle system 100 may, if desired, also include various sensors (e.g. cameras, radar-based sensors, etc.), a vehicle navigation system (e.g. a navigation system permanently installed in the vehicle, a movable navigation system, etc.), etc.

[0031] The vehicle system 100 from Fig. 1 can be used in any suitable vehicle, such as an autonomous vehicle, a semi-autonomous vehicle, etc. Furthermore, the vehicle system 100 can be used for electric vehicles (e.g., a pure electric vehicle, a plug-in hybrid electric vehicle, etc.) and vehicles with internal combustion engines (ICE). In the example of Fig. 1. The vehicle system 100 is used in vehicle 102 (e.g., an autonomous vehicle).

[0032] In the example of Fig. In this example, the vehicle control module 106, the display module 108, and the map database 110 are connected to the control module 104. In such examples, the control module 104 can receive and / or send signals, data, etc., between the vehicle control module 106, the display module 108, and the map database 110. The internal vehicle modules can receive and / or send signals to each other via a network such as a Controller Area Network (CAN), Ethernet, etc. Additionally, in the vehicle 102, the control module 104 can communicate with the external control module 112 and / or the remote map database 114 via another network (e.g., a mobile network, etc.).

[0033] With continued reference to Fig. Initially, the control module 104 receives a navigation route for the vehicle 102. In such examples, the navigation route can be based on a defined destination entered into a navigation system by, for example, a driver or another user connected to the vehicle 102. For instance, a driver can select a destination using a mobile navigation system (e.g., an application on a phone or other mobile device) or a fixed navigation system within the vehicle 102 (e.g., an in-vehicle navigation system). Once the destination is selected, the navigation system generates the navigation route with waypoints. In such examples, the waypoints provide a sequence of points at the road level (e.g., coordinates) aligned with the center of a road to guide the vehicle 102 to the destination.

[0034] In various embodiments, the control module 104 can periodically receive the navigation route along with a series or batch of waypoints. For example, the control module 104 can receive an updated navigation route with a new batch of waypoints every five seconds, ten seconds, etc. In other examples, the control module 104 can receive the navigation route with a batch of waypoints based on a defined distance traveled on the route. For example, the control module 104 can receive an updated navigation route with a new batch of waypoints in response to the vehicle 102 traveling a defined distance (e.g., 0.5 km, 1 km, etc.) on the route.

[0035] Furthermore, the control module extracts 104 road segments or receives them by other means. In such examples, each road segment is defined by a polygon to create a boundary for the road segment. For example, the polygon could be a triangle, a square, a rectangle, a trapezoid, a rhombus, a pentagon, a hexagon, and / or any other suitable shape with straight lines and closed sides. As an example, Fig. 2 an exemplary map (e.g. an HD map) 200, which contains road segments 202, 204, 206, 208, 210, 212, 214, 216, 218, each defined by a polygon, and a sequence of waypoints 250, 252, 254, 256, 258, 260, 262, 264 to guide the vehicle 102 to a selected destination.

[0036] In the example of Fig. 1. The control module 104 can extract or otherwise receive polygon-defined road segments (e.g., polygonal road segments) from a map database. For example, the map database 110 can store the polygonal road segments (or the data representing the road segments). If desired, the control module 104 can request and receive the polygonal road segments from the map database 110 or extract them by other means. In other examples, the remote map database 114 can store the polygonal road segments (or the data representing the road segments). In such examples, the control module 104 can extract the road segments directly from the remote map database 114 or via the control module 112.

[0037] The control module 104 then identifies Fig. 1. Based on one or more parameters assigned to the waypoints and the polygonal road segments, a set of road segments is generated from the received road segments. For example, the control module 104 in Fig. 1. Determine the distances between one or more received waypoints and the polygonal road segments. The control module 104 can then identify the set of road segments based on these distances. For example, the control module 104 can identify the set of road segments with the shortest or smallest distance to one or more waypoints.

[0038] For example, and with continued reference to Fig. 2, the control module 104 of Fig. 1. Determine a distance between waypoint 254 and the nearest edge of road segment 204, waypoint 256 and the nearest edge of road segment 204, waypoint 260 and the nearest edge of road segment 206, etc., for each waypoint. In such examples, if the waypoint is within a road segment, the distance between the waypoint and that road segment is considered zero.

[0039] In various embodiments, the control module 104 can rely on waypoints near a selected polygonal road segment. For example, the control module 104 can rely only on waypoints located within a distance threshold of polygons to identify the set of road segments. By way of example only, the distance threshold could be 1.5 m, 2 m, 2.5 m, 3 m, etc.

[0040] In some examples, the control module 104 can optionally filter out one or more of the identified road segments. For example, the control module 104 can identify one or more road segments that are outliers with respect to the other identified road segments. In such examples, these road segments may have a directional heading that differs from the sequence of waypoints. In this case, the control module 104 can remove the road segment(s) based on the headings or directions for the identified set of road segments. As an example, the control module 104 can implement the following equation (1) to determine whether to remove any one of the identified road segments. As shown in equation (1), the direction for a selected road segment (RS) is compared to the direction of a selected waypoint.If the absolute value of this difference is greater than or equal to a defined threshold rate, this road segment can be excluded from the analysis. Alternatively, if the absolute value of this difference is less than the defined threshold rate, this road segment can be used for subsequent calculations. |HeadingRS−HeadingWP|≥ThresholdHeading

[0041] In various embodiments, one or more gaps may exist between identified road segments. In such cases, a portion of a road on the navigation route may not be covered by an identified road segment. The gap(s) may occur, for example, due to a lack of density in the navigation waypoints. If, for instance, the control module 104 determines, based on the received navigation route and identified road segments, that one or more gaps exist between two road segments, the control module 104 can fill the gap (if present) with one or more missing road segments to ensure that the road on the navigation route is covered by road segments. In various embodiments, the control module 104 can identify missing road segments to fill the gap(s) from the map database 110.

[0042] The control module then determines 104 lanes for each road segment along the navigation route and an endpoint distance for each lane. In such examples, the endpoint distance can refer to the distance of a lane between a starting point and the end of that lane, which may extend over one or more road segments. In various embodiments, the starting point can refer to the position of the vehicle 102, the leading edge of a road segment, the starting point of a lane, etc. As explained in more detail below, the vehicle 102 can then be controlled based on the determined lane distances (e.g., the lane with the greatest distance or the highest value).

[0043] For example, the map includes 200, with continued reference to Fig. 2, a roadway with multiple lanes 280, 282, 284, 286, 288, 290, which extend over some of the road segments 202, 204, 206, 208, 212, 214, 216, 218. In this example, the control module 104 can determine the endpoint distance of lane 284 along the navigation route (as specified by the waypoints) from vehicle 102 to the end of this lane 284, which is located at the end of road segment 208. In such examples, lane 284 extends over multiple road segments. Additionally, the control module 104 can determine the endpoint distances of the other lanes 280, 282, 286, 288 along the navigation route to the end of each respective lane 280, 282, 286, 288. In such examples, the distances of lanes 280, 282 are generally equal and extend from vehicle 102 to the far edge of road segment 204.The distance of lane 286 extends from the beginning of lane 286 within road segment 204 to the far edge of road segment 208. Furthermore, the distance of lane 288 extends from the beginning of lane 288 at the front edge of road segment 208 to the far edge of road segment 208 (e.g., across road segment 208).

[0044] With continued reference to Fig. 1. The control module 104 can apply a weight to one or more of the specified lane distances. For example, a relative value can be assigned to each distance. The control module 104 can then add a weight to one or more of the specified distances (or relative values) based on lane events such as vehicle speeds, route directions, upcoming vehicle maneuvers, etc. In such examples, the lane events and / or corresponding weight values ​​can be stored in and received from the map database 110 and / or the remote map database 114. For example, if the navigation route indicates that the vehicle 102 should take a nearby exit (e.g., upcoming vehicle maneuver, etc.), the control module 104 can apply a weight to an exit lane to increase the lane's value.In other words, the control module 104 can apply weight to increase the lane distance to a maximum value, or at least to a greater distance than other lanes. The vehicle 102 can then be controlled based on the weighted lane distances (e.g., the lane with the greatest distance or value), as further explained below.

[0045] For example, Fig. 3 An exemplary map (e.g., an HD map) 300 represents the polygonal road segments 302, 304 and a sequence of waypoints 350, 352, 354, 356, 358 to guide the vehicle 102 to a selected destination. In this example, map 300 is represented with a roadway that includes lanes 384, 386, 388 spanning both road segments 302, 304, and a lane (e.g., an exit lane) 390 spanning road segment 304. An asterisk on map 300 indicates a split or branching event at the end, representing the branching off of exit lane 390 from the other lanes 384, 386, 388. In the example of Fig. 3. The control module 104 can determine the distance of each lane 384, 386, 388, 390 as explained herein. As an example in Fig. In this example, lanes 384, 386, and 388 each extend over a distance of 500 meters, while lane 390 extends over a distance of less than 500 meters. However, in this example, the selected destination specifies that the navigation route uses exit 382, ​​which originates from lane 390. Therefore, the control module 104 can apply a weight to increase the distance (or a representative value) of lane 390 to a maximum value or a value greater than 500 meters.

[0046] Once the lanes are identified, the endpoint distances for the lanes are determined, and optional weights are applied, the control module 104 identifies or selects Fig. 1. Selects a preferred lane along the navigation route based on the endpoint distances for the lanes. For example, the control module 104 can select the lane corresponding to the longest endpoint distance, whether weighted or not, as the preferred lane. Fig. 3. For example, the control module 104 can select lane 390 as the preferred lane because the weighted endpoint distance (e.g. > 500 m) for this lane is the largest among the endpoint distances (e.g. 500 m) for the other lanes 384, 386, 388.

[0047] The vehicle system 100 from Fig. 1 can then rely on the preferred lane for vehicle control. Once the control module 104 has determined the preferred lane, it can, for example, generate a signal indicating the preferred lane and send it to the vehicle control module 106. Once received, the vehicle control module 106 can then generate a control signal to control at least one operation of the vehicle 102 based on the preferred lane along the navigation route. In various embodiments, the vehicle control module 106 can control any suitable operation of the vehicle 102, such as adaptive cruise control, lane-change control, vehicle speed control, etc.

[0048] In various embodiments, the vehicle system 100 can display a map showing the preferred lane for the driver of the vehicle 102 and / or other users in the vehicle 102. Once the preferred lane has been identified, the control module 104 can, for example, generate a signal indicating the preferred lane and send it to the display module 108. The display module 108 then renders and displays a map that includes, for example, a roadway along the navigation route and the preferred lane. In some examples, the displayed map can also include the identified road segments along the navigation route.

[0049] For example, the display module 108 can, in various embodiments, display the card 200 from Fig. 2, the map 300 of Fig. Show 3 etc. Regarding the example of Fig. 2. Display module 108 can display map 200 with road segments 202, 204, 206, 208, 210, 212, 214, 216, 218 and lanes 280, 282, 284, 286, 288, 290. In this example, road segments 202, 204, 206, 208 are preferred for the navigation route, and lane 284 is the preferred lane. Here, lane 284 is represented by a solid arrow 240 running across lane 284, and lanes 280, 282, 286, 288 are represented by arrows 242, 244, 246, 248 with a dashed-dot configuration. In such examples, the preferred road segments 202, 204, 206, 208 and the preferred lane 284 can be highlighted, if desired.

[0050] Fig. Figures 4-6 illustrate exemplary control methods 400, 500, 600, which are used by the vehicle system 100. Fig. 1 for map matching at the road segment level and providing a preferred lane path for driver and / or vehicle applications of a vehicle such as vehicle 102 of Fig. 1 can be used. Although the exemplary control methods 400, 500, 600 with regard to the vehicle system 100 of Fig. As described in section 1, which includes the control module 104, the vehicle control module 106, etc., any of the control methods 400, 500, 600 can be used by another suitable system and / or module.

[0051] As in Fig. As shown in Figure 4, control procedure 400 begins at module 402 by receiving a navigation route for a vehicle. For example, and as explained above, the navigation route can be generated based on a destination selected by a user and provided to a navigation system. When the destination is selected, the navigation system generates the navigation route, including waypoints. The navigation route with the waypoints is then received by control module 104. Control procedure 400 then proceeds to module 404.

[0052] In case 404, the control module 104 identifies road segments based on the waypoints. For example, in Fig. Four road segments (or polygonal road segments) defined by polygons for a roadway are stored in a database 410. In various embodiments, the database 410 can be linked to the map database 110 and / or the map database 114. Fig. 1. In some examples, the polygonal road segments can be linked to one or more map data caches 408 in Fig. 4 are forwarded and temporarily stored there. In such examples, the polygonal road segments for the control module 104 can be retrieved at a higher speed, or faster, than directly from the database 110.

[0053] The control module 104 then receives the polygonal road segments and identifies a set of road segments based on the waypoints. For example, the control module 104 can identify the set of road segments based on the distance between one or more of the waypoints and the polygonal road segments, as explained above. For example, and as explained above, the control module 104 can identify the set of road segments that are the shortest or smallest distance from one or more waypoints. In some examples, as explained above, only waypoints within a defined distance of the road segment polygons can be used. The control procedure 400 then proceeds to 412.

[0054] At 412, the control module 104 filters out or otherwise removes one or more road segments from the identified set of road segments. In this example, the road segments can be removed based on directions of the identified set of road segments, directions of waypoints, and a threshold. In various embodiments, the control module 104 can receive the threshold, such as a road segment direction range 414, which can be temporarily stored in one or more of the map data caches 408 and / or in the database 410. As an example, the control module 104 can implement the equation (1) above to determine which (if any) of the identified road segments should be removed from the set. The control procedure 400 then proceeds to 414.

[0055] At step 414, the control module 104 determines whether there are gaps between road segments in the set of road segments. If no, the control procedure 400 continues to step 422. If yes, the control procedure 400 continues to step 416, where the control module 104 extracts one or more road segments to fill the gap(s) between road segments. In various embodiments, the control module 104 can receive road segment connectivity data 418 from one or more of the map data caches 408 and / or the database 410. This data can be used by the control module 104 to fill the gap(s) with missing road segments. The control procedure 400 then continues to step 422.

[0056] At 422, the control module 104 determines road segments of the set of road segments along the navigation route. Then, at 424, the control module 104 determines lane segments along the navigation route. In both determinations, the control module 104 can rely on road-to-lane segment relationships 420 received from one or more of the map data caches 408 and / or the database 410. For example, the map data caches 408 and / or the database 410 can store data for the specific roadway traveled by the vehicle, including the number of lanes on different sections of the roadway (e.g., in different road segments of the roadway). Using this data, the control module 104 can determine the road segments and lane segments along the navigation route. The control procedure 400 then proceeds to 426.

[0057] At 426, the control module 104 determines endpoint distances for the lane segments. For example, the endpoint distance for each lane segment can refer to the distance of a lane (or lane segment) between a starting point and the end of that lane (or lane segment), as explained above. In such examples, the starting point can refer to the position of the vehicle, the leading edge of a road segment, the starting point of a lane, etc. The control procedure 400 then proceeds to 428.

[0058] At 428, the control module 104 applies weights (if applicable) to the lane segments. For example, the control module 104 can receive one or more precise lane events 430 for the lane being traveled by the vehicle, such as vehicle speeds, route directions, upcoming vehicle maneuvers, etc., and corresponding weight values. Subsequently, the control module 104 can add a weight to one or more endpoint distances (or their representative values) based on the lane events along the lane. The control procedure 400 then proceeds to 432.

[0059] At 432, the control module 104 provides lane-level data to the vehicle control module 106. For example, at 432, the control module 104 can identify a preferred lane segment along the navigation route based on the specified endpoint distances. The control module 104 can identify the lane segment with the longest endpoint distance (e.g., the largest value) as the preferred lane segment and then provide the preferred lane segment (e.g., lane-level data) to the vehicle control module 106. The control procedure 400 continues to 434, where the vehicle control module 106 controls the vehicle based on the lane-level data (e.g., based on the preferred lane segment), as explained above. The control procedure 400 then ends as described in Fig. 4 shown.

[0060] In Fig. 5. The control procedure 500 begins at 502 with the control module 104 creating a navigation route with waypoints P1, P2, ... P N It receives. Then, the control procedure 500 enters a loop starting from the first waypoint.

[0061] In particular, the control procedure 500 continues to 504, 506. At 504, the control module 104 selects a waypoint P. i from the set of received waypoints P1, P2, ... P N The control module 104 then determines a set of (polygon-defined) road segments within a defined distance (e.g., a threshold) from waypoint P at 506. iControl procedure 500 then proceeds to 508, where control module 104 filters road segments as explained above. For example, control module 104 can implement equation (1) above to remove a road segment from the specified set of road segments. Control procedure 500 then proceeds to 510, where control module 104 selects candidate road segments R from the set of road segments. head determined. In such examples, the candidate street segments R can be head Refer to road segments along the navigation route. The control procedure then continues from 500 to 512.

[0062] At 512, the control module 104 determines whether each candidate street segment R headThe control procedure 500 continues to 514, where the control module 104 selects the candidate road segment(s) R. This is determined by whether waypoints on the navigation route have been visited more than or equal to a defined threshold (e.g., 3 times, 4 times, etc.). If so, the control procedure 500 proceeds to 514, where the control module 104 selects the specific candidate road segment(s) R. head , which meets the defined threshold of 512, to a set of preferred road segments prefer added. The control procedure 500 then continues to 516, where the control module 104 selects the candidate street segment(s) R. head same as a previous candidate street segment R prehead The control procedure 500 then continues to 518.

[0063] At 518, the control module 104 determines whether any additional waypoints of the set of received waypoints P1, P2, ... P N are available. If not, control procedure 500 exits the loop and ends as in Fig. 5 is shown. If so, control procedure 500 continues to 520, where control module 104 increments a value for i. Control procedure 500 then returns to 504, where control module 104 sets the next waypoint P. i (based on the incremented value for i) from the set of received waypoints P1, P2, ... P N selects.

[0064] If the answer to step 512 is no, the control procedure 500 continues to step 522. In step 522, the control module 104 determines whether the candidate street segment(s) R head a successor to a previous candidate street segment R prehead is (are). If yes, control procedure 500 continues to the 514t explained above. If no applies to 522, control procedure 524 continues.

[0065] At 524, the control module 104 determines whether a path from a previous candidate road segment R prehead to the candidate street segment(s) Rhead exists. If so, the control module 104 adds the path (e.g., the road segment connectivity) between the previous candidate road segment R. prehead and the current candidate street segment(s) R head to the set of preferred road segments prefer The control procedure 500 then proceeds to the 516t explained above. If the answer to 524 is no, the control procedure 500 proceeds to the 518 explained above.

[0066] In Fig. 6 begins the control procedure 600 at 602 by selecting a set of preferred road segments. prefer is received. In various embodiments, the set of preferred road segments can be set prefer according to the control procedure 500 of Fig. 5 are accumulated. The control procedure 600 then proceeds to 604, where the control module 104 receives each lane consisting of road segments R1, R2, ... R Nexists. Afterwards, the control procedure 600 enters a loop.

[0067] Specifically, the control procedure 600 continues to 606, 608. At 606, the control module 104 selects a road segment R. i from the set of road segments R1, R2, ... R N off. Subsequently, the control module 104 at 608 determines whether the selected road segment R i in the set of preferred road segments prefer If so, control procedure 600 continues to 610. At 610, control module 104 determines whether the value of i equals N (with respect to the road segments). If yes at 610, control procedure 600 continues to 612. At 612, control module 104 determines whether the road segment R N ends or has ended. If 612 is no, the control procedure 600 continues to 614, where the control module 104 sets a preferred lane distance (Pref). dist(or an endpoint distance) is determined by setting it equal to an infinite (or maximum) value. The control method 600 can then exit the loop and terminate, as shown in Fig. 6 is shown.

[0068] However, if the control module 104 determines at 612 that the road segment R N If the process ends or is completed (e.g., yes at 612), the control procedure 600 continues to 616. At 616, the control module 104 determines a preferred lane distance (Pref). dist (or an endpoint distance) by summing the lengths of the lane segments of the road. The control method 600 can then exit the loop and terminate, as in Fig. 6 is shown.

[0069] Returning to 610, if the control module 104 determines that the value of i is not equal to N (e.g., no at 610), the control procedure 600 continues to 618. At 618, the control module 104 determines whether the next road segment Ri+1 in the set of preferred road segments prefer If no, control method 600 continues with step 616 as explained above. If yes at 618, control method 600 continues to 620. At 620, control module 104 increments a value for i. After that, control method 600 returns to 606, where control module 104 selects another road segment R. i (based on the incremented value for i) from the set of road segments R1, R2, ... R N selects.

[0070] Returning to 608, if the control module 104 determines that the selected road segment R i not in the set of preferred road segments preferIf the answer is no (e.g., no at 608), control procedure 600 continues to 622. At 622, control module 104 determines whether the value of i equals N (with respect to the road segments). If yes at 622, control procedure 600 continues to 624. At 624, control module 104 sets a flag for a preferred lane, Pref. flag on False, indicating that the lane does not follow the navigation route. The control procedure 600 can then exit the loop and terminate, as in Fig. 6 is shown.

[0071] However, if the control module 104 determines at step 622 that the value of i is not equal to N (with respect to the road segments) (e.g., no in step 622), the control procedure 600 continues to step 626. At step 626, the control module 104 determines whether the next road segment R i+1 in the set of preferred road segments preferIf no, control procedure 600 continues to the 620 described above. If yes is the case for 626, control procedure 600 continues to 628. At 628, control module 104 sets the flag for a preferred lane (Pref). flag Set to True, which indicates that this lane follows the navigation route. Control procedure 600 then proceeds to step 620 as described above.

[0072] The preceding description is merely illustrative and intended to limit the scope of the revelation, its application, or uses. The comprehensive doctrine of revelation can be implemented in a multitude of forms. Therefore, although this revelation contains particular examples, the true scope of the revelation should not be so limited, since other modifications will become apparent upon study of the drawings, the description, and the following claims. It should be understood that one or more steps within a process may be carried out in a different order (or simultaneously) without altering the principles of the present revelation.Furthermore, although each of the embodiments described above is characterized by certain features, one or more of these features described in relation to any embodiment of the disclosure may be implemented in one of the other embodiments and / or combined with features of one of the other embodiments, even if this combination is not expressly described. In other words, the described embodiments are not mutually exclusive, and permutations of one or more embodiments with each other remain within the scope of this disclosure.

[0073] Spatial and functional relationships between elements (for example, between modules, circuit elements, semiconductor layers, etc.) are described using various terms, including "connected," "interlocked," "coupled," "adjacent," "near or beside," "on," "above," "below," and "arranged." Unless explicitly described as "direct," when a relationship between first and second elements is described in the above disclosure, this relationship may be a direct relationship, in which no other intervening elements exist between the first and second elements, or it may be an indirect relationship, in which one or more intervening elements (either spatial or functional) exist between the first and second elements.As used here, the phrase “at least one of A, B and C” should be understood as meaning a logical (A OR B OR C) using a non-exclusive logical OR, and should not be understood as meaning “at least one of A, at least one of B and at least one of C”.

[0074] In the diagrams, the direction of an arrow, as indicated by its tip, generally illustrates the flow of information (e.g., data or instructions) that is relevant to the illustration. For example, if Element A and Element B exchange a variety of information, but information transferred from Element A to Element B is important for the illustration, the arrow may point from Element A to Element B. This unidirectional arrow does not imply that no other information is transferred from Element B to Element A. Furthermore, Element B may send requests for, or acknowledgments of, information to Element A in connection with the information transferred from Element A to Element B.

[0075] In this application, including the definitions below, the term "module" or the term "controller" may be replaced by the term "circuit". The term "module" may refer to, be part of, or include an application-specific integrated circuit (ASIC); a digital, analog, or mixed analog / digital discrete circuit; a digital, analog, or mixed analog / digital integrated circuit; a combinational logic circuit; a field-programmable gate array (FPGA); a processor circuit (shared, dedicated, or group) that executes code; a memory circuit (shared, dedicated, or group) that stores code executed by the processor circuit; other suitable hardware components that provide the described functionality; or a combination of some or all of the above components, such as in a system-on-a-chip.

[0076] The module may contain one or more interface circuits. In some examples, the interface circuits may include wired or wireless interfaces connected to a local area network (LAN), the internet, a wide area network (WAN), or combinations thereof. The functionality of any given module of this disclosure may be distributed among multiple modules connected via interface circuits. For example, multiple modules may enable load balancing. In another example, a server module (also known as a remote or cloud module) may perform some functions for a client module.

[0077] The term "code," as used above, can include software, firmware, and / or microcode, and can refer to programs, routines, functions, classes, data structures, and / or objects. The term "shared processor circuit" refers to a single processor circuit that executes some or all of the code from multiple modules. The term "group processor circuit" refers to a processor circuit that, in combination with additional processor circuits, executes some or all of the code from one or more modules. References to multiple processor circuits include multiple processor circuits on separate chips, multiple processor circuits on a single chip, multiple cores of a single processor circuit, multiple threads of a single processor circuit, or a combination of the above.The term shared memory circuit refers to a single memory circuit that stores some or all of the code from multiple modules. The term group memory circuit refers to a memory circuit that, in combination with additional memory, stores some or all of the code from one or more modules.

[0078] The term storage circuit is a subset of the term computer-readable medium. The term computer-readable medium, as used here, does not include transitory electrical or electromagnetic signals that propagate through a medium (such as on a carrier wave); the term computer-readable medium can therefore be considered material and non-transient.Non-restrictive examples of a non-transient, physical, computer-readable medium include non-volatile memory circuits (such as a flash memory circuit, a erasable programmable read-only memory circuit, or a mask read-only memory circuit), volatile memory circuits (such as a static random access memory circuit or a dynamic random access memory circuit), magnetic storage media (such as an analog or digital magnetic tape or a hard disk drive), and optical storage media (such as a CD, a DVD, or a Blu-ray Disc).

[0079] The devices and methods described in this application can be partially or fully implemented by means of a special-purpose computer created by configuring a general-purpose computer to perform one or more specific functions embodied in computer programs. The functional blocks, flowchart components, and other elements described above serve as software specifications that can be translated into computer programs through the routine work of a person skilled in the art or a programmer.

[0080] Computer programs contain instructions executable by processors, stored on at least one non-transient, physical, computer-readable medium. Computer programs may also contain or rely on stored data. Computer programs may include a basic input / output system (BIOS) that interacts with the computer's special-purpose hardware, device drivers that interact with specific devices of the computer for special purposes, one or more operating systems, user applications, background services, background applications, etc.

[0081] The computer programs can contain: (i) descriptive text to be parsed, such as HTML (Hypertext Markup Language), XML (Extensible Markup Language), or JSON (JavaScript Object Notation); (ii) assembly code; (iii) object code generated from source code by a compiler; (iv) source code for execution by an interpreter; (v) source code for compilation and execution by a just-in-time compiler; etc. For example, source code can be written using syntax from languages ​​such as C, C++, C#, Objective-C, Swift, Haskell, Go, SQL, R, Lisp, Java®, Fortran, Perl, Pascal, Curl, OCaml, JavaScript®, HTML5 (Hypertext Markup Language 5th Revision), Ada, ASP (Active Server Pages), PHP (PHP: Hypertext Preprocessor), Scala, Eiffel, Smalltalk, Erlang, Ruby, Flash®, and Visual Basic®. Include Lua, MATLAB, SIMULINK and Python®.

Claims

[1] Vehicle system for controlling a vehicle, wherein the vehicle system comprises: a vehicle control module; a control module that communicates with the vehicle control module, wherein the control module is configured to: receives a navigation route; receives a large number of road segments defined by polygons; a set of road segments identified from the multitude of road segments based on a distance between one or more waypoints of the navigation route and the polygons; For each road segment from the set of road segments along the navigation route, lanes of the road segments along the navigation route and endpoint distances for the lanes are determined; and a preferred lane along the navigation route was identified based on the endpoint distances for the lanes; and wherein the vehicle control module is configured to generate a control signal to control at least one operation of the vehicle based on the identified preferred lane along the navigation route. [2] Vehicle system according to claim 1, wherein the control module is configured to receive the navigation route based on a defined destination entered into a navigation system. [3] Vehicle system according to claim 1, wherein the control module is configured to identify the set of road segments based on only one or more waypoints that are within a distance threshold from the polygons. [4] Vehicle system according to claim 3, wherein the control module is configured to remove one or more road segments of the identified set of road segments based on directions for the identified set of road segments. [5] Vehicle system according to claim 4, wherein the control module is configured to determine one or more gaps between two road segments that occur due to a lack of waypoint density and to identify correct database road segments to fill the gaps between the two road segments. [6] Vehicle system according to claim 3, wherein the control module is configured to identify the preferred lane along the navigation route with the longest endpoint distance. [7] Vehicle system according to claim 6, further comprising a database configured to store the plurality of road segments, wherein the control module is configured to extract the plurality of road segments from the database. [8] Vehicle system according to claim 7, wherein the database is an in-vehicle database. [9] Vehicle system according to claim 3, further comprising a display module that communicates with the control module, wherein the display module is configured to display a map that includes the preferred lane along the navigation route. [10] Vehicle system, comprising: a vehicle control module of a vehicle; a database; and a control module that communicates with the vehicle control module and the database, wherein the control module is configured to: receives a navigation route based on a defined destination entered into a navigation system; receives a large number of street segments defined by polygons from the database; a set of road segments identified from the multitude of road segments based on a distance between one or more waypoints of the navigation route and the polygons; For each road segment from the set of road segments along the navigation route, lanes of the road segments along the navigation route and endpoint distances for the lanes are determined; and a preferred lane along the navigation route with the longest endpoint distance was identified; and wherein the vehicle control module is configured to generate a control signal to control at least one operation of the vehicle based on the identified preferred lane along the navigation route.

Citation Information

Patent Citations

  • Creation of motion graphs and route planning at lane level

    DE112019006119T5

  • Vehicle control device, vehicle control method, and recording medium

    US20190077459A1

  • Method for processing navigation data, path guidance method, apparatus and storage medium

    US20210383136A1

  • Lane-Level Route Planner for Autonomous Vehicles

    US20220276653A1