Patent Description:
Some vehicles manufactured nowadays are equipped with one or more types of systems that can at least in part handle operations relating to the driving of the vehicle. The level of driving autonomy provided can vary between such systems to a significant extent. Some existing approaches to assisted driving provide vehicle localization using a global positioning system (GPS) receiver together with a high-definition map. However, such technology can be costly to implement in a vehicle. Moreover, high-definition maps may not be readily available for all areas, which can place limitations on or prevent the use of assisted driving. <CIT> discloses an automated vehicular lane changing method and apparatus, comprising: a vehicle in an automated driving state receiving a lane changing request, predicting a moving state of the vehicle when arriving at a lane changing endpoint, planning a lane changing path and a vehicle speed at an ith time for the vehicle, determining a steering wheel turning angle of the vehicle at the ith time according to a curvature of the lane changing path, the vehicle speed and a model of a steering wheel turning angle, if the turning angle falls in a range of effective turning angles, determining a moving state of the vehicle at an (i+<NUM>)th time according to a vehicle motion model, the moving state of the vehicle and the steering wheel turning angle at the ith time, if the difference between the moving state of the vehicle at the (i+<NUM>)th time and the predicted moving state is less than a preset error, and driving the vehicle to change the lane according to the lane changing path planned for each time at the planned vehicle speed. <CIT> discloses a lane change control apparatus including a lane information extractor configured to obtain lane information for a driving lane by using image information for a lane. A lane changeable time calculator is configured to calculate a lane changeable time by using speed information of an own vehicle and information for peripheral vehicles obtained from sensing apparatuses installed in the vehicle.

In a first aspect of the present invention, a computer-implemented method comprises the features defined in claim <NUM>.

Implementations can include any or all of the following features. The comparison is performed to find a best fit for the second waypoints among the first waypoints. The first global path is defined at an outset of the lane change, the computer-implemented method further comprising defining, by the assisted-driving system, a transformation matrix between an origin of the lane change and each of multiple points along the first global path. The computer-implemented method further comprises using the transformation matrix in defining the parametric representation. The parametric representation comprises coefficients for a polynomial. The polynomial is a third-order polynomial. The first output includes first x,y-coordinates, the computer-implemented method further comprising generating second x,y-coordinates from the parametric representation, wherein the comparison is performed using the first and second x,y- coordinates. The parametric representation forms a plurality of first curves, wherein the first output forms a second curve, and wherein the comparison seeks to match the second curve to at least one of the plurality of first curves. The computer-implemented method further comprises forming a coefficient matrix of the coefficients. The controllers include at least a steering control or an acceleration control. The comparison includes a determination whether the second waypoints are within a threshold of at least one set of the first waypoints. The first global path is defined at an outset of the lane change, wherein the comparison matches the second waypoints with a first set of the first waypoints, the first set of the first waypoints associated with a first point along the first global path, and wherein the references are selected from the first global path beginning at the first point. The references are selected from the first global path beginning at the first point although the vehicle is not at a location corresponding to the first point. The computer-implemented method further comprises receiving a second output of the perception component, and repeating the comparison based on the second output, wherein if the threshold is not met for the second output, a second global path is defined. Performing the comparison comprises performing a one-directional search of the first waypoints. The comparison indicates that the second waypoints are not within the threshold of any set of the first waypoints, the computer-implemented method further comprising defining the first global path in response to the comparison. The first global path is defined to replace a second global path that had been defined earlier in the lane change.

In a second aspect of the present invention, a computer program product comprises the features defined in claim <NUM>.

In a third aspect of the present invention, a vehicle comprises the features defined in claim <NUM>.

Implementations can include any or all of the following features. The controllers include at least a steering controller; the perception component includes at least one of a camera and a lidar; and the means actuates the lane change by defining the parametric representation, receiving the local information from the perception component, performing a comparison based on the local information and the parametric representation, and providing references of a global path to the controllers, the references selected based on the comparison.

This document describes examples of systems and techniques providing lane change for a vehicle controlled by an assisted-driving (AD) system, the lane change performed based only on local information. In some implementations, the vehicle can be allowed to proceed based on the original definition of a global path, as long as the vehicle's departure from that global path does not exceed a threshold. The AD system can perform a fitting of detected sensor parameters to aspects of the defined global path, and proceed without redefining as long as the fit is good enough. For example, this can allow the AD system to control the vehicle during a lane change without resorting to localization tools such as a GPS receiver or a high-definition map.

To execute an autonomous lane change, the ego vehicle can follow the planned path (the global path) closely. During a lane change a motion planner can go through a number of iterations as part of controlling the vehicle. In each iteration, a path can be generated with updated sensor information and in an updated ego frame. However, the new path should match closely with the global path. The present subject matter enables creation of a local path preserving the shape of the global path while relying solely on sensor information available in local frame.

The following example illustrates that the ego vehicle does not necessarily follow the global path exactly. The controllers tasked with trajectory tracking can make use of a kinematic/dynamic model of the vehicle in executing the lane change according to the global path. In so doing, the controllers can seek to compensate for the delays in the vehicle actuators and other unintended circumstances. However, due to the inherent inaccuracies of modeling and/or estimation of vehicle parameters, the actual path followed by the ego vehicle can become offset from the planned path at one or more points during the lane change. In such situations a new path can sometimes be generated. The new path can still comfortably preserve the original shape of the planned path to the extent possible.

If the vehicle follows a global path during the lane change, the vehicle's behavior can provide a human-like lane change experience. Namely, the global path may have been designed to be smooth and comfortable, and may therefore be persistent temporally. By contrast, if the vehicle had been entirely controlled by local planning during the lane change maneuver, the experience may have been different from how a human usually drives and may have been uncomfortable to the passenger. This is because a lane change that is entirely based on local planning is recalculated at each planning step and does not have a global plan from beginning to end of the lane change. As a result, such a local-plan lane change can feel robotic to the passenger. On the other hand, a true global plan can be achieved only with a global localization capability, which may require complex and costly components or services such as a high-quality GPS receiver or HD maps. However, the present subject matter can use local information to derive a globally persistent plan, and thereby provide a better lane change experience.

