Lane change determination for vehicle on road shoulder

By using segmented linear functions to control speed and detecting the position of the vehicle on the shoulder of the road, the autonomous vehicle can effectively reduce the collision risk of the vehicle on the shoulder and achieve safe pass.

CN119384378APending Publication Date: 2025-01-28EMBARK TRUCKS INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202380036897.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2022-03-25
Filing Date
2023-02-27
Publication Date
2025-01-28

AI Technical Summary

Technical Problem

Autonomous vehicles have difficulty effectively controlling speed and paths when approaching vehicles on the shoulders, resulting in an increased risk of potential collisions, especially in the case of larger vehicles.

Method used

The segmented linear function is used to control the deceleration and acceleration of the vehicle, combined with the sensor data to detect the location and distance of the vehicle on the shoulder of the road, and determine whether to perform a variable lane to avoid potential collisions.

Benefits of technology

Through the speed control and lane decision -making of the segmental function, autonomous vehicles can restore the initial speed when the vehicle on the shoulder should exceed the road should be reduced to reduce the risk of accidents.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119384378A_ABST
    Figure CN119384378A_ABST
Patent Text Reader

Abstract

A system and method are provided that may control a speed at which an autonomous vehicle approaches a road shoulder vehicle based on a piecewise linear function. Further, the systems and methods may determine whether to perform a lane change based on various factors. In one example, the method may include storing a piecewise linear function; detecting a road shoulder vehicle (VOS) of a road based on sensor data sensed by one or more sensors of an autonomous vehicle proximate to the VOS; determining that the VOS is located within a predefined distance of the autonomous vehicle; and in response to the determination, controlling the autonomous vehicle to decelerate and then accelerate based on the piecewise linear function.
Need to check novelty before this filing date? Find Prior Art

Description

Background Art

[0001] Autonomous vehicles are equipped with safety systems to prevent the vehicle from hitting other vehicles or objects on the road. However, autonomous vehicles may encounter other problems. One such problem is vehicles on the shoulder. These vehicles are not in the same lane as the autonomous vehicle, but they still pose problems, such as people opening doors, people running out, vehicles backing onto the road, etc. These problems may cause accidents with autonomous vehicles. Additionally, when the vehicle is a larger autonomous vehicle, such as a semi-truck or trailer, it may be more dangerous to vehicles on the road due to the reduced lateral clearance of such a larger vehicle. Summary of the invention

[0002] Example embodiments relate to a method for controlling a vehicle, such as an autonomous or semi-autonomous vehicle, when the vehicle is moving along a lane of a road and another vehicle is positioned on (and approaching) a shoulder of the road. In some embodiments, the controlled vehicle may be referred to as an autonomous vehicle having sensors capable of automatically sensing and interpreting the environment and conditions surrounding the autonomous vehicle as it moves. The autonomous vehicle may embody a novel speed limiter function that is activated when a vehicle on the shoulder (VOS) is detected. The speed limiter function may be a piecewise linear function that is used by the autonomous vehicle to slow down the speed of the autonomous vehicle before approaching the VOS and to increase the speed of the autonomous vehicle after the autonomous vehicle has successfully passed the VOS.

[0003] Specifically, the speed limit function can include a first linear speed change performed before the autonomous vehicle is adjacent to or parallel to the VOS. The limit can reduce the speed of the autonomous vehicle to a predefined minimum allowed speed, which can be set in advance or dynamically determined. The autonomous vehicle can maintain this speed until shortly after it exceeds the VOS. The autonomous vehicle can then quickly increase its speed (e.g., faster than the rate at which it decelerated, etc.) to restore its initial speed before descending or to restore a different desired speed.

[0004] Additionally, and possibly concurrently with the speed limit, the autonomous vehicle may also determine whether to perform a lane change due to a vehicle on the shoulder. For example, the autonomous vehicle may determine whether to move to an adjacent lane based on a number of factors associated with a vehicle on the shoulder (VOS), other vehicles on the road, lane preferences, speed limits, route endpoints, etc. For example, the autonomous vehicle may execute an optimization algorithm that determines whether to move the autonomous vehicle to an adjacent lane (i.e., perform a lane change) based on a sensed longitudinal distance from the autonomous vehicle to the VOS and a sensed lateral distance from the VOS to a lane in which the autonomous vehicle is traveling.

[0005] According to an aspect of an example embodiment, a device is provided, which may include: a memory for storing a piecewise linear function; and a processor for detecting a vehicle on the shoulder (VOS) of a road based on sensor data sensed by one or more sensors of an autonomous vehicle approaching the VOS, determining that the VOS is within a predefined distance of the autonomous vehicle, and in response to the determination, controlling the autonomous vehicle to decelerate and then accelerate based on the piecewise linear function.

[0006] According to an aspect of another example embodiment, a method is provided that may include: storing a piecewise linear function; detecting a vehicle on the shoulder (VOS) of a road based on sensor data sensed by one or more sensors of an autonomous vehicle approaching the VOS; determining that the VOS is within a predefined distance of the autonomous vehicle; and in response to the determination, controlling the autonomous vehicle to decelerate and then accelerate based on the piecewise linear function.

[0007] According to an aspect of another example embodiment, a non-transitory computer-readable medium is provided, the non-transitory computer-readable medium having instructions that, when executed by a processor, cause a computer to perform a method that may include: storing a piecewise linear function; detecting a vehicle on the shoulder (VOS) of a road based on sensor data sensed by one or more sensors of an autonomous vehicle approaching the VOS; determining that the VOS is within a predefined distance of the autonomous vehicle; and in response to the determination, controlling the autonomous vehicle to decelerate and then accelerate based on the piecewise linear function. BRIEF DESCRIPTION OF THE DRAWINGS

