CALCULATING A LANE CHANGE CORRIDOR
Patent Information
- Authority / Receiving Office
- IT · IT
- Patent Type
- Designs
- Current Assignee / Owner
- STELLANTIS EUROPE SPA
- Filing Date
- 2024-05-14
Description
The present invention relates in general to the automotive field, in particular to an electronic automotive system for controlling the dynamics of a motor vehicle, in particular a self-driving or autonomous motor vehicle, designed to validate predicted trajectories of the motor vehicle. Staod of the Areas As is well known, predicting vehicle trajectories is a complex task that involves collecting and analyzing data from sensors and other vehicle detection systems. In the automotive field, the use of vehicle systems to validate trajectories, after having predicted them, is of fundamental importance to ensure the safety and efficiency of autonomous vehicles and vehicles equipped with driver assistance systems. To autonomously validate trajectories, collision detection algorithms are used to identify potential collisions along the predetermined path followed by the vehicle. Simulation tools are also widely used to validate vehicle trajectories, allowing for the creation of virtual scenarios and testing trajectories under realistic conditions. Simulations can include environmental factors, such as the presence of other vehicles, pedestrians, or road obstacles, to evaluate the effectiveness and safety of the proposed trajectories. Additionally, some algorithms are designed to calculate a motor vehicle's lane, based on information about the lane's boundary lines. Furthermore, validation algorithms are known to be used to validate predicted driving trajectories based on information about the lane's boundary lines. More specifically, such validation algorithms are configured to determine whether a predicted driving trajectory would lead, or cause, a motor vehicle to depart from its lane and to invalidate that driving trajectory if so. Object and Summary of the Invention The Applicant observed that prior art solutions, while satisfactory in some respects, are open to improvement. Specifically, these prior art solutions do not effectively manage lane-changing maneuvers, in which the vehicle moves from a current lane to a destination lane. For example, prior art solutions could invalidate a driving trajectory because it extends beyond a line delimiting the current lane. The purpose of the present invention is therefore to provide a solution that at least partially improves on prior art solutions. Specifically, the purpose of the present invention is to provide vehicle control software for calculating a lane change corridor for the vehicle; and, more specifically, to effectively validate predicted driving trajectories even in the event of a lane change maneuver. According to the present invention, a vehicle control software is provided as claimed in the appended claims. Brief Description of the Drawings Figure 1 shows a functional block diagram relating to the validation of automotive trajectories in automotive control software according to an embodiment of the present invention. Figures 2 and 3 schematically show different road scenarios related to a lane change maneuver performed by a motor vehicle according to a predefined regulation. Figure 4 schematically shows a lane change corridor of a motor vehicle calculated according to a preferred embodiment of the present invention. Description of Preferred Embodiments of the Invention The present invention will now be described in detail with reference to the accompanying figures to enable a skilled person to construct and use it. Various modifications to the described embodiments will be immediately apparent to those skilled in the art, and the general principles described may be applied to other embodiments and applications without departing from the scope of the present invention, as defined in the appended claims. Therefore, the present invention should not be considered limited to the described and illustrated embodiments, but should be accorded the broadest scope of protection consistent with the features described and claimed. Unless otherwise defined, all technical and scientific terms used herein have the same meanings commonly used by persons of ordinary skill in the art pertaining to this invention. In the event of a conflict, this specification, including the definitions provided, shall prevail. Furthermore, the examples provided are for illustrative purposes only and as such should not be considered limiting. In particular, the block diagrams included in the attached figures and described below are not to be understood as a representation of the structural characteristics, or construction limitations, but must be interpreted as a representation of functional characteristics, i.e. intrinsic properties of the devices and defined by the effects obtained or functional limitations and which can be implemented in different ways, therefore in such a way as to protect the functionality of the same (possibility of functioning). To facilitate understanding of the embodiments described herein, specific embodiments will be referenced and specific language will be used to describe them. The terminology used herein is intended to describe specific embodiments only and is not intended to limit the scope of the present invention. Figure 1 shows a functional block diagram relating to the validation (block 7) of automotive trajectories 9 in a automotive control software 1 according to an embodiment of the present invention. The vehicle control software or computer product 1 is stored in, and executable by, electronic processing resources 2, and is configured so that, when executed, such electronic processing resources 2 are configured to calculate a lane change corridor 12; preferably, in order to validate (block 7) predicted driving trajectories 9 for a vehicle 8. If a trajectory 9 is not validated, such electronic processing resources 2 are configured to generate a flag, i.e. an indicator of the occurrence of a condition of invalidity of the trajectory 9, which can then be used to trigger an appropriate vehicle intervention to cause, for example, the vehicle 8 to pull over to the edge of the road or the planning of a different trajectory 9. In detail, the present vehicle control software 1 allows to calculate the widest possible lane change corridor, in order to minimize any false alarms during the validation of a driving trajectory, for the vehicle for which a number of predefined calculation constraints are satisfied. Preferably, the motor vehicle 8 comprises such electronic processing resources 2 storing, and configured to execute, the motor vehicle control software 1. The vehicle control software 1 is designed to ensure that, when executed by the electronic processing resources 2, the latter become configured to perform one or more operations in order to calculate the lane change corridor 12 in the event of a request for a lane change maneuver; and to control the operation, in detail the dynamics, of the motor vehicle 8. With regard to the calculation of the lane change corridor 12 in general and the validation of the trajectories 9 of the vehicle 8, for which a lane change is expected, in particular it is emphasized that what matters are the operations that must be implemented to achieve this functionality and not the hardware and software architectures with which these operations are implemented, to the point that these could be implemented via a concentrated architecture, i.e. by a single vehicle electronic control unit (e.g. an ECU; Electronic Control Unit), or via a distributed cooperative architecture, for example distributed among different electronic devices (e.g., even external to vehicles) in communication and cooperating with each other according to a proprietary logical architecture that the manufacturer of the vehicle control software 1 will decide to adopt.For the sake of convenience, the following description will refer to a single automotive electronic control unit ECU 2, without thereby losing its generality. The ECU 2 is configured to receive vehicle parameters provided by an automotive sensor platform 3 of the motor vehicle 8; wherein, at least part of such vehicle parameters are indicative of the dynamics of the motor vehicle 8 and wherein, at least part of such vehicle parameters are indicative of the position of various lane markings (10A, 10B, 11A, 11B). By way of example and not limitation, the ECU 2 is designed to receive vehicle parameters, in detail data indicative of such vehicle parameters, via a motor vehicle on-board communication network (CAN). In particular, the received automotive quantities include position data indicative of the geographic position of the automotive vehicle 8 and provided, for example, by a automotive geolocalisation system of the automotive sensor platform 3. In detail, the vehicle quantities indicative of the position of different lane boundary lines (10A, 10B, 11A, 11B) include boundary data representative of the boundary lines 10A, 10B of a current lane 10 of the vehicle 8 (i.e., the lane 10 in which the vehicle 8 is travelling), and boundary data representative of the boundary lines 11A, 11B of at least one different lane 11 (for example, a lane 11 to the left of the current lane 10 and the direction of travel of the vehicle 8). In particular, these vehicle quantities are indicative of the position of different boundary lines of different lanes, including the current lane 10 of the vehicle 8; for example, vehicle sizes may be indicative of the position of the boundary lines of four or more different traffic lanes. In detail, the automotive sensor platform 3 comprises a camera 3A configured to capture one or more images representing a plurality of lane boundary lines (10A, 10B, 11A, 11B); that is, images through which it is possible to determine the position of a plurality of lane boundary lines (10A, 10B, 11A, 11B).By way of example, the ECU 2 is designed to receive such automotive quantities indicative of the position of different lane delimitation lines (10A, 10B, 11A, 11B) from a frontal automotive vision system comprising an ADAS (Advanced Driver Assistance System) camera 3A, of the automotive sensory platform 3, designed to capture digital images and perform various processing operations simultaneously on such captured digital images for the implementation of various applications, such as lane recognition so as to provide data representative of elements present in the captured digital images; in particular, the right and left delimitation lines 10A, 10B (with respect to the direction of travel of the motor vehicle 8) of the current lane 10 that the motor vehicle 8 is travelling in; possibly also preceding motor vehicles, guardrails, obstacles, vulnerable road users, road signs, etc.In detail, the received automotive quantities indicative of the dynamics of the motor vehicle 8 also include travel speed data indicative of the longitudinal and / or lateral travel speed of the motor vehicle 8 and provided, for example, by the automotive geolocalization system or by speed sensors, of the automotive sensor platform 3, associated with the wheels of the motor vehicle 8. In particular, such received automotive quantities, and indicative of the dynamics of the motor vehicle 8, also include acceleration data indicative of the acceleration of the motor vehicle 8; and conveniently, they include lateral jerk data indicative of the lateral jerk ( / erk) of the motor vehicle 8. Furthermore, such automotive quantities indicative of the dynamics of the motor vehicle 8 preferably include data indicative of a direction of travel of the motor vehicle 8.Furthermore, the ECU 2 is configured to determine, or calculate, a datum indicative of the direction of travel of the motor vehicle 8 on the basis of the motor vehicle quantities received. According to one aspect of the present invention where the vehicle inputs do not include lateral speed, the ECU 2 is configured to calculate the lateral speed based on the received vehicle inputs. For example, the ECU 2 is configured to calculate the driving speed during a curve based on the longitudinal speed of the vehicle 8 and the radius of the curve. According to a different example, and during an emergency maneuver, the ECU 2 is configured to calculate the lateral speed based on the longitudinal speed and the steering angle. According to a further example, and during a skid, the ECU 2 is designed to calculate the lateral speed based on the skid angle of the vehicle 8 with respect to the direction of travel (in radians) and based on the speed of the vehicle 8. Furthermore, and in greater detail, the received vehicle parameters also include information indicative of a request for a lane change maneuver; specifically, they include a direction indicator (i.e., data received from the indicator or lever on the dashboard of vehicle 8) of vehicle 8, and / or a message (e.g., a text message) indicative of the request for a lane change maneuver. For example, when the indicator is placed on the right side of the steering wheel of vehicle 8, the direction indicator is data indicative of the fact that the intention of the driver of vehicle 8 is to move into the right lane with respect to the current lane 10 in which he is traveling.In particular, the ECU 2 is also designed to determine a request for a lane change maneuver and to determine an initial time instant from which the direction of the motor vehicle 8 is to be monitored for the lane change maneuver. In detail, the ECU 2 is configured to receive information indicative of a request for a lane change maneuver and / or vehicle parameters indicative of the dynamics of the vehicle 8 from one or more sensors 3B, configured to detect vehicle parameters, of the vehicle sensor platform 3. Furthermore, conveniently, such received automotive quantities include curvature data indicative of a curvature reference kdesper the trajectory 9 of the automotive vehicle 8 and provided, for example, by a higher level controller 4. Furthermore, the ECU 2 is configured to determine (block 5) boundary lines 10A, 10B of a current driving lane 10 for the motor vehicle 8 on the basis of one or more received motor vehicle quantities indicative of the position of different lane boundary lines (10A, 10B, 11A, 11B); in particular, by determining (block 5) the spatial coordinates of the boundary lines 10A, 10B of the current driving lane 10 of the motor vehicle 8. In greater detail, the ECU 2 is configured to determine, or calculate, (block 5) the spatial coordinates of a plurality of different points or positions of the boundary lines 10A, 10B of the current driving lane 10. In particular, the ECU 2 is designed to define or calculate (block 5) a boundary line 10A, 10B, 11A, 11B based on a plurality of spatial coordinates determined for such lines. By way of example, the ECU 2 is configured to calculate (block 5) the spatial coordinates of the boundary lines 10A, 10B, 11A, 11B based on one or more image processing techniques. According to a different example, the ECU 2 is configured to determine (block 5) the spatial coordinates of the boundary lines 10A, 10B, 11A, 11B based on a predefined polynomial, conveniently of the third order of the following type: y = ax3+ bx2+ ex + d (1) where a, b, c and d are determined coefficients, and x and y are the longitudinal and, respectively, lateral spatial coordinates of the boundary lines 10A, 10B, 11A, 11B expressed in a Cartesian system. For example, the ECU 2 is designed to calculate, for each boundary line 10A, 10B, 11A, 11B, one or several quantities indicative of the distance between that boundary line 10A, 10B, 11A, 11B and the motor vehicle 8 (e.g., according to an ISO coordinate system) for several points or positions on an X-axis for a predefined (lookahead) distanceN: {yUi}, i = 1, ,4, n = 1, ..., N, where, i represents the number of the line 10A, 10B, 11A, 11B and n are the breakpoints along the route. Furthermore, the ECU 2 is designed to determine whether the motor vehicle 8 is about to perform a lane change maneuver, in order to move from the current driving lane 10 to a different destination driving lane 11 (different from the current driving lane 10), on the basis of one or more received vehicle quantities; in particular, on the basis of one or more of, conveniently all, information indicative of a request for a lane change maneuver, vehicle quantities indicative of the position of different lane boundary lines (10A, 10B, 11A, 11B), data on the driving speed of the motor vehicle 8 and data indicative of a direction of travel of the motor vehicle 8. According to one aspect of the present invention, the ECU 2 is designed to determine, based on a predefined algorithm, whether the motor vehicle 8 is about to perform a lane change maneuver based on the driving speed data, the direction of travel data, and the information indicative of a request for a lane change maneuver. In particular, this predefined algorithm is designed to calculate or determine whether within a predefined time (from a starting time point or from a current time point) the motor vehicle 8, proceeding at the current driving speed and in the current direction of travel, will cross a boundary line 11A, 11B of a destination lane 11; wherein, the starting time point coincides with the time at which a lane change maneuver was requested. According to a different aspect of the present invention, the ECU 2 is designed to determine whether the motor vehicle 8 is about to perform a lane change maneuver based on the content, in particular the textual content, of information indicative of a request for a lane change maneuver; for example, the message of such information includes textual content (e.g. predefined) to request a lane change maneuver. Furthermore, the ECU 2 is configured to determine lane boundary lines 11A, 11B of the destination lane 11 based on one or more received vehicle quantities indicative of the position of different lane boundary lines (10A, 10B, 11A, 11B); in particular, at least based on the vehicle quantities indicative of the position of such lane boundary lines (10A, 10B, HA, 11B). In particular, the ECU 2 is configured to determine the boundary lines 11A, 11B of the destination lane 11 when it determines that the motor vehicle 8 is about to perform a lane change maneuver. By way of example and not limitation, the ECU 2 is configured to determine the boundary lines 11A, 11B of the destination lane 11 only if it determines that the motor vehicle 8 is about to perform a lane change maneuver. The ECU 2 is also configured to calculate a lane change corridor 12, to connect the current lane 10 with the destination lane 11, based on one or more vehicle variables indicative of the dynamics of the vehicle 8 and on one or more predefined calculation constraints relating to the lane change. In detail, the ECU 2 is configured to calculate the lane change corridor 12 in such a way as to ensure that the predefined calculation constraints relating to the lane change are satisfied. Furthermore, the ECU 2 is configured to provide an output based on the lane change corridor 12. Figure 4 schematically shows a lane change corridor 12 of a motor vehicle 8 calculated according to a preferred embodiment of the present invention. In particular, the lane change corridor 12 is configured to extend the current lane 10 until it reaches, and optionally coincides with, the destination lane 11. Wherein, the lane change corridor 12 is a corridor within which the motor vehicle 8 that is about to perform a lane change must travel, at least during the lane change maneuver. These predefined lane change calculation constraints include one or more of a minimum time constraint to initiate the lane change maneuver, a maximum time constraint to initiate the lane change maneuver, a minimum time constraint to complete the lane change maneuver, and a maximum time constraint to complete the lane change maneuver. Preferably, these calculation constraints include the minimum time constraint to initiate the lane change maneuver, the maximum time constraint to initiate the lane change maneuver, the minimum time constraint to complete the lane change maneuver, and the maximum time constraint to complete the lane change maneuver. Specifically, the predefined calculation constraints are conditions that must be satisfied when calculating, or at the end of the calculation of, lane change corridor 12.Specifically, ECU 2 is configured to calculate the widest possible lane change corridor 12 for which the predefined calculation constraints are satisfied, in order to minimize any false alarms. Specifically, ECU 2 is configured to maximize the space within lane change corridor 12 so that the calculation constraints are satisfied. For example, these computation constraints include the minimum time constraint to initiate the lane change maneuver and the minimum time constraint to complete the lane change maneuver. According to a further different example, these computation constraints include the minimum time constraint to complete the lane change maneuver and the maximum time constraint to complete the lane change maneuver. According to a further different example, these computation constraints include the minimum time constraint to initiate the lane change maneuver and the maximum time constraint to initiate the lane change maneuver. Conveniently, the computation constraints also include a maximum lateral acceleration constraint for the lane change maneuver, and possibly also a maximum lateral jerk constraint for the lane change maneuver. In particular, the maximum lateral acceleration constraint for the lane change maneuver is satisfied if the lateral acceleration of the motor vehicle 8, during the lane change maneuver, is less than or equal to a predefined maximum permissible lateral acceleration value. Wherein, according to an aspect of the present invention, the ECU 2 is designed to determine, or receive, the maximum permissible lateral acceleration value based on a mapping made (for example, via a table) between a travel speed value of the motor vehicle 8 and a corresponding maximum permissible lateral acceleration. Optionally, the calculation constraints further include a minimum lateral acceleration constraint for the lane change maneuver; satisfied if it is determined that the lateral acceleration of the motor vehicle 8, during the lane change maneuver, is greater than or equal to a predefined minimum lateral acceleration value. Wherein, according to this aspect of the present invention, the ECU 2 is designed to determine, or receive, the minimum allowable lateral acceleration value based on a mapping made (for example, via a table) between a travel speed value of the motor vehicle 8 and a corresponding minimum allowable lateral acceleration. In particular, the maximum lateral jerk constraint for the lane change maneuver is satisfied if the lateral jerk of vehicle 8, during the lane change maneuver, is less than or equal to a predefined permissible lateral jerk value (conveniently, 5 m / s3). In detail, conveniently, the maximum lateral jerk constraint for the lane change maneuver is satisfied if the average lateral jerk of vehicle 8 for a predefined period of time, for example Od s, is less than or equal to the predefined permissible lateral jerk value. In particular, the minimum time constraint to initiate the lane change maneuver is satisfied when the time at which the lane change begins is greater than, or equal to, a predefined minimum time (preferably, three seconds) to initiate the maneuver; wherein, the time at which the lane change begins corresponds to the time at least one boundary line 10A, 10B of the current travel lane 10 begins to extend (or become longer) towards the destination travel lane 11 (i.e., passes the current travel lane 10 and extends in the direction of the more distant or outer boundary line 11B of the destination travel lane 11).In detail, the time at which the lane change begins is defined by the difference between a time instant at which the ECU 2 receives or determines a lane change request (for example, the current time instant), based on a command or data received, and a time instant at which the lane change maneuver actually begins; that is, at which such line 10A, 10B begins to extend outside the current driving lane 10. In particular, ECU 2 is designed to determine a lane change request, based on the received vehicle data, and to calculate a minimum time instant to initiate the lane change based on the predefined minimum time and the time instant at which ECU 2 determined or received the lane change request. For example, the minimum time constraint to initiate the lane change maneuver is satisfied when the time at which vehicle 8 would initiate the lane change maneuver is calculated to be greater than the minimum time instant calculated to initiate the lane change. Specifically, ECU 2 is configured to calculate or predict the time instant at which vehicle 8 would initiate the lane change maneuver based on the vehicle data received; specifically, this time instant corresponds to the time instant at which the boundary line 10A, 10B begins to extend. Specifically, ECU 2 is configured to determine that the minimum time constraint to initiate the lane change maneuver is satisfied when it determines that vehicle 8 would initiate the lane change maneuver at a time instant later than the minimum time instant to initiate the maneuver.For example, when the destination lane 11 is located to the left of the current lane 10 (with respect to the direction of travel of the motor vehicle 8), the minimum time constraint to initiate the maneuver is satisfied when the left boundary line 10B of the current lane 10 extends in the direction of the boundary line 11B of the destination lane 11 in a time greater than the predefined minimum time to initiate the lane change maneuver. Specifically, the maximum time constraint for initiating the lane change maneuver is satisfied when the time, or instant, at which the lane change begins is less than a predefined maximum time, or instant, (preferably five seconds) for initiating the maneuver. Specifically, ECU 2 is configured to determine that the maximum time constraint for initiating the lane change maneuver is satisfied when it determines that motor vehicle 8 would begin the lane change maneuver at an earlier time than the predefined maximum time instant for initiating the maneuver. In particular, the minimum time constraint to complete the lane change maneuver is satisfied when the time in which the lane change is completed is greater than, or equal to, a predefined or calculated minimum time (for the completion of the maneuver). Wherein, the time in which the lane change is completed corresponds to the time in which at least one boundary line 10A, 10B of the current lane 10, extending, reaches the corresponding boundary line 11A, 11B of the destination lane 11; or, wherein, the time in which the lane change is completed is defined by the difference between a time instant in which the lane change maneuver actually began and a time instant in which that maneuver was completed.In detail, the ECU 2 is configured to determine that the minimum time constraint for completing the lane change maneuver is satisfied when it determines that the motor vehicle 8 would complete the lane change maneuver at a time instant later than the predefined minimum time instant for completing the maneuver. In detail, ECU 2 is configured to determine that the minimum time constraint to complete the lane change maneuver is satisfied based on (i.e., when) the maximum acceleration constraint for the lane change maneuver is satisfied; specifically, based on a predefined minimum time (preferably two seconds) and a maximum acceleration for the lane change maneuver. In further detail, ECU 2 is configured to determine that the minimum time constraint to complete the lane change maneuver is satisfied based on the predefined minimum time and the maximum acceleration allowed for the lane change maneuver. Furthermore, and in particular, the maximum time constraint for completing the lane change maneuver is satisfied when the time in which the lane change is completed is less than or equal to a predefined maximum time (preferably ten seconds) for completing the maneuver. Specifically, ECU 2 is configured to determine that the maximum time constraint for completing the lane change maneuver is satisfied when it determines that motor vehicle 8 would complete the lane change maneuver at a time instant earlier than the predefined maximum time instant for completing the maneuver. Figures 2 and 3 schematically show different road scenarios related to a lane change maneuver performed by motor vehicle 8 according to a specific regulation for lane change maneuvers, namely UN Regulation No. 79 Suppl. 3. In detail, Figures 2 and 3 schematically show examples of lane change maneuvers performed within time limits defined by this regulation. Specifically, the calculation constraints are defined to ensure that the specific regulation for lane change maneuvers, namely UN Regulation No. 79 Suppl. 3, is respected or satisfied; this means that ECU 2 is configured to calculate lane change corridor 12 based on this regulation. Specifically, this regulation requires that, in the event of automatic initiation of the lane change maneuver, such maneuver must begin between three and five seconds after the manual activation of the procedure. Furthermore, the regulation requires that the lane change maneuver be completed in less than ten seconds. Furthermore, the regulation requires that, during the lane change maneuver, a direction indicator remain active, and that it be deactivated (automatically) when it is determined that the lane change maneuver has been completed for at least 0.5 seconds.In detail, this regulation imposes a plurality of acceleration limits for lane changes, predefined based on the speed of vehicle 8. For example, when the speed of vehicle 8 is between 30 km / h and 60 km / h, the total maximum lateral acceleration (as it corresponds to the sum of the acceleration to maintain the lane and the acceleration for lane changes) is 2.5 m / s2 and the minimum lateral acceleration is 0.3 m / s2. According to the preferred embodiment of the present invention, the ECU 2 is further configured to calculate, based on one or different vehicle variables indicative of the dynamics of the motor vehicle 8 and the predefined calculation constraints relating to the lane change, at least one connecting line 12A, 12B to connect the left (10B, 11B), or right (10A, 11A), boundary lines (with respect to the direction of travel of the motor vehicle 8) of the current lane 10 and the destination lane 11 respectively; wherein, the at least one calculated connecting line 12A, 12B delimits the lane change corridor 12. In particular, a connecting line 12A, 12B extends a boundary line 10A, 10B of the current lane 10 until it reaches the corresponding boundary line 11A, 11B of the destination lane 11; specifically, so that the latter coincides with the connecting line 12A, 12B at that point. According to a preferred aspect of the present invention, a connecting line 12A, 12B is a connecting curve. In particular, the ECU 2 is further configured to calculate a left-hand connection line 12B and a right-hand connection line 12A designed to connect the left-hand boundary lines 10B, 11B of the current lane 10 and the destination lane 11, and the right-hand boundary lines 10A, 11A of the current lane 10 and the destination lane 11, respectively. Furthermore, the ECU 2 is designed to calculate the lane change corridor 12 so that it is delimited by the left-hand connection line 12B and the right-hand connection line 12A (with respect to the direction of travel of the motor vehicle 8). Alternatively, optionally, the ECU 2 is configured to calculate a right, or left, tie line 12A, 12B to join the boundary line 10A, 10B of the current lane 10 with the corresponding (i.e., on the same side) boundary line 11A, 11B of the destination lane 11; and to calculate the lane change corridor 12 so that it is bounded on the left, or right, by such calculated tie line 12A, 12B and that, on the opposite side (right, or left), it is bounded by the opposite (with respect to the boundary line 10A, 10B from which the tie line 12A, 12B extends) boundary line 10B, 10A of the current lane 10. In particular, the ECU 2 is further configured to calculate the connecting line 12A, 12B based on information indicative of the position of the destination lane 11 with respect to the current lane 10; in particular, information indicative of whether the destination lane 11 is to the right, or to the left, with respect to the current lane 10. In detail, ECU 2 is configured for: - calculate, based on (in particular, so that the) minimum time constraint to complete the lane change manoeuvre is satisfied, a near link line 12B that extends the boundary line 10B (of the current lane 10) closer (with respect to the other boundary line 10A of the current lane 10) to the boundary lines 11A, 11B of the destination lane 11; and / or - calculate, based on (in particular, so that the) maximum time constraint to complete the lane change manoeuvre is satisfied, a remote link line 12A that extends the boundary line 10A, of the current lane 10, further (with respect to the other boundary line 10B of the current lane 10) from the boundary lines 11A, 11B of the destination lane 11. Note that, in particular, the left-hand boundary line 10B, with respect to the direction of travel, corresponds to the boundary line closest (with respect to the other boundary line 10A of the current lane 10) to the boundary lines 11A, 11B of the destination lane 11 when the destination lane 11 is located to the left of the current lane 10; otherwise, the left-hand boundary line 10B, with respect to the direction of travel, corresponds to the boundary line furthest (with respect to the other boundary line 10A of the current lane 10) from the boundary lines 11A, 11B of the destination lane 11 when the destination lane 11 is located to the right of the current lane 10.Please note that the reference numbers 10A, 10B, 11A, 11B are intended to be exemplary for the cases illustrated in the Figures (such as, for example, the case where the destination lane 11 is located to the right, with respect to the direction of travel of the vehicle 8, of the current lane 10); therefore, here and in the following, the boundary line closest to the boundary lines 11A, 11B of the destination lane 11 will be numbered, without this being restrictive, as the left boundary line 10B of the current lane 10. In particular, the ECU 2 is designed to determine which, among the boundary lines 10A, 10B of the current driving lane 10, is the boundary line 10B closest to (or least distant from) the boundary lines 11A, 11B of the destination driving lane 11; furthermore, in detail, the ECU 2 is designed to calculate the near-boundary line 12B and / or the far-boundary line 12A based on what it has determined.In particular, the ECU 2 is configured to determine the closest boundary line 10B, to the boundary lines 11A, 11B of the destination lane 11, based on a difference between the position (or spatial coordinates) of a boundary line 10A, 10B of the current lane 10 and the positions of the boundary lines 11A, 11B of the destination lane 11; in particular, by making a difference between the position of such boundary line 10A, 10B and the position of the boundary line 11B furthest from or away from the current lane 10. By way of example, the current lane 10 and the destination lane 11 share a boundary line 10B, 11A. According to a different example, a different driving lane (not illustrated here) is interposed between the current lane 10 and the destination lane 11. In particular, the near junction line 12B is the left, or right, junction line, and the far junction line 12A is the other junction line; that is, it is the right, or left, junction line 12A. In detail, the near link line 12B extends (or is prolonged) starting from the boundary line 10B, of the current lane 10, closest to the outermost boundary line 11B of the destination lane 11. In detail, the far link line 12A extends starting from the boundary line 10A, of the current lane 10, furthest to the outermost boundary line 11B of the destination lane 11. In more detail, the ECU 2 is further designed to calculate the next lane junction 12B, so that it reaches the corresponding boundary line 11B of the destination lane 11, based on a predefined minimum time to complete the lane change maneuver and based on a maximum acceleration for the lane change maneuver.In particular, the ECU 2 is also designed to determine the minimum value between a predefined minimum time and the value L* (where such value is indicative of the length, conveniently optimal, of the connecting line 12A, 12B) calculated on the basis of the maximum acceleration allowed for the lane change maneuver (conveniently, so that the maximum acceleration constraint for the lane change maneuver is satisfied); and to calculate the next connecting line 12B so that the latter reaches the boundary line 11B of the destination lane 11, starting from the corresponding boundary line 10B of the current lane 10, in a time equal to or less than such determined minimum value and starting from the initial time instant. In particular, the ECU 2, when receiving the lane change maneuver request, is designed to output the next connecting line 12B until the predefined minimum time instant for completing the lane change maneuver is reached and to output the boundary line 11B of the destination lane 11 for one or several time instants following such predefined minimum time instant (wherein, the connecting line 12B has reached such boundary line 11B of the destination lane 11). In particular, the ECU 2 is designed to calculate the remote tie line 12A so that it reaches the corresponding boundary line 11A of the destination lane 11 based on a predefined maximum time to complete the lane change maneuver; for example, within five seconds from the start of the lane change maneuver, or within ten seconds from the initial time point. In particular, the ECU 2 is designed to output the remote tie line 12A until the predefined maximum time point (e.g., ten seconds) to complete the lane change maneuver is reached and to output the boundary line 11A of the destination lane 11 for one or more time points following such predefined maximum time point. Preferably, ECU 2 is also configured to calculate the near-line 12B based on the minimum time constraint to initiate the lane change maneuver; and / or to calculate the far-line 12A based on the maximum time constraint to initiate the lane change maneuver. Optionally, alternatively, ECU 2 is configured to calculate the near-line 12B and / or to calculate the far-line 12A based on the minimum time constraint to initiate the lane change maneuver and the maximum time constraint to initiate the lane change maneuver, and not based on the minimum and maximum time constraints to complete the lane change maneuver. In detail, the ECU 2 is further configured to calculate the near-line 12B so that the minimum time constraint for initiating the lane change maneuver is satisfied; and to calculate the far-line 12A so that the maximum time constraint for initiating the lane change maneuver is satisfied. In further detail, the ECU 2 is configured to calculate the near-side link line 12B so that it begins to extend from the corresponding boundary line 10B of the current lane 10 at a time greater than or equal to a minimum time instant predefined by the minimum time constraint for initiating the lane change maneuver. Wherein, further, the ECU 2 is configured to calculate the far-side link line 12A so that it begins to extend from the corresponding boundary line 10A of the current lane 10 at a time less than or equal to a maximum time instant predefined by the maximum time constraint for initiating the lane change maneuver. In particular, the ECU 2, upon receiving the lane change maneuver request, is designed to output the boundary line 10B of the current travel lane 10 until a predefined minimum time instant (e.g., three seconds) to pass (or extend from) the boundary line 10B; then, the ECU 2 is designed to output the next junction line 12B until the predefined minimum time instant is reached to complete the lane change maneuver and to output the boundary line 11B of the destination travel lane 11 for one or several time instants following such predefined minimum time instant (wherein, the junction line 12B has reached such boundary line 11B of the destination travel lane 11). Furthermore, conveniently, the ECU 2, upon receiving the lane change maneuver request, is designed to output the boundary line 10A of the current travel lane 10 until a predefined maximum time instant (e.g., five seconds) is reached to cross the boundary line; then, the ECU 2 is designed to output the remote tie line 12A until the predefined maximum time instant (e.g., ten seconds) is reached to complete the lane change maneuver and to output the boundary line 11A of the destination travel lane 11 for one or several time instants following such predefined maximum time instant. In detail, the ECU 2 is designed to calculate the near-line 12B and the far-line 12A so as to define or delimit the lane change corridor 12; in more detail, so that the length of the near-line 12B is shorter than the length of the far-line 12A. In detail, the ECU 2 is designed to calculate the remote connecting line 12A and the near connecting line 12B (i.e., both boundary lines 12A, 12B of the lane change corridor 12) so as to, during the entire calculation process of the lane change corridor 12, process the boundary lines 10A, 10B, 11A, 11B of the lanes, maintaining the order of the latter even in the event of crossing one of such lines 10A, 10B, 11A, 11B by the motor vehicle 8; in particular, process the data received (in particular, from camera 3A of vehicle 8) so that their order does not change even if vehicle 8 crosses one of the lines 10A, 10B, 11A, 11B. According to one aspect of the present invention, the ECU 2 is configured to calculate a connecting line 12A, 12B using a polynomial curve; specifically, a fifth- or seventh-order polynomial curve. Specifically, each calculated connecting line 12A, 12B corresponds to a calculated polynomial curve. In particular, this fifth-order polynomial curve is expressed according to the following formulation: y(x) = c0+ cxx + c2x2+ c3x3+ c4x4+ c5x5. Furthermore, and in particular, the ECU 2 is configured to calculate a connecting line 12A, 12B, i.e. polynomial curve, by solving the following system (2): x x0= 0 yl·,, =0yl„ = o yl», = o Χψ — L (2) y\XT= wy\XT=0ly\xT = 0 Where, w is the width of the lane change road (in this case, it corresponds to the width of the lane, for example 3.5 m), L is the longitudinal length of the curve (which is assumed to be unknown); furthermore, where, the reference system is that of the vehicle, x0 corresponds to a longitudinal position x at the initial time instant 0 and y0 is a lateral position y at time instant 0, y and y correspond respectively to the lateral velocity and lateral acceleration of the motor vehicle 8, xT corresponds to x at time instant T and yT is y at time instant T. In detail, and furthermore, x is the speed of the motor vehicle 8. In detail, ECU 2 is designed to calculate the solution of the system (2) presented above by assigning the following values to the five different coefficients: c0= c1= c2= 0, c3= 10 , c4= -15-j, c5= 6 - By way of example and not limitation, the coefficients are as follows: c0= c1= c2= 0, c3= 33, c4= --j5, c5=21. In more detail, assuming that the longitudinal travel speed is constant over time, the solution of this system (2) can also be expressed over time, i.e. by the following formulation (3): (y(t) = 10 x(t) = ryi ^t3-15^t4+ 6^t5(3) In this way, the ECU 2 becomes configured to calculate the polynomial curves, i.e. the connecting lines 12A, 12B, by solving the presented system and choosing the minimum and maximum time values (in particular, T=5 and T=10) for the near connecting line 12B and for the remote connecting line 12A respectively. Preferably, the ECU 2 is configured to calculate the geometric curvature of the road by means of the following formulation (4): < ·. = (¾^ f (4) λ T_y Furthermore, and in particular, the ECU 2 is designed to calculate, or predict, the lateral acceleration required (or, an indicative data thereof) to follow the curvature calculated on the basis of the latter; in detail, also on the basis of the speed of the motor vehicle 8. In further detail, the ECU 2 is designed to calculate such required lateral acceleration by, in particular by solving, the following formula yroad= ^roaar%· In further detail, the ECU 2 is configured to determine the maximum lateral acceleration allowed on the basis of such calculated required lateral acceleration; in particular, on the basis of (or, by solving) the following formula: aymax= min(2. 5 — |yroad|, 1) ; where, such formula can be inferred considering the UN Regulation. In particular, ECU 2 is configured to calculate x so that y = yMAx and solving for y = 0 (in detail, the jerk, i.e. the third derivative of y, is 0) as a function of L; i.e. %MAX= | V3L ' In detail, ECU 2 is configured to determine that the minimum time constraint to complete the lane change maneuver is satisfied based on (i.e., when) the maximum acceleration constraint for the lane change maneuver is satisfied; specifically, based on a predefined minimum time (preferably, two seconds) and based on a maximum acceleration for the lane change maneuver. Therefore, ECU 2 is configured to calculate an indicative value of the optimal length L* of the polynomial curve, i.e. of the connecting line 12A, 12B, based on the maximum permitted acceleration av (net of the required lateral acceleration / maxv to follow a current driving trajectory); in detail, by solving y(%«Ax) = ay;mii., and obtaining L* = |35^ . In detail, ECU 2 is configured to calculate the next connecting line 12B also based on L*; i.e., so that the minimum time calculation constraint to complete the driving maneuver is respected.In detail, the minimum time calculation constraint to complete the driving maneuver is respected (or satisfied) if it is determined that the near-junction line 12B reaches the corresponding boundary line of the destination lane 11 in a time later than, or corresponding to, the minimum value between the predefined minimum time to complete this maneuver and the calculated L* value. Conveniently, but optionally, ECU 2 is configured to compute a connecting line, either near 12B or far 12A, based on a seventh-order polynomial curve to satisfy the maximum lateral jerk computation constraint. By way of example and not limitation, ECU 2 is configured to calculate such connecting line 12A, 12B based on the constraint, or condition, yMAX^ 0, 5 m / s3. In particular, this seventh-order polynomial curve is expressed according to the following formulation: y(%) = c0+ CjX + c2%2+ c3%3+ c4%4+ c5%5+ c6%6+ c7%7. Furthermore, and in particular, the ECU 2 is configured to calculate a connecting line 12A, 12B, i.e. polynomial curve, by solving the following system (5): χ χο= Ο yk. =Οrk =Οrk =Ο5>Ί«. =ΟΧΝ=Τ ν|.·, = W ν|<, =Ο y=Οlylxw= ο (5) The ECU 2 is further configured to provide an output based on the lane change corridor 12. For example, the ECU 2 is configured to calculate (block 6) a trajectory 9 of the motor vehicle 8 based on the calculated lane change corridor 12 and to provide an output of this calculated trajectory 9. In particular, the ECU 2 is also designed to control the operation, and in detail the dynamics, of the motor vehicle 8 on the basis of this lane change corridor 12. In particular, the ECU 2 is configured to display, on electronic display resources (for example, a display) of the motor vehicle 8, the lane change corridor 12 and / or information indicative of the direction that the motor vehicle 8 should follow from the initial time instant until an end-of-monitoring time instant; at which point, the display of the lane change corridor 12 is to end. In detail, this end-of-lane-change-maneuver time instant corresponds to a time instant following the maximum time instant for completing the lane change maneuver (defined by the maximum time constraint for completing the lane change maneuver).In more detail, ECU 2 is configured to calculate the time instant of the end of the lane change maneuver by adding a predefined time, preferably based on specific regulations, to the maximum time instant to complete the lane change maneuver; for example, such predefined time to be added to the maximum time instant to complete the lane change maneuver is less than or equal to 0.5 seconds. Preferably, the ECU 2 is configured to calculate (block 6) a predicted driving trajectory 9 for the motor vehicle 8 based on one or more received motor vehicle parameters; and to validate (block 7) the predicted driving trajectory 9 based on the calculated lane change corridor 12. In particular, the ECU 2 is configured to freeze (i.e., not modify) the lane change corridor 12, and its boundary lines, during one or more (conveniently all) calculations for the validation or invalidation (block 7) of the predicted trajectory 9. In particular, the ECU 2 is designed to calculate an actual driving corridor 13 of the motor vehicle 8 based on the current driving lane 10, based on the destination driving lane 11 and based on the lane change corridor 12; and is further designed to validate (block 7) the predicted driving trajectory based on such calculated actual driving corridor 13. In detail, this actual driving corridor 13 of the motor vehicle 8 includes the lane change corridor 12. In detail, the ECU 2 is designed to calculate this actual driving corridor 13 of the motor vehicle 8 in such a way that it starts with the current driving lane 10, continues with the lane change corridor 12 and finally reaches the destination driving lane 11. In greater detail, the ECU 2 is further configured to calculate the boundary lines 13A, 13B defining the actual driving corridor 13 of the motor vehicle 8 in such a way that the latter include the boundary lines 10A, 10B of the current driving lane 10, the boundary lines 12A, 12B of the lane change corridor 12 and the boundary lines 11A, 11B of the current driving lane 11. In more detail, the ECU 2 is further configured to calculate the boundary lines 13A, 13B defining the actual driving corridor 13 of the motor vehicle 8 so that the latter are defined by sequentially inserting, or combining, the boundary lines 10A, 10B of the current driving lane 10, the boundary lines 12A, 12B of the lane change corridor 12 and the boundary lines 11A, 11B of the current driving lane 11. In particular, the ECU 2 is configured to process the received vehicle data, at least indicative of the dynamics of the vehicle 8, to predict (block 6) a driving trajectory 9 of the vehicle 8 and validate (block 7) the predicted trajectory 9 on the basis of the spatial coordinates of the calculated lane change corridor 12 and a proprietary validation criterion, conveniently based on the driving speed of the vehicle 8. According to one aspect of the present invention, the predicted trajectory 9 is a dynamic trajectory, i.e. it is a trajectory 9 predicted (block 6) on the basis of the curvature reference kdese of the position and the longitudinal dynamics, in particular the driving speed, of the motor vehicle 8. According to a different aspect of the present invention, the predicted trajectory 9 is a geometric trajectory, i.e. it is a trajectory predicted on the basis of the curvature reference kdese of the position of the motor vehicle 8, but without taking into account the dynamics, in particular the speed, of the motor vehicle 8. Wherein, optionally, the geometric trajectory 9 is calculated (block 6) on the basis of the following formula: _ kdes 2 ystatic £ % where x and y are the longitudinal and, respectively, lateral spatial coordinates of the geometric trajectory expressed in a Cartesian system. As previously mentioned, the curvature reference kdes is calculated by a higher-level control (block 4) as a function of a planned trajectory 9 (block 6) by a trajectory planner as a function of one or more digital road maps and data provided by the automotive sensor platform 3 and including the delimitation data. By way of example and not limitation, in order to validate (block 7) the predicted trajectory 9, the ECU 2 is further configured to calculate whether the predicted trajectory 9 intersects one of the boundary lines of the lane change corridor 12 (or, of the calculated actual driving corridor 13) and, if at least one intersection is determined, calculate the position of the intersection point; and to validate (block 7) such predicted trajectory 9 based on the position of the intersection point. For example, the ECU 2 is further configured to calculate the intersection distance xe, conveniently in the longitudinal direction, between the position of the motor vehicle 8 and the position of the intersection point; and to calculate a comparison distance xsafe with which to compare the intersection distance xe, based on the driving speed of the motor vehicle 8, conveniently a safety distance xsn / e, which for example is equal to the square of the longitudinal speed multiplied by a constant.Furthermore, for example, the ECU 2 is configured to validate (block 7) the predicted trajectory 9 based on the position of the intersection point, the at least one calculated comparison distance xsafe and a predefined criterion, conveniently as long as the intersection distance xe is equal to or greater than the at least one calculated comparison distance xsafe. In particular, the higher the safety distance value xsafe, the more likely it is that a trajectory 9 will not be validated and that a signal to trigger a vehicle intervention will be generated and transmitted. In greater detail, in order to validate (block 7) the predicted trajectory 9, the ECU 2 is configured to increase the calculated comparison distance xsaje as long as the calculated comparison distance xsaje is less than the intersection distance xe and is greater than the additional intersection distance xestatic. Furthermore, ECU 2 is configured to validate (block 7) the predicted trajectory 9 as long as the calculated comparison distance xsaje is less than the intersection distance xe; and to invalidate (block 7) the predicted trajectory 9 as long as the calculated comparison distance xsaje is greater than the intersection distance xe. In detail, ECU 2 is configured to generate and transmit the signal to trigger a vehicle intervention if trajectory 9 is determined to be invalid. If trajectory 9 is determined to be valid (i.e., not invalidated), ECU 2 is configured to control the operation, or dynamics, of vehicle 8 so as to cause it to follow the aforementioned driving trajectory 9. This automotive control software 1 has several advantages. In particular, the Applicant notes that the present invention allows a motor vehicle 8 to perform a lane change in compliance with a specific regulation, or standard; in detail, in compliance with UN Regulation No.79 Suppl. 3. In particular, the present invention allows for the calculation of a lane change corridor 12, within which the motor vehicle 8 which is about to make a lane change must travel, on the basis of one or more predefined constraints in order to comply with specific regulations. In detail, this vehicle control software 1 can be advantageously used to determine whether a driving trajectory 9 is valid or not based on fast checks, particularly those designed to be applied in real time. In greater detail, this vehicle control software 1 can be used to validate (block 7) a predicted trajectory 9, advantageously when the ECU 2 predicts that the vehicle 8 will perform a lane change maneuver. Furthermore, the Applicant notes that the vehicle control software 1 provides the greatest possible amount of free space within the lane change corridor 12 while ensuring that the predefined calculation constraints are satisfied, minimising any false alarms. In detail, the Applicant notes that the present invention allows for the calculation of the widest possible lane change corridor for the vehicle for which the predefined calculation constraints are satisfied, in order to minimize any false alarms. In greater detail, the Applicant notes that the present software 1 allows for the calculation of a lane change corridor 12 considering the worst case (for the time limits).
Claims
1. Automotive control software (1) stored in, and executable by, electronic processing resources (2) and designed so that, when executed, the electronic processing resources (2) become configured to: - receive automotive quantities provided by an automotive sensor platform (3) of a motor vehicle (8); wherein, at least part of such automotive quantities are indicative of the dynamics of the motor vehicle (8) and wherein, at least part of such automotive quantities are indicative of the position of different lane boundary lines; - determine boundary lines (10A, 10B) of a current driving lane (10) for the motor vehicle (8) based on one or more received automotive quantities indicative of the position of different lane boundary lines;- determine whether the motor vehicle (8) is about to perform a lane change manoeuvre, in order to move from the current lane (10) to a different destination lane (11), on the basis of one or more received vehicle quantities; and, determine boundary lines (11A, 11B) of the destination lane (11) on the basis of one or more received vehicle quantities indicative of the position of different lane boundary lines; - calculate a lane change corridor (12), to connect the current lane (10) with the destination lane (11), on the basis of one or more received vehicle quantities indicative of the dynamics of the motor vehicle (8) and on the basis of one or more predefined calculation constraints relating to the lane change;wherein, the default lane change calculation constraints include one or more of a minimum time constraint to initiate the lane change maneuver, a maximum time constraint to initiate the lane change maneuver, a minimum time constraint to complete the lane change maneuver, and a maximum time constraint to complete the lane change maneuver; and provide an exit based on the lane change corridor (12).; 2. Automotive control software (1) according to claim 1, wherein the predefined calculation constraints relating to the lane change include a minimum time constraint to initiate the lane change maneuver, a maximum time constraint to initiate the lane change maneuver, a minimum time constraint to complete the lane change maneuver, and a maximum time constraint to complete the lane change maneuver.
3. Automotive control software (1) according to claim 2, wherein the predefined calculation constraints relating to the lane change further comprise a maximum lateral acceleration constraint for the lane change maneuver, and possibly also a maximum lateral jerk constraint for the lane change maneuver.
4. Automotive control software (1) according to any of the preceding claims, and designed so that, when executed, the electronic processing resources (2) become configured to calculate, based on one or different automotive quantities indicative of the dynamics of the automotive vehicle (8) and the predefined calculation constraints relating to the lane change, at least one connecting line (12A, 12B) to join the right (10A, 11A) or left (10B, 11B) boundary lines, with respect to the direction of travel of the automotive vehicle (8), respectively of the current lane (10) and the destination lane (11); wherein, the at least one calculated connecting line (12A, 12B) delimits the lane change corridor (12).
5. Automotive control software (1) according to claim 4, and designed so that, when executed, the electronic processing resources (2) become configured to: - calculate, based on the minimum time constraint to complete the lane change maneuver, a near link line (12B) that extends the boundary line (10B), of the current driving lane (10), closer to the boundary lines (11A, 11B) of the destination driving lane (11); and / or - calculate, based on the maximum time constraint to complete the lane change maneuver, a far link line (12A) that extends the boundary line (10A), of the current driving lane (10), further from the boundary lines (11A, 11B) of the destination driving lane (11).
6. Automotive control software (1) according to claim 5, and designed so that, when executed, the electronic processing resources (2) become further configured to calculate the near-junction line (12B), so that it reaches the corresponding boundary line (11B) of the destination lane (11), based on a predefined minimum time to complete the lane change maneuver and based on a maximum acceleration for the lane change maneuver.
7. Automotive control software (1) according to claim 5 or 6, and designed so that, when executed, the electronic processing resources (2) become further configured to: - calculate the near lane line (12B) also based on the minimum time constraint to initiate the lane change maneuver; and / or - calculate the far lane line (12A) also based on the maximum time constraint to initiate the lane change maneuver.
8. Automotive control software (1) according to any of claims 5 to 7, and designed so that, when executed, the electronic processing resources (2) become configured to calculate a connecting line (12A, 12B) by means of a fifth, or seventh, order polynomial curve.
9. Automotive control software (1) according to any of the preceding claims, and designed so that, when executed, the electronic processing resources (2) become configured to: - calculate (block 6) a predicted driving trajectory (9), for the automotive vehicle (8), based on one or more received automotive quantities; and - validate (block 7) the predicted driving trajectory (9) based on the calculated lane change corridor (12).
10. Motor vehicle (8) comprising electronic processing resources (2) storing and configured to execute the motor vehicle control software (1) according to any of the preceding claims.