Examples herein refer to a vehicle. A vehicle is a machine that transports passengers or cargo, or both. A vehicle can have one or more motors using at least one type of fuel or other energy source (e.g., electricity). Examples of vehicles include, but are not limited to, cars, trucks, and buses. The number of wheels can differ between types of vehicles, and one or more (e.g., all) of the wheels can be used for propulsion of the vehicle. The vehicle can include a passenger compartment accommodating one or more persons. At least one vehicle occupant can be considered the driver; various tools, implements, or other devices, can then be provided to the driver. In examples herein, any person carried by a vehicle can be referred to as a "passenger" of the vehicle, regardless whether the person is driving the vehicle, or whether the person has access to controls for driving the vehicle, or whether the person lacks controls for driving the vehicle. In examples herein, the vehicle that is the subject of the example is sometimes referred to as the "ego vehicle". One or more other vehicles are sometimes referred to as a "target vehicle". Multiple vehicles in the present examples are illustrated as being similar or identical to each other for illustrative purposes only.

Examples herein refer to assisted driving (e.g., as performed by an AD system). Assisted driving involves at least partially automating one or more dynamic driving tasks. An ADAS can perform assisted driving and is an example of an assisted-driving system. Assisted driving is performed based in part on the output of one or more sensors typically positioned on, under, or within the vehicle. While an autonomous vehicle is an example of a system that performs assisted driving, not every assisted-driving system is designed to provide a fully autonomous vehicle. Several levels of driving automation have been defined by SAE International, usually referred to as Levels <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, and <NUM>, respectively. For example, a Level <NUM> system or driving mode may involve no sustained vehicle control by the system. For example, a Level <NUM> system or driving mode may include adaptive cruise control, emergency brake assist, automatic emergency brake assist, lane-keeping, and/or lane centering. For example, a Level <NUM> system or driving mode may include highway assist, autonomous obstacle avoidance, and/or autonomous parking. For example, a Level <NUM> or <NUM> system or driving mode may include progressively increased control of the vehicle by the assisted-driving system. For example, a Level <NUM> system or driving mode may require no human intervention of the assisted-driving system.

Examples herein refer to local information. Local information includes data generated by perception components such as a camera or lidar that are situated within or on the vehicle. A GPS receiver, by contrast, generates an output that is not local information (e.g., it can be characterized as global information) because it requires the presence of satellites to generate the signals being received. For example, a camera detects incoming light but does not necessarily require any particular technology external to the vehicle to generate that light. A lidar, moreover, transmits light from the vehicle in order to detect its reflections, but also does not necessarily require any particular technology external to the vehicle. Reliance only on local information also does not include use of a high-definition map of the roadway. As used herein, a high-definition map is a depiction of the roadway that has a decimeter-scale resolution or higher. For example, the present subject matter does not involve use of so-called high definition maps (HD-maps) by the AD system in controlling the vehicle to perform a lane change.

Examples herein refer to a lane for a vehicle. As used herein, a lane is a path traveled by a vehicle currently, in the past, or in the future; the path where the vehicle is currently located can be referred to as an ego lane. By contrast, a lane towards which the vehicle may be directed to travel is sometimes referred to as a target lane. A lane may be, but is not necessarily, defined by one or more markings on or adjacent the roadway. The distinction between one lane and another lane can be visually noticeable to a passenger, or can be solely defined by the AD system, to name just two examples. A lane as used herein includes a straight roadway (e.g., free of turns) and a roadway making one or more turns. A lane as used herein can be part of a roadway that is restricted to one-way travel (e.g., a one-way street), or can be part of a roadway allowing two-way traffic. A lane as used herein can be part of a roadway that has only a single lane, or that has multiple lanes. In the present subject matter, an ego lane and a target lane can be, but are not necessary, essentially parallel to each other. For example, one of the ego lane and the target lane can form a nonzero angle relative to the other.

Examples herein refer to a sensor. A sensor is configured to detect an event and/or a change in one or more aspects of its environment and output signal(s) reflecting the detection. As illustrative examples only, a sensor can indicate one or more of a distance between the vehicle and an object, a speed of the vehicle, a trajectory of the vehicle, or an acceleration of the vehicle. Examples of sensors that can be used with one or more embodiments include, but are not limited to: a light sensor (e.g., a camera); a scanning system (e.g., lidar); a radio-based sensor (e.g., radar); an acoustic sensor (e.g., an ultrasonic device and/or a microphone); an inertial measurement unit (e.g., a gyroscope and/or accelerometer); a speed sensor (e.g., for the vehicle or a component thereof); a location sensor (e.g., for the vehicle or a component thereof); an orientation sensor (e.g., for the vehicle or a component thereof); a torque sensor; a temperature sensor (e.g., a primary or secondary thermometer); a pressure sensor (e.g., for ambient air or a component of the vehicle); a humidity sensor (e.g., a rain detector); or a seat occupancy sensor.

<FIG> shows an example of a global frame <NUM> and local frames <NUM> and <NUM>. The examples described with reference to the global frame <NUM>, local frame <NUM>, and/or local frame <NUM> can be used with one or more other examples described elsewhere herein. Each of the global frame <NUM> and local frames <NUM> and <NUM> can be represented by a coordinate system (e.g., with Cartesian coordinates relative to a coordinate system of an ordered set of perpendicular axes). For example, the global frame <NUM> can be defined for use of so-called "east, north, up" (ENU) coordinates. As another example, the local frame <NUM> and/or <NUM> can be specified using a longitudinal and lateral position with reference to a reference path, such as with Frenet coordinates.

The global frame <NUM> and local frames <NUM> and <NUM> are here defined relative to an environment <NUM> that is schematically shown from above to include at least an ego lane <NUM> and a target lane <NUM>. The environment <NUM> can include a roadway, including, but not limited to, a street, alley, road, highway, or a freeway, to name just a few examples. A vehicle <NUM> having an AD system (e.g., that can perform motion planning as described below with reference to <FIG>) is currently located in the ego lane <NUM>. For example, the vehicle <NUM> is traveling, under control of the AD system, along the ego lane <NUM> in a direction from left to right in the illustration.

As part of controlling the motion of the vehicle <NUM>, the AD system can perform one or more tasks. One example of such a task is a lane change. In some implementations, the AD system can plan the action of controlling the vehicle <NUM> to perform a lane change from the ego lane <NUM> to the target lane <NUM>. For example, this action can be triggered by a user input indicating that a lane change should be performed. As another example, the AD system can plan the lane change without being directly triggered by a user (e.g., based on following a defined navigation route). During a lane change, in every iteration of the motion planner, the motion planner may be required to generate a path with updated sensor information and in the updated ego frame (e.g., the local frame <NUM> or <NUM>). However, the new path should match closely with the path planned when the lane change was initiated (defined in the global frame <NUM>). The present subject matter can enable the AD system to create a local path that preserves the shape of the global path, relying solely on local information (e.g., on sensor information available in the local frame).