[0008] Features and advantages of example embodiments and the manner in which the same are achieved will become more apparent with reference to the following detailed description taken in conjunction with the accompanying drawings.

[0009] Figure 1 The present invention is a method for implementing an exemplary embodiment of the present invention in a Figure 2A-2C A diagram of a control system in a vehicle such as a semi-trailer truck as depicted in FIG.

[0010] Figure 2A-2C is a diagram illustrating an exterior view of a semi-trailer truck that may be used in accordance with an example embodiment.

[0011] Figures 3A-3D is a diagram illustrating a possible scenario for an autonomous vehicle approaching a vehicle on the shoulder (VOS) according to an example embodiment.

[0012] Figures 4A-4B is a diagram illustrating an example of a speed limit function for an autonomous vehicle in response to detecting a vehicle on a road shoulder according to an example embodiment.

[0013] Figure 5A-5B is a diagram illustrating a cost evaluation function according to an example embodiment.

[0014] Figure 6A-6B is a diagram illustrating a method for performing a lane change according to an example embodiment.

[0015] Figure 7 is a diagram illustrating a method for handling a vehicle on a road shoulder according to an example embodiment.

[0016] Throughout the drawings and detailed description, unless otherwise described, the same drawing reference numerals will be understood to refer to the same elements, features, and structures. The relative sizes and descriptions of these elements may be exaggerated or adjusted for clarity, illustration, and / or convenience. DETAILED DESCRIPTION

[0017] In the following description, specific details are set forth in order to provide a thorough understanding of each example embodiment. It should be understood that various modifications to the embodiments will become apparent to those skilled in the art, and the general principles defined herein may be applied to other embodiments and applications without departing from the spirit or scope of the present disclosure. In addition, in the following description, many details are set forth for the purpose of explanation. However, it should be understood by those of ordinary skill in the art that embodiments may be practiced without using these specific details. In other examples, well-known structures and methods are not shown or described to avoid unnecessary details that obscure the description. Therefore, the present disclosure is not intended to be limited to the embodiments shown, but to conform to the widest scope consistent with the principles and features disclosed herein.

[0018] For convenience and ease of description, many terms will be used herein. For example, the term "semi-trailer truck" will be used to refer to a vehicle in which the system of the example embodiments can be used. The terms "semi-trailer truck", "truck", "tractor", "vehicle" and "semi-trailer" can be used interchangeably herein.

[0019] The vehicle uses a light detection and ranging (lidar) sensor to measure the surrounding area by obtaining a sparse point cloud using the distances to each point in the point cloud measured by the light beam passing through the lidar sensor. The lighting works independently of the ambient light and can be used in any conditions. In addition, the lidar sensor can capture data that can be used to generate a three-dimensional (3D) world map. At the same time, the vehicle camera can capture images (e.g., RGB images, black and white images, etc.) of the world around the vehicle and provide complementary data to the lidar data captured by the lidar sensor. For example, the camera can capture data such as color, texture, appearance, etc., while the lidar is able to capture the structural aspects of the data and model it.

[0020] In many vehicles, the perception of the vehicle is created based on a combination (i.e., union) of lidar data from a lidar sensor and image data captured by a camera. For accurate perception, the two systems must be aligned with each other. Calibration can be performed by changing extrinsic parameters such as rotation and translation between the coordinate systems of the lidar sensor and the camera to align the coordinate system of the lidar sensor with the coordinate system of the camera. These extrinsic parameters can be used to fuse the information from the lidar sensor and the image sensor together when making the vehicle visualize and interpret the visual data from the road.

[0021] Using calibrated sensors, the vehicle can capture images and lidar readings of the area around the vehicle and build / modify a three-dimensional map stored inside the vehicle computer (or remotely via a web server). The vehicle can locate itself within the map and decide how to turn, turn, slow down, etc. based on other objects, lane lines, entry lanes, exit lanes, etc. within the map. An autonomous vehicle can use one or more computer systems to control the vehicle to move automatically without user input. For example, a vehicle can be equipped with an autonomous vehicle (AV) system that generates signals for controlling the engine, steering wheel, brakes, etc. based on other objects, lane lines, entry lanes, and exit lanes within the map.

[0022] In an example embodiment, a vehicle traveling along a road (referred to herein as an "autonomous" vehicle) may detect another vehicle positioned on the shoulder of the road. As the autonomous vehicle approaches the vehicle on the shoulder, the autonomous vehicle may execute a piecewise linear function to control a deceleration process of the autonomous vehicle, followed by an acceleration process of the autonomous vehicle. For example, the autonomous vehicle may decelerate to a predefined minimum speed before reaching the vehicle on the shoulder, maintain the minimum speed until a predetermined distance behind the vehicle on the shoulder, and then accelerate until the desired speed limit is reached. Thus, when the autonomous vehicle passes the vehicle on the shoulder, the predetermined minimum speed may be maintained to ensure safe passage. After the autonomous vehicle passes the vehicle on the shoulder, the autonomous vehicle may return (accelerate) to the previous speed or any desired speed.

[0023] In addition to the deceleration process, the autonomous vehicle may also determine whether to perform a lane change. This process may be performed simultaneously with the deceleration process. For example, if the autonomous vehicle is traveling in the rightmost lane and the shoulder is located to the right of the rightmost lane, the autonomous vehicle may perform a lane change to the opposite side (i.e., the next lane relative to the current lane of the autonomous vehicle, which is farther from the shoulder). Here, the autonomous vehicle may evaluate the lateral distance between the vehicle on the shoulder and the current lane of the autonomous vehicle (e.g., the fog line of the rightmost lane, the center of the lane, etc.). In addition, the autonomous vehicle may evaluate various cost factors based on attributes such as speed limit, lane preference, route end point, impatience, etc.

