Patent Publication Number: US-11654902-B1

Title: Managing lane change threats

Description:
BACKGROUND 
     Various vehicles employ computing means to aid automated vehicle operation. Recently, in the automotive industry, much of the focus is on making a vehicle operate in an autonomous mode in a safe manner. 
     For an autonomous vehicle (AV) that supports an auto lane change procedure, there are some particularly difficult scenarios to manage. One such scenario is when the host or “ego” vehicle has started a lane change maneuver into a clear target lane but then another object (e.g., a threat vehicle) proceeds to enter the same lane (e.g. from two lanes over) after the lane change maneuver has started. The AV system has the option to abort the lane change and return to the original lane, however, at some point during the lane change maneuver, it is considered more appropriate to continue with the maneuver rather than abort it. Returning to the original lane late in the auto lane change maneuver could result in unstable vehicle motion and/or confuse the surrounding traffic. 
     Embodiments are directed to addressing these and other problems, individually and collectively. 
     SUMMARY 
     A system of one or more computers can be configured to perform particular operations or actions by virtue of having software, firmware, hardware, or a combination of them installed on the system that in operation causes or cause the system to perform the actions. One or more computer programs can be configured to perform particular operations or actions by virtue of including instructions that, when executed by data processing apparatus, cause the apparatus to perform the actions. 
     Embodiments provide a vehicle computer coupled to a vehicle. The vehicle computer may be configured to perform an automated lane change maneuver moving the vehicle from a first lane into a second, adjacent lane. A threat vehicle (or another threat object) may be detected moving into the same target lane. The option to immediately abort the maneuver and return to the original lane may not be appropriate after some time into the lane change maneuver. Embodiments control the vehicle in a lateral position hold along the lane demarcation line for a predetermined amount of time before moving into the second lane when the threat vehicle clears the second lane or returning to the first lane when the threat vehicle does not clear the second lane. 
     In one general aspect, a method may include receiving, by a vehicle computer of a vehicle, a command to perform a lane change maneuver from a first lane where the vehicle is traveling into a second lane adjacent to the first lane. Method may also include initiating, by the vehicle computer, the lane change maneuver. Method may furthermore include detecting, by the vehicle computer after initiating the lane change maneuver, a collision risk with a mobile object moving on the second lane. Method may in addition include determining, by the vehicle computer, a real-time position of the vehicle with respect to the first lane or the second lane in response to the collision risk. Method may moreover include determining, by the vehicle computer, that the vehicle is in one of a plurality of predetermined stages associated with the lane change maneuver based on the real-time position of the vehicle. Method may also include performing, by the vehicle computer, a preventive maneuver responsive to the detected mobile object based on determined stage associated with the lane change maneuver, where the preventive maneuver includes instructions sent to actuators of the vehicle to control the vehicle to one or more of move back to the first lane, proceed along a lateral path between the first lane and the second lane, or move to the second lane. 
     In one general aspect, a vehicle computer may include one or more processors and a memory storing instructions that, when executed by the one or more processors, cause the one or more processors to: receive a command to perform a lane change maneuver from a first lane where the vehicle is traveling into a second lane adjacent to the first lane; initiate the lane change maneuver; detect, after initiating the lane change maneuver, a collision risk with a mobile object moving on the second lane; determine a real-time position of the vehicle with respect to the first lane or the second lane in response to the collision risk; determine that the vehicle is in one of a plurality of predetermined stages associated with the lane change maneuver based on the real-time position of the vehicle; and perform a preventive maneuver responsive to the detected mobile object based on determined stage associated with the lane change maneuver, where the preventive maneuver includes instructions sent to actuators of the vehicle to control the vehicle to one or more of move back to the first lane, proceed along a lateral path between the first lane and the second lane, or move to the second lane. 
     In one general aspect, a non-transitory computer-readable medium storing instructions that, when executed by one or more processors of a vehicle computer of a vehicle, cause the vehicle computer to receive a command to perform a lane change maneuver from a first lane where the vehicle is traveling into a second lane adjacent to the first lane. The non-transitory computer-readable medium may further store instructions that, when executed by the one or more processors of the vehicle computer of the vehicle, cause the vehicle computer to initiate the lane change maneuver; and, after initiating the lane change maneuver, determining a collision risk with a mobile object moving on the second lane. The non-transitory computer-readable medium may further store instructions that, when executed by the one or more processors of the vehicle computer of the vehicle, cause the vehicle computer to determine a real-time position of the vehicle with respect to the first lane or the second lane in response to the collision risk. The non-transitory computer-readable medium may further store instructions that, when executed by the one or more processors of the vehicle computer of the vehicle, cause the vehicle computer to determine that the vehicle is in one of a plurality of predetermined stages associated with the lane change maneuver based on the real-time position of the vehicle. The non-transitory computer-readable medium may further store instructions that, when executed by the one or more processors of the vehicle computer of the vehicle, cause the vehicle computer to perform a preventive maneuver responsive to the detected mobile object based on determined stage associated with the lane change maneuver, where the preventive maneuver includes instructions sent to actuators of the vehicle to control the vehicle to one or more of move back to the first lane, proceed along a lateral path between the first lane and the second lane, or move to the second lane. 
     Other embodiments of this aspect include corresponding computer systems, apparatus, and computer programs recorded on one or more computer storage devices, each configured to perform the actions of the methods. 
     Further details regarding embodiments of can be found in the Detailed Description and the Figures. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG.  1 A  illustrates components of an exemplary vehicle computer for an autonomous vehicle, according to various embodiments. 
         FIG.  1 B  provides a flowchart of a vehicle computer performing an automated lane change maneuver. 
         FIG.  2    provides a flowchart of a vehicle computer performing an automated lane change maneuver in multiple stages, according to various embodiments. 
         FIG.  3    illustrates a lane change maneuver that is completed without detecting a collision risk after initiating the maneuver, according to various embodiments. 
         FIG.  4    illustrates a lane change maneuver that is aborted in response to a collision risk detected during an initial stage of the maneuver, according to various embodiments. 
         FIG.  5    illustrates a lane change maneuver that is completed by implementing a lateral position hold in response to a collision risk detected during a second stage of the maneuver, according to various embodiments. 
         FIG.  6    illustrates a lane change maneuver that is completed by implementing a lateral position hold in response to a collision risk detected during a second stage of the maneuver, according to various embodiments. 
         FIG.  7    illustrates a lane change maneuver  700  that is aborted after implementing a lateral position hold in response to a collision risk detected during a second stage of the maneuver, according to various embodiments. 
         FIG.  8    is a flowchart of an example process, according to various embodiments. 
         FIG.  9    illustrates a block diagram of an exemplary vehicle, according to various embodiments. 
     
    
    
     DETAILED DESCRIPTION 
     In the following description, various embodiments will be described. For purposes of explanation, specific configurations and details are set forth in order to provide a thorough understanding of the embodiments. However, it will also be apparent to one skilled in the art that the embodiments may be practiced without the specific details. Furthermore, well-known features may be omitted or simplified in order not to obscure the embodiment being described. 
     Embodiments provide a vehicle computer coupled to a vehicle. The vehicle computer may be configured to perform an automated lane change maneuver moving the vehicle from a first lane into a second, adjacent lane. In some embodiments, the vehicle may be an autonomous vehicle. In some embodiments, the auto lane change maneuver may have commenced while the maneuver was safe to conduct, but a threat vehicle (or another threat object) may be subsequently detected moving into the same target lane. The option to immediately abort the maneuver and return to the original lane may not be appropriate after some time into the lane change maneuver. This is particularly relevant for large trucks, where jerky lateral motion could lead to vehicle instability or confusion of surrounding traffic. While the human driver (where available) may take over manual control of the vehicle to manage the situation, in the event of the human driver being unable to act or the vehicle being allowed to oversee the maneuver, embodiments control the vehicle in a lateral position hold along the lane demarcation line for a predetermined amount of time before moving into the second lane when the threat vehicle clears the second lane or returning to the first lane when the threat vehicle does not clear the second lane. 
     Prior to discussing embodiments, some terms can be described in further detail. 
     As used herein, a “maneuver” may refer to a sequence of desired system state (position, pose, speed etc.) in future time. A control module of a vehicle computer may receive the maneuver and generate instantaneous commands or a vector of commands as a function of time. The commands may include steering commands and acceleration/deceleration commands among others. 
     As used herein, a “vehicle” may include, for example, a fully autonomous vehicle, a partially autonomous vehicle, a vehicle with driver assistance, or an autonomous capable vehicle. The capabilities of autonomous vehicles can be associated with a classification system or taxonomy having tiered levels of autonomy. A classification system can be specified by, for example, industry standards or governmental guidelines. For example, the levels of autonomy can be considered using a taxonomy such as level 0 (momentary driver assistance), level 1 (driver assistance), level 2 (additional assistance), level 3 (conditional assistance), level 4 (high automation), and level 5 (full automation without any driver intervention). Following this example, an autonomous vehicle can be capable of operating, in some instances, in at least one of levels 0 through 5. According to various embodiments, an autonomous capable vehicle may refer to a vehicle that can be operated by a driver manually (that is, without the autonomous capability activated) while being capable of operating in at least one of levels 0 through 5 upon activation of an autonomous mode. 
     As used herein, the term “driver” may refer to a local operator (e.g., an operator in the vehicle) or a remote operator (e.g., an operator physically remote from and not in the vehicle). The autonomous vehicle may operate solely at a given level (e.g., level 2 additional assistance or level 5 full automation) for at least a period of time or during the entire operating time of the autonomous vehicle. Other classification systems can provide other levels of autonomy characterized by different vehicle capabilities. 
     A “vehicle computer” may include one or more processors and a memory. A “processor” may include any suitable data computation device or devices. A processor may comprise one or more microprocessors working together to accomplish a desired function. A “memory” may be any suitable device or devices that can store electronic data. A suitable memory may comprise a non-transitory computer readable medium that stores instructions that can be executed by at least one processor to implement a desired method. Examples of memories may comprise one or more memory chips, disk drives, etc. Such memories may operate using any suitable electrical, optical, and/or magnetic mode of operation. 
     Details of some embodiments will now be described in greater detail. 
     Embodiments provide a vehicle computer coupled to a vehicle (e.g., a car, a bus, a truck with one or more trailers coupled thereto, or a semitruck). Embodiments provide a vehicle computer coupled to a vehicle (e.g., a car, a bus, a truck with one or more trailers coupled thereto, or a semitruck).  FIG.  1 A  provides a block diagram of an exemplary vehicle computer  100 , according to various embodiments. The vehicle computer  100  may include a main computation stack  120  (e.g., a vehicle computer) including one or more processors. The main computation stack  120  may comprise one or more modules, including but not limited to, a perception module  110 , a prediction module  112 , a planning/planner module  114 , and a control module  116 . 
     The main computation stack  120  may receive inputs (e.g., sensor data) from one or more input devices  102 . According to various embodiments, the input devices  102  may include one or more of a radar sensor, a light detection and ranging (lidar) sensor, a camera, computer vision, a Global Positioning System (GPS) sensor, etc. The sensor data may be provided to the perception module  110  that may identify one or more objects in the input data. The input data and the identified objects may then be provided to the prediction module  112  that may predict trajectories of the identified objects, so that the planner module  114  may determine one or more trajectories for the vehicle that would avoid the stationary or moving objects based on the input data from the prediction module  112 . The one or more trajectories planned by the panning module  114  may be provided to the control module  116 , which would then control one or more actuators  108  of the vehicle to have the vehicle advance in accordance with at least one of the one or more trajectories. 
     According to various embodiments, one or more of the perception module  110 , the prediction module  112 , the planning module  114  and/or the control module  116  may also receive mapping data  104  and/or localization data  106  for improved trajectory generation. The modules may calculate their respective outputs based on the mapping data  104  and/or localization data  106 , in addition to the inputs received from the input devices  102 . 
       FIG.  1 B  provides a flowchart  150  of a vehicle computer performing an automated lane change maneuver. The vehicle computer described in the flowchart  150  has the ability to detect a threat vehicle after starting the lane change maneuver, but the vehicle computer is configured to only take action if the auto lane change procedure is in the early stage of the maneuver. If a threat object is detected before crossing the lane boundary, the vehicle computer will abort the lane change maneuver, and the ego vehicle will return to the original lane. However, if the threat object is detected after crossing the lane boundary, the vehicle computer will continue with the lane change maneuver, and the ego vehicle will complete the lane change. The driver may have the ability to take over manual driving control at any time. 
     At step  152 , the vehicle may be in a manual mode where the driver is in control. The driver may wish to leave the control of the vehicle to the vehicle computer. The vehicle may move into the operation design domain (ODD) region within which the vehicle is enabled to operate is the autonomous mode. At step  154 , the vehicle may be in the autonomous mode where the vehicle computer (e.g., Autonomous Vehicle (AV) System) is in control. 
     At step  156 , the vehicle computer may be still in the autonomous mode, and may confirm that the lane change command is received and is within the operation design domain (ODD). At step  158 , while still in the autonomous mode, the vehicle computer may confirm that there are no threats detected in the target lane (e.g., the second lane) and (if applicable) that the driver has their hands on the steering wheel. The vehicle computer may enable the lane change maneuver to move from the first lane into the target (e.g., second) lane. According to various embodiments, the lane change maneuver may be requested by the driver. 
     At step  160 , the vehicle may be in the initial stage of the lane change maneuver. For example, the vehicle computer may control the vehicle to move closer to the lane demarcation line, getting ready to move into the second lane. The vehicle computer may check for any new threats along the trajectory of the lane change maneuver. For example, the vehicle computer may verify the data provided by various sensors of the vehicle to identify whether there is a threat along the trajectory. 
     If no threats are detected, at step  162 , the vehicle computer continues with the lane change maneuver and progresses into the second stage of the lane change maneuver during which the vehicle quits the first lane and travels into the second lane. The vehicle computer successfully completes the lane change maneuver and continues to control the vehicle in the autonomous mode, similar to step  154 . 
     If, on the other hand, the vehicle computer detects a threat during the initial stage of the lane change maneuver (during step  160 ), the vehicle computer aborts the lane change maneuver, and controls the vehicle to return to the initial position in the first lane at step  164 . Once the initial position in the first lane is resumed, the vehicle computer continues to control the vehicle in the autonomous mode, similar to step  154 . Alternatively, when the vehicle computer detects a threat during the initial stage of the lane change maneuver (during step  160 ), the vehicle computer may warn the driver to take control of the vehicle, or the driver may simply assume control of the vehicle to respond to the detected threat. 
     As described above in connection with  FIG.  1 B , the vehicle computer described in the flowchart  150  has the ability to detect a threat vehicle after starting the lane change maneuver, but the vehicle computer is configured to only take action if the auto lane change procedure is in the early stage of the maneuver. However, the vehicle computer may detect a threat in the later stages of the lane change maneuver. While the existing systems request the driver the take over, embodiments provide alternative control techniques where the vehicle computer can avoid the threat. 
     After initially crossing the lane boundary (e.g., the lane demarcation line) between the first lane where the vehicle is traveling and the second lane (e.g., the target lane), the vehicle computer may detect a potential collision risk with a mobile object (e.g., a threat vehicle) having started to move into the target lane. For example, a vehicle that is two lanes over the first lane where the ego vehicle is traveling may change lanes during the lane change maneuver of the ego vehicle. If the mobile object (e.g., the threat vehicle) is detected prior to the ego vehicle moving out of the first lane, the vehicle computer can abort the maneuver, as discussed in connection with  FIG.  1 B . However, when the ego vehicle is a truck, it may be difficult to change directions quickly so there comes a point after which the vehicle computer of a truck may not abort the lane change maneuver simply because that jerky motion can itself be destabilizing and become a hazard. 
     According to various embodiments described herein, a vehicle computer may be configured to control the vehicle traveling along a first lane. The vehicle computer may receive a command to move from the first lane into the second lane. The command may be received from a human driver, a remote driver or a control module of the vehicle computer. For example, the planner module  114  of the vehicle computer may determine a trajectory including a lane change maneuver. One or more modules of the vehicle computer may process the lane change maneuver in a plurality of predetermined stages including, for example, a first stage during which a predetermined portion of the vehicle is in the first lane, a second stage during which the vehicle is partially in the first lane and partially in the second lane, and a third stage during which the predetermined portion of the vehicle is in the second lane. In some embodiments, the predetermined portion of the vehicle may be determined based on a relative position of a center line of the vehicle with respect to a center line of the first lane. The vehicle compute is configured to react to (e.g., generate and implement a preventive maneuver in response to) a moving object (e.g., a threat vehicle) detected at the first or the second stages of the lane change maneuver. That is, the vehicle is also configured to react to a threat detected at a later stage of the lane change maneuver. 
     In some embodiments, the vehicle computer may predict that a threat vehicle may enter the target lane which could then pose a potential collision risk. The potential collision risk can be determined by estimating the future trajectory of the surrounding mobile objects, given the previous trajectory and behavior, and the planned trajectory and geometry of the ego vehicle including the independent motion of the trailer relative to the tractor (e.g., in the case of a truck). Once detected, the vehicle computer ceases the lateral movement of the ego vehicle from the first lane into the second lane, and adjusts the current heading of the vehicle in the direction of the lanes. This stage in the lane change maneuver may be referred to as ‘lateral position hold’. The lateral position hold may be along the lane demarcation line where a portion of the vehicle is in the first lane and a portion of the vehicle is in the second lane. The vehicle computer may keep the ego vehicle in the lateral position hold for a predetermined amount of time. 
     If the threat vehicle responds to the encounter and moves back into its original lane or accelerates and drives past the ego vehicle within the predetermined amount of time (or if the vehicle computer predicts that the threat vehicle has, or is about to, react to the presence of the ego vehicle within the predetermined amount of time), clearing the path for the ego vehicle to complete the lane change maneuver, then the vehicle computer of the ego vehicle may proceed with the lane change maneuver and move the ego vehicle into the target lane (e.g., the second lane). 
     If, on the other hand, the threat vehicle continues to move into the target lane continuing to pose a potential collision risk by the end of the predetermined amount of time, the vehicle computer may abort the lane change maneuver and move the ego vehicle back to the first (e.g., its original) lane. The lateral movement of the ego vehicle during the lateral position hold should not be far enough out of the original lane as to allow other vehicle(s) to enter the original lane and restrict the option to return to the original lane. 
     In embodiments where the vehicle computer determines to abort the lane change maneuver, but the original lane is not clear anymore (e.g., aborting the lane change to the original lane is not deemed safe by the vehicle computer), the vehicle computer may control the ego vehicle to continue to move in the lateral position hold (e.g., along the direction of the lane demarcation line) until either of the first lane or the second lane clears out, or a timeout of the operation causes an alert to the driver to take over and manually drive the ego vehicle. A time threshold may be used to determine when this decision to return to the original lane is made. For example, the time threshold may be about five seconds. That is, if either lane is not freed up after five seconds, the vehicle computer may ask the driver to assume control of the ego vehicle. 
       FIG.  2    provides a flowchart  200  of a vehicle computer performing an automated lane change maneuver in multiple stages, according to various embodiments. For example, the plurality of predetermined stages associated with the lane change maneuver includes a first stage during which a predetermined portion of the vehicle is in the first lane, a second stage during which the vehicle is partially in the first lane and partially in the second lane, and a third stage during which the predetermined portion of the vehicle is in the second lane. The vehicle computer described in the flowchart  200  has the ability to detect a threat vehicle after starting the lane change maneuver, and the vehicle computer is configured to take action if the auto lane change procedure is in the early stage (e.g., first stage) as well as intermediary/late stage (e.g., the second stage) of the maneuver. If a threat object is detected before crossing the lane boundary, the ego vehicle will return to the original lane. If a threat object is detected after initiating a cross over the lane boundary, the ego vehicle may keep a lateral position hold. After a predetermined amount of time on the lateral position hold, the vehicle computer may control the ego vehicle to move to the second lane or return to the original lane. The driver may have the ability to take over manual driving control at any time. 
     At step  202 , the vehicle may be in a manual mode where the driver is in control. The driver may wish to leave the control of the vehicle to the vehicle computer. The vehicle may move into the operation design domain (ODD) region within which the vehicle is enabled to operate is the autonomous mode. At step  204 , the vehicle may be in the autonomous mode where the vehicle computer is in control. The vehicle computer may receive a command to perform a lane change maneuver from a first lane where the vehicle is traveling into a second lane adjacent to the first lane. The lane change maneuver command may be received from a driver of the vehicle or may be generated by a control module of the vehicle computer. According to various embodiments, the vehicle may be a fully autonomous vehicle with or without a driver being in the vehicle. In such embodiments, the flowchart may start at step  204 . 
     At step  206 , the vehicle computer may be still in the autonomous mode, and may confirm that the lane change command is received and is within the operation design domain (ODD). The vehicle computer may initiate the lane change maneuver. 
     At step  208 , while still in the autonomous mode, the vehicle computer may confirm that there are no threats detected in the target lane (e.g., the second lane) and (if applicable) that the driver has their hands on the steering wheel. The vehicle computer may enable the lane change maneuver to move from the first lane into the target (e.g., second) lane. 
     At step  210 , the vehicle may be in the initial stage (e.g., first stage) of the lane change maneuver. For example, the vehicle computer may control the vehicle to move closer to the lane demarcation line, getting ready to move into the second lane. The vehicle computer may check for any new threats along the trajectory of the lane change maneuver. For example, the vehicle computer may verify the data provided by various sensors of the vehicle to identify whether there is a threat along the trajectory. 
     If the vehicle computer detects a threat during the initial stage of the lane change maneuver (during step  210 ), the vehicle computer aborts the lane change maneuver, and controls the vehicle to return to the initial position in the first lane at step  212 . Once the initial position in the first lane is resumed, the vehicle computer continues to control the vehicle in the autonomous mode, similar to step  204 . Alternatively, when the vehicle computer detects a threat during the initial stage of the lane change maneuver (during step  210 ), the vehicle computer may warn the driver to take control of the vehicle, or the driver may simply assume control of the vehicle to respond to the detected threat. 
     In some embodiments, the stage of the lane change maneuver may be determined based on a real-time position of the ego vehicle. For example, the vehicle computer may determine if a first predetermined threshold in the lane change maneuver has been reached and/or passed. In some embodiments, the first predetermined threshold may be the relative position of a center line of the vehicle with respect to a center line of the first lane. For example, if a center line of the vehicle has not yet moved past a predetermined amount of distance (e.g., 0.7 meters) from the center line of the first lane, the vehicle may be determined to be in the first stage of the lane change maneuver. The lane change maneuver may be safely aborted during the first stage in response to a detected threat. 
     If, on the other hand, no threats are detected, at step  214 , the vehicle computer continues with the lane change maneuver and progresses into the second stage of the lane change maneuver during which the vehicle crosses over a real or virtual lane demarcation line between the first lane and the second lane. The vehicle computer controls the vehicle to move over the real or virtual lane demarcation line between the first lane and the second lane. During the second stage of the lane change maneuver, the vehicle is not sufficiently far across into the second lane that it is blocking the second lane. The portion of the vehicle in the first (initial) lane is such that the vehicle is restricting other objects from hopping into the first lane. During the lateral position hold, the vehicle blocks the first lane to such degree that would allow the vehicle to move back into the first lane if needed. During the second stage of the lane change maneuver, the vehicle computer continues to check for threats. 
     If the vehicle computer identifies a collision risk with a mobile object moving on the second lane during step  214 , the vehicle computer may control the vehicle to assume a lateral position hold trajectory where the vehicle computer controls the vehicle to proceed along the lateral path between the first lane and the second lane (e.g., along the real or virtual lane demarcation line). The lateral position hold may be a preventive maneuver implemented by the vehicle computer responsive to the detected collision risk with the mobile object. 
     According to some embodiments, the vehicle computer may control the vehicle to continue the lateral position hold trajectory for a predetermined amount of time. The predetermined amount of time may be the second predetermined threshold that determines the length of the second stage of the lane change maneuver. If by the end of the predetermined amount of time (e.g., the second predetermined threshold), the vehicle computer determines that the second lane is now clear (e.g., the threat vehicle moved out of the target lane, or drove past the ego vehicle, or aborted its maneuver), the vehicle computer may continue with the lane change maneuver at step  218 . 
     At step  218 , the vehicle computer may move onto the third stage of the lane change maneuver during which the vehicle computer may control the ego vehicle to completely quit the first lane and travel into the second lane. The vehicle computer successfully completes the lane change maneuver and continues to control the vehicle in the autonomous mode, similar to step  204 . 
     If, on the other hand, by the end of the predetermined amount of time, the vehicle computer still identifies the potential collision risk with the mobile object (e.g., the threat vehicle continues with its trajectory and blocks the second lane), the vehicle computer may abort the lane change maneuver, and control the vehicle to return to the initial position in the first lane similar to step  212 . Once the initial position in the first lane is resumed, the vehicle computer continues to control the vehicle in the autonomous mode, similar to step  204 . Alternatively, when the vehicle computer detects a threat during the second stage of the lane change maneuver (during step  214 ), the vehicle computer may control the vehicle to hold constant lateral position, and warn the driver to take control of the vehicle, or the driver may simply assume control of the vehicle to respond to the detected threat. 
     As described above in connection with  FIG.  2   , the vehicle computer described in the flowchart  200  has the ability to detect a threat vehicle after starting the lane change maneuver, and respond to the detected threat even when the lane change procedure is in the late stage of the maneuver (e.g., after at least a portion of the vehicle moved out of the first lane, while a portion of the vehicle is in the first lane and remainder of the vehicle is in the second lane). 
     According to various embodiments, the movement of the ego vehicle may be divided into a plurality of phases during the lane change maneuver to have less jerky and predictable vehicle motion. For example, the plurality of phases may include a) an initial lateral movement into the target lane, b) a straight movement aligned with the lane direction, and c) a lateral movement back to the original lane.  FIGS.  3 - 7    illustrate various lane change maneuver scenarios that may be implemented using techniques disclosed herein. In  FIGS.  3 - 7   , T 1 , T 2 , T 3  and T 4  represent consecutive time intervals. While  FIGS.  3 - 7    illustrate a lane change maneuver attempt from a right lane into a left lane for the ego vehicle  302 , one of ordinary skill in the art will appreciate that similar techniques are applicable to a lane change maneuver attempt from a left lane into a right lane for the ego vehicle  302 . According to various embodiments, the ego vehicle  302  may be over 45 feet long (e.g. the ego vehicle  302  may be a truck). 
       FIG.  3    illustrates a lane change maneuver  300  that is completed without detecting a collision risk after initiating the maneuver, according to various embodiments. The scenario illustrated in  FIG.  3    demonstrates a regular auto lane change maneuver where the secondary vehicle poses no threat to the ego vehicle. 
     As illustrated in  FIG.  3   , at time interval T 1 , the ego vehicle  302  is traveling on the first lane  310  and the second vehicle (e.g. the threat vehicle)  304  is traveling on the third lane  314 . The vehicle computer of the ego vehicle  302  may control the ego vehicle  302  to perform a lane change maneuver from the first lane  310  into the second lane  312  (e.g., the target lane). At time interval T 2 , the vehicle computer may initiate the lane change maneuver. The vehicle computer of the ego vehicle  302  may continue to monitor surrounding objects, including the second vehicle  304 , while performing the lane change maneuver. The vehicle computer may continue with the lane change maneuver at time interval T 3  in response to determining that the second lane  312  is clear and failing to identify new threats during the lane change maneuver. At time interval T 4 , the vehicle computer may complete the lane change maneuver and control the ego vehicle  302  to move from the first lane  310  into the second lane  312 . 
     In the scenario illustrated in  FIG.  3   , the second vehicle  304  may continue its trajectory along the third lane  314  thereby not posing a threat to the ego vehicle  302 .  FIG.  3    illustrates the ego vehicle  302  following a first trajectory  320  that moves the ego vehicle from the first lane  310  into the second lane  312 , while the second vehicle  304  follows a second trajectory  340  along the third lane  314 . 
       FIG.  4    illustrates a lane change maneuver  400  that is aborted in response to a collision risk detected during an initial stage (e.g., first stage) of the maneuver, according to various embodiments. The scenario illustrated in  FIG.  4    demonstrates an early stage lane change abort where the ego vehicle returns to the original lane having only moved a small distance laterally before recognizing the secondary vehicle as a threat. 
     As illustrated in  FIG.  4   , at time interval T 1 , the ego vehicle  302  is traveling on the first lane  310  and the second vehicle (e.g. the threat vehicle)  304  is traveling on the third lane  314 . The vehicle computer of the ego vehicle  302  may control the ego vehicle  302  to perform a lane change maneuver from the first lane  310  into the second lane  312  (e.g., the target lane). At time interval T 2 , the vehicle computer may initiate the lane change maneuver. The vehicle computer of the ego vehicle  302  may continue to monitor surrounding objects, including the second vehicle  304 , while performing the lane change maneuver. The vehicle computer may determine that the second vehicle  304  initiated a lane change maneuver from the third lane  314  into the second lane  312  and that the second vehicle  304  now blocks the target lane (the second lane  312 ) for the ego vehicle  302 . That is, the vehicle computer may detect a collision risk with a mobile object (the second vehicle  304 ) moving on the second lane after initiating the lane change maneuver. 
     After detecting the collision risk, the vehicle computer may determine how far along into the lane change maneuver has the ego vehicle  302  traveled. According to the scenario illustrated in  FIG.  4   , the vehicle computer may determine that the ego vehicle  302  is in the initial/early stage of the lane change maneuver. For example, the vehicle computer may determine a real-time position of the ego vehicle  302  with respect to the first lane  310  or the second lane  312  in response to the collision risk. The vehicle computer may determine that a predetermined portion of the ego vehicle  302  is in the first lane  310 . For example, in some embodiments, the predetermined portion of the ego vehicle  302  is determined based on a relative position of a center line of the ego vehicle  302  with respect to a center line of the first lane  310 . Based on the real-time position of the ego vehicle  302 , the vehicle computer may determine that the ego vehicle  302  is in a first (e.g. initial) stage of the lane change maneuver. 
     At time interval T 3 , the vehicle computer may control the ego vehicle  302  to perform a preventive maneuver responsive to the threat vehicle  304  detected during the first stage of the lane change maneuver. In the lane change maneuver  400 , the preventive maneuver includes instructions sent to actuators of the ego vehicle  302  to control the ego vehicle  302  to move back to the first lane  310 . That is, the vehicle computer aborts the lane change maneuver in response to a threat detected during the first stage of the lane change maneuver. At time interval T 4 , the lane change maneuver is aborted and the ego vehicle  302  is controlled back to into the first lane  310 . 
     In the scenario illustrated in  FIG.  4   , the trajectory  340  of the second vehicle  304  moves from the third lane  314  into the second (target) lane  312  thereby posing a collision risk to the ego vehicle  302  after the ego vehicle  302  initiates a lane change maneuver. The trajectory  320  of the ego vehicle  302  moves the ego vehicle  302  close to the lane demarcation line, and potentially slightly over the lane demarcation line, and back into the first lane  310 , never substantially crossing into the second lane  312 . 
       FIG.  5    illustrates a lane change maneuver  500  that is completed by implementing a lateral position hold in response to a collision risk detected during a second stage of the maneuver, according to various embodiments. The scenario illustrated in  FIG.  5    demonstrates a later stage (e.g., second stage) lateral position hold until the secondary vehicle returns to its original lane, leaving the target lane free for the ego vehicle to complete the lane change. 
     As illustrated in  FIG.  5   , at time interval T 1 , the ego vehicle  302  is traveling on the first lane  310  and the second vehicle (e.g. the threat vehicle)  304  is traveling on the third lane  314 . The vehicle computer of the ego vehicle  302  may control the ego vehicle  302  to perform a lane change maneuver from the first lane  310  into the second lane  312  (e.g., the target lane). At time interval T 2 , the vehicle computer may initiate the lane change maneuver. The vehicle computer of the ego vehicle  302  may continue to monitor surrounding objects, including the second vehicle  304 , while performing the lane change maneuver. The vehicle computer may determine that the second vehicle  304  initiated a lane change maneuver from the third lane  314  into the second lane  312  and that the second vehicle  304  now blocks the target lane (the second lane  312 ) for the ego vehicle  302 . That is, the vehicle computer may detect a collision risk with a mobile object (the second vehicle  304 ) moving on the second lane after initiating the lane change maneuver. 
     After detecting the collision risk, the vehicle computer may determine how far along into the lane change maneuver has the ego vehicle  302  traveled. According to the scenario illustrated in  FIG.  5   , the vehicle computer may determine that the ego vehicle  302  is in the second stage of the lane change maneuver. For example, the vehicle computer may determine a real-time position of the ego vehicle  302  with respect to the first lane  310  or the second lane  312  in response to the collision risk. The vehicle computer may determine that the ego vehicle  302  is partially in the first lane  310  and partially in the second lane  312 . For example, in some embodiments, the portion of the ego vehicle  302  that is in the first lane  310  and/or the second lane  312  is determined based on a relative position of a center line of the ego vehicle  302  with respect to a center line of the first lane  310 . Based on the real-time position of the ego vehicle  302 , the vehicle computer may determine that the ego vehicle  302  is in a second stage of the lane change maneuver. 
     At time interval T 3 , the vehicle computer may control the ego vehicle  302  to perform a preventive maneuver responsive to the threat vehicle  304  detected during the second stage of the lane change maneuver. In the lane change maneuver  500 , the preventive maneuver includes instructions sent to actuators of the ego vehicle  302  to control the ego vehicle  302  to proceed along the lateral path between the first lane  310  and the second lane  312  for a predetermined amount of time. During the lateral position hold, the ego vehicle  310  has moved slightly into the second lane  312  but does not block other vehicles from moving into the second lane  312 , at the same time, a larger portion of the ego vehicle  302  is in the first lane  310  such that other vehicles are blocked from moving into the first lane  310 . This allows the ego vehicle  302  to reserve the option to move back into the first lane  310  should the vehicle computer determine that the lane change maneuver should be aborted. 
     If the vehicle computer no longer detects the second vehicle  304  (e.g. the second vehicle  304  moved back into the third lane  314  and aborted its lane change maneuver) collision risk before the predetermined amount of time has elapsed, at time interval T 4  the vehicle computer controls the ego vehicle  302  to move into the second lane  312 , which is now clear. At time interval T 4 , the lane change maneuver is completed and the ego vehicle  302  travels in the second lane  312 . 
     In the scenario illustrated in  FIG.  5   , the trajectory  340  of the second vehicle  304  moves from the third lane  314  slightly into the second (target) lane  312  thereby posing a collision risk to the ego vehicle  302  after the ego vehicle  302  initiates a lane change maneuver. Shortly thereafter, the second vehicle  304  moves back to the third lane  314  clearing the second lane  312  for the ego vehicle  302 . The trajectory  320  of the ego vehicle  302  moves the ego vehicle  302  over the lane demarcation line, on a lateral position hold along the demarcation line, and into the second lane  312  completing the lane change maneuver. 
       FIG.  6    illustrates a lane change maneuver  600  that is completed by implementing a lateral position hold in response to a collision risk detected during a second stage of the maneuver, according to various embodiments. The scenario illustrated in  FIG.  6    demonstrates a later stage (e.g., second stage) lateral position hold where the secondary vehicle accelerates past the ego vehicle, leaving the target lane free for the ego vehicle to complete the lane change. 
     As illustrated in  FIG.  6   , at time interval T 1 , the ego vehicle  302  is traveling on the first lane  310  and the second vehicle (e.g. the threat vehicle)  304  is traveling on the third lane  314 . The vehicle computer of the ego vehicle  302  may control the ego vehicle  302  to perform a lane change maneuver from the first lane  310  into the second lane  312  (e.g., the target lane). At time interval T 2 , the vehicle computer may initiate the lane change maneuver. The vehicle computer of the ego vehicle  302  may continue to monitor surrounding objects, including the second vehicle  304 , while performing the lane change maneuver. The vehicle computer may determine that the second vehicle  304  initiated a lane change maneuver from the third lane  314  into the second lane  312  and that the second vehicle  304  now blocks the target lane (the second lane  312 ) for the ego vehicle  302 . That is, the vehicle computer may detect a collision risk with a mobile object (the second vehicle  304 ) moving on the second lane after initiating the lane change maneuver. 
     After detecting the collision risk, the vehicle computer may determine how far along into the lane change maneuver has the ego vehicle  302  traveled. According to the scenario illustrated in  FIG.  6   , the vehicle computer may determine that the ego vehicle  302  is in the second stage of the lane change maneuver. For example, the vehicle computer may determine a real-time position of the ego vehicle  302  with respect to the first lane  310  or the second lane  312  in response to the collision risk. The vehicle computer may determine that the ego vehicle  302  is partially in the first lane  310  and partially in the second lane  312 . For example, in some embodiments, the portion of the ego vehicle  302  that is in the first lane  310  and/or the second lane  312  is determined based on a relative position of a center line of the ego vehicle  302  with respect to a center line of the first lane  310 . Based on the real-time position of the ego vehicle  302 , the vehicle computer may determine that the ego vehicle  302  is in a second stage of the lane change maneuver. 
     At time interval T 3 , the vehicle computer may control the ego vehicle  302  to perform a preventive maneuver responsive to the threat vehicle  304  detected during the second stage of the lane change maneuver. In the lane change maneuver  600 , the preventive maneuver includes instructions sent to actuators of the ego vehicle  302  to control the ego vehicle  302  to proceed along the lateral path between the first lane  310  and the second lane  312  for a predetermined amount of time. During the lateral position hold, the ego vehicle  302  has moved slightly into the second lane  312  but does not block other vehicles from moving into the second lane  312 , at the same time, a larger portion of the ego vehicle  302  is in the first lane  310  such that other vehicles are blocked from moving into the first lane  310 . This allows the ego vehicle  302  to reserve the option to move back into the first lane  310  should the vehicle computer determine that the lane change maneuver should be aborted. 
     If the vehicle computer no longer detects the second vehicle  304  (e.g. the second vehicle  304  sped up or slowed down clearing the second lane  312  for the ego vehicle  302 ) or the collision risk before the predetermined amount of time has elapsed, at time interval T 4  the vehicle computer controls the ego vehicle  302  to move into the second lane  312 , which is now clear. At time interval T 4 , the lane change maneuver is completed and the ego vehicle  302  travels in the second lane  312 . 
     In the scenario illustrated in  FIG.  6   , the trajectory  340  of the second vehicle  304  moves from the third lane  314  slightly into the second (target) lane  312  thereby posing a collision risk to the ego vehicle  302  after the ego vehicle  302  initiates a lane change maneuver. Shortly thereafter, the second vehicle  304  speeds up, quickly moves into the second lane  312 , and moves past the ego vehicle  302  thereby clearing the second lane  312  for the ego vehicle  302 . The trajectory  320  of the ego vehicle  302  moves the ego vehicle  302  over the lane demarcation line, on a lateral position hold along the demarcation line, and into the second lane  312  completing the lane change maneuver. 
       FIG.  7    illustrates a lane change maneuver  700  that is aborted after implementing a lateral position hold in response to a collision risk detected during a second stage of the maneuver, according to various embodiments. The scenario illustrated in  FIG.  7    demonstrates a later stage (e.g., second stage) lateral position hold where the secondary vehicle completes the lane change into the target lane, resulting in a late stage abort and the ego vehicle returning to its original lane. 
     As illustrated in  FIG.  7   , at time interval T 1 , the ego vehicle  302  is traveling on the first lane  310  and the second vehicle (e.g. the threat vehicle)  304  is traveling on the third lane  314 . The vehicle computer of the ego vehicle  302  may control the ego vehicle  302  to perform a lane change maneuver from the first lane  310  into the second lane  312  (e.g., the target lane). At time interval T 2 , the vehicle computer may initiate the lane change maneuver. The vehicle computer of the ego vehicle  302  may continue to monitor surrounding objects, including the second vehicle  304 , while performing the lane change maneuver. The vehicle computer may determine that the second vehicle  304  initiated a lane change maneuver from the third lane  314  into the second lane  312  and that the second vehicle  304  now blocks the target lane (the second lane  312 ) for the ego vehicle  302 . That is, the vehicle computer may detect a collision risk with a mobile object (the second vehicle  304 ) moving on the second lane after initiating the lane change maneuver. 
     After detecting the collision risk, the vehicle computer may determine how far along into the lane change maneuver has the ego vehicle  302  traveled. According to the scenario illustrated in  FIG.  7   , the vehicle computer may determine that the ego vehicle  302  is in the second stage of the lane change maneuver. For example, the vehicle computer may determine a real-time position of the ego vehicle  302  with respect to the first lane  310  or the second lane  312  in response to the collision risk. The vehicle computer may determine that the ego vehicle  302  is partially in the first lane  310  and partially in the second lane  312 . For example, in some embodiments, the portion of the ego vehicle  302  that is in the first lane  310  and/or the second lane  312  is determined based on a relative position of a center line of the ego vehicle  302  with respect to a center line of the first lane  310 . Based on the real-time position of the ego vehicle  302 , the vehicle computer may determine that the ego vehicle  302  is in a second stage of the lane change maneuver. 
     At time interval T 3 , the vehicle computer may control the ego vehicle  302  to perform a preventive maneuver responsive to the threat vehicle  304  detected during the second stage of the lane change maneuver. In the lane change maneuver  700 , the preventive maneuver includes instructions sent to actuators of the ego vehicle  302  to control the ego vehicle  302  to proceed along the lateral path between the first lane  310  and the second lane  312  for a predetermined amount of time. During the lateral position hold, the ego vehicle  302  has moved slightly into the second lane  312  but does not block other vehicles from moving into the second lane  312 , at the same time, a larger portion of the ego vehicle  302  is in the first lane  310  such that other vehicles are blocked from moving into the first lane  310 . This allows the ego vehicle  302  to reserve the option to move back into the first lane  310  should the vehicle computer determine that the lane change maneuver should be aborted. 
     If the vehicle computer continues to detect the second vehicle  304  or the collision risk after the predetermined amount of time has lapsed (e.g., the second vehicle  304  does not move out of the second lane  312 ), the vehicle computer controls the ego vehicle  302  to abort the lane change maneuver and return to the first lane  310  as part of the preventive maneuver implemented by the vehicle computer. At time interval T 4 , the lane change maneuver is aborted and the ego vehicle  302  moves back into the first lane  310 . 
     In the scenario illustrated in  FIG.  7   , the trajectory  340  of the second vehicle  304  moves from the third lane  314  slightly into the second (target) lane  312  thereby posing a collision risk to the ego vehicle  302  after the ego vehicle  302  initiates a lane change maneuver. The second vehicle  304  never clears the second lane  312  for the ego vehicle  302  to complete the lane change maneuver. The trajectory  320  of the ego vehicle  302  moves the ego vehicle  302  over the lane demarcation line, on a lateral position hold along the demarcation line, and back into the first lane  310  aborting the lane change maneuver. 
       FIG.  8    is a flowchart of an example process  800 , according to various embodiments. In some implementations, one or more process blocks of  FIG.  8    may be performed by a vehicle computer  950  of a vehicle  900  (illustrated in  FIG.  9   ). Although  FIG.  8    shows example blocks of process  800 , in some implementations, process  800  may include additional blocks, fewer blocks, different blocks, or differently arranged blocks than those depicted in  FIG.  8   . Additionally, or alternatively, two or more of the blocks of process  800  may be performed in parallel. 
     As shown in  FIG.  8   , at block  802 , process  800  may include receiving, by a vehicle computer of a vehicle, a command to perform a lane change maneuver from a first lane where the vehicle is traveling into a second lane adjacent to the first lane. In some embodiments, the vehicle may be a truck that is over 45 feet long. In some embodiments, the vehicle may be operating on an autonomous mode when the command to perform the lane change maneuver is received by the vehicle computer. 
     At block  804 , process  800  may include initiating, by the vehicle computer, the lane change maneuver. For example, the vehicle computer may send instructions to the actuators of the vehicle to control the vehicle to move closer to a virtual or real lane demarcation line between the first lane and the second lane. While performing the lane change maneuver, the vehicle computer may continue to monitor the surroundings of the vehicle for potential new threats. For example, the vehicle computer may analyze the sensor data received from the plurality of sensors coupled to the vehicle. 
     At block  806 , process  800  may include detecting, by the vehicle computer after initiating the lane change maneuver, a collision risk with a mobile object moving on the second lane. For example, the vehicle computer may identify among the sensor data received from the plurality of sensors coupled to the vehicle a threat vehicle that was traveling two lanes over making an attempt to move to the second (e.g., target) lane. In some embodiments, the vehicle computer may predict the behavior of the threat vehicle based on a trajectory and/or data received from the threat vehicle. The response of the vehicle computer may depend on the stage of the lane change maneuver. 
     At block  808 , process  800  may include determining, by the vehicle computer, a real-time position of the vehicle with respect to the first lane or the second lane in response to the collision risk. For example, the real-time position of the vehicle indicates a relative position of a center line of the vehicle with respect to a center line of the first lane. In some embodiments, the vehicle computer may identify the maneuver stage based on the real-time position of the vehicle. 
     At block  810 , process  800  may include determining, by the vehicle computer, that the vehicle is in one of a plurality of predetermined stages associated with the lane change maneuver based on the real-time position of the vehicle. As provided above, the plurality of predetermined stages associated with the lane change maneuver may include a first stage during which a predetermined portion of the vehicle is in the first lane, a second stage during which the vehicle is partially in the first lane and partially in the second lane, and a third stage during which the predetermined portion of the vehicle is in the second lane. The predetermined portion of the vehicle may be determined based on a relative position of a center line of the vehicle with respect to a center line of the first lane. 
     At block  812 , process  800  may include performing, by the vehicle computer, a preventive maneuver responsive to the detected mobile object based on determined stage associated with the lane change maneuver, where the preventive maneuver includes instructions sent to actuators of the vehicle to control the vehicle to one or more of move back to the first lane, proceed along a lateral path between the first lane and the second lane, or move to the second lane. For example, the preventive maneuver includes instructions sent to the actuators of the vehicle to control the vehicle to move back to the first lane after proceeding along the lateral path between the first lane and the second lane, or move to the second lane after proceeding along the lateral path between the first lane and the second lane. 
     According to various embodiments, when the mobile object is detected during the first stage, the preventive maneuver includes instructions sent to the actuators of the vehicle to control the vehicle to abort the lane change maneuver and return to the first lane. In other embodiments, when the mobile object is detected during the second stage, the preventive maneuver includes instructions sent to the actuators of the vehicle to control the vehicle to proceed along the lateral path between the first lane and the second lane for a predetermined amount of time. If the mobile object is detected after the predetermined amount of time, the preventive maneuver further includes instructions sent to the actuators of the vehicle to control the vehicle to abort the lane change maneuver and return to the first lane. If the mobile object is not detected after the predetermined amount of time, the preventive maneuver further includes instructions sent to the actuators of the vehicle to control the vehicle to move to the second lane. 
     Embodiments provide various technical improvements over the current lane change maneuvers implemented by full or partial autonomous vehicles. Embodiments enable the vehicle computer to respond to a threat identified after the lane change maneuver is initiated. Specifically, embodiments enable the vehicle computer to perform a preventive maneuver to avoid a potential collision with the threat object even when the threat object is identified during late stages of the lane change maneuver. Embodiments implement a lateral position hold maneuver for a predetermined among of time during which the vehicle advances between the first lane and the second lane giving a chance to the threat vehicle to clear the second lane. Thus, instead of aborting the lane change maneuver at a late stage that would potentially cause a jerky and unstable movement for the vehicle (especially when the vehicle is a truck), embodiments implement the lateral position hold maneuver prior to moving to the second lane, or moving back to the first lane. 
       FIG.  9    illustrates a block diagram of an exemplary vehicle, according to various embodiments. The vehicle  900  may include a vehicle computer  950  that is configured to receive inputs from a plurality of sources including one or more sensors  902  coupled to the vehicle. The vehicle computer  950  is configured to generate outputs (e.g., control signals) for the one or more actuators  904  that control the vehicle  900 . For example, the control signals, when executed by the actuators  904 , may result in the vehicle  900  initiating a lane change maneuver. The actuators  904  may control a steering, speed or throttle of the vehicle. 
     According to various embodiments, the vehicle computer  950  may comprise processors  954 , which may be coupled to a system memory  952  and a communications network  956 . 
     The memory  952  may be in the form of one or more memory devices (e.g., RAM, EEPROM, ROM chips), using any suitable mode of data storage. The memory  952  may store one or more software algorithm(s) (not shown). The software algorithm(s) may include, for example, an artificial intelligence (AI) model(s) or algorithm(s), a machine learning (ML) model(s) or algorithm(s), an analytical model(s) or algorithm(s), a rule-based model(s) or algorithm(s), or a mathematical model(s) or algorithm(s). 
     The communications network  956  can be any suitable communications network(s) for transferring data among, to and from the components of the vehicle computer  950 . In some instances, the communication network(s) may include one or more of a wired network such as, an Ethernet backbone network, a controller area network (CAN) bus  960 , a local interconnect network (LIN), a media-oriented system transport (MOST), a fiber-optic network, a digital subscription line (“DSL”) network, a broadband network, and/or a flexray network. In other instances, the communication network(s) may also include a wireless network such as, for example, a Wi-Fi or wireless local area network (“WLAN”), a wireless wide area network (“WWAN”), and/or a cellular network. 
     The sensor  902  may include one or more of a thermal imager camera, an infrared camera, a stereo camera, a time of flight camera, an red/green/blue (RGB) camera, a 2-D camera, a 3-D camera, a 360-degree camera, an imaging radar, a 3-D radar, a 4-D radar, a short-range radar, a medium-range radar, a long-range radar, a pulse-Doppler radar, a frequency-modulated continuous-wave (FMCW) radar, an amplitude modulated lidar, a frequency modulated lidar, a mechanical lidar, a microelectromechanical systems lidar, a flash lidar, an optical phase array lidar, a frequency-modulated continuous-wave (FMCW) lidar, a time of flight scanning lidar, an active sonar, a passive sonar, etc. One of ordinary skill in the art will appreciate that sensors  902  may include other types of sensors and the examples above are not meant to be exhaustive. 
     A computer readable medium  958  may also be operatively coupled to the processors  954  of the vehicle computer  950 . The computer readable medium  958  may comprise code, executable by the processors  954 , to perform a method including receiving a command to perform a lane change maneuver from a first lane where the vehicle is traveling into a second lane adjacent to the first lane; initiating the lane change maneuver; detecting, after initiating the lane change maneuver, a collision risk with a mobile object moving on the second lane; determining a real-time position of the vehicle with respect to the first lane or the second lane in response to the collision risk; determining that the vehicle is in one of a plurality of predetermined stages associated with the lane change maneuver based on the real-time position of the vehicle; performing a preventive maneuver responsive to the detected mobile object based on determined stage associated with the lane change maneuver, where the preventive maneuver includes instructions sent to actuators of the vehicle to control the vehicle to one or more of move back to the first lane, proceed along a lateral path between the first lane and the second lane, or move to the second lane. 
     Although vehicle  900  (see  FIG.  9   ) is described and illustrated as one particular configuration of vehicle, embodiments of the disclosure are suitable for use with a multiplicity of vehicles. In some instances, embodiments of the disclosure are particularly well suited for use with long haul or short haul vehicles, including but not limited to trucks, that carry a variety of cargo. 
     In the foregoing specification, embodiments of the disclosure have been described with reference to numerous specific details that can vary from implementation to implementation. The specification and drawings are, accordingly, to be regarded in an illustrative rather than a restrictive sense. The sole and exclusive indicator of the scope of the disclosure, and what is intended by the applicants to be the scope of the disclosure, is the literal and equivalent scope of the set of claims that issue from this application, in the specific form in which such claims issue, including any subsequent correction. The specific details of particular embodiments can be combined in any suitable manner without departing from the spirit and scope of embodiments of the disclosure. 
     With reference to the appended figures, components that can include memory (e.g., memory  952 ) can include non-transitory machine-readable media. The terms “machine-readable medium” and “computer-readable medium” as used herein refer to any storage medium that participates in providing data that causes a machine to operate in a specific fashion. In embodiments provided hereinabove, various machine-readable media might be involved in providing instructions/code to processors and/or other device(s) for execution. Additionally or alternatively, the machine-readable media might be used to store and/or carry such instructions/code. In many implementations, a computer-readable medium is a physical and/or tangible storage medium. Such a medium may take many forms, including, but not limited to, non-volatile media, volatile media, and transmission media. 
     For an implementation involving firmware and/or software, the methodologies may be implemented with modules (e.g., procedures, functions, and so on) that perform the functions described herein. Any machine-readable medium tangibly embodying instructions may be used in implementing the methodologies described herein. For example, software codes may be stored in a memory and executed by a processor unit. Memory may be implemented within the processor unit or external to the processor unit. As used herein the term “memory” refers to any type of long term, short term, volatile, nonvolatile, or other memory and is not to be limited to any particular type of memory or number of memories, or type of media upon which memory is stored. 
     If implemented in firmware and/or software, the functions may be stored as one or more instructions or code on a computer-readable storage medium. Examples include computer-readable media encoded with a data structure and computer-readable media encoded with a computer program. Computer-readable media includes physical computer storage media. A storage medium may be any available medium that can be accessed by a computer. By way of example, and not limitation, such computer-readable media can comprise RAM, ROM, EEPROM, compact disc read-only memory (CD-ROM) or other optical disk storage, magnetic disk storage, semiconductor storage, or other storage devices, or any other medium that can be used to store desired program code in the form of instructions or data structures and that can be accessed by a computer; disk and disc, as used herein, includes compact disc (CD), laser disc, optical disc, digital versatile disc (DVD), floppy disk and blu-ray disc where disks usually reproduce data magnetically, while discs reproduce data optically with lasers. Combinations of the above should also be included within the scope of computer-readable media. 
     In addition to storage on computer-readable storage medium, instructions and/or data may be provided as signals on transmission media included in a communication apparatus. For example, a communication apparatus may include a transceiver having signals indicative of instructions and data. The instructions and data are configured to cause one or more processors to implement the functions outlined in the claims. That is, the communication apparatus includes transmission media with signals indicative of information to perform disclosed functions. At a first time, the transmission media included in the communication apparatus may include a first portion of the information to perform the disclosed functions, while at a second time the transmission media included in the communication apparatus may include a second portion of the information to perform the disclosed functions. 
     In the preceding detailed description, numerous specific details have been set forth to provide a thorough understanding of claimed subject matter. However, it will be understood by those skilled in the art that claimed subject matter may be practiced without these specific details. In other instances, methods and apparatuses that would be known by one of ordinary skill have not been described in detail so as not to obscure claimed subject matter. Therefore, it is intended that claimed subject matter not be limited to the particular examples disclosed, but that such claimed subject matter may also include all aspects falling within the scope of appended claims, and equivalents thereof. 
     The methods, systems, and devices discussed herein are examples. Various embodiments may omit, substitute, or add various procedures or components as appropriate. For instance, features described with respect to certain embodiments may be combined in various other embodiments. Different aspects and elements of the embodiments may be combined in a similar manner. The various components of the figures provided herein can be embodied in hardware and/or software. Also, technology evolves and, thus, many of the elements are examples that do not limit the scope of the disclosure to those specific examples. 
     It has proven convenient at times, principally for reasons of common usage, to refer to such signals as bits, information, values, elements, symbols, characters, variables, terms, numbers, numerals, or the like. It should be understood, however, that all of these or similar terms are to be associated with appropriate physical quantities and are merely convenient labels. Unless specifically stated otherwise, as is apparent from the discussion above, it is appreciated that throughout this specification discussions utilizing terms such as “processing,” “computing,” “calculating,” “determining,” “ascertaining,” “identifying,” “associating,” “measuring,” “performing,” or the like refer to actions or processes of a specific apparatus, such as a special purpose computer, controller, or a similar special purpose electronic computing device. In the context of this specification, therefore, a special purpose computer or a similar special purpose electronic computing device is capable of manipulating or transforming signals, typically represented as physical electronic, electrical, or magnetic quantities within memories, registers, or other information storage devices, transmission devices, or display devices of the special purpose computer or similar special purpose electronic computing device. 
     Those of skill in the art will appreciate that information and signals used to communicate the messages described herein may be represented using any of a variety of different technologies and techniques. For example, data, instructions, commands, information, signals, bits, symbols, and chips that may be referenced throughout the above description may be represented by voltages, currents, electromagnetic waves, magnetic fields or particles, optical fields or particles, or any combination thereof. 
     Terms “and,” “or,” and “an/or,” as used herein, may include a variety of meanings that also is expected to depend at least in part upon the context in which such terms are used. Typically, “or” if used to associate a list, such as A, B, or C, is intended to mean A, B, and C, here used in the inclusive sense, as well as A, B, or C, here used in the exclusive sense. In addition, the term “one or more” as used herein may be used to describe any feature, structure, or characteristic in the singular or may be used to describe some combination of features, structures, or characteristics. However, it should be noted that this is merely an illustrative example and claimed subject matter is not limited to this example. Furthermore, the term “at least one of” if used to associate a list, such as A, B, or C, can be interpreted to mean any combination of A, B, and/or C, such as A, B, C, AB, AC, BC, AA, AAB, ABC, AABBCCC, etc. 
     Reference throughout this specification to “one example,” “an example,” “certain examples,” or “exemplary implementation” means that a particular feature, structure, or characteristic described in connection with the feature and/or example may be included in at least one feature and/or example of claimed subject matter. Thus, the appearances of the phrase “in one example,” “an example,” “in certain examples,” “in certain implementations,” or other like phrases in various places throughout this specification are not necessarily all referring to the same feature, example, and/or limitation. Furthermore, the particular features, structures, or characteristics may be combined in one or more examples and/or features.