A method for operating an automated driving system (ADS) of a vehicle and an apparatus thereof
The ADS system balances safety and comfort by using a navigation lane selector, speed-optimal lane selector, and arbitrator to generate optimal lane change plans, addressing the challenge of suboptimal lane change decisions in existing systems.
Patent Information
- Application Number
- PCT/CN2024/102459
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-06-28
- Publication Date
- 2026-01-02
AI Technical Summary
Existing automated driving systems (ADS) struggle to balance safety and comfort aspects when determining lane changes, often prioritizing one over the other, leading to suboptimal performance.
A method and apparatus for ADS that utilize a navigation lane selector, speed-optimal lane selector, and arbitrator to generate a final arbitrated lane change plan, considering both navigation route and speed optimization, using on-board sensors and high-definition maps to determine optimal lane changes.
Enhances the ability of ADS to make informed lane change decisions that optimize both safety and comfort by customizing lane changes based on real-time conditions and navigation requirements.
Smart Images

Figure CN2024102459_02012026_PF_FP_ABST
Abstract
Description
A METHOD FOR OPERATING AN AUTOMATED DRIVING SYSTEM (ADS) OF A VEHICLE AND AN APPARATUS THEREOFTECHNICAL FIELD
[0001] The disclosed technology relates to methods and systems for operating an automated driving systems (ADS) of a vehicle. In particular, but not exclusively, the disclosed technology relates to lane selection assist (LSA) functionality and how to balance different aspects related to a lane change request in the ADS to provide both safety and comfort.BACKGROUND
[0002] Automated Driving Systems (ADS) are rapidly improving in passenger vehicles. These systems increase safety and comfort by supporting the driver in dynamic driving tasks. These systems can be divided in two sub-categories; Autonomous Driving (AD) systems, configured to control the vehicle without human supervision, and Advanced Driver Assistance Systems (ADAS) , arranged to assist a driver but not necessarily offer full autonomy. A variety of ADAS / AD systems are today available. ADS functions, that may be provided in both ADAS and AD systems, can be categorized as following:
[0003] - Safety functions, such as lane departure prevention, automatic emergency braking, emergency evasive steering, collision warning, and blind-spot detection, and
[0004] - Comfort functions, such as lane center following (cruise steering assistance) , adaptive cruise control, speed control based on speed limit and curvature, and lane changing assistance.
[0005] Regarding the lane changing assistance functionality, that is, how the ADS can assist the driver, or directly instruct a motion control device of the vehicle, with respect to lane changes, it has been found that this function is particularly challenging. One reason for this is that there are a number of different factors to take into account. By way of example, on one hand, a lane change may reduce a time needed for reaching a target destination, but on the other hand, if lane changes are made repeatedly, the lane change may result in that the comfort of the driver and passengers is negatively affected.
[0006] Thus, even though there are ADS with lane changing assistance functionality available today, many of these systems fail to balance the different aspects to be taken into account when performing the lane change. For instance, some systems may prioritize speed resulting in that safety and comfort aspects are negatively affected.SUMMARY
[0007] The herein disclosed technology seeks to mitigate, alleviate or eliminate one or more of the above-identified deficiencies and disadvantages in the prior art to address various problems relating to balancing the different aspects involved in determining when an ADS is to perform lane changes.
[0008] Various aspects and embodiments of the disclosed technology are defined below and in the accompanying independent and dependent claims.
[0009] A first aspect of the disclosed technology comprises a method for operating the ADS of a vehicle, wherein the ADS comprises a navigation lane selector configured to generate a navigation lane change request associated to a navigation route, wherein the navigation route comprises several lane segment combinations from a starting position to an end position, wherein different lane segment combinations are at least in part parallel, a speed-optimal lane selector configured, for an ego position assignment of the vehicle, to generate a speed-optimal lane change request, and an arbitrator configured to handle the navigation lane change request from the navigation lane selector and the speed-optimal lane change request from the speed-optimal lane selector, said method comprising obtaining map data, obtaining the navigation route, determining an ego lane assignment by using on-board vehicle sensors and / or the map data, determining the navigation lane change request based on the navigation route and the ego lane assignment by using the navigation lane selector, identifying road objects ahead of the vehicle by using the on-board vehicle sensors, determining the speed-optimal lane change request based on the road objects and the ego lane assignment by using the speed-optimal lane selector, determining a final arbitrated lane change plan based on the navigation lane change request and the speed-optimal lane change request by using the arbitrator, generating lane change maneuver instruction data based on the final arbitrated lane change plan, and transmitting the lane change maneuver instruction data to a maneuvering system, sometimes also referred to as actuation system, of the vehicle for executing a lane change maneuver in accordance with the final arbitrated lane change plan.
[0010] A second aspect of the disclosed technology comprises an apparatus for operating the ADS of the vehicle, wherein the ADS comprises a navigation lane selector configured to generate a navigation lane change request associated to a navigation route, wherein the navigation route comprises several lane segment combinations from a starting position to an end position, wherein different lane segment combinations are at least in part parallel, a speed-optimal lane selector configured, for an ego position assignment of the vehicle, to generate a speed-optimal lane change request, and an arbitrator configured to handle lane change requests from the navigation lane selector and the speed-optimal lane selector, the apparatus comprising a control circuitry configured to obtain map data from an external server, obtain the navigation route, determine the lane segments associated to the navigation route, determine an ego lane assignment by using on-board vehicle sensors and the map data, determine a navigation lane change request based on the navigation route and the ego lane assignment by using the navigation lane selector, identify road objects ahead of the vehicle by using the on-board vehicle sensors, determine a speed-optimal lane change request based on the road objects and the ego lane assignment by using the speed-optimal lane selector, determine a final arbitrated lane change plan based on the navigation lane change request and the speed-optimal lane change request by using the arbitrator, generate lane change maneuver instruction data based on the final arbitrated lane change plan, and transmit the lane change maneuver instruction data to a maneuvering system of the vehicle for executing a lane change maneuver in accordance with the final lane change plan.
[0011] With this aspect of the disclosed technology, similar advantages and preferred features are present as in the other aspects.
[0012] The disclosed aspects and preferred embodiments may be suitably combined with each other in any manner apparent to anyone of ordinary skill in the art, such that one or more features or embodiments disclosed in relation to one aspect may also be considered to be disclosed in relation to another aspect or embodiment of another aspect.
[0013] An advantage of some embodiments is that the lane changes can be determined in parallel by the Navigation Lane Selector and the Speed-optimal Lane Selector and that output from these can be combined by the Arbitrator such that the final arbitrated lane change request is achieved. By having these two separated, it is made possible to customize the Speed-optimal Lane Selector from a comfort aspect, e.g. by customizing costs for lane changes, without affecting the Navigation Lane Selector.
[0014] Further embodiments are defined in the dependent claims. It should be emphasized that the term “comprises / comprising” when used in this specification is taken to specify the presence of stated features, integers, steps, or components. It does not preclude the presence or addition of one or more other features, integers, steps, components, or groups thereof.
[0015] These and other features and advantages of the disclosed technology will in the following be further clarified with reference to the embodiments described hereinafter.BRIEF DESCRIPTION OF THE DRAWINGS
[0016] The above aspects, features and advantages of the disclosed technology, will be more fully appreciated by reference to the following illustrative and non-limiting detailed description of example embodiments of the present disclosure, when taken in conjunction with the accompanying drawings, in which:
[0017] Fig. 1 schematically illustrates an architect overview.
[0018] Fig. 2A-D illustrates examples related to Route Map Matching and Navigation Lane Selector.
[0019] Fig. 3 illustrates the concept of window searching that can be used as part of a process for determining lane changes related to the navigation route.
[0020] Fig. 4 illustrates the Speed-optimal Lane Selector in further detail.
[0021] Fig. 5 illustrates the concept of look-ahead time points and how these can be used during a lane change.
[0022] Fig. 6 illustrates a first example related to a behaviour of the Speed-optimal Lane Selector, wherein this first example is related to a slow car in front of an ego vehicle.
[0023] Fig. 7 illustrates a second example related to a static object in front.
[0024] Fig. 8 illustrates a third example related to that a current ego lane will end.
[0025] Fig. 9A-B illustrates a fourth example related to that lane markings are changing from dashed to solid.
[0026] Fig. 10A-B illustrates a fifth example related to that the lane markings are changing from solid to dashed.
[0027] Fig. 11 illustrates a sixth example related to not occupying an overtake lane unnecessarily.
[0028] Fig. 12 illustrates a seventh example related to a situation in which waiting, or remaining in the ego lane, is preferred over changing lane.
[0029] Fig. 13 illustrates an eighth example related to selecting the lane with the highest speed limit.
[0030] Fig. 14 illustrates a ninth example related to changing lane to avoid being in a lane adjacent to a stationary vehicle.
[0031] Fig. 15 illustrates a tenth example related to changing lane to avoid being in a lane adjacent to a vulnerable road user (VRU) .
[0032] Fig. 16 illustrates an eleventh example related to changing lane to avoid bad road conditions.
[0033] Fig. 17 illustrates a first example of how the Arbitrator may balance lane change requests from the Navigation Lane Selector and the Speed-optimal Lane Selector.
[0034] Fig. 18 illustrates a second example.
[0035] Fig. 19 illustrates a third example.
[0036] Fig. 20 illustrates a fourth example.
[0037] Fig. 21 is a flowchart illustrating modes of operation of the LSA.
[0038] Fig. 22 is a flowchart illustrating a method for operating the ADS of the vehicle.
[0039] Fig. 23 is a schematic block diagram representation of an apparatus for operating the ADS.
[0040] Fig. 24 is a schematic illustration of the ADS-equipped vehicle.DETAILED DESCRIPTION
[0041] The present disclosure will now be described in detail with reference to the accompanying drawings, in which some example embodiments of the disclosed technology are shown. The disclosed technology may, however, be embodied in other forms and should not be construed as limited to the disclosed example embodiments. The disclosed example embodiments are provided to fully convey the scope of the disclosed technology to the skilled person. Those skilled in the art will appreciate that the steps, services and functions explained herein may be implemented using individual hardware circuitry, using software functioning in conjunction with a programmed microprocessor or general purpose computer, using one or more Application Specific Integrated Circuits (ASICs) , using one or more Field Programmable Gate Arrays (FPGA) and / or using one or more Digital Signal Processors (DSPs) .
[0042] It will also be appreciated that when the present disclosure is described in terms of a method, it may also be embodied in apparatus comprising one or more processors, one or more memories coupled to the one or more processors, where computer code is loaded to implement the method. For example, the one or more memories may store one or more computer programs that causes the apparatus to perform the steps, services and functions disclosed herein when executed by the one or more processors in some embodiments.
[0043] It is also to be understood that the terminology used herein is for purpose of describing particular embodiments only, and is not intended to be limiting. It should be noted that, as used in the specification and the appended claim, the articles "a" , "an" , "the" , and "said" are intended to mean that there are one or more of the elements unless the context clearly dictates otherwise. Thus, for example, reference to "a unit" or "the unit" may refer to more than one unit in some contexts, and the like. Furthermore, the words "comprising" , "including" , "containing" do not exclude other elements or steps. It should be emphasized that the term “comprises / comprising” when used in this specification is taken to specify the presence of stated features, integers, steps, or components. It does not preclude the presence or addition of one or more other features, integers, steps, components, or groups thereof. The term “and / or” is to be interpreted as meaning “both” as well and each as an alternative.
[0044] It will also be understood that, although the term first, second, etc. may be used herein to describe various elements or features, these elements should not be limited by these terms. These terms are only used to distinguish one element from another. For example, a first signal could be termed a second signal, and, similarly, a second signal could be termed a first signal, without departing from the scope of the embodiments. The first signal and the second signal are both signals, but they are not the same signal.
[0045] The ADS may comprise Lane Selection Assist (LSA) functions, also referred to as Lane Selection Assistance functions or simply LSA. These functions are linked to both safety and comfort aspects, and focus on decision making aspects of selecting an optimal driving lane. The optimal driving lane may in this context be a lane on a multi-lane road that fulfils these criteria:
[0046] - leads to the destination set by navigation system.
[0047] - optimizes the speed (leads to the destination at the shortest possible time) .
[0048] - minimizes number of lane changes (navigation effort) .
[0049] - adheres to traffic regulations, and / or
[0050] - maintains a safe distance to other road users.
[0051] LSA may build on map-based road level navigation systems in vehicles or on phones or similar devices. By using on-board sensors and high-definition (HD) maps, LSA plans for lane changes based on the above criteria. Lane changes are planned along the intended route and dynamically updated as conditions change. By choosing the optimal lane, LSA offloads the driver by assisting tactical lane change decision making, leading to lower effort and higher safety, comfort and productivity. Use-cases for lane change decision making are summarized as:
[0052] - lane changing to follow a navigation route, e.g. perform a lane change towards a highway exit,
[0053] - lane changing to reach the highest possible efficiency, which may include highest possible speed, e.g. overtaking a slow-moving leading vehicle while following a navigation route.
[0054] Fig. 1 illustrates, by way of example, a software architecture comprising software components involved in the LSA. As illustrated, the following data sets may be received as input:
[0055] - Ego lane assignment, i.e. information about which lane an ego vehicle is located on, on a multi-lane road,
[0056] - HD-map, i.e. high-definition map data containing lane-level attributes and connectivity of lane segments,
[0057] - Perceived road model, i.e. data describing geometry of the road based on vision data or other data comprising spatial information related to the road,
[0058] - Navigation route, i.e. coarse navigation route from external system in vehicle, phone navigation application or similar,
[0059] - User input, i.e. parameters input by a driver, such as set speed, function settings, etc.
[0060] - Dynamic objects, i.e. surrounding objects as detected by the ego vehicle’s on-board sensors. Even though being referred to as dynamic objects, this type of data may also include non-moving objects, such as vehicles standing still or trees lying across the road.
[0061] Generally, the input may be determined by the vehicle itself, more particularly by on-board vehicle sensors. By way of example, the ego lane assignment may be determined by using a camera and / or a lidar provided in the vehicle. Further, the input may be determined elsewhere and provided to the vehicle, e.g. the ego lane assignment may be determined by an external system. For instance, the external system may receive position data of the vehicle and based on this position data determine the ego lane assignment. This may be a suitable approach in case the road segment coinciding with the position data is a single-lane road. Still an option is to have the input determined by using the on-board vehicle sensors in combination with the external system. For instance, the ego lane assignment may be determined by using one or several cameras comprised in the vehicle in combination with one or several cameras placed next to the road.
[0062] The data mentioned above can be provided to a tactical planner. This may comprise, as illustrated, a route map matching component, a navigation lane selector, a speed-optimal lane selector and an arbitrator. The route map matching component may be configured to match the navigation route data to internal HD map data. Based on the HD map data provided by the route map matching component, the navigation lane selector may be configured to plan lane changes to stay on the navigation route. The speed optimal selector on the other hand may be configured to plan lane changes to reach maximum possible speed. Lane change candidates from the navigation lane selector and the speed optimal selector may be provided to the arbitrator which is configured to judge feasibility of navigation lane change candidates from the navigation lane selector and overtaking lane change candidates from the speed optimal selector and generate a final lane change plan. This final lane change plan may be formed into a tactical plan, comprising a series of upcoming lane changes to stay on the navigation route and reach optimum productivity, which may include optimum speed. The tactical plan, also referred to as tactical planner request, may be transmitted to an operational planner, which is configured to transform the tactical plan into an actuation request that, as a next step, is transmitted to a motion control module, thereby providing for that the lane changes forming part of the tactical plan is executed.
[0063] The navigation route may be obtained from a standard definition (SD) map. By it is own format, it only contains road-level instead of lane-level information. The navigation route may be as explained herein be used as an input to the tactical planner. The route-map-matching component, also referred to as a route-map matching module, may be arranged to align the navigation route to a high-defintion (HD) map, which creates the lane-level options on top of the navigation route.
[0064] The concepts of ego lane assignment, route map matching, navigation lane selector, and speed-optimal lane selector will be further described below:
[0065] Ego lane assignment
[0066] In line with the description above, the ego lane assignment may be determined in different ways. By way of example, the ADS may localize an ego-vehicle position with an HD-map-based localization method by using the on-board vehicle sensors and HD-maps. Then, an ego-lane, that is, a lane in which the ego-vehicle is placed, may be selected, and thereafter used as an input for the Tactical Planner.
[0067] Route Map Matching
[0068] As described above, the coarse navigation route may be received by the Tactical Planner from an external navigation system (e.g. on a mobile phone or in-vehicle device) . As illustrated in fig. 2A, the navigation route may be a coarse route comprising a number of lane segments with different route points, marked as “x” in the figure, forming a path from the ego-vehicle position to a final destination, marked with a flag in the figure. This coarse route may be based on SD map data. This coarse route may in a next step, illustrated in fig. 2B, be map-matched to the HD-map to find the individual lanes matching the coarse route, illustrated by dashed lines, starting from the ego position, also referred to as ego-vehicle position, to an end destination, also referred to as the final destination. The map matching may be applying a Hidden Markov Model (HMM) , which receives coarse navigation route points as observations, and HD-map lanes as candidates. In short, the HMM tries to find a set of most probable candidates regarding each observation, calculating the emission and transition probability, combining current and historical information. In accordance with the approach described herein by way of example, it picks the candidate with highest probability at last and traces back to get a sequence of candidates that are best matched overall.
[0069] Navigation Lane Selector
[0070] The Route Map Matching may provide HD-map lanes along the navigation route, and lane attributes and connectivity may be extracted from HD-map, as seen in fig. 2C. In other words, based on the individual lanes matching the coarse route or the coarse route as such, as illustrated in fig. 2B, the HD-map lane segments are determined, illustrated by dotted lines in fig. 2C. Put differently, the HD-map lane segments can be seen as lane segments available for the vehicle to use when following the navigation route.
[0071] As illustrated in fig. 2D, traversibilities of the ego lane as well as the lanes parallel to it may be checked to find the traversable lanes, i.e. lanes that can reach the end of horizon or have adjacent lanes that can go further. The traversable lane closest to ego lane will be selected as a target lane. The traversable path to the destination may be created based on the ego lane and the target lane. Lane changes may be requested to get to the target lane from the current ego lane. Each lane change decision is expressed as a window within which the lane change request is applicable to a specific side as illustrated in fig. 2D. Put differently, after having determined the available lane segments for the vehicle following the navigation route, the windows for allowing lane changes can be determined.
[0072] The windows illustrated in fig. 2D may determined in various ways. By way of example, window searching may begin at the target lane and stop at the ego lane. The windows, i.e. areas in which lane changes are opened up, may be determined by various factors, one such being lane markers. By way of example, as illustrated in fig. 3, a window may start from a first seen dashed lane marker and end at a solid lane marker. As illustrated by way of example, due to the solid lane markers of the ego lane in a current position of the vehicle, a distance between the current position of the vehicle and a start of a window of the ego lane is set as “start_distance_window_from_ego” . A distance between the current position of the vehicle and an end of the window is set as “end_distance_of_window_from_ego” . A distance from the start to the end of the window in the ego lane is set as “window size” . An adapted reserved space may be subtracted from the window to ensure sufficient distance for reaching the target lane. This reserved space may be based on the required number of lane changes to reach the target and ego vehicle state (speed, position, etc. ) . As illustrated in fig. 3 by way of example, since reaching the target lane from the ego lane will require two lane changes, there is reserved space for lane changes made in the ego lane and also in an intermediate lane, being placed between the ego lane and the target lane.
[0073] Speed-optimal Lane Selector
[0074] The Speed-optimal Lane Selector’s purpose is to select the speed optimal lanes so that the destination is reached in the shortest possible time. This may be achieved by calculating the cost for left, right and ego lane. The cost may be a function of a set speed, a target speed, a speed limit, etc. The lane with minimum cost may be selected as the speed optimal lane. If the ego vehicle is not in the speed optimal lane, then a lane change to the optimal lane is requested as illustrated in fig. 4.
[0075] By way of example, the cost calculation function for each lane may be as presented below.
[0076] where:
[0077] n = [0, 1, 2] , 0 -left lane, 1 -ego lane, 2 -right lane;
[0078] i = [1, 2, 3, 4] , 1 -first distance point, 2 –second distance point, 3 -third distance point, 4 -fourth distance point;
[0079] wi is the weight of the cost at each distance point;
[0080] is the cost of each distance point per lane.
[0081] According to the example described herein, the four distance points may be four look ahead time points. The first distance point is current ego position where look ahead time is 0, T0 . The second distance point is the estimated starting point of the lane change maneuver, where look ahead time is Tsm as illustrated in fig. 5. The third distance point is the estimated end point of the lane change maneuver, where look ahead time is Tem, also illustrated in fig. 5. The fourth distance point may be a look ahead point for the purpose of estimating cost beyond the distance needed for the lane change maneuver, look ahead time is Tlookahead.
[0082] The cost calculation function for each distance point may be calculated as below. The cost function may take into account the traffic regulations, static road model, dynamic road objects, road surface conditions and a constant cost offset per lane.
[0083] Where
[0084] is the cost associated to each lane due to traffic regulations at ni distance point. This cost considers e.g. undertake prevention regulations, overtake forbidden sign etc. If overtake or undertake is not allowed, this cost component will be very large.
[0085] is the weight of
[0086] is the cost derived from the static road model at ni distance point. It considers lane marking type, lane marking length, non-drivable lane, e.g. emergency lane, bus lane, too narrow lane, too short lane. If the lane marking type or the lane type does not a allow a lane change, then this cost component will be very large.
[0087] is the weight of
[0088] is the cost derived from dynamic road objects and desired driving speed at ni distance point. It considers driver set speed, lane-level speed limit, curvature speed limit, lane-level traffic speed and lane-level objects speed. the objects are not only cars but also cones, debris, boxes, animals, bicycles, motorcycles, and any other obstacles.
[0089] is the weight of
[0090] The detail dynamic cost calculation for each distance point is shown below:
[0091] Where,
[0092] speedset is driver set speed;
[0093] is the max achievable speed in this distance point per lane. And the calculation is
[0094] Where,
[0095] is speed of traffic flow,
[0096] is speed limit from lane curvature,
[0097] is the speed limit from perception or map,
[0098] is the speed limit of a lane based on dynamic conditions including conditions of its adjacent lanes to avoid overtaking an object with too high relative speed, the value is left and right refer to per lane instead of ego lane, and speedmaxdelta is a parameter setting for the max relative speed.
[0099] is predicted ego speed based on ego and front objects states and can be shown as
[0100] Where,
[0101] speedego is speed of ego car,
[0102] axego is longitudinal acceleration of ego car.
[0103] speedobject is speed of front closest object,
[0104] axobjectis longitudinal acceleration of front closest object.
[0105] Ti = [T0, Tsm, Tem, Tlookahead] .
[0106] is the cost of road surface conditions at ni distance point, it considers bad road surface quality, e.g. lane covered by ice, snow, water, etc. If the lane surface is not identified as suitable for driving, then the cost of this lane will be large.
[0107] is the weight of
[0108] Kn is the constant cost offset per lane which is used to prioritize lanes, e.g. in motorways without speed limit, high-speed lanes shall not occupied unnecessarily.
[0109] The resulting cost Cn are then compared and the lane with minimum cost is selected as the speed optimal lane. If this lane is any of the adjacent lanes, then a lane change will be requested by the Speed-optimal Lane Selector.
[0110] In fig. 6 to 15, different examples demonstrating a behaviour of the Speed-optimal Lane Selector in different situations are illustrated.
[0111] A slow car in front
[0112] As illustrated in fig. 6, in case there is a slow-moving car in front of the ego vehicle, in this example a car, this may result in that the Speed-optimal Lane Selector request a lane change as illustrated. In the example illustrated, the slow-moving car has a target speed of 70 kph (km / h) , and the ego vehicle has a set speed of 100 kph and an ego speed of 95 kph, that is, the active cruise control of the ego vehicle may be set to 100 kph, but due to the slow moving vehicle in front, the ego speed, i.e. actual speed, is 95 kph.
[0113] A static object in front
[0114] As illustrated in fig. 7, a static object, having the target speed 0 kph, in front of the ego vehicle, having the set speed of 100 kph and the ego speed of 95 kph, may result in that the Speed-optimal Lane Selector requests a lane change as illustrated.
[0115] Current ego lane will end
[0116] Another example of when the Speed-optimal lane selector may request a lane change is when a current ego lane will end, and thereby as an effect will be considered blocked, as illustrated in fig. 8.
[0117] Lane marking changing from dashed to solid
[0118] As illustrated in fig. 9A, a lane change may be requested before a lane marking separating the ego lane from a target lane is changing from dashed to solid, thereby providing sufficient time for performing a lane change complying with traffic regulations. On the other hand, at a later point of time, illustrated in fig. 9B, the shift from dashed to solid lane marking may be too close to perform the lane change without breaching traffic regulations.
[0119] Lane marking changing from solid to dashed
[0120] The lane change request may also be made after the lane marking has been changed from solid to dashed. As illustrated in fig. 10A, at a first time point, illustrated in fig. 10A, the lane change request cannot be made without breaching traffic regulations due to that the lane change, if being performed, would involve passing a solid lane marking. On the other, at a later point of time, when the ego vehicle have been moved ahead on the road, illustrated in fig. 10B, the lane change request can be made without passing the solid lane marking.
[0121] Not occupying overtaking lane
[0122] As illustrated in fig. 11, in case the ego vehicle is placed on a three-lane road with an overtaking lane, placed to the left in this example, a mid-lane and a right lane, the Speed-Optimal Lane Selector may be configured to move from the overtaking lane in case it is possible to move from this lane and there is available space in the mid-lane as illustrated. In this way, the overtaking lane is not occupied unnecessarily, making it for instance easier for ambulances or other emergency vehicles to pass.
[0123] As illustrated in fig. 11, different lanes may have different speed limits. In this particular example, the overtaking lane and the mid-lane have a speed limit of 100 kph, while the right lane has a speed limit of 80 kph. In case the set speed of the ego vehicle is 100 kph, this may imply that the ego vehicle is moved to the mid-lane to be able to keep the speed limit as well as the set speed, and not to the right lane since this would imply that the set speed could not be fulfilled due to the speed limit of 80 kph.
[0124] Wait to achieve higher speed
[0125] Fig. 12 illustrates a situation in which the ego car, placed to the left in the figure, has the ego speed of 100 kph and a set speed of 120 kph. The vehicle placed in the ego lane in front of the ego vehicle has in this example a target speed of 100 kph and the vehicle placed in the right lane has a target speed of 110 kph. As illustrated, due to the solid lane marking to the left, the ego vehicle cannot change lane to the left at the current time point illustrated. Even if the traffic regulations would admit that the vehicle in front is overtaken to the right, it may be a preferable choice to delay the lane change and change lane to the left since this would involve fewer lane changes, and as an effect increase both safety and comfort.
[0126] Select lane with highest speed
[0127] Fig. 13 illustrates a situation in which the multi-lane road comprises a left lane with a speed limit of 100 kph, a mid-lane with a speed limit of 80 kph and a right lane with a speed limit of 80 kph. The ego vehicle in this example has the set speed of 100 kph. To be able to fulfil the set speed, the Speed-optimal Lane Selector may be configured such that the lane request from the mid-lane, being the ego lane in this example, to the left lane is generated.
[0128] Change lane to avoid passing stationary vehicle
[0129] The different speed limits in the different lanes may be set speed limits as exemplified above and illustrated in fig. 13. However, the speed limits of the different lanes may also be adjusted based on current conditions on the road. For instance, as illustrated in fig. 14, in case there is a stationary vehicle placed in the right lane, this may result in that this lane is marked as occupied and that the speed limit of the mid-lane has a reduced speed limit, being the lane adjacent to the right lane in which the stationary vehicle is present, for safety reasons.
[0130] For the reasons above, the Speed-optimal Lane Selector may be configured to change lane to avoid passing the stationary vehicle, or vulnerable road user (VRU) , such as a cyclist, as illustrated in fig. 15, in the adjacent lane at high speed and instead passing in the adjacent lane at low speed or changing lane away from the stationary vehicle or VRU. In the example illustrated in fig. 14 and 15, the maximum allowed speed in the middle lane will be limited by the system to limit the relative speed towards the stationary object or VRU. If this new maximum speed causes significant increase in cost of the ego lane (the mid-lane in example) compared to the adjacent lane (left lane in the example) , then a lane change to the lower cost lane will be initiated. This is achieved by adjusting the lane-level speed limit in the cost function.
[0131] Change lane to avoid bad road condition
[0132] As illustrated in fig. 16, yet another example triggering a lane change may be bad road conditions, e.g. road works, road surface issue, water puddle, or any other condition detected to make the lane not drivable at the set speed.
[0133] Aribtrator
[0134] Lane change plans from Navigation Lane Selector and Speed-Optimal Lane Selector are arbitrated and prioritized in the Arbitrator as illustrated in fig. 1. This is to ensure that there are no conflicting decisions between these two logics. Generally, the lane change requests from Navigation Lane Selector is given higher priority.
[0135] The Arbitrator can suppress an upcoming lane change from Speed-Optimal Lane Selector, in case there is a navigation lane change planned soon. The suppression may occur when the side of the lane change request from Speed-Optimal Lane Selector is opposite to the navigation lane change window and the ego vehicle cannot get back to initial lane before the end point of navigation window if the speed-optimal lane change is executed.
[0136] In other words, speed-optimal lane change will be suppressed if ego car will potentially miss the navigation lane change due to any speed-optimal lane change.
[0137] A final arbitrated lane change plan, also referred to as tactical plan, may be sent out to the Operational Planner to plan lane change maneuver trajectory while fulfilling comfort and safety criteria.
[0138] In fig. 17, a first arbitration possible response is illustrated by way of example. In this example, the ego vehicle is sufficiently far away from an exit to overtake a slow-moving car by changing lane to the left and thereafter changing lane to the right twice to follow the navigation route provided by the Navigation Lane Selector. In fig. 17, this is illustrated in that there is a window, non-filled, provided to the left, providing for that the Arbitrator can allow the lane request generated by the Speed-optimal Lane Selector to form part of the final arbitrated lane change plan, i.e. change lane to the left and perform the overtake. To make sure that the navigation route is followed, there are three windows, diamond-filled, in which the ego vehicle is to change lane to the right or stay in the right lane to make sure that the navigation route is followed. Ahead of these windows, reserved windows, diagonally filled, are provided.
[0139] Fig. 18 illustrates a situation similar to the one illustrated in fig. 17. Similar to the situation illustrated in fig. 17, the navigation route provides for that the ego vehicle is to be placed in the right lane, as indicated by the windows providing for that the ego vehicle is to change lane to the right or stay in the mid lane in line with fig. 17. However, unlike the situation in fig. 17, in the situation in fig. 18, there is another vehicle in the mid-lane, but also another vehicle in the left lane. Due to the vehicle placed in the left lane, an overtake is not made possible, resulting in that in contrast to the situation illustrated in fig. 17, the ego vehicle, in the situation illustrated in fig. 18, is changing lane to the right to make sure that this is placed well in time in the right lane in accordance with the navigation route.
[0140] Fig. 19 illustrates another example on how the Navigation Lane Selector and the Speed-optimal Lane Selector can be combined. In a situation illustrated in fig. 19, the ego vehicle is placed in the mid-lane and in accordance with the navigation route, the ego vehicle is soon to depart the road via an exit placed to the right. Due to the ego-car is to leave via the exit, a navigation window is adjusted accordingly. As illustrated in fig. 19, the navigation window provides sufficient room, or more correctly time, for an overtake to take place, resulting in that the final arbitrated lane change plan, generated by the Arbitrator, can be a path in accordance with a full line illustrated in fig. 19.
[0141] Fig. 20 illustrates still another example. As the example illustrated in fig. 19, the ego vehicle is placed in the mid-lane and is soon to exit via the right lane. Unlike the situation illustrated in fig. 19, there is in this situation not enough room, or time, to perform the overtake, and as an effect the Arbitrator will suppress the lane change request made by the Speed-optimal Lane Selector, illustrated by a dotted line, and instead provide for that the ego vehicle change lane to the right to make sure that the ego vehicle is placed in the lane meeting the navigation lane change request.
[0142] Fig. 21 is a flowchart illustrating an example of how the LSA function can be implemented. The example illustrated in fig. 21 comprises two modes of operation:
[0143] - Perform lane changes with driver confirmation.
[0144] - Perform lane changes without driver confirmation.
[0145] The high-level procedure for a lane change event for these modes of operation is illustrated in fig. 21. In addition to the two modes mentioned above, there may be additional intermediate modes available, e.g. that the driver is requested to confirm under certain road conditions and / or that the driver has performed certain actions, such as that the driver has looked into rear mirror before the lane change is conducted. A driver monitoring system (DMS) may be used for detecting that the actions have been performed. Further, the system may decide on feasibility of lane changes without confirmation based on e.g., driver awareness, traffic situation in adjacent lanes and road type and road conditions.
[0146] As illustrated, in step S10 the ego vehicle is staying in current lane. In step S11, if the adjacent lane is part of the Tactical plan, step S12 is initiated, and if not, the ego vehicle returns to step S10. In the S12 step, it is determined if the lane change criteria are fulfilled. In case, the criteria are not fulfilled, the ego vehicle returns to step S11. In case the criteria are fulfilled, step S13 is initiated. In this step, it is determined if the lane change setting is set without confirmation. This information may be provided with a data set D1, i.e. this data set D1 may comprise a setting for lane change with or without driver confirmation. In case there the setting is that thee lane change is to be made without user confirmation, step S14 may be initiated. In this step it is determined if the safety conditions for automatic lane change is met or not. In case these are met, step S15 is initiated. In this step, a lane change attempt is performed. In case, in step S13, it is set that the lane change is to be made after the driver confirmation is received, step S16 is initiated. In this step, the driver is asked to confirm the lane change. As illustrated, in this particular example, in case the safety conditions for automatic lane change is not met in step S14, this may also result in that the step S16 is initiated. Put differently, in case the driver deems the situation to be safe, he or she may push through the lane change even though this is not deemed safe by the Tactical Planner and / or Operational Planner. In step S17, it is determined whether or not the driver confirmed the lane change in time. The driver lane change confirmation may be received via a data set D2. In step S18, it is determined whether or not the lane change was successful. In case, the outcome is positive, the ego vehicle will return to step S10, i.e. staying in lane, and if the outcome is negative, the step S12 may be initiated, i.e. determining whether or not lane change criteria are fulfilled. One reason for failing the lane change attempt may be that other sensor systems of the ego vehicle is interrupting the lane change. Other reasons may include sensor failing, sudden adverse weather conditions, unpredicted driver behaviors of surrounding vehicles, emergency vehicle coming, etc.
[0147] The general approach described above with respect to different examples may be described more generally as a method for operating the ADS of the vehicle, also referred to as ego vehicle, as illustrated in fig. 22. The method S100 may comprise obtaining S102 map data, e.g. HD map data, obtaining S104 the navigation route, determining S106 an ego lane assignment by using on-board vehicle sensors and / or the map data, determining S108 the navigation lane change request based on the navigation route and the ego lane assignment by using the navigation lane selector, identifying S110 road objects ahead of the vehicle by using the on-board vehicle sensors, determining S112 the speed-optimal lane change request based on the road objects and the ego lane assignment by using the speed-optimal lane selector, determining S114 the final arbitrated lane change plan based on the navigation lane change request and the speed-optimal lane change request by using the arbitrator, generating S116 lane change maneuver instruction data based on the final arbitrated lane change plan, and transmitting S118 the lane change maneuver instruction data to a maneuvering system of the vehicle for executing a lane change maneuver in accordance with the final arbitrated lane change plan.
[0148] These steps may be performed more or less simultaneously after one another, but it is also possible to have part of the steps performed in advance. For instance, the steps of obtaining S102 the map data, obtaining S104 the navigation route, determining S106 the ego lane assignment and determining S108 the navigation lane change request may be made in advance. By way of example, the steps of determining S106 the ego lane assignment and determining S108 the navigation lane change request may be made after the map data and the navigation route is obtained, but before the vehicle has started to move along the navigation route. During the course of movement, any deviations from pre-planned ego lane positions may be detected and updated by the on-board vehicle sensors.
[0149] An advantage with this approach is that the navigational lane selector and the speed optimal lane selector may be working in parallel and independently. By making these two separated and using the arbitrator for finding the final arbitrated lane change plan, it is made possible to develop and update these two components, or modules, of the tactical planner without causing unintentional side-effects on the other component. Further, another advantage of having these separated is that this may lead to improved customization. For instance, different drivers may share the same settings for the Navigational lane Selector, but have different settings for the Speed-optimal Lane Selector. By way of example, different driver may experience different levels of discomfort with lane changes, and to address these differences, the different drivers may have their Speed-optimal Lane Selector set up differently. Even though such customization may be achieved with a system having the Navigation Lane Selector and Speed-optimal Lane Selector non-separated, the effects of this customization would be more difficult to foresee and as such would involve a higher risk. Still further, the navigational lane selector may be made in advance, i.e. it may provide a pre-planned route, while the speed optimal lane selector may be made in runtime and may be made to adapt to surrounding live conditions.
[0150] The step of generating S116 the lane change maneuver instruction data based on the final arbitrated lane change plan may comprise the sub-steps of transmitting S120 the final arbitrated lane change plan to the operational planner, generating S122 a lane change maneuver trajectory based on the final arbitrated lane change, and assessing S124 the lane change maneuver trajectory in view of one or more safety criteria, in case the one or more safety criteria are fulfilled, generating S122 the lane change maneuver instruction data based on the lane change maneuver trajectory.
[0151] By having the operational planner as a separate step after the arbitrator, the safety assessment can be made on its own merits and not as part of something else, which may be an advantage in terms of reliability.
[0152] The step of generating S116 the lane change maneuver data based on the final lange change plan may also comprise the additional sub-step of assessing S126 the lane change maneuver trajectory in view of one or more comfort criteria, wherein the step of generating S116 the lane change maneuver instruction data based on the lane change maneuver trajectory is performed in case the one or more safety criteria are fulfilled and in case one or more comfort criteria are fulfilled.
[0153] An advantage with this is that each lane change can be assessed individually from a comfort view. In this way, an increased level of comfort for the driver and / or passengers of the vehicle can be achieved.
[0154] The step of determining S112 the speed-optimal lane change request based on the road objects by using the speed-optimal lane selector may comprise the sub-step of determining S128 a cost for an ego lane and costs for a left and / or a right lane, respectively, by using a cost function, wherein the cost function comprises a sum of costs in a lane at different points ahead of an ego position.
[0155] The cost function may comprise the sum of costs in the lane at different points and a constant cost offset in the lane. By having this constant, it possible to address that lane changes is in itself an unwanted event and that the saving made should be above a threshold. By having this offset it is made possible to adjust such threshold.
[0156] The cost function may comprise a first cost component related to a static road model, wherein the static road model comprises information about lane marking types at the different points, wherein different lane marking types are associated with different costs. By having different lane markings associated with different costs, it is made possible to improve the customization and adjust the behaviour of the ADS more closely to preferences of an individual driver.
[0157] The cost function may comprise a second cost component related to a dynamic road model, wherein the dynamic road model comprises information about recommended driving speeds, which may involve set speed limits as well as speed limits deducted based on e.g. the VRU present in one lane of the road, in different lanes at the different points, wherein different recommended driving speeds have different costs.
[0158] The dynamic road model may comprise the VRU, wherein the desired driving speed in a first lane in which the VRU is placed is a first desired driving speed, the desired driving speed in a second lane, adjacent to the first lane, is a second desired driving speed, and the desired driving speed in a third lane, adjacent to the second lane, is a third desired driving speed, wherein the second desired driving speed is greater than the first desired driving speed, and the third desired driving speed is greater than the second desired driving speed.
[0159] The cost function may comprise a third cost component related to a road condition data set, wherein the road condition data set comprises information about road conditions at the different points, wherein different road conditions are associated with different costs.
[0160] The step of determining S114 the final arbitrated lane change plan based on the navigation lane change request and the speed-optimal lane change request by using the arbitrator may comprise the sub-steps of requesting S130 a user conformation associated with the final arbitrated lane change plan by transmitting a user confirmation request to a user interface equipped device in the vehicle, and obtaining S132 the user confirmation from the user interface equipped device and upon obtaining the user confirmation continuing with generating the lane change maneuver instruction data.
[0161] The navigation route may be a graph data structure, wherein each lane segment is a graph edge and the ego position is a graph node, wherein connections are considered longitudinally, but not laterally.
[0162] The method S100 is preferably a computer-implemented method S100, performed by a processing system of the ADS-equipped vehicle. The processing system may for example comprise one or more processors and one or more memories coupled to the one or more processors, wherein the one or more memories store one or more programs that perform the steps, services and functions of the method S100 disclosed herein when executed by the one or more processors.
[0163] Executable instructions for performing these functions are, optionally, included in a non-transitory computer-readable storage medium or other computer program product configured for execution by one or more processors.
[0164] Fig. 23 is a schematic block diagram representation of an apparatus 10 for operating an automated driving system (ADS) 310 of a vehicle 1, illustrated in fig. 24, in accordance with some embodiments. The apparatus 10 may comprise control circuitry 11 (e.g. one or more processors) configured to perform the functions of the method S100 disclosed herein, where the functions may be included in a non-transitory computer-readable storage medium 12 or other computer program product configured for execution by the control circuitry 11. In other words, the apparatus 10 comprises one or more memory storage areas 12 comprising program code, the one or more memory storage areas 12 and the program code configured to, with the one or more processors 11, cause the apparatus 10 to perform the method S100 according to any one of the embodiments disclosed herein. However, in order to better elucidate the herein disclosed embodiments, the control circuitry is represented as various “modules” or blocks in fig. 23, each of them linked to one or more specific functions of the control circuitry.
[0165] Fig. 24 is a schematic illustration of an ADS-equipped vehicle 1 comprising such the apparatus 10. As used herein, a “vehicle” is any form of motorized transport. For example, the vehicle 1 may be any road vehicle such as a car (as illustrated herein) , a motorcycle, a (cargo) truck, a bus, etc.
[0166] The apparatus 10 may comprises the control circuitry 11 and a memory 12. The control circuitry 11 may physically comprise one single circuitry device. Alternatively, the control circuitry 11 may be distributed over several circuitry devices. As an example, the apparatus 10 may share its control circuitry 11 with other parts of the vehicle 1 (e.g. the ADS 310) . Moreover, the apparatus 10 may form a part of the ADS 310, i.e. the apparatus 10 may be implemented as a module or feature of the ADS. The control circuitry 11 may comprise one or more processors, such as a central processing unit (CPU) , microcontroller, or microprocessor. The one or more processors may be configured to execute program code stored in the memory 12, in order to carry out various functions and operations of the vehicle 1 in addition to the methods disclosed herein. The processor (s) may be or include any number of hardware components for conducting data or signal processing or for executing computer code stored in the memory 12. The memory 12 optionally includes high-speed random access memory, such as DRAM, SRAM, DDR RAM, or other random access solid-state memory devices; and optionally includes non-volatile memory, such as one or more magnetic disk storage devices, optical disk storage devices, flash memory devices, or other non-volatile solid-state storage devices. The memory 12 may include database components, object code components, script components, or any other type of information structure for supporting the various activities of the present description.
[0167] In the illustrated example, the memory 12 further stores map data 308. The map data 308 may for instance be used by the ADS 310 of the vehicle 1 in order to perform autonomous functions of the vehicle 1. The map data 308 may comprise high-definition (HD) map data. It is contemplated that the memory 12, even though illustrated as a separate element from the ADS 310, may be provided as an integral element of the ADS 310. In other words, according to an exemplary embodiment, any distributed or local memory device may be utilized in the realization of the present inventive concept. Similarly, the control circuitry 11 may be distributed e.g. such that one or more processors of the control circuitry 11 is provided as integral elements of the ADS 310 or any other system of the vehicle 1. In other words, according to an exemplary embodiment, any distributed or local control circuitry device may be utilized in the realization of the present inventive concept. The ADS 310 is configured carry out the functions and operations of the autonomous or semi-autonomous functions of the vehicle 1. The ADS 310 can comprise a number of modules, where each module is tasked with different functions of the ADS 310.
[0168] The vehicle 1 comprises a number of elements which can be commonly found in autonomous or semi-autonomous vehicles. It will be understood that the vehicle 1 can have any combination of the various elements shown in Fig. 24. Moreover, the vehicle 1 may comprise further elements than those shown in Fig. 24. While the various elements is herein shown as located inside the vehicle 1, one or more of the elements can be located externally to the vehicle 1. For example, the map data may be stored in a remote server and accessed by the various components of the vehicle 1 via the communication system 326. Further, even though the various elements are herein depicted in a certain arrangement, the various elements may also be implemented in different arrangements, as readily understood by the skilled person. It should be further noted that the various elements may be communicatively connected to each other in any suitable way. The vehicle 1 of Fig. 24 should be seen merely as an illustrative example, as the elements of the vehicle 1 can be realized in several different ways.
[0169] The vehicle 1 further comprises a sensor system 320. The sensor system 320 is configured to acquire sensory data about the vehicle itself, or of its surroundings. The sensor system 320 may for example comprise a Global Navigation Satellite System (GNSS) module 322 (such as a GPS) configured to collect geographical position data of the vehicle 1. The sensor system 320 may further comprise one or more sensors 324. The sensor (s) 324 may be any type of on-board sensors, such as cameras, LIDARs and RADARs, ultrasonic sensors, gyroscopes, accelerometers, odometers etc. It should be appreciated that the sensor system 320 may also provide the possibility to acquire sensory data directly or via dedicated sensor control circuitry in the vehicle 1.
[0170] The vehicle 1 further comprises a communication system 326. The communication system 326 is configured to communicate with external units, such as other vehicles (i.e. via vehicle-to-vehicle (V2V) communication protocols) , remote servers (e.g. cloud servers) , databases or other external devices, i.e. vehicle-to-infrastructure (V2I) or vehicle-to-everything (V2X) communication protocols. The communication system 326 may communicate using one or more communication technologies. The communication system 326 may comprise one or more antennas (not shown) . Cellular communication technologies may be used for long range communication such as to remote servers or cloud computing systems. In addition, if the cellular communication technology used have low latency, it may also be used for V2V, V2I or V2X communication. Examples of cellular radio technologies are GSM, GPRS, EDGE, LTE, 5G, 5G NR, and so on, also including future cellular solutions. However, in some solutions mid to short range communication technologies may be used such as Wireless Local Area (LAN) , e.g. IEEE 802.11 based solutions, for communicating with other vehicles in the vicinity of the vehicle 1 or with local infrastructure elements. ETSI is working on cellular standards for vehicle communication and for instance 5G is considered as a suitable solution due to the low latency and efficient handling of high bandwidths and communication channels.
[0171] The communication system 326 may accordingly provide the possibility to send output to a remote location (e.g. remote operator or control center) and / or to receive input from a remote location by means of the one or more antennas. Moreover, the communication system 326 may be further configured to allow the various elements of the vehicle 1 to communicate with each other. As an example, the communication system may provide a local network setup, such as CAN bus, I2C, Ethernet, optical fibers, and so on. Local communication within the vehicle may also be of a wireless type with protocols such as WiFi, LoRa, Zigbee, Bluetooth, or similar mid / short range technologies.
[0172] The vehicle 1 further comprises a maneuvering system 328. The maneuvering system 328 is configured to control the maneuvering of the vehicle 1. The maneuvering system 328 comprises a steering module 330 configured to control the heading of the vehicle 1. The maneuvering system 328 further comprises a throttle module 332 configured to control actuation of the throttle of the vehicle 1. The maneuvering system 328 further comprises a braking module 334 configured to control actuation of the brakes of the vehicle 1. The various modules of the maneuvering system 328 may also receive manual input from a driver of the vehicle 1 (i.e. from a steering wheel, a gas pedal and a brake pedal respectively) . However, the maneuvering system 328 may be communicatively connected to the ADS 310 of the vehicle, to receive instructions on how the various modules of the maneuvering system 328 should act. Thus, the ADS 310 can control the maneuvering of the vehicle 1, for example via the decision and control module 318.
[0173] The ADS 310 may comprise a localization module 312 or localization block / system. The localization module 312 is configured to determine and / or monitor a geographical position and heading of the vehicle 1, and may utilize data from the sensor system 320, such as data from the GNSS module 322. Alternatively, or in combination, the localization module 312 may utilize data from the one or more sensors 324. The localization system may alternatively be realized as a Real Time Kinematics (RTK) GPS in order to improve accuracy.
[0174] The ADS 310 may further comprise a perception module 314 or perception block / system 314. The perception module 314 may refer to any commonly known module and / or functionality, e.g. comprised in one or more electronic control modules and / or nodes of the vehicle 1, adapted and / or configured to interpret sensory data -relevant for driving of the vehicle 1 -to identify e.g. obstacles, vehicle lanes, relevant signage, appropriate navigation paths etc. The perception module 314 may thus be adapted to rely on and obtain inputs from multiple data sources, such as automotive imaging, image processing, computer vision, and / or in-car networking, etc., in combination with sensory data e.g. from the sensor system 320.
[0175] The localization module 312 and / or the perception module 314 may be communicatively connected to the sensor system 320 in order to receive sensory data from the sensor system 320. The localization module 312 and / or the perception module 314 may further transmit control instructions to the sensor system 320.
[0176] The present invention has been presented above with reference to specific embodiments. However, other embodiments than the above described are possible and within the scope of the invention. Different method steps than those described above, performing the method by hardware or software, may be provided within the scope of the invention. Thus, according to an exemplary embodiment, there is provided a non-transitory computer-readable storage medium storing one or more programs configured to be executed by one or more processors of a vehicle control system, the one or more programs comprising instructions for performing the method according to any one of the above-discussed embodiments. Alternatively, according to another exemplary embodiment a cloud computing system can be configured to perform any of the methods presented herein. The cloud computing system may comprise distributed cloud computing resources that jointly perform the methods presented herein under control of one or more computer program products.
[0177] Generally speaking, a computer-accessible medium may include any tangible or non-transitory storage media or memory media such as electronic, magnetic, or optical media-e.g., disk or CD / DVD-ROM coupled to computer system via bus. The terms “tangible” and “non-transitory, ” as used herein, are intended to describe a computer-readable storage medium (or “memory” ) excluding propagating electromagnetic signals, but are not intended to otherwise limit the type of physical computer-readable storage device that is encompassed by the phrase computer-readable medium or memory. For instance, the terms “non-transitory computer-readable medium” or “tangible memory” are intended to encompass types of storage devices that do not necessarily store information permanently, including for example, random access memory (RAM) . Program instructions and data stored on a tangible computer-accessible storage medium in non-transitory form may further be transmitted by transmission media or signals such as electrical, electromagnetic, or digital signals, which may be conveyed via a communication medium such as a network and / or a wireless link.
[0178] The control device 10 may be or include any number of hardware components for conducting data or signal processing or for executing computer code stored in memory 12. The device 10 has an associated memory 12, and the memory 12 may be one or more devices for storing data and / or computer code for completing or facilitating the various methods described in the present description. The memory may include volatile memory or non-volatile memory. The memory 12 may include database components, object code components, script components, or any other type of information structure for supporting the various activities of the present description. According to an exemplary embodiment, any distributed or local memory device may be utilized with the systems and methods of this description. According to an exemplary embodiment the memory 12 is communicably connected to the processor 11 (e.g., via a circuit or any other wired, wireless, or network connection) and includes computer code for executing one or more processes described herein.
[0179] Accordingly, it should be understood that parts of the described solution may be implemented either in the vehicle 1, in a system located external the vehicle 1, or in a combination of internal and external the vehicle; for instance in a server in communication with the vehicle, a so called cloud solution. For instance, sensor data may be sent to an external system and that system performs the steps to compare the sensor data (movement of the other vehicle) with the predefined behaviour model. The different features and steps of the embodiments may be combined in other combinations than those described.
[0180] It should be noted that any reference signs do not limit the scope of the claims, that the invention may be at least in part implemented by means of both hardware and software, and that several “means” or “units” may be represented by the same item of hardware.
[0181] Although the figures may show a specific order of method steps, the order of the steps may differ from what is depicted. In addition, two or more steps may be performed concurrently or with partial concurrence. For example, the steps of receiving signals comprising information about a movement and information about a current road scenario may be interchanged based on a specific realization. Such variation will depend on the software and hardware systems chosen and on designer choice. All such variations are within the scope of the invention. Likewise, software implementations could be accomplished with standard programming techniques with rule-based logic and other logic to accomplish the various connection steps, processing steps, comparison steps and decision steps. The above mentioned and described embodiments are only given as examples and should not be limiting to the present invention. Other solutions, uses, objectives, and functions within the scope of the invention as claimed in the below described patent claims should be apparent for the person skilled in the art.
[0182] ADS definition
[0183] In the present context, an Automated Driving System (ADS) refers to a complex combination of hardware and software components designed to control and operate a vehicle without direct human intervention. ADS technology aims to automate various aspects of driving, such as steering, acceleration, deceleration, and monitoring of the surrounding environment. The primary goal of an ADS is to enhance safety, efficiency, and convenience in transportation. An ADS can range from basic driver assistance systems to highly advanced autonomous driving systems, depending on its level of automation, as classified by standards like the SAE J3016. These systems use a variety of sensors, cameras, radar, lidar, and powerful computer algorithms to perceive the environment and make driving decisions. The specific capabilities and features / functions of an ADS can vary widely, from systems that provide limited assistance to those that can handle complex driving tasks independently in specific conditions.
[0184] Advanced Driver Assistance Systems (ADAS) are technologies that assist drivers in the driving process, though they do not necessarily offer full autonomy. ADAS features often serve as building blocks for ADS. Examples include adaptive cruise control, lane-keeping assist, automatic emergency braking, and parking assistance. They enhance safety and convenience but typically require some level of human supervision and intervention. On the other hand, Autonomous Driving (AD) are technologies that are designed to control and navigate a vehicle without human supervision. Accordingly, it can be said that distinction between ADAS and AD lies in the level of autonomy and control. ADAS systems are designed to aid and support drivers, while an ADS aims to take full control of the vehicle without requiring constant human oversight. AD accordingly normally aims for higher levels of autonomy (such as Levels 4 and 5, according to the SAE International standard) , where the vehicle can operate independently in most or all driving scenarios without human intervention. As mentioned in the foregoing, the term “ADS” in used herein as an umbrella term encompassing both ADAS and AD. An ADS function or ADS feature may in the present context be understood as a specific function or feature of the entire ADS stack, such as e.g., a Highway Pilot feature, a Traffic-Jam pilot feature, a path planning feature, and so forth.
[0185] Geographical position
[0186] Geographical position of the ego-vehicle is in the present context to be construed as a map position (may also be referred to as in-map position) of the ego-vehicle. In other words, a geographical position or map position can be understood as a set (two or more) of coordinates in a global coordinate system.
[0187] Surrounding environment
[0188] The surrounding environment of the ego-vehicle can be understood as a general area around the ego-vehicle in which objects (such as other vehicles, landmarks, obstacles, etc. ) can be detected and identified by vehicle sensors (radar, LIDAR, cameras, etc. ) , i.e. within a sensor range of the ego-vehicle.
[0189] If-terminology
[0190] As used herein, the term “if” may be construed to mean “when or “upon” or “in response to” depending on the context. Similarly, the phrase “if it is determined’ or “when it is determined” or “in an instance of” may be construed to mean “upon determining or “in response to determining” or “upon detecting and identifying occurrence of an event” or “in response to detecting occurrence of an event” depending on the context. Accordingly, the phrase “if X equals Y” may be construed as “when X equals Y” , “when it is determined that X equals Y” , “in response to X being equal to Y” , or “in response to detecting / determining that X equals Y” depending on the context.
[0191] Obtaining
[0192] The term “obtaining” is herein to be interpreted broadly and encompasses receiving, retrieving, collecting, acquiring, and so forth directly and / or indirectly between two entities configured to be in communication with each other or further with other external entities. However, in some embodiments, the term “obtaining” is to be construed as determining, deriving, forming, computing, etc. In other words, obtaining a pose of the vehicle may encompass determining or computing a pose of the vehicle based on e.g. GNSS data and / or perception data together with map data. Thus, as used herein, “obtaining” may indicate that a parameter is received at a first entity / unit from a second entity / unit, or that the parameter is determined at the first entity / unit e.g. based on data received from another entity / unit.
Claims
1.A method (S100) for operating an automated driving system (ADS) of a vehicle, wherein the ADS comprises a navigation lane selector configured to generate a navigation lane change request associated to a navigation route, wherein the navigation route comprises several lane segment combinations from a starting position to an end position, wherein different lane segment combinations are at least in part parallel, a speed-optimal lane selector configured, for an ego position assignment of the vehicle, to generate a speed-optimal lane change request, and an arbitrator configured to handle the navigation lane change request from the navigation lane selector and the speed-optimal lane change request from the speed-optimal lane selector, said method comprisingobtaining (S102) map data,obtaining (S104) the navigation route,determining (S106) an ego lane assignment by using on-board vehicle sensors and / or the map data,determining (S108) the navigation lane change request based on the navigation route and the ego lane assignment by using the navigation lane selector,identifying (S110) road objects ahead of the vehicle by using the on-board vehicle sensors,determining (S112) the speed-optimal lane change request based on the road objects and the ego lane assignment by using the speed-optimal lane selector,determining (S114) a final arbitrated lane change plan based on the navigation lane change request and the speed-optimal lane change request by using the arbitrator,generating (S116) lane change maneuver instruction data based on the final arbitrated lane change plan, andtransmitting (S118) the lane change maneuver instruction data to a maneuvering system of the vehicle for executing a lane change maneuver in accordance with the final arbitrated lane change plan.2.The method according to claim 1, wherein the ADS comprises an operational planner, wherein the step of generating (S116) the lane change maneuver instruction data based on the final arbitrated lane change plan comprises the sub-steps oftransmitting (S120) the final arbitrated lane change plan to the operational planner,generating (S122) a lane change maneuver trajectory based on the final arbitrated lane change plan,assessing (S124) the lane change maneuver trajectory in view of one or more safety criteria,in case the one or more safety criteria are fulfilled, generating the lane change maneuver instruction data based on the lane change maneuver trajectory.3.The method according to claim 2, wherein the step of generating (S116) the lane change maneuver data based on the final lange change plan comprises the additional sub-step ofassessing (S126) the lane change maneuver trajectory in view of one or more comfort criteria,wherein the step of generating (S116) the lane change maneuver instruction data based on the lane change maneuver trajectory is performed in case the one or more safety criteria are fulfilled and in case one or more comfort criteria are fulfilled.4.The method according to any one of the preceding claims, wherein the step of determining (S112) the speed-optimal lane change request based on the road objects by using the speed-optimal lane selector comprises the sub-steps ofdetermining (S128) a cost for an ego lane and costs for a left and / or a right lane, respectively, by using a cost function, wherein the cost function comprises a sum of costs in a lane at different points ahead of an ego position.5.The method according to claim 4, wherein the cost function comprises the sum of costs in the lane at different points and a constant cost offset in the lane.6.The method according to claim 4 or 5, wherein the cost function comprises a first cost component related to a static road model, wherein the static road model comprises information about lane marking types at the different points, wherein different lane marking types are associated with different costs.7.The method according to claim 4 to 6, wherein the cost function comprises a second cost component related to a dynamic road model, wherein the dynamic road model comprises information about recommended driving speeds in different lanes at the different points, wherein different recommended driving speeds have different costs.8.The method according to claim 7, wherein the dynamic road model comprises a vulnerable road user (VRU) , wherein the desired driving speed in a first lane in which the VRU is placed is a first desired driving speed, the desired driving speed in a second lane, adjacent to the first lane, is a second desired driving speed, and the desired driving speed in a third lane, adjacent to the second lane, is a third desired driving speed, wherein the second desired driving speed is greater than the first desired driving speed, and the third desired driving speed is greater than the second desired driving speed.9.The method according to any one of the claim 4 to 8, wherein the cost function comprises a third cost component related to a road condition data set, wherein the road condition data set comprises information about road conditions at the different points, wherein different road conditions are associated with different costs.10.The method according to any one of the preceding claims, wherein the ADS is an Advanced Driver-Assisted System (ADAS) , wherein the step of determining (S114) the final arbitrated lane change plan based on the navigation lane change request and the speed-optimal lane change request by using the arbitrator comprises the sub-steps ofrequesting (S130) a user conformation associated with the final arbitrated lane change plan by transmitting a user confirmation request to a user interface equipped device in the vehicle, andobtaining (S132) the user confirmation from the user interface equipped device and upon obtaining the user confirmation continuing with generating the lane change maneuver instruction data.11.The method according to any one of the preceding claims, wherein the navigation route is a graph data structure, wherein each lane segment is a graph edge and the ego position is a graph node, wherein connections are considered longitudinally, but not laterally.12.A computer program product comprising instructions which, when the program is executed by a computing device, causes the computer to carry out the method (S100) according to any one of the claims 1 –11.13.An apparatus (10) for operating an automated driving system (ADS) (310) of a vehicle (1) , wherein the ADS comprises a navigation lane selector configured to generate a navigation lane change request associated with a navigation route, wherein the navigation route comprises several lane segment combinations from a starting position to an end position, wherein different lane segment combinations are at least in part parallel, a speed-optimal lane selector configured, for an ego position assignments of the vehicle, to generate a speed-optimal lane change request, and an arbitrator configured to handle lane change requests from the navigation lane selector and the speed-optimal lane selector, respectively, the apparatus comprising a control circuitry (11) configured toobtain map data from an external server,obtain the navigation route,determine the lane segments associated to the navigation route,determine an ego lane assignment by using on-board vehicle sensors (324) and the map data,determine a navigation lane change request based on the navigation route and the ego lane assignment by using the navigation lane selector,identify road objects ahead of the vehicle by using the on-board vehicle sensors,determine the speed-optimal lane change request based on the road objects and the ego lane assignment by using the speed-optimal lane selector,determine a final arbitrated lane change plan based on the navigation lane change request and the speed-optimal lane change request by using the arbitrator,generate lane change maneuver instruction data based on the final arbitrated lane change plan, andtransmit the lane change maneuver instruction data to a maneuvering system of the vehicle for executing a lane change maneuver in accordance with the final lane change plan.14.The apparatus according to claim 13, wherein the ADS is an Advanced Driver-Assisted System (ADAS) , wherein the control circuitry (11) configured torequest a user conformation associated with the final arbitrated lane change plan by transmitting a user confirmation request to a user interface equipped device in the vehicle, andobtain the user confirmation from the user interface equipped device and upon obtaining the user confirmation continuing with generating the lane change maneuver instruction data.15.A vehicle (1) comprisingan ADS (310) , andan apparatus (10) according to claim 13 or 14.
Citation Information
Patent Citations
Autonomous driving system
US20180178801A1
Navigation cost computation for lane changes before a critical intersection
US20210370978A1
Method to arbitrate multiple automatic lane change requests in proximity to route splits
US20230278562A1