Here, to manage the lane change (and optionally for other purposes), the AD system can define waypoints <NUM> regarding the target lane <NUM>. Any number of the waypoints <NUM> can be defined, as schematically illustrated here by waypoints <NUM>-<NUM>, <NUM>-<NUM>,. , <NUM>-i,. and <NUM>-N, respectively, where N is any integer greater than unity and <NUM> ≤ i ≤ N. The waypoints <NUM> can be computer-based definitions (e.g., with reference to the global frame <NUM>). For example, the AD system can seek to place the waypoints <NUM> at a transverse center of the target lane <NUM> so that a given waypoint <NUM>-i is essentially equally far from the left and right side boundaries of the target lane <NUM>. In some implementations, the waypoints <NUM> can be defined as a polynomial. Any order of polynomial can be used. For example, the waypoints <NUM> can be defined as a third-order polynomial: <MAT> where x and y are spatial coordinates and Ci (i=<NUM>,<NUM>,<NUM>,<NUM>) are the target lane coefficients.

Some transformations will now be described for explanatory purposes. Line <NUM> connects the vehicle <NUM> (e.g., the center of gravity thereof) with the waypoint <NUM>-<NUM> when the vehicle <NUM> is positioned according to local frame <NUM>. Similarly, line <NUM> connects the vehicle <NUM> with the waypoint <NUM>-<NUM> when the vehicle <NUM> is positioned according to local frame <NUM>. A transformation <NUM> (sometimes referred to as GT<NUM>) represents the transformation from the local frame <NUM> to the global frame <NUM>. Similarly, a transformation <NUM> (sometimes referred to as GT<NUM>) represents the transformation from the local frame <NUM> to the global frame <NUM>. A transformation <NUM> (sometimes referred to as <NUM>T<NUM>) represents the transformation from the local frame <NUM> to the local frame <NUM>. However, the transformation <NUM> may be unknown to the AD system.

For general highway driving scenarios, the lane geometry often can be expressed as a third order polynomial in the ego body frame. However, to track a path in different frames may require knowledge about the transformation matrix. As indicated above, due to inaccuracies the vehicle placement can diverge somewhat from the planned path, and the transformation may not be reliably and accurately available from the GPS or inertial measurement unit (IMU) sensors. However, detection of lane markings through fusion of camera and lidar can be performed, such as by use of machine learning techniques. The present subject matter can therefore extract the transformation using local information, and thereby provide a passenger experience that is more smooth and human-like than with pure local planning, because it seeks to conform to the global path within one or more thresholds.

Most of the sensor information that may typically be available in the vehicle <NUM> may be received in the corresponding local frame of the vehicle <NUM>. In some implementations, this can include, but is not limited to, outputs from a camera, lidar, and/or radar. That is, this local information relates to the local frame <NUM> or <NUM>, as the case may be. A GPS receiver, on the other hand, may provide information only relative to the global frame <NUM>. Moreover, some GPS receivers may not have sufficient accuracy to provide a global transformation between any two frames. For example, this is why the transformation <NUM> can be said to be unknown to the AD system. Systems and techniques described herein can provide lane changes for a vehicle based only on local information, which is here schematically illustrated by a dashed line <NUM> signifying that the local frames <NUM> and <NUM>, but not the global frame <NUM>, are involved. For example, a system can extract information between the local frames <NUM> and <NUM> using only information available from sensors in the local (not global) context, and without using features such as a high-fidelity GPS or HD-maps.

<FIG> shows an example <NUM> of controlling motion of a vehicle <NUM> with reference to a global path <NUM>. The example <NUM> or aspects thereof can be used tother with one or more other examples described elsewhere herein. The example <NUM> involves the vehicle <NUM> traveling on a roadway <NUM> as shown from above, and an ego lane center <NUM> and a target lane center <NUM> have been defined relative to the roadway <NUM>.

The global path <NUM> can be defined or otherwise created, such as by a motion planner of an AD system, in preparation for controlling the vehicle <NUM> to undergo a lane change from the ego lane center <NUM> to the target lane center <NUM>. The time when the global path <NUM> is defined by the AD system can nominally be referred to as time zero (in the illustration represented as "T@<NUM>"). The global path <NUM> can join the ego lane center <NUM> and the target lane center <NUM> to each other. The global path <NUM> can have any of multiple shapes, depending on the circumstances, including, but not limited to, characteristics such as the type of the vehicle <NUM>, the speed of the vehicle <NUM>, the spatial configuration of the ego lane center <NUM> and the target lane center <NUM>, visibility, traffic on the roadway <NUM>, and/or weather conditions, to name just a few examples. For example, the global path <NUM> can be an S-shaped curve.

The example <NUM> schematically shows the vehicle <NUM> at respective times after the initial time T@<NUM>, such times here labeled T@<NUM>, T@<NUM>, and T@<NUM>, respectively. These times are chosen for purposes of illustration only and do not necessary reflect every iteration of the motion planner; rather, the motion planner may perform multiple iterations (e.g., tens or hundreds of iterations) per second. As such, the decisions discussed in this example can be performed also at other times than the ones illustrated in the example <NUM> (e.g., also at intermediate times).