[0024] In some of the examples herein, the vehicle is shown as a semi-trailer truck. However, it should be understood that the example embodiments are applicable to any type of autonomous vehicle, and not just trucks or semi-trailer trucks, but may include cars, boats, tractors, motorcycles, etc., as well as all types of trucks. In addition, in the examples herein, terms such as "minimum", "maximum", "safe", "conservative", etc. may be used. These terms should not be interpreted as limiting any type of distance or speed in any way.

[0025] Figure 1 It is shown that the exemplary embodiments can be deployed in Figure 2A-2C A control system 100 in a vehicle such as a semi-trailer truck 200 as depicted in FIG. In some embodiments, the vehicle may be referred to as an autonomous vehicle. Figure 1 , the control system 100 may include a plurality of sensors 110 that collect data and information that is provided to a computer system 140 to perform operations, including, for example, control operations of components of the vehicle through a gateway 180. According to some embodiments, the gateway 180 is configured to allow the computer system 140 to control a plurality of different components from different manufacturers.

[0026] The computer system 140 may be configured with one or more central processing units (CPUs) 142 to perform processing including processing to implement features of embodiments of the invention as described elsewhere herein, and to receive sensor data from sensors 110 for generating control signals to control one or more actuators or other controllers associated with vehicle systems (including, for example, actuators or controllers that allow control of a throttle 184, a steering system 186, brakes 188, etc.). In general, the control system 100 may be configured to operate the semi-trailer truck 100 in an autonomous (or semi-autonomous) operating mode.

[0027] In operation, the control system 100 can be operated to capture images from one or more cameras 112 mounted at various locations on the semi-trailer truck 200, and to perform processing (such as image processing) on ​​these images to identify objects near or in the path of the semi-trailer truck 200. Further, the lidar 114 and radar 116 sensors can be positioned to sense or detect the presence and volume of objects near or in the path of the semi-trailer truck 200. Other sensors can also be positioned or mounted at various locations on the semi-trailer truck 200 to capture other information such as positioning data. For example, the sensor can include one or more satellite positioning sensors and / or inertial navigation systems such as GNSS / IMU 118. The Global Navigation Satellite System (GNSS) is a space-based satellite system that provides location information (longitude, latitude, altitude) and time information anywhere on or near the earth in all weather conditions to a device called a GNSS receiver. GPS is the most widely used GNSS system in the world. An inertial measurement unit ("IMU") is an inertial navigation system. Typically, an inertial navigation system ("INS") measures and integrates the orientation, positioning, velocity, and acceleration of a moving object. The INS integrates the measured data, with the GNSS being used to correct for the integrated error in the INS heading calculation. Any number of different types of GNSS / IMU 118 sensors may be used in conjunction with features of the present invention. The data collected by each of these sensors may be processed by the computer system 140 to generate control signals that control the operation of the semi-trailer truck 200. The image and position information may be processed to identify or detect objects around or in the path of the semi-trailer truck 200, and control signals may be transmitted to adjust the throttle 184, steering 186, or brakes 188 as needed to safely operate the semi-trailer truck 200. Although Figure 1 Illustrative example sensors and actuators or vehicle systems are shown in FIG. 2 , but those skilled in the art will appreciate after reading this disclosure that other sensors, actuators or systems may also be used. For example, in some embodiments, an actuator that allows the speed of the semi-trailer truck 200 to be controlled may also be provided.