Each point along the global path <NUM> can be considered a separate state for the vehicle <NUM>, each such state corresponding to a local frame. At each state, the motion planner can consider what path it should deliver to the controllers. Generally, if the vehicle <NUM> is closely following the global path <NUM>, then it is better to generate a path similar or identical to the global path <NUM> in the new frame. This can help the controllers to track better since the reference would not be constantly changing in a global frame. The times T@<NUM> and T@<NUM> illustrate example scenarios of this type. At T@<NUM>, the AD system can determine whether the vehicle <NUM> remains within a threshold of the global path <NUM>. This is done using local information only, such as the output of a camera and/or a lidar. A state <NUM> on the global path <NUM> can here correspond to the nearest point on the global path <NUM> to the current location of the vehicle <NUM>. For example, the state <NUM> can include spatial coordinates (e.g., x and y positions) and a heading angle. An offset <NUM> between the vehicle <NUM> and the state <NUM> here schematically illustrates the current separation of the vehicle <NUM> from the global path <NUM>. The offset <NUM> can reflect spatial position and/or heading angle, to name two examples. If the offset <NUM> does not exceed a particular threshold at T@<NUM>, the AD system can at T@<NUM> continue to provide a remainder of the global path <NUM> to the controllers of the vehicle <NUM>. That is, while the vehicle <NUM> at T@<NUM> is not exactly at the state <NUM> according to the local information, its position is sufficiently close that the AD system chooses to continue using the remainder of the global path <NUM> for controlling the motion of the vehicle <NUM>. By contrast, if the AD system at T@<NUM> had decided to generate a new global path, then it may have generated new global path <NUM>' which is shown as a dashed line. However, proceeding according to the new global path <NUM>' may involve a more abrupt maneuver (e.g., a faster lateral displacement and/or greater velocity change) than to continue using the remainder of the global path <NUM>. As such, it may be a superior riding experience for the passenger to have the vehicle <NUM> be controlled according to the global path <NUM> at the time T@<NUM> than the new global path <NUM>'.

In a similar way, at T@<NUM> the AD system can again determine whether the vehicle <NUM> remains within the threshold of the global path <NUM> using local information only. If the threshold is not exceeded at T@<NUM>, the AD system can at T@<NUM> continue to provide a remainder of the global path <NUM> to the controllers of the vehicle <NUM>. That is, the AD system at T@<NUM> does not generate a new global path <NUM>" which is shown as a dashed line.

However, if the vehicle <NUM> at some point undergoes a greater departure from the global path <NUM> the motion planner can generate a new path at that point. At T@<NUM>, the AD system can determine whether the vehicle <NUM> remains within the threshold of the global path <NUM>. This is done using local information only, such as the output of a camera and/or a lidar. A state <NUM> on the global path <NUM> can here correspond to the nearest point on the global path <NUM> to the current location of the vehicle <NUM>. For example, the state <NUM> can include spatial coordinates (e.g., x and y positions) and a heading angle. An offset <NUM> between the vehicle <NUM> and the state <NUM> here schematically illustrates the current separation of the vehicle <NUM> from the global path <NUM>. If the offset <NUM> exceeds the particular threshold at T@<NUM>, the AD system can at T@<NUM> generate a new global path <NUM> for the vehicle <NUM>. That is, the vehicle <NUM> currently has such separation from the state <NUM> according to the local information that the AD system should not continue using the remainder of the global path <NUM> for controlling the motion of the vehicle <NUM>. Rather, the AD system will provide the new global path <NUM> to the controllers for guiding the vehicle <NUM>, potentially through the rest of the lane change, as determined by subsequent iterations of the motion planner. For example, as long as the vehicle <NUM> remains within a threshold of the new global path <NUM>, the AD system can continue providing a remainder of the new global path <NUM> to the controllers for maneuvering the vehicle <NUM>.

<FIG> shows a flowchart of an example of a method <NUM>. The method <NUM> can be used together with one or more other examples described herein. More or fewer operations than shown can be performed. Two or more operations can be performed in a different order unless otherwise indicated.

The method <NUM> is illustrated as being performed during the course of at least two distinguishable instances or periods of time, here conceptually referred to as T@<NUM> and T@t, respectively. In some implementations, T@<NUM> can refer to an initial moment in time (e.g., at an outset of the lane change), and T@t can refer to any of multiple subsequent moments or periods of time. That is, at least the operations at T@t can be repeated one or more times during the course of a lane change.

At operation <NUM>, a global path can be created. In some implementations, the global path <NUM> or the new global path <NUM> in <FIG> can be created. For example, the global path can define a route for a lane change from an ego lane to a target lane. <FIG> shows an example <NUM> of creating a global path <NUM>. The example <NUM> can be used with one or more other examples described elsewhere herein.

At operation <NUM>, transformations can be created. In some implementations, the transformations are between an origin of the lane change and each state along the global path. For example, the transformations can be generated in form of a transformation matrix. The example <NUM> shows the global path <NUM> as including states <NUM>. Each of the states <NUM> corresponds to one of the transformations for the global path and can include coordinate frame representations. For example, any state <NUM>i can be represented in the form (xi,yi,θi), where x and y denote the point on the global path, θ denotes the heading angle of the vehicle in that state, and i is the index of the state. In <FIG>, states (x<NUM>,y<NUM>,θ<NUM>), (x<NUM>,y<NUM>,θ<NUM>), (x<NUM>,y<NUM>,θ<NUM>), (x<NUM>,y<NUM>,θ<NUM>), (x<NUM>,y<NUM>,θ<NUM>),. , (xN,yN,θN) are shown, for example, where N is the total number of states in the global path as planned.

The lane change can be defined so that the global path <NUM> extends between an ego lane center <NUM> of an ego lane, and a target lane center <NUM> of a target lane towards which the vehicle is heading. Waypoints <NUM> can be defined for the target lane. In some implementations, the waypoints <NUM> are defined to be at the target lane center <NUM>. For example, each of the waypoints <NUM> can be represented in the form (xi, yi)T, where x and y denote the waypoint, i is the index of the waypoint, and T indicates that the waypoint is in the target lane, for example to distinguish it from the states (xi, yi,θi) of the global path <NUM>. In <FIG>, waypoints (x<NUM>,y<NUM>)T, (x<NUM>, y<NUM>)T, (x<NUM>, y<NUM>)T, (x<NUM>, y<NUM>)T,. , (xM, yM)T are shown, for example, where M is the total number of waypoints identified for the global path as planned.

At operation <NUM>, a parametric representation of the target lane can be created. <FIG> shows an example of controlling motion of a vehicle with reference to the global path <NUM> of <FIG>. The waypoints <NUM> of the target lane center <NUM> can be used to fit a polynomial <NUM>, including, but not limited to, a third-order polynomial. For each state 404i on the trajectory, one can find the transformed target waypoints and fit a polynomial. Moving along the entire trajectory one can generate a matrix <NUM> of coefficients corresponding to the discretized states. The matrix <NUM> can generally be represented as follows: <MAT> where the index <NUM>, <NUM>, <NUM>,. , N corresponds to the discretized state of the global path <NUM>, as also indicated by dotted lines between the matrix <NUM> and some of the states <NUM> in <FIG>. The matrix <NUM> indicates what the waypoints <NUM> look like at the respective states <NUM>. In the method <NUM>, the matrix <NUM> can be stored in a storage <NUM>. The above operations can be performed at T@<NUM> as indicated in the method <NUM>. That is, during the time T@<NUM> the global planning can be performed and the necessary data (e.g., the global path <NUM>, the states <NUM>, the waypoints <NUM>, and the matrix <NUM>) can be generated and stored for use by the AD system in executing the lane change.

At any time T@t occurring after T@<NUM>, the method <NUM> can include an operation <NUM> of obtaining target lane waypoints from a perception component. The output of the perception component can be considered local information to the vehicle and can be used for determining whether the vehicle is sufficiently close to the global path <NUM> as planned. For example, the output of the perception component can reflect waypoints of the target lane center <NUM> as viewed from the vehicle's current position.

At operation <NUM>, the waypoints of the perception component can be compared with stored target lane waypoints. In some implementations, this includes a comparison involving the coefficients of the matrix in the storage <NUM> and corresponding coefficients from the output of the perception component. The coefficients of the perception output can be compared to the matrix <NUM> to find a best fit or closest match. For example, the coefficients obtained from the perception component can be referred to as (C<NUM>, C<NUM>, C<NUM>, C<NUM>)perc, and can be compared to the target lane coefficients (C<NUM>, C<NUM>, C<NUM>, C<NUM>)i for some or all applicable values of the index i. For example, the closest matching row in the matrix <NUM> can be identified. As another example, the coefficient matrix can be unrolled to get a set of spatial values (e.g., x,y-coordinates), and these can be compared to the x,y-coordinates from the perception component. The above or other examples can be applied to determine whether the waypoints reported by the perception component are within a threshold of any of the waypoints of the coefficient matrix.

Any of multiple approaches of comparison can be used. In some implementations, a minimization and/or maximization technique can be used. For example, a least squares analysis can be applied to a difference between the output of the perception component and some or all entries in the matrix <NUM>. As another example, a comparison between curves (e.g., curve matching) can be performed. For example, the coefficient matrix reflects the appearance of the target lane from respective frames of the global path, and the comparison can take the view of the target lane as reported by the perception component and determine which of some or all curves of the coefficient matrix is most similar.

The coefficient matrix can be searched in a particular way, and/or only part of the coefficient matrix may be searched. For example, the search can be parallelized. As another example, the search can be performed only in one direction (e.g., a one-directional search) within the matrix. In some implementations, the operation <NUM> can look only at entries in the matrix <NUM> that are "forward" of a most recently identified matrix entry. For example, if one of the entries of the matrix <NUM> was identified as the closest match in an immediately preceding frame, then the comparison in operation <NUM> in the current frame can begin with an entry following the identified entry. In some implementations, the operation <NUM> can look only at entries in the matrix <NUM> in a number of iterations as follows: for <MAT> where i is an index for the matrix entries to be considered in the evaluation, such index to be iterated between the values defined before and after the semicolon; indprev is the index of the previously identified closest matrix entry; and window is the range of matrix entries (e.g., one or more entries) to be searched on either side of the previous match. Other approaches can be used.

At operation <NUM>, it can be determined whether a match has been found in the coefficient matrix. In some implementations, one or more thresholds can be applied. For example, it can be determined whether the waypoints reported by the perception component is within a threshold of any of the entries in the matrix <NUM>. Any of multiple metrics can be used for the determination. Least squares was mentioned in an example above. Curve matching can be performed. As another example, another metric based on quantifying the difference between the perception waypoints and the parametric representation can be used, including, but not limited to, a distance-based evaluation.

<FIG> schematically shows an example <NUM> of matching a curve. The example <NUM> can be used with one or more examples described elsewhere herein. The example <NUM> schematically represents curves <NUM>. The curves <NUM> here represent the successive appearances of a target lane (e.g., the target lane center <NUM> in <FIG>) as viewed from different vantagepoints (e.g., in the respective frames of the global path <NUM> in <FIG>). The curves <NUM> may only be a partial set in the present example for simplicity; more of fewer curves <NUM> can be used. The curves <NUM> are here represented as straight lines for clarity. In some implementations, the curves <NUM> can have other shapes.

A curve <NUM>, on the other hand, can be obtained from the output of one or more perception components. The curve <NUM> represents the current view of the target lane as determined by the local information of at least one sensor of the ego vehicle. To determine the vehicle's current location with regard to the global path, a curve matching can be performed between the curve <NUM> and some or all of the curves <NUM>. The curve matching can seek to match the curve <NUM> to one or more of the curves <NUM>. For example, a least squares calculation of differences can be performed for the curve <NUM> and a curve 602i of the curves <NUM>, where the index i can assume one or more numbers. As another example, the slope of the curve <NUM> can be compared with the slope of one or more of the curves <NUM>. If the closest match between the curve <NUM> and at least one of the curves <NUM> satisfies at least one threshold being applied, this can reflect an affirmative (e.g., "Yes") outcome of the determination in the operation <NUM> of the method <NUM> in <FIG>.

If no match is found in the operation <NUM>, the method <NUM> can proceed as indicated by arrow <NUM> and return to the operation <NUM>. For example, if no match is found for the output of the perception component among the states or frames of the global path, then a new global path can be created at that point and be applied going forward. The global path can then replace the originally defined global path in the motion planning. That is, at least operation <NUM> can then be repeated at one of the times T@t, thus effectively starting anew with a new T@<NUM>.

On the other hand, if in the operation <NUM> a match has been found (e.g., one of the curves <NUM> fit with the curve <NUM>), that identified set of coefficients in the matrix <NUM> can be selected in an operation <NUM> of the method <NUM>. This can correspond to a selection of the best match index i on the global path. As such, while the vehicle may not have been exactly at any of the states or frames of the global path as planned, because it is sufficiently close, that point of the global path is currently taken to be the vehicle's location for purposes of the motion planning. That operation can involve updating a storage <NUM>. For example, the variable indprev can be assigned the value of the index i of the closest matching entry. That variable indprev can then be used in a subsequent iteration to perform a limited search of the coefficient matrix, for example as described above.

After the operation <NUM>, the method can provide an output to controllers of the AD system in an operation <NUM>. In some implementations, the output can include at least a portion of a remaining part of the global path as planned. For example, the matrix entry that matched with the perception output can be considered a first set of waypoints, and the perception output can be considered a second set of waypoints; the remaining part of the global path can then be selected as beginning at a point (or phase or frame) of the global path associated with the first set of waypoints.

The above examples illustrate performance of a computer-implemented method that includes at least: initiating, by an assisted-driving system that is controlling motion of a vehicle (e.g., the vehicle <NUM> in <FIG>), a lane change of the vehicle from an ego lane (e.g., the ego lane center <NUM> in <FIG>) to a target lane (e.g., the target lane center <NUM> in <FIG>), the lane change to be performed based only on local information (e.g., output of camera or lidar) of the vehicle; defining, by the assisted-driving system, a parametric representation (e.g., the coefficient matrix in the storage <NUM> in <FIG>) of the target lane, the parametric representation based on first waypoints of the target lane (e.g., the waypoints <NUM> in <FIG>); receiving, by the assisted-driving system and during the lane change, a first output of a perception component of the vehicle, the first output being the local information and reflecting second waypoints of the target lane (e.g., the local information reflecting the view of the target lane center <NUM> (<FIG>) from the current position of the vehicle); performing, by the assisted-driving system, a comparison (e.g., a closest-fit determination in the operation <NUM> of <FIG>) based on the first output and the parametric representation; providing, by the assisted-driving system, references of a first global path (e.g., a remainder of the global path <NUM>, or the new global path <NUM>, in <FIG>) to controllers of the vehicle for actuating the lane change, the references selected based on the comparison (e.g., based on the decision in the operation <NUM> of <FIG>).

<FIG> show other examples <NUM>, <NUM>, and <NUM> of controlling motion of a vehicle with reference to a global path. The examples <NUM>, <NUM>, and/or <NUM> can be used with one or more other examples described elsewhere herein. The examples <NUM>, <NUM>, and <NUM> schematically show a vehicle <NUM> during the course of performing a lane change under control of an AD system. The vehicle is travelling from left to right in the illustrations as directed by the motion planner. In each of the examples <NUM>, <NUM>, and <NUM>, a global path <NUM> was initially created for the lane change. The examples <NUM>, <NUM>, and <NUM> illustrate some possible scenarios in the execution of a lane change for the vehicle <NUM>.

In the example <NUM>, the vehicle has remained on the global path <NUM> from beginning to end of the lane change. Therefore, no path other than the global path <NUM> is shown in the example <NUM>. In terms of the method <NUM> (<FIG>), the example <NUM> can proceed as follows. The global path <NUM> can be defined in operation <NUM>, and the other operations <NUM> and <NUM> can be performed at the time T@<NUM>. At every subsequent time T@t when performing the comparison at the operation <NUM> and the determination at the operation <NUM>, an essentially exact match is found between the perception output and the coefficient matrix. Because the vehicle <NUM> remains exactly on the global path <NUM> in every evaluation, the output to the controllers in the operation <NUM> is performed each time, and the replanning according to the arrow <NUM> (<FIG>) is not performed during the lane change. Due to the inherent inaccuracy of motion controllers and other uncertainties, the example <NUM> may not always occur but is described here for sake of completeness.

In the example <NUM>, the vehicle has diverged somewhat from the global path <NUM> and has actually traveled along a path <NUM> for part of the lane change, as indicated. That is, the route actually undertaken by the vehicle <NUM> in the example <NUM> has been on the global path <NUM> except while traveling on the path <NUM>. In terms of the method <NUM> (<FIG>), the example <NUM> can proceed as follows. The global path <NUM> can be defined in operation <NUM>, and the other operations <NUM> and <NUM> can be performed at the time T@<NUM>. At one or more of the subsequent times T@t when the vehicle <NUM> is still at the path <NUM>, the comparison at the operation <NUM> and the determination at the operation <NUM> can result in a closest match (e.g., an exact match) being found between the perception output and the coefficient matrix. Also, at one or more of the subsequent times T@t when the vehicle <NUM> is at the path <NUM> and the comparison at the operation <NUM> and the determination at the operation <NUM> are being performed, a closest match is found between the perception output and the coefficient matrix. That is, the perception output was within a threshold difference to at least one of the coefficient sets of the matrix <NUM> (<FIG>), and therefore the outcome of the operation <NUM> was "Yes". The replanning according to the arrow <NUM> (<FIG>) is therefore not performed during the lane change in the example <NUM>.

In the example <NUM>, the vehicle has diverged more from the global path <NUM> than in the example <NUM> and has actually traveled along a path <NUM> for part of the lane change, as indicated. That is, the route actually undertaken by the vehicle <NUM> in the example <NUM> was initially on the global path <NUM> until the vehicle <NUM> began traveling on the path <NUM>. In terms of the method <NUM> (<FIG>), the example <NUM> can proceed as follows. The global path <NUM> can be defined in operation <NUM>, and the other operations <NUM> and <NUM> can be performed at the time T@<NUM>. At one or more of the subsequent times T@t when the vehicle <NUM> is on the path <NUM> and the comparison at the operation <NUM> and the determination at the operation <NUM> are being performed, no close match is found between the perception output and the coefficient matrix. That is, the perception output is not within a threshold difference to at least one of the coefficient sets of the matrix <NUM> (<FIG>), and therefore the outcome of the operation <NUM> was "No". The method <NUM> can therefore perform replanning according to the arrow <NUM> (<FIG>) by returning to the operation <NUM>. As such, at some point in time (e.g., at one of the T@t in <FIG>), a new global path <NUM> can be defined in the example <NUM>, and the new global path <NUM> can be provided to the controllers by the AD system instead of a remainder of the global path <NUM>. That is, the new global path <NUM> can be defined to replace the global path <NUM> that was defined earlier in the lane change. As such, a portion <NUM>' of the global path <NUM> is here not used (e.g., followed by the controllers of the AD system) due to the generation of the new global path <NUM>.

<FIG> shows an example of a vehicle <NUM>. The vehicle <NUM> can be used with one or more other examples described elsewhere herein. The vehicle <NUM> includes an ADAS/AD system <NUM> and vehicle controls <NUM>. The ADAS/AD system <NUM> can be implemented using some or all components described with reference to <FIG> below. The ADAS/AD system <NUM> includes sensors <NUM> and a planning algorithm <NUM>. Other aspects that the vehicle <NUM> may include, including, but not limited to, other components of the vehicle <NUM> where the ADAS/AD system <NUM> may be implemented, are omitted here for simplicity.

The sensors <NUM> as described here also include appropriate circuitry and/or executable programming for processing sensor output and performing a detection based on the processing. Such circuitry and/or executable programming can be implemented in the same physical housing as the sensing component that performs the sensing of the environment, or can be implemented separately therefrom. The sensors <NUM> can include a radar <NUM>. In some implementations, the radar <NUM> can include any object detection system that is based at least in part on radio waves. For example, the radar <NUM> can be oriented in a forward direction relative to the vehicle and can be used for detecting at least a distance to one or more other objects (e.g., another vehicle). The radar <NUM> can detect a traffic event by sensing the presence of an object in relation to the vehicle <NUM>. For example, the radar <NUM> can be used during a lane change of the vehicle <NUM>.

The sensors <NUM> can include a lidar <NUM>. In some implementations, the lidar <NUM> can include any object detection system that is based at least in part on laser light. For example, the lidar <NUM> can be oriented in any direction relative to the vehicle and can be used for detecting at least a distance to one or more other objects (e.g., a lane or another vehicle). The lidar <NUM> can detect a traffic event by sensing the presence of an object in relation to the vehicle <NUM>. For example, the lidar <NUM> can be used during a lane change of the vehicle <NUM>.

The sensors <NUM> can include a camera <NUM>. In some implementations, the camera <NUM> can include any image sensor whose signal(s) the vehicle <NUM> takes into account. For example, the camera <NUM> can be oriented in any direction relative to the vehicle and can be used for detecting vehicles, lanes, lane markings, and/or road signage. The camera <NUM> can detect a traffic event by visually registering a circumstance in relation to the vehicle <NUM>. For example, the camera <NUM> can be used during a lane change of the vehicle <NUM>.

The sensors <NUM> can include an ultrasonic sensor <NUM>. In some implementations, the ultrasonic sensor <NUM> can include any transmitter, receiver, and/or transceiver used in detecting at least the proximity of an object based on ultrasound. For example, the ultrasonic sensor <NUM> can be positioned at or near an outer surface of the vehicle. The ultrasonic sensor <NUM> can detect a traffic event by sensing the presence of an object in relation to the vehicle <NUM>. For example, the ultrasonic sensor <NUM> can be used during a lane change of the vehicle <NUM>.

Any of the sensors <NUM> alone, or two or more of the sensors <NUM> collectively, can generate, while the ADAS/AD system <NUM> is controlling motion of the vehicle <NUM>, an output of local information. In some implementations, such output can be taken into account in performing a lane change. In some implementations, one or more other types of sensors can additionally or instead be included in the sensors <NUM>.

The planning algorithm <NUM> can plan for the ADAS/AD system <NUM> to perform one or more actions, or to not perform any action, in response to one or more detections. The output of one or more of the sensors <NUM> can be taken into account. In some implementations, the planning algorithm <NUM> can define a velocity increase and/or reduction, and/or a lateral offset change, to name just two examples.

The vehicle controls <NUM> can include a steering control <NUM>. In some implementations, the ADAS/AD system <NUM> and/or another driver of the vehicle <NUM> controls the trajectory of the vehicle <NUM> by adjusting a steering angle of at least one wheel by way of manipulating the steering control <NUM>. The steering control <NUM> can be configured for controlling the steering angle though a mechanical connection between the steering control <NUM> and the adjustable wheel, or can be part of a steer-by-wire system.

The vehicle controls <NUM> can include a gear control <NUM>. In some implementations, the ADAS/AD system <NUM> and/or another driver of the vehicle <NUM> uses the gear control <NUM> to choose from among multiple operating modes of a vehicle (e.g., a Drive mode, a Neutral mode, or a Park mode). For example, the gear control <NUM> can be used to control an automatic transmission in the vehicle <NUM>.

The vehicle controls <NUM> can include signal controls <NUM>. In some implementations, the signal controls <NUM> can control one or more signals that the vehicle <NUM> can generate. For example, the signal controls <NUM> can control a turn signal and/or a horn of the vehicle <NUM>.

The vehicle controls <NUM> can include brake controls <NUM>. In some implementations, the brake controls <NUM> can control one or more types of braking systems designed to slow down the vehicle, stop the vehicle, and/or maintain the vehicle at a standstill when stopped. For example, the brake controls <NUM> can be actuated by the ADAS/AD system <NUM>. As another example, the brake controls <NUM> can be actuated by the driver using a brake pedal.

The vehicle controls <NUM> can include an acceleration control <NUM>. In some implementations, the acceleration control <NUM> can control one or more types of propulsion motor of the vehicle. For example, the acceleration control <NUM> can control the electric motor(s) and/or the internal-combustion motor(s) of the vehicle <NUM>.

The vehicle <NUM> can include a user interface <NUM>. The user interface <NUM> can include an audio interface <NUM>. In some implementations, the audio interface <NUM> can include one or more speakers positioned in the passenger compartment. For example, the audio interface <NUM> can at least in part operate together with an infotainment system in the vehicle.

The user interface <NUM> can include a visual interface <NUM>. In some implementations, the visual interface <NUM> can include at least one display device in the passenger compartment of the vehicle <NUM>. For example, the visual interface <NUM> can include a touchscreen device and/or an instrument cluster display.

<FIG> illustrates an example architecture of a computing device <NUM> that can be used to implement aspects of the present disclosure, including any of the systems, apparatuses, and/or techniques described herein, or any other systems, apparatuses, and/or techniques that may be utilized in the various possible embodiments.

The computing device illustrated in <FIG> can be used to execute the operating system, application programs, and/or software modules (including the software engines) described herein.

The computing device <NUM> includes, in some embodiments, at least one processing device <NUM> (e.g., a processor), such as a central processing unit (CPU). A variety of processing devices are available from a variety of manufacturers, for example, Intel or Advanced Micro Devices. In this example, the computing device <NUM> also includes a system memory <NUM>, and a system bus <NUM> that couples various system components including the system memory <NUM> to the processing device <NUM>. The system bus <NUM> is one of any number of types of bus structures that can be used, including, but not limited to, a memory bus, or memory controller; a peripheral bus; and a local bus using any of a variety of bus architectures.

Examples of computing devices that can be implemented using the computing device <NUM> include a desktop computer, a laptop computer, a tablet computer, a mobile computing device (such as a smart phone, a touchpad mobile digital device, or other mobile devices), or other devices configured to process digital instructions.

The system memory <NUM> includes read only memory <NUM> and random access memory <NUM>. A basic input/output system <NUM> containing the basic routines that act to transfer information within computing device <NUM>, such as during start up, can be stored in the read only memory <NUM>.

The computing device <NUM> also includes a secondary storage device <NUM> in some embodiments, such as a hard disk drive, for storing digital data. The secondary storage device <NUM> is connected to the system bus <NUM> by a secondary storage interface <NUM>. The secondary storage device <NUM> and its associated computer readable media provide nonvolatile and non-transitory storage of computer readable instructions (including application programs and program modules), data structures, and other data for the computing device <NUM>.

Although the example environment described herein employs a hard disk drive as a secondary storage device, other types of computer readable storage media are used in other embodiments. Examples of these other types of computer readable storage media include magnetic cassettes, flash memory cards, digital video disks, Bernoulli cartridges, compact disc read only memories, digital versatile disk read only memories, random access memories, or read only memories. Some embodiments include non-transitory media. For example, a computer program product can be tangibly embodied in a non-transitory storage medium. Additionally, such computer readable storage media can include local storage or cloud-based storage.

A number of program modules can be stored in secondary storage device <NUM> and/or system memory <NUM>, including an operating system <NUM>, one or more application programs <NUM>, other program modules <NUM> (such as the software engines described herein), and program data <NUM>. The computing device <NUM> can utilize any suitable operating system, such as Microsoft Windows™, Google Chrome™ OS, Apple OS, Unix, or Linux and variants and any other operating system suitable for a computing device. Other examples can include Microsoft, Google, or Apple operating systems, or any other suitable operating system used in tablet computing devices.

In some embodiments, a user provides inputs to the computing device <NUM> through one or more input devices <NUM>. Examples of input devices <NUM> include a keyboard <NUM>, mouse <NUM>, microphone <NUM> (e.g., for voice and/or other audio input), touch sensor <NUM> (such as a touchpad or touch sensitive display), and gesture sensor <NUM> (e.g., for gestural input). In some implementations, the input device(s) <NUM> provide detection based on presence, proximity, and/or motion. In some implementations, a user may walk into their home, and this may trigger an input into a processing device. For example, the input device(s) <NUM> may then facilitate an automated experience for the user. Other embodiments include other input devices <NUM>. The input devices can be connected to the processing device <NUM> through an input/output interface <NUM> that is coupled to the system bus <NUM>. These input devices <NUM> can be connected by any number of input/output interfaces, such as a parallel port, serial port, game port, or a universal serial bus. Wireless communication between input devices <NUM> and the input/output interface <NUM> is possible as well, and includes infrared, BLUETOOTH® wireless technology, <NUM>. 11a/b/g/n, cellular, ultra-wideband (UWB), ZigBee, or other radio frequency communication systems in some possible embodiments, to name just a few examples.

In this example embodiment, a display device <NUM>, such as a monitor, liquid crystal display device, light-emitting diode display device, projector, or touch sensitive display device, is also connected to the system bus <NUM> via an interface, such as a video adapter <NUM>. In addition to the display device <NUM>, the computing device <NUM> can include various other peripheral devices (not shown), such as speakers or a printer.

The computing device <NUM> can be connected to one or more networks through a network interface <NUM>. The network interface <NUM> can provide for wired and/or wireless communication. In some implementations, the network interface <NUM> can include one or more antennas for transmitting and/or receiving wireless signals. When used in a local area networking environment or a wide area networking environment (such as the Internet), the network interface <NUM> can include an Ethernet interface. Other possible embodiments use other communication devices. For example, some embodiments of the computing device <NUM> include a modem for communicating across the network.

The computing device <NUM> can include at least some form of computer readable media. Computer readable media includes any available media that can be accessed by the computing device <NUM>. By way of example, computer readable media include computer readable storage media and computer readable communication media.

Computer readable storage media includes volatile and nonvolatile, removable and non-removable media implemented in any device configured to store information such as computer readable instructions, data structures, program modules or other data. Computer readable storage media includes, but is not limited to, random access memory, read only memory, electrically erasable programmable read only memory, flash memory or other memory technology, compact disc read only memory, digital versatile disks or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to store the desired information and that can be accessed by the computing device <NUM>.

Computer readable communication media typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media. The term "modulated data signal" refers to a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, computer readable communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, radio frequency, infrared, and other wireless media. Combinations of any of the above are also included within the scope of computer readable media.

The computing device illustrated in <FIG> is also an example of programmable electronics, which may include one or more such computing devices, and when multiple computing devices are included, such computing devices can be coupled together with a suitable data communication network so as to collectively perform the various functions, methods, or operations disclosed herein.

The terms "substantially" and "about" used throughout this Specification are used to describe and account for small fluctuations, such as due to variations in processing. For example, they can refer to less than or equal to ±<NUM>%, such as less than or equal to ±<NUM>%, such as less than or equal to ±<NUM>%, such as less than or equal to ±<NUM>%, such as less than or equal to ±<NUM>%, such as less than or equal to ±<NUM>%, such as less than or equal to ±<NUM>%. Also, when used herein, an indefinite article such as "a" or "an" means "at least one.

In addition, the logic flows depicted in the figures do not require the particular order shown, or sequential order, to achieve desirable results. In addition, other processes may be provided, or processes may be eliminated, from the described flows, and other components may be added to, or removed from, the described systems, the scope of protection being defined by the appended claims. Accordingly, other implementations are within the scope of the appended claims.

Claim 1:
A computer-implemented method (<NUM>) comprising:
initiating (<NUM>), by an assisted-driving system that is controlling motion of a vehicle, a lane change of the vehicle from an ego lane to a target lane, the lane change to be performed based only on local information of the vehicle, the local information including data generated by a perception component that is situated within or on the vehicle and requires no particular technology external to the vehicle, the local information being iteratively received prior to initiating (<NUM>) the lane change and during the lane change;
defining (<NUM>), by the assisted-driving system, a parametric representation of the target lane, the parametric representation based on first waypoints of the target lane;
receiving (<NUM>), by the assisted-driving system and during the lane change, a first output of the perception component of the vehicle, the first output being the local information and reflecting second waypoints of the target lane;
performing (<NUM>), by the assisted-driving system, a comparison based on the first output and the parametric representation; and
providing (<NUM>), by the assisted-driving system, references of a first global path to controllers of the vehicle for actuating the lane change, the references selected based on the comparison.