[0028] The control system 100 may include a computer system 140 (e.g., a computer server) configured to provide a computing environment in which one or more software or control applications (e.g., items 160-182) may be executed to perform the processes described herein. In some embodiments, the computer system 140 includes components deployed on the semi-trailer truck 200 (e.g., the components may be deployed in a system rack 240 positioned within the sleeper compartment 212, such as Figure 2C The computer system 140 may communicate with other computer systems (not shown) that are remote from the semi-trailer truck 200 (eg, the computer systems may communicate via a network connection).

[0029] In some instances, the computer system 140 may be implemented as a server. In addition, the computer system 140 may be configured using any of a number of well-known computing systems, environments, and / or configurations, such as, but not limited to, a personal computer system, a cloud platform, a server computer system, a thin client, a fat client, a handheld or laptop computer, a tablet computer, a smart phone, a database, a multiprocessor system, a microprocessor-based system, a set-top box, a programmable consumer electronics product, a network PC, a small computer system, a large computer system, a distributed cloud computing environment, etc., which may include any of the above systems or devices, etc.

[0030] Many different software applications or components may be executed by the computer system 140 and the control system 100. For example, as shown, an application may be provided that performs active learning machine processing (active learning component 160) to process images captured by one or more cameras 112 and information obtained by the lidar 114. For example, a deep learning segmentation model 162 may be used to process image data to identify objects of interest in those images (e.g., other vehicles, construction signs, etc.). The lidar data may be processed by a machine learning application 164 to draw or identify bounding boxes on the image data to identify objects of interest located by the lidar sensor. Information output from the machine learning application may be provided as input to object fusion 168 and visual map fusion 170 software components, which may perform processing to predict the actions of other road users and fuse local vehicle poses with global map geometry in real time, thereby enabling instant map corrections. The output from the machine learning application may be supplemented with information from the radar 116 and map positioning 166 application data (as well as positioning data). These applications make the control system 100 less map-dependent and more capable of handling changing road environments. Further, by instantly correcting any map errors, the control system 100 can facilitate safer, more scalable, and more efficient operations than alternative map-centric approaches. Information is provided to a prediction and planning application 172, which provides input to a trajectory planning 174 component, allowing for the generation of a trajectory 176 in real time based on interactions and predicted interactions between the semi-trailer truck 200 and other relevant vehicles in the environment. In some embodiments, for example, the control system 100 generates a sixty-second planning time horizon, analyzing relevant participants and available trajectories. The plan that best suits multiple criteria (including safety, comfort, and route preference) is selected, and any relevant control inputs required to implement the plan are provided to the controller 182 to control the movement of the semi-trailer truck 200.

[0031] These applications or components (as well as other components or processes described herein) may be implemented in hardware, in a computer program executed by a processor, in firmware, or in a combination thereof. The computer program may be embodied in a computer-readable medium, such as a storage medium or a storage device. For example, the computer program may reside in a random access memory ("RAM"), a flash memory, a read-only memory ("ROM"), an erasable programmable read-only memory ("EPROM"), an electrically erasable programmable read-only memory ("EEPROM"), a register, a hard disk, a removable disk, a compact disk read-only memory ("CD-ROM"), or any other form of storage medium known in the art.

[0032] The storage medium may be coupled to the processor such that the processor can read information from the storage medium and write information to the storage medium. In the alternative, the storage medium may be integral to the processor. The processor and the storage medium may reside in an application specific integrated circuit ("ASIC"). In the alternative, the processor and the storage medium may reside as discrete components. For example, Figure 1 An example computer system 140 is shown, which may represent or be integrated in any of the above components, among others. Figure 1 It is not intended to imply any limitation on the scope of use or functionality of the embodiments of the application described herein.Computer system 140 is capable of implementing and / or performing any of the functions set forth above.

[0033] Computer system 140 may be described in the general context of computer system executable instructions, such as program modules, executed by the computer system. Generally, program modules may include routines, programs, objects, components, logic, data structures, etc. that perform specific tasks or implement specific abstract data types. Computer system 140 may be practiced in a distributed cloud computing environment where tasks are performed by remote processing devices linked through a communication network. In a distributed cloud computing environment, program modules may be located in local and remote computer system storage media including memory storage devices.

[0034] like Figure 1 As shown, the computer system 140 is shown in the form of a general-purpose computing device. The components of the computer system 140 may include, but are not limited to, one or more processors (such as a CPU 142 and a GPU 144), a communication interface 146, one or more input / output interfaces 148, and a storage device 216. Although not shown, the computer system 140 may also include a system bus that couples various system components including a system memory to the CPU 142. In some embodiments, the input / output interface 148 may also include a network interface. For example, in some embodiments, some or all components of the control system 100 may communicate via a controller area network ("CAN") bus or the like.

[0035] The storage device 150 may include computer-readable media of various types and forms. Such media may be any available media accessible to the computer system / server, and the media may include volatile and non-volatile media, removable and non-removable media. In one embodiment, the system memory implements the flow charts of other figures. The system memory may include computer system-readable media in the form of volatile memory, such as random access memory (RAM) and / or cache memory. As another example, the storage device 150 may read and write non-removable, non-volatile magnetic media (not shown and commonly referred to as "hard drives"). Although not shown, the storage device 150 may include one or more removable non-volatile disk drives, such as disk drives, tape drives, or optical drives. In such cases, each drive may be connected to the bus via one or more data media interfaces. The storage device 150 may include at least one program product having a set (e.g., at least one) of program modules configured to perform the functions of the various embodiments of the present application.

[0036] Figure 2A-2C is a diagram showing an external view of a semi-trailer truck 200 that may be used according to an example embodiment. Figure 2A-2C , a semi-trailer truck 200 is shown for illustrative purposes only—one skilled in the art will appreciate after reading this disclosure that embodiments may be used in conjunction with a variety of different types of vehicles. Figure 2A-2C The example semi-trailer truck 200 shown is a semi-trailer truck configured in a common North American style, having an engine 206, a steering shaft 214, and a drive shaft 216 located in front of a cab 202. A trailer (not shown) is attached to the semi-trailer truck 200 via a fifth wheel trailer coupling, which is disposed on a frame 218 positioned above the drive shaft 216. A sleeper compartment 212 is positioned behind the cab 202. Many sensors are positioned at different locations on the semi-trailer truck 200. For example, sensors can be mounted on a sensor rack 220 on top of the cab 202. Sensors can also be mounted on the side view mirrors 210 and other locations. As will be discussed, sensors can be mounted on the bumper 204 and on the sides or other locations of the cab 202. For example, a rear radar 236 is shown as being mounted on the rear of the cab 202. Figure 2A 202 in the side of the cab 202. Embodiments may be used with other configurations of trucks or other vehicles, such as semi-trucks with cab-over or cab-forward configurations, etc. In general, and without limiting the embodiments of the invention, features of the invention may be used with vehicles that carry freight over long distances, such as long-haul semi-truck routes, with desired results.

[0037] Figure 2Bis a front view of a semi-trailer truck 200 and illustrates a number of sensors and sensor locations. A sensor rack 220 may hold and position a number of sensors, including a long-range lidar 222, a long-range camera 224, a GPS antenna 234, and a mid-range front camera 226. Side mirrors 210 may provide mounting locations for a rear camera 228 and a mid-range lidar 230. A front radar 232 may be mounted on a bumper 204. Other sensors may be mounted or positioned at other locations— Figure 2A-2C The locations and installations depicted are for illustration purposes only. Figure 2C , shows a partial view of a semi-trailer truck 200, which shows the interior of the cab 202 and the sleeper compartment 212. In some embodiments, Figure 1 Portions of the control system 100 are deployed in a system rack 240 in the sleeper car 212, allowing easy access to components of the control system 100 for maintenance and operation.

[0038] In the examples described further herein, Figure 1 The control system 100 in the example of Figure 2A-2C In these examples, as the autonomous vehicle travels along the road and approaches the autonomous vehicle, the autonomous vehicle can use the vehicle's sensors and other systems to detect whether another vehicle is on the shoulder of the road. The autonomous vehicle can use a piecewise linear function to change speed in short segments instead of using a constant speed change. In addition, the autonomous vehicle can determine whether to perform a lane change (e.g., to a lane on the opposite side of the autonomous vehicle and farther from the shoulder than the autonomous vehicle's current lane). Whether to perform such a lane change can be a dynamic decision made by the autonomous vehicle's computer as the autonomous vehicle approaches a vehicle on the shoulder.

[0039] Figures 3A-3D An example of a possible scenario for an autonomous vehicle approaching a vehicle on the shoulder (VOS) is presented in accordance with an example embodiment. Figure 3A A scenario is shown in which ego vehicle 302 is approaching vehicle on shoulder (VOS) 304. In this example, ego vehicle 302 can sense a longitudinal distance (s) between ego vehicle 302 and VOS 304 and a lateral distance (m) between VOS 304 and a current lane of ego vehicle 302 (e.g., fog line 306 of the current lane of ego vehicle 302).

[0040] exist Figure 3AIn the example of FIG. 3 , autonomous vehicle 302 is traveling in the rightmost lane and the shoulder of the road is located to the right of the rightmost lane. Meanwhile, the other two lanes are arranged to the left of the current lane of autonomous vehicle 302. In this example, autonomous vehicle 302 may be configured such that if autonomous vehicle 302 detects that the lateral distance m between VOS 304 and the current lane of autonomous vehicle 302 is higher than a predefined threshold (e.g., 5 feet, 8 feet, 10 feet, etc.), autonomous vehicle 302 may perform the following operations: Figures 4A-4B and controls itself to stay in the current lane.

[0041] Figure 3B A second scenario is shown in which an autonomous vehicle 312 is approaching a vehicle on the shoulder (VOS) 314. In this example, the autonomous vehicle 312 is traveling in the rightmost lane, and there is another vehicle 316 (i.e., vehicle traffic) located in a lane immediately to the left of the current lane of the autonomous vehicle 312. That is, the lane where the other vehicle 316 is located is located on the opposite side of the autonomous vehicle 312 and is farther away from the shoulder where the VOS 314 is located than the current lane of the autonomous vehicle 312. In this example, the autonomous vehicle 312 can detect a lateral distance m between the VOS 314 and the current lane of the autonomous vehicle 312, and compare it to a predefined threshold. If m is higher than the predefined threshold, the autonomous vehicle 312 can execute a speed limit function and control itself to stay in its current lane regardless of the location of the other vehicle 316.

[0042] Figure 3C A third scenario is shown in which autonomous vehicle 322 is approaching vehicle on shoulder (VOS) 324. In this example, autonomous vehicle 322 can sense the longitudinal distance s between autonomous vehicle 322 and VOS 324 and the lateral distance between VOS 324 and the current lane of autonomous vehicle 322. In this example, the lateral distance between VOS 324 and the current lane of autonomous vehicle 322 is below a predefined threshold. In addition, there are no other vehicles in the adjacent lanes farther from the shoulder. Therefore, autonomous vehicle 322 can be configured to perform a lane change in addition to the speed limit function. In some embodiments, autonomous vehicle 322 can simultaneously perform a lane change and a speed reduction based on a piecewise linear function.

[0043] Figure 3DAnother scenario is shown in which an ego vehicle 332 is approaching a vehicle on the shoulder (VOS) 334. In this example, the ego vehicle 332 is traveling in the rightmost lane, and there is another vehicle 336 (i.e., vehicle traffic) located in a lane immediately to the left of the current lane of the ego vehicle 332. That is, the lane in which the other vehicle 336 is located is located on the opposite side of the ego vehicle 332 relative to the shoulder where the VOS 314 is located and is farther away from the shoulder than the current lane of the ego vehicle 332. In this example, the ego vehicle 332 can detect that the lateral distance m between the VOS 334 and the current lane of the ego vehicle 332 is below a predefined threshold. However, in this example, the ego vehicle 332 detects another vehicle 336 existing in an adjacent lane (i.e., a lane immediately to the left of the current lane of the ego vehicle 332). In this example, the ego vehicle 332 can choose whether to stay in the current lane or perform a lane change. For example, the distance (l) between the ego vehicle 332 and the other vehicle 336 can be used to determine whether to perform a lane change.

[0044] In some embodiments, the decision of whether to change lanes may also be affected by various cost functions. Figure 3C The third scenario described and / or about Figure 3D In the fourth scenario described, the autonomous vehicle may also determine whether to execute a lane change by analyzing one or more cost functions (e.g., a lane preference cost function, a speed limit cost function, a route end cost function, an impatience cost function, etc.). Here, the autonomous vehicle may include an algorithm that identifies allowable trade-offs between different cost functions, thereby allowing the autonomous vehicle to make decisions based on the cost functions. In some cases, one or more cost functions may be given more weight than others.

[0045] Figures 4A-4B An example of a speed limit function for an autonomous vehicle in response to detecting a vehicle on a shoulder of a road is shown in accordance with an example embodiment. Figure 4A shows the velocity profile of the ego vehicle based on the longitudinal distance (s) from the ego vehicle to the VOS, and Figure 4B Shows a minimum speed profile that can be used to conservatively set the autonomous vehicle at a safe speed when the autonomous vehicle is traveling alongside (adjacent to) a vehicle on the shoulder.

[0046] refer to Figure 4A , speed curve 400 includes a piecewise linear representation including three portions 402a, 402b, and 402c of speed that are sequentially executed as the autonomous vehicle passes a vehicle on the shoulder of the road. In this example, the y-axis of speed curve 400 represents the speed or velocity of the autonomous vehicle, and the x-axis of speed curve 400 represents the longitudinal distance between the autonomous vehicle and the vehicle on the shoulder of the road.

[0047] In some embodiments, the autonomous vehicle may slow down the vehicle according to first portion 402a of speed profile 400, maintain the slowed down speed for a predetermined distance according to second portion 402b of speed profile 400, and accelerate the vehicle according to third portion 402c. Each change in speed profile 400 may correspond to a different longitudinal distance threshold reached between the autonomous vehicle and the VOS.

[0048] For example, when the first portion 402a of the speed profile 400 detects a VOS within a predetermined distance (e.g., 1500 meters, 1000 meters, 750 meters, etc.) from the autonomous vehicle, it may cause the autonomous vehicle to reduce its speed rate. For example, when the autonomous vehicle is 1000 meters away from the VOS, the autonomous vehicle may begin to control the speed of the autonomous vehicle to slow down, decelerate, brake, etc. to achieve a predefined minimum speed according to the speed profile 400. Here, the autonomous vehicle may follow the first portion 402a of the speed profile 400 until the autonomous vehicle reaches a predefined minimum speed (Vmin), which may be pre-set or based on Figure 4B The illustrated minimum speed profile 410 is determined dynamically.

[0049] Once the autonomous vehicle reaches a predefined minimum speed Vmin (e.g., 10 mph, 15 mph, 25 mph, 35 mph, etc.), the autonomous vehicle may maintain the predefined minimum speed until it passes the vehicle on the shoulder (i.e., the second portion 402b of the speed profile 400). For example, the autonomous vehicle may time it so that the autonomous vehicle reaches the predefined minimum speed Vmin at a longitudinal (previous) safety distance (e.g., 500 meters, 300 meters, 200 meters, etc.) before the autonomous vehicle reaches the vehicle on the shoulder. In addition, the autonomous vehicle may maintain the predefined minimum speed until it passes the vehicle on the shoulder at a predetermined longitudinal distance (e.g., 15 meters, 30 meters, 50 meters, etc.) and increase its speed until the autonomous vehicle reaches the desired travel speed according to the third portion 402c of the speed profile 410. For example, the autonomous vehicle may return to the previous travel speed of the autonomous vehicle before the vehicle on the shoulder was detected or a different speed.

[0050] Figure 4BA minimum speed profile 410 is shown that can be used to dynamically identify a minimum speed (Vmin) for an ego vehicle based on a lateral distance between the ego vehicle's current lane and a vehicle parked on the shoulder of the road. In this example, the predetermined minimum speed can be different based on the lateral distance between the ego vehicle's current lane and the vehicle parked on the shoulder of the road. Here, the lateral distance (s) can be measured from the edge of the vehicle's current lane to the nearest point on the vehicle on the shoulder of the road (e.g., body, door, tire, etc.). The distance can be measured along a straight line that is generally parallel to the lane line / fog line in the road.

[0051] like Figure 4B As shown, the autonomous vehicle may require a predetermined minimum distance represented by distance 412a (e.g., 0.2 m, 0.3 m, etc.) in minimum speed profile 410. If the vehicle on the shoulder is closer than this distance 412a, the autonomous vehicle may need to execute a lane change before passing the vehicle on the shoulder. However, if the vehicle on the shoulder is at least distance 412a but less than or equal to conservative distance 412b (e.g., 0.65 m, 0.75 m, 1.0 m, etc.), the autonomous vehicle may control itself to Figure 4B The autonomous vehicle may operate at the minimum speed shown in the speed curve 410 of FIG. 4. Additionally, if the lateral distance of the vehicle on the shoulder from the current lane is greater than the conservative distance 412b but less than the safe distance 412c, the autonomous vehicle may control itself to travel at an even faster minimum speed, but not its maximum minimum speed. Additionally, if the vehicle on the shoulder is at least the safe distance 412c from the autonomous vehicle's current lane, the autonomous vehicle may operate at its maximum minimum speed. The speed curves may be used with different miles per home (mph) and should not be construed as limited to a particular mph. As used herein, the terms "safe" and "conservative" may refer to arbitrary limits that are predefined and encoded into the rules executed by the autonomous vehicle's computer.

[0052] Figure 5A-5B A cost evaluation function according to an example embodiment is shown. Figure 5A , shows a cost function 500 of the lateral distance between the vehicle on the shoulder (VOS) and the current lane of the ego vehicle. At the same time, Figure 5BA cost function 510 for the longitudinal distance between the autonomous vehicle and the vehicle on the shoulder of the road is shown. Other cost functions may be considered, including a lane preference cost function, a route end cost function, a speed limit cost function, and an impatience cost function (due to slow vehicles). The autonomous vehicle's computer may have an optimizer installed therein that analyzes the trade-offs between different options from a cost perspective and decides which option incurs the least amount of cost overall. For example, a lane change optimizer may attempt to find the best action that minimizes the overall cost. In the current implementation, this means that the closer the VOS is to the autonomous vehicle's current lane (e.g., fog line, etc.), the greater the cost of the VOS, and therefore the autonomous vehicle will attempt to perform a lane change more aggressively.

[0053] Figure 6A-6B A method for performing a lane change according to an example embodiment is presented. Specifically, Fig. 6A Demonstrated methods for analyzing costs 600A and Figure 6B A method 600B is shown for controlling an autonomous vehicle 602 to change lanes. For example, in response to evaluating Figure 5A and 5B As shown in cost functions 500 and 510 , an autonomous vehicle 602 may decide to move from its current lane (i.e., Fig. 6A Lane 3) to the adjacent lane (i.e., Figure 6B Lane 2 in the image).

[0054] Here, VOS 604 is a distance (d) from fog line 608 of the current lane in which ego vehicle 602 is traveling. Additionally, another vehicle 606 is traveling in an adjacent lane (i.e., lane 2) relative to the current lane of ego vehicle 602. In this example, ego vehicle 602 may analyze various costs, such as lane change costs, costs of VOS 604, costs of another vehicle 606, etc., and make a decision whether to change lanes based on the overall costs.

[0055] Figure 7 A method 700 for handling a vehicle on a road shoulder is shown according to an example embodiment. As an example, the method 700 may be performed by a processor, a computer, a chip, a device, etc. located on a vehicle such as an autonomous vehicle. Figure 7 At 710, the method may include storing the piecewise linear function. Figures 4A-4B Give a description.

[0056] In 720, the method may include detecting a vehicle on the shoulder (VOS) of a road based on sensor data sensed by one or more sensors of an autonomous vehicle approaching the VOS. Here, the autonomous vehicle may be traveling in a lane adjacent to a shoulder of the road. In 730, the method may include determining that the VOS is within a predefined distance of the autonomous vehicle. As an example, the predefined distance may be 100 meters, 200 meters, 300 meters, etc. The predefined distance may also be based on the speed at which the vehicle is currently traveling. In response to the determination in 730, the method may further include controlling the autonomous vehicle to decelerate and then accelerate based on a piecewise linear function in 740.

[0057] In some embodiments, the control may include controlling the autonomous vehicle to decelerate to a predefined minimum speed at a predetermined distance before the autonomous vehicle is adjacent to the VOS. In some embodiments, the control may include maintaining the autonomous vehicle at the predefined minimum speed until the autonomous vehicle exceeds the predetermined distance after the VOS, and controlling the autonomous vehicle to accelerate to a predefined maximum speed. In some embodiments, the method further includes determining whether to perform a lane change to a lane farther from the shoulder based on one or more of the longitudinal distance between the autonomous vehicle and the VOS and the lateral distance between the VOS and the current lane of the autonomous vehicle. In an example embodiment, the lateral distance refers to the distance between a vehicle parked on the shoulder of the road and the current lane of the autonomous vehicle. A margin that separates the lane from the nearest corner of the vehicle on the shoulder or some other method may be used.

[0058] In some embodiments, the method may further include controlling the autonomous vehicle to perform a lane change to a lane farther from the shoulder when the lateral distance between the VOS and the current lane of the autonomous vehicle is less than a predetermined distance. In some embodiments, the method may further include controlling the autonomous vehicle to stay in the current lane when the lateral distance between the VOS and the current lane of the autonomous vehicle is greater than a predetermined distance and there is no traffic in the lane farther from the shoulder. In some embodiments, determining whether to perform a lane change to a lane farther from the shoulder may be further performed based on one or more of a lane preference cost function, a speed limit cost function, a route end cost function, and an impatience cost function. In some embodiments, determining whether to perform a lane change to a lane farther from the shoulder may be further performed based on two or more of a lane preference cost function, a speed limit cost function, a route end cost function, and an impatience cost function.

[0059] As can be understood based on the foregoing description, the above-mentioned examples of the present disclosure can be implemented using computer programming or engineering techniques including computer software, firmware, hardware, or any combination or subset thereof. According to the examples discussed in the present disclosure, any such result program with computer readable code can be embodied or provided in one or more non-transitory computer-readable media, thereby making a computer program product, that is, a product. For example, a non-transitory computer-readable medium can be, but is not limited to, a fixed drive, a floppy disk, an optical disk, a tape, a flash memory, an external drive, a semiconductor memory such as a read-only memory (ROM), a random access memory (RAM), and / or any other non-transitory transmission and / or receiving medium such as the Internet, cloud storage, the Internet of Things (IoT), or other communication networks or links. Products containing computer code can be made and / or used by executing code directly from one medium, by copying code from one medium to another medium, or by transmitting code via a network.

[0060] A computer program (also referred to as a program, software, software application, "application" or code) may contain machine instructions for a programmable processor and may be implemented in a high-level procedural and / or object-oriented programming language and / or in assembly / machine language. As used herein, the terms "machine-readable medium" and "computer-readable medium" refer to any computer program product, device, cloud storage, Internet of Things, and / or device (e.g., disk, optical disk, memory, programmable logic device (PLD)) for providing machine instructions and / or data to a programmable processor, including a machine-readable medium that receives machine instructions as a machine-readable signal. However, "machine-readable medium" and "computer-readable medium" do not include transient signals. The term "machine-readable signal" refers to any signal that can be used to provide machine instructions and / or any other kind of data to a programmable processor.

[0061] The above description and illustration of the method herein should not be considered to imply a fixed order for performing the method steps. On the contrary, the method steps can be performed in any feasible order, including performing at least some steps simultaneously. Although the present disclosure has been described in conjunction with specific examples, it should be understood that various changes, substitutions and modifications that are obvious to those skilled in the art can be made to the disclosed embodiments without departing from the spirit and scope of the present disclosure set forth in the appended claims.

Claims

1. A device comprising: a memory configured to store a linear function; as well as A processor configured to detecting a vehicle on the shoulder (VOS) of a road based on sensor data sensed by one or more sensors of an autonomous vehicle approaching the VOS, determining that the VOS is within a predefined distance of the autonomous vehicle, and In response to the determination, the autonomous vehicle is controlled to decelerate and then accelerate based on the linear function. 2 . The apparatus of claim 1 , wherein the processor is configured to control the autonomous vehicle to decelerate to at least a predefined minimum speed at least a predetermined distance before the autonomous vehicle is adjacent to the VOS.

3. The apparatus of claim 2, wherein the processor is configured to maintain the autonomous vehicle at or below the predefined minimum speed until the autonomous vehicle exceeds the VOS by at least a predetermined distance, and to control the autonomous vehicle to accelerate to a predefined maximum speed.

4. The apparatus of claim 1 , wherein the processor is further configured to determine whether to perform a lane change to a lane farther from the road shoulder based on one or more of a longitudinal distance between the autonomous vehicle and the VOS and a lateral distance between the VOS and a current lane of the autonomous vehicle.

5. The apparatus of claim 4, wherein the processor is further configured to control the autonomous vehicle to perform the lane change to the lane farther from the road shoulder when the lateral distance between the VOS and the current lane of the autonomous vehicle is less than a predetermined distance.

6. The apparatus of claim 4, wherein the processor is further configured to control the autonomous vehicle to stay in the current lane when the lateral distance between the VOS and the current lane of the autonomous vehicle is greater than a predetermined distance and there is no traffic in the lane farther from the road shoulder.

7. The apparatus of claim 4, wherein the processor is further configured to determine whether to perform the lane change to a lane farther from the road shoulder based on one or more of a lane preference cost function, a speed limit cost function, a route end cost function, and an impatience cost function.

8. The apparatus of claim 7, wherein the processor is further configured to determine whether to perform the lane change to a lane farther from the road shoulder based on two or more of the lane preference cost function, the speed limit cost function, the route endpoint cost function, and the impatience cost function.

9. A method comprising: Store linear functions; detecting a vehicle on the shoulder (VOS) of a road based on sensor data sensed by one or more sensors of an autonomous vehicle approaching the VOS; determining that the VOS is within a predefined distance of the autonomous vehicle; as well as In response to the determination, the autonomous vehicle is controlled to decelerate and then accelerate based on the linear function.

10. The method of claim 9, wherein the controlling comprises controlling the autonomous vehicle to decelerate to at least a predefined minimum speed until at least a predetermined distance before the autonomous vehicle is adjacent to the VOS.

11. The method of claim 10, wherein the controlling comprises maintaining the autonomous vehicle at or below the predefined minimum speed until the autonomous vehicle exceeds the VOS by at least a predetermined distance, and controlling the autonomous vehicle to accelerate to a predefined maximum speed.

12. The method of claim 9, wherein the method further comprises determining whether to perform a lane change to a lane farther from the road shoulder based on one or more of a longitudinal distance between the autonomous vehicle and the VOS and a lateral distance between the VOS and a current lane of the autonomous vehicle.

13. The method of claim 12, wherein the method further comprises controlling the autonomous vehicle to perform the lane change to the lane farther from the road shoulder when the lateral distance between the VOS and the current lane of the autonomous vehicle is less than a predetermined distance.

14. The method of claim 12, wherein the method further comprises controlling the autonomous vehicle to stay in the current lane when the lateral distance between the VOS and the current lane of the autonomous vehicle is greater than a predetermined distance and there is no traffic in the lane farther from the road shoulder.

15. The method of claim 12, wherein the determining whether to perform the lane change to the lane farther from the road shoulder is further performed based on one or more of a lane preference cost function, a speed limit cost function, a route end cost function, and an impatience cost function.

16. The method of claim 15, wherein the determining whether to perform the lane change to the lane farther from the road shoulder is further performed based on two or more of the lane preference cost function, the speed limit cost function, the route endpoint cost function, and the impatience cost function.

17. A non-transitory computer readable medium comprising instructions which, when executed by a processor, cause a computer to perform a method comprising: Store linear functions; detecting a vehicle on the shoulder (VOS) of a road based on sensor data sensed by one or more sensors of an autonomous vehicle approaching the VOS; determining that the VOS is within a predefined distance of the autonomous vehicle; as well as In response to the determination, the autonomous vehicle is controlled to decelerate and then accelerate based on the linear function.

18. The non-transitory computer-readable medium of claim 17, wherein the controlling comprises controlling the autonomous vehicle to decelerate to at least a predefined minimum speed at least a predetermined distance before the autonomous vehicle is adjacent to the VOS.

19. The non-transitory computer-readable medium of claim 18, wherein the controlling comprises maintaining the autonomous vehicle at or below the predefined minimum speed until the autonomous vehicle is at least a predetermined distance behind the VOS, and controlling the autonomous vehicle to accelerate to a predefined maximum speed.

20. The non-transitory computer-readable medium of claim 17, wherein the method further comprises determining whether to perform a lane change to a lane further from the road shoulder based on one or more of a longitudinal distance between the autonomous vehicle and the VOS and a lateral distance between the VOS and a current lane of the autonomous vehicle.