Lane change detection for vehicles on the shoulder
The implementation of a piecewise linear speed limiting function and dynamic lane change decisions addresses the safety challenges posed by vehicles on the shoulder for autonomous vehicles, enhancing safety and reducing accident risks.
Patent Information
- Application Number
- JP2024556422
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2022-03-25
- Filing Date
- 2023-02-27
- Publication Date
- 2025-04-14
AI Technical Summary
Autonomous vehicles face challenges when encountering vehicles on the shoulder of the road, which can lead to accidents due to reduced lateral clearance and potential hazards like doors opening or objects being thrown.
Implementing a speed limiting feature using a piecewise linear function that slows down the vehicle when approaching a vehicle on the shoulder and speeds up after passing, while also determining whether to change lanes based on sensor data and cost functions.
This solution enhances safety by maintaining a predefined minimum speed while passing a vehicle on the shoulder, reducing the risk of accidents, and dynamically deciding lane changes to optimize navigation and safety.
Smart Images

Figure 2025510122000001_ABST
Abstract
Description
[Background technology]
[0001] Autonomous vehicles are equipped with safety systems to prevent the vehicle from hitting other vehicles or objects on the road. However, other problems may occur with the autonomous vehicle itself. One such problem is vehicles on the road shoulder. These vehicles are not in the same lane as the autonomous vehicle, but may cause problems, such as people opening the doors, people jumping out, the vehicle backing into the road, etc. These problems may cause accidents of the autonomous vehicle. Furthermore, if the vehicle is a larger autonomous vehicle, such as a semi-truck or trailer, the vehicle on the road may become even more dangerous due to the reduced lateral clearance of such larger vehicles. Summary of the Invention
[0002] Exemplary embodiments are directed to a process for controlling a vehicle, such as an autonomous or semi-autonomous vehicle, while the vehicle moves along a lane of a road and another vehicle is located (and approaching) on the shoulder of the road. In some embodiments, the vehicle being controlled may be referred to as an ego vehicle, which has sensors that can automatically sense and interpret the environment and conditions around the ego vehicle as it moves. The ego vehicle may be embodied with a novel speed limiting function that is activated when a vehicle on the shoulder (VOS) is detected. The speed limiting function may be a piecewise linear function used by the ego vehicle to slow the ego vehicle's speed before approaching the VOS and to increase the ego vehicle's speed after it has successfully passed the VOS.
[0003] In particular, the speed limiting function may include a first linear change in speed that occurs before the ego vehicle is adjacent to or parallel to the VOS. The limiting may reduce the ego vehicle's speed to a predefined minimum allowable speed, which may be preset or dynamically determined. The ego vehicle may maintain this speed until shortly after passing the VOS. The ego vehicle may then rapidly increase its speed (e.g., faster than the slowed-down speed, etc.) and resume its initial speed before dropping down, or a different desired speed.
[0004] In addition, and perhaps simultaneously with the speed limit, the ego vehicle may also determine whether to make a lane change as a result of the vehicle being on the shoulder. For example, the ego vehicle may determine whether to move into an adjacent lane based on a number of factors associated with vehicles on shoulder (VOS), other vehicles on the road, lane preferences, speed limits, route termination, etc. For example, the ego vehicle may execute an optimization algorithm that determines whether to move the ego vehicle into an adjacent lane (i.e., make a lane change) based on a sensed longitudinal distance from the ego vehicle to the VOS and a sensed lateral distance from the VOS to the lane in which the ego vehicle is traveling.
[0005] According to one aspect of an exemplary embodiment, an apparatus is provided that can include a memory that stores a piecewise linear function; and a processor that detects a vehicle on a shoulder of a road (VOS) based on sensor data sensed by one or more sensors of the host vehicle approaching the VOS, determines that the VOS is within a predefined distance of the host vehicle, and, in response to the determination, controls the host vehicle to slow down and then speed up based on the piecewise linear function.
[0006] According to an aspect of another exemplary embodiment, a method is provided that may include storing a piecewise linear function, detecting a vehicle on a road shoulder (VOS) based on sensor data sensed by one or more sensors of a host vehicle approaching the VOS, determining that the VOS is within a predefined distance of the host vehicle, and in response to the determination, controlling the host vehicle to slow down and then speed up based on the piecewise linear function.
[0007] According to an aspect of another exemplary embodiment, a non-transitory computer-readable medium is provided 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 a road shoulder (VOS) based on sensor data sensed by one or more sensors of an ego vehicle approaching the VOS; determining that the VOS is within a predefined distance of the ego vehicle; and, in response to the determination, controlling the ego vehicle to slow down and then speed up based on the piecewise linear function. [Brief description of the drawings]
[0008] The features and advantages of the illustrative embodiments, and the manner in which they are accomplished, will become more readily apparent from the following detailed description taken in conjunction with the accompanying drawings.
[0009] [Figure 1] 2A-2C illustrate a control system that may be deployed on a vehicle such as the semi-truck depicted in FIG. 2A-C, according to an exemplary embodiment. [Figure 2A] FIG. 1 illustrates an exterior view of a semi-truck that may be used in accordance with an exemplary embodiment. [Figure 2B] FIG. 1 illustrates an exterior view of a semi-truck that may be used in accordance with an exemplary embodiment. [Figure 2C] FIG. 1 illustrates an exterior view of a semi-truck that may be used in accordance with an exemplary embodiment. [Figure 3A]1 is a diagram illustrating possible scenarios in which an ego vehicle approaches a vehicle on shoulder (VOS) in accordance with an exemplary embodiment; [Figure 3B] 1 is a diagram illustrating possible scenarios in which an ego vehicle approaches a vehicle on the shoulder (VOS) in accordance with an exemplary embodiment; [Figure 3C] 1 is a diagram illustrating possible scenarios in which an ego vehicle approaches a vehicle on shoulder (VOS) in accordance with an exemplary embodiment; [Figure 3D] 1 is a diagram illustrating possible scenarios in which an ego vehicle approaches a vehicle on shoulder (VOS) in accordance with an exemplary embodiment; [Figure 4A] 11A-11C are diagrams illustrating examples of speed limiting functionality of an ego vehicle in response to detecting a vehicle on a road shoulder, according to exemplary embodiments; [Figure 4B] 11 is a diagram illustrating an example of a speed limit function of an ego vehicle in response to detecting a vehicle on a road shoulder, according to an exemplary embodiment; [Figure 5A] 4 is an illustration of a cost evaluation function in accordance with an example embodiment; [Figure 5B] 4 is an illustration of a cost evaluation function in accordance with an example embodiment; [Figure 6A] 1 is a diagram illustrating a process for making a lane change in accordance with an exemplary embodiment; [Figure 6B] 1 is a diagram illustrating a process for making a lane change in accordance with an exemplary embodiment; [Figure 7] 1 illustrates a method for handling a vehicle on a road shoulder in accordance with an exemplary embodiment;
[0010] Throughout the drawings and detailed description, the same drawing reference numbers should be understood to refer to the same elements, features, and structures, unless otherwise noted. The relative size and illustration of these elements may be exaggerated or adjusted for clarity, illustration, and / or convenience. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0011] In the following description, specific details are described to provide a thorough understanding of various exemplary embodiments. It is to be understood that various modifications to the embodiments will be readily apparent to those skilled in the art, and that the general principles defined herein may be applied to other embodiments and applications without departing from the spirit and scope of the present disclosure. Moreover, in the following description, numerous details are described for purposes of explanation. However, those skilled in the art should understand that the embodiments may be practiced without the use of these specific details. In other instances, well-known structures and processes are not shown or described so as not to obscure the description with unnecessary detail. Thus, the present disclosure is not intended to be limited to the embodiments shown, but is to be accorded the widest scope consistent with the principles and features disclosed herein.
[0012] For convenience and ease of description, certain terminology is used herein. For example, the term "semi-truck" is used to refer to a vehicle in which the system of the exemplary embodiments may be used. The terms "semi-truck," "truck," "tractor," "vehicle," and "semi" may be used interchangeably herein.
[0013] Light detection and ranging (lidar) sensors are used by vehicles to measure the surrounding area by obtaining a sparse point cloud using distances to points in the point cloud measured by a light beam from the lidar sensor. Illumination operates independent of ambient light and can be used in any condition. Furthermore, lidar sensors can capture data that can be used to generate maps of the world in three dimensions (3D). Meanwhile, vehicle cameras 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, cameras can capture data such as color, texture, appearance, etc., while lidar can capture and model structural aspects of the data.
[0014] In many vehicles, the vehicle's perception is created based on a combination (i.e., joint) of lidar data from a lidar sensor and image data captured by a camera. For accurate perception, these two systems need to be aligned with respect to each other. Calibration can be performed by changing extrinsic parameters such as rotation and translation between the lidar sensor and camera coordinate frames to align the lidar sensor's coordinate frame with the camera's coordinate frame. These extrinsic parameters can be used to fuse information from the lidar sensor and image sensor together when the vehicle's visualization interprets visual data from the road.
[0015] With the calibrated sensors, the vehicle can capture images and lidar readings of the area surrounding the vehicle and build / modify a three-dimensional map stored internally in the vehicle's computer (or remotely via a web server). The vehicle can position itself in the map and decide how to steer, turn, slow down, etc. based on other objects in the map, lanes, entrance lanes, exit lanes, etc. An autonomous vehicle may use one or more computer systems to control the vehicle to move autonomously without user input. For example, the vehicle may be equipped with an autonomous vehicle (AV) system that generates signals to control the engine, steering wheel, brakes, etc. based on other objects in the map, lanes, entrance lanes, and exit lanes.
[0016] In an exemplary embodiment, a vehicle traveling on a road (referred to herein as the "own" vehicle) may detect another vehicle located on the shoulder of the road. When the own vehicle approaches the vehicle on the shoulder, the own vehicle may execute a piecewise linear function to control the process of slowing down the own vehicle, followed by the process of speeding up the own vehicle. For example, the own vehicle may slow down to a predefined minimum speed before reaching the vehicle on the shoulder, leave the vehicle on the shoulder behind, hold that minimum speed until a predetermined distance has elapsed, and then speed up until a desired speed limit is achieved. Thus, to ensure safe passage, a predetermined minimum speed may be held while the own vehicle passes the vehicle on the shoulder. After the own vehicle passes the vehicle on the shoulder, the own vehicle may return (speed up) to its previous speed or any desired speed.
[0017] In addition to the slow-down process, the ego vehicle may also determine whether to make a lane change. This process may be performed simultaneously with the slow-down process. For example, if the ego vehicle is driving in the far right lane and the shoulder is on the right side of the far right lane, the ego vehicle may make a lane change to the opposite side (i.e., the next lane to the ego vehicle's current lane that is further away from the shoulder). Here, the ego vehicle may evaluate the lateral distance between the vehicle on the shoulder and the ego vehicle's current lane (e.g., fog line, center of lane, etc. of the far right lane). In addition, the ego vehicle may evaluate various cost factors based on attributes such as speed limit, lane preference, route end, impatience, etc.
[0018] In some examples herein, the vehicle is illustrated as a semi-truck. However, it should be understood that the exemplary embodiments are applicable to any type of autonomous vehicle and may include not only trucks or semi-trucks, but instead, cars, boats, tractors, motorcycles, etc., as well as trucks of all types. Additionally, examples herein may use terms such as "minimum," "maximum," "safe," "conservative," etc. These terms should not be construed as limiting any type of distance or speed in any way.
[0019] FIG 1 illustrates a control system 100 that may be deployed on a vehicle, such as the semi-truck 200 depicted in FIGS. 2A-2C, according to an example embodiment. In some embodiments, the vehicle may be referred to as an ego-vehicle. With reference to FIG 1, the control system 100 may include a number of sensors 110 that collect data and information that is provided to a computer system 140 to perform actions, including, for example, control actions to control components of the vehicle via a gateway 180. According to some embodiments, the gateway 180 is configured to allow the computer system 140 to control a number of different components from different manufacturers.
[0020] Computer system 140 may be configured with one or more central processing units (CPUs) 142 to perform processing, including processing for implementing features of embodiments of the present invention described elsewhere herein, as well as to receive sensor data from sensors 110 for use in generating control signals to control one or more actuators or other controllers associated with the vehicle's systems (including, for example, actuators or controllers that enable control of throttle 184, steering system 186, brakes 188, etc.). Generally, control system 100 may be configured to operate semi-truck 00 in an autonomous (or semi-autonomous) mode of operation.
[0021] In operation, the control system 100 may be operated to capture images from one or more cameras 112 mounted at various locations on the semi-truck 200 and perform processing (e.g., image processing) on the images to identify objects proximate to or in the path of the semi-truck 200. Additionally, the lidar 114 and radar 116 sensors may be positioned to sense or detect the presence and volume of objects proximate to or in the path of the semi-truck 200. Other sensors may also be positioned or mounted at various locations on the semi-truck 200 to capture other information, such as position data. For example, the sensors may include one or more satellite positioning sensors, such as the GNSS / IMU 118, and / or an inertial navigation system. The Global Navigation Satellite System (GNSS) is a space-based satellite system that provides location information (longitude, latitude, altitude) and time information in all weather conditions anywhere on or near the Earth to devices called GNSS receivers. GPS is the most used GNSS system in the world. An inertial measurement unit ("IMU") is an inertial navigation system. Generally, an inertial navigation system ("INS") measures and integrates the orientation, position, velocity, and acceleration of a moving object. The INS integrates the measured data, and the GNSS is used as a correction for integral errors in the INS orientation calculation. Any number of different types of GNSS / IMU 118 sensors may be used in conjunction with the features of the present invention. 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-truck 200. Image and location information may be processed to identify or detect objects around or within the path of the semi-truck 200, and control signals may be emitted to adjust the throttle 184, steering 186, or brakes 188 as necessary to safely operate the semi-truck 200. Although illustrative exemplary sensors and actuators or vehicle systems are shown in FIG. 1, one skilled in the art will understand upon reading this disclosure that other sensors, actuators, or systems may also be used.For example, in some embodiments, actuators may also be provided that allow for control of the transmission of the semi-truck 200 .
[0022] 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-truck 200 (e.g., they may be deployed in a system rack 240 positioned within the berth 212, as shown in FIG. 2C). The computer system 140 may communicate with other computer systems (not shown) that may be remote from the semi-truck 200 (e.g., the computer systems may communicate via a network connection).
[0023] In some examples, computer system 140 may be implemented as a server. Additionally, 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 thick client, a handheld or laptop device, a tablet, a smartphone, a database, a multiprocessor system, a microprocessor-based system, a set-top box, a programmable appliance, a network PC, a minicomputer system, a mainframe computer system, a distributed cloud computing environment, and the like, and may include any of the above systems or devices, and the like.
[0024] A number of different software applications or components may be executed by the computer system 140 and the control system 100. For example, as shown, an active learning machine processing application (active learning component 160) may be provided to process images captured by one or more cameras 112 and information obtained by the lidar 114. For example, image data may be processed using a deep learning segmentation model 162 to identify objects 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 located by the lidar sensor. Information output from the machine learning application may be provided as input to object fusion 168 and vision map fusion 170 software components, which may perform processing to predict the behavior of other road users, fuse local vehicle poses with global map geometry in real time, and enable on-the-fly map correction. Output from the machine learning application may be supplemented with information (as well as positioning data) from the radar 116 and map localization 166 application data. These applications allow the control system 100 to be less map-dependent and more capable of handling an ever-changing road environment. Furthermore, by correcting any map errors on the fly, the control system 100 can facilitate safer, more scalable, and more efficient operations compared to alternative map-centric approaches. Information is provided to a prediction and planning application 172 that provides input to a trajectory planning 174 component that enables trajectory 176 to be generated in real-time based on interactions and predicted interactions between the semi-truck 200 and other associated vehicles in the environment. In some embodiments, for example, the control system 100 generates a 60 second planning period and analyzes the relevant actors and available trajectories.The plan that best meets multiple criteria (including safety, comfort, and route preferences) is selected, and any associated control inputs required to implement the plan are provided to the controller 182 to control the movement of the semi-truck 200.
[0025] These applications or components (as well as other components or flows described herein) may be implemented in hardware, a computer program executed by a processor, firmware, or a combination of the above. The computer program may be embodied on a computer-readable medium, such as a storage medium or 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.
[0026] The storage medium may be coupled to the processor such that the processor can read information from and write information to the storage medium. Alternatively, the storage medium may be integral to the processor. The processor and the storage medium may reside in an application specific integrated circuit ("ASIC"). Alternatively, the processor and the storage medium may reside as separate components. For example, FIG. 1 illustrates an exemplary computer system 140 that may represent or be integrated with any of the components described above. FIG. 1 is not intended to suggest any limitation as to the scope of use or functionality of the embodiments of the present application described herein. The computer system 140 may implement and / or perform any of the functions described above.
[0027] Computer system 140 may be described in the general context of computer system executable instructions, such as program modules, executed by a computer system. Generally, program modules may include routines, programs, objects, components, logic, data structures, etc. that perform particular tasks or implement particular 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 communications network. In a distributed cloud computing environment, program modules may be located in both local and remote computer system storage media, including memory storage devices.
[0028] 1, computer system 140 is shown in the form of a general-purpose computing device. The components of computer system 140 may include, but are not limited to, one or more processors (such as CPU 142 and GPU 144), a communication interface 146, one or more input / output interfaces 148, and a storage device 216. Although not shown, computer system 140 may also include a system bus coupling various system components, including system memory, to CPU 142. In some embodiments, input / output interface 148 may also include a network interface. For example, in some embodiments, some or all of the components of control system 100 may communicate via a controller area network ("CAN") bus or the like.
[0029] Storage device 150 may include various types and forms of computer-readable media. Such media may be any available media accessible by a computer system / server and may include both volatile and non-volatile media, removable and non-removable media. In one embodiment, the system memory implements the flow diagrams 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, storage device 150 may read and write to a non-removable non-volatile magnetic medium (not shown, typically referred to as a "hard drive"). Although not shown, storage device 150 may include one or more removable non-volatile disk drives, such as magnetic, tape, or optical disk drives. In such an example, each may be connected to a bus by one or more data media interfaces. 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 various embodiments of the application.
[0030] 2A-2C are diagrams illustrating the appearance of a semi-truck 200 that may be used in accordance with an exemplary embodiment. With reference to FIGS. 2A-2C, the semi-truck 200 is shown for illustrative purposes only, and those skilled in the art will understand upon reading this disclosure that the embodiments may be used in conjunction with several different types of vehicles. The exemplary semi-truck 200 shown in FIGS. 2A-2C is configured in a typical North American style with an engine 206, a steering axle 214, and a drive axle 216 in front of the cab 202. A trailer (not shown) is attached to the semi-truck 200 via a fifth wheel trailer coupling provided on a frame 218 positioned above the drive axle 216. A sleeping compartment 212 is positioned behind the cab 202. Several sensors are positioned in different locations on the semi-truck 200. For example, sensors may be mounted on a sensor rack 220 on the roof of the cab 202. Sensors may also be mounted on the side mirrors 210 as well as other locations. As discussed, sensors may be mounted on the bumper 204 as well as the side of the cab 202, or elsewhere. For example, rear-facing radar 236 is shown mounted on the side of the cab 202 in FIG. 2A. Embodiments may be used in other configurations of trucks or other vehicles (e.g., semi-trucks having cab-over or cab-forward configurations, etc.). In general, and without limiting embodiments of the invention, features of the invention may be used with desirable results in vehicles that haul cargo over long distances, such as long-distance semi-truck routes.
[0031] FIG. 2B is a front view of the semi-truck 200 illustrating several sensors and sensor locations. A sensor rack 220 may secure and position several sensors, including a long-range lidar 222, a long-range camera 224, a GPS antenna 234, and a medium-range forward-facing camera 226. The side mirrors 210 may provide mounting locations for a rear-facing camera 228 and a medium-range lidar 230. A front radar 232 may be mounted in the bumper 204. Other sensors may be mounted or installed in other locations, and the locations and mounting depicted in FIGS. 2A-2C are for illustrative purposes only. Referring now to FIG. 2C, a partial view of the semi-truck 200 showing the interior of the cab 202 and the sleeping compartment 212 is shown. In some embodiments, portions of the control system 100 of FIG. 1 are deployed in a system rack 240 in the sleeping compartment 212, allowing easy access to the components of the control system 100 for maintenance and operation.
[0032] In examples described further herein, the control system 100 in the example of FIG. 1 may be embodied in an ego vehicle, such as the semi-truck 200 shown and described with respect to FIGS. 2A-2C. In these examples, the ego vehicle may use sensors and other systems of the vehicle to detect the presence of another vehicle on the shoulder of the road while the ego vehicle is traveling along the road and approaching the ego vehicle. Rather than using a constant change in speed, the ego vehicle may use a piecewise linear function to change speed in short segments. Additionally, the ego vehicle may determine whether to make a lane change (e.g., to a lane in the opposite lane of the ego vehicle, further from the shoulder than the ego vehicle's current lane, etc.). Whether such a lane change is made may be a dynamic determination made by the ego vehicle's computer as the ego vehicle approaches a vehicle on the shoulder.
[0033] 3A-3D illustrate examples of possible scenarios of an ego vehicle approaching a vehicle on the shoulder (VOS) according to an exemplary embodiment. Fig. 3A illustrates a scenario in which an ego vehicle 302 is approaching a vehicle on the shoulder (VOS) 304. In this example, the ego vehicle 302 may sense the longitudinal distance between the ego vehicle 302 and the VOS 304, and the lateral distance (m) between the VOS 304 and the current lane of the ego vehicle 302, e.g., the fog line 306 of the current lane of the ego vehicle 302.
[0034] In the example of Figure 3A, the ego vehicle 302 is traveling in the far right lane, and the shoulder is to the right of the far right lane. Meanwhile, two other lanes are disposed to the left of the current lane of the ego vehicle 302. In this example, the ego vehicle 302 may be configured such that if the ego vehicle 302 detects that the lateral distance m between the VOS 304 and the current lane of the ego vehicle 302 exceeds a predefined threshold (e.g., 5 feet, 8 feet, 10 feet, etc.), the ego vehicle 302 may perform a speed limiting function and control itself to stay in the current lane, as further described in the example of Figures 4A-4B.
[0035] 3B illustrates a second scenario in which the ego vehicle 312 is approaching a vehicle on the shoulder (VOS) 314. In this example, the ego vehicle 312 is driving in a far right lane, and there is another vehicle 316 (i.e., vehicular traffic) located in a lane immediately to the left of the ego vehicle 312's current lane. That is, the other vehicle 316 is in a lane on the opposite side of the ego vehicle 312, and is further away from the shoulder where the VOS 314 is located than the ego vehicle 312's current lane. In this example, the ego vehicle 312 may detect the lateral distance m between the VOS 314 and the ego vehicle 312's current lane and compare it to a predefined threshold. If m is above the predefined threshold, the ego vehicle 312 may perform a speed limiting function and control itself to stay in the current lane, regardless of the location of the other vehicle 316.
[0036] 3C illustrates a third scenario in which the ego vehicle 322 is approaching a vehicle on the shoulder (VOS) 324. In this example, the ego vehicle 322 may sense the longitudinal distance between the ego vehicle 322 and the VOS 324, and the lateral distance between the VOS 324 and the current lane of the ego vehicle 322. In this example, the lateral distance between the VOS 324 and the current lane of the ego vehicle 322 is below a predefined threshold. Furthermore, there are no other vehicles in the adjacent lane that is further away from the shoulder. Thus, the ego vehicle 322 may be configured to perform a lane change in addition to the speed limit function. In some embodiments, the ego vehicle 322 may simultaneously perform a lane change and decelerate based on a piecewise linear function.
[0037] FIG. 3D illustrates a further scenario in which the ego vehicle 332 is approaching a vehicle on shoulder (VOS) 334. In this example, the ego vehicle 332 is traveling in a far right lane, with an additional vehicle 336 (i.e., vehicular traffic) located in a lane immediately to the left of the ego vehicle 332's current lane. That is, the additional vehicle 336 is in a lane on the opposite side of the ego vehicle 332 from the shoulder where the VOS 314 is located, and is further away from the shoulder than the ego vehicle 332's current lane. In this example, the ego vehicle 332 may detect that the lateral distance m between the VOS 334 and the ego vehicle 332's current lane is below a predefined threshold. However, in this example, the ego vehicle 332 detects the additional vehicle 336 in an adjacent lane (i.e., the lane immediately to the left of the ego vehicle 332's current lane). In this example, the ego vehicle 332 may choose to stay in the current lane or to make a lane change. For example, the distance (l) between the ego vehicle 332 and the additional vehicle 336 may be used to determine whether to make a lane change.
[0038] In some embodiments, the decision of whether to make a lane change may also be influenced by various cost functions. For example, in the third scenario described with respect to FIG. 3C and / or the fourth scenario described with respect to FIG. 3D, the ego-vehicle may also determine whether to make a lane change by analyzing one or more cost functions, such as a lane preference cost function, a speed limit cost function, a route termination cost function, an impatience cost function, etc. Here, the ego-vehicle may include an algorithm that identifies acceptable trade-offs between different cost functions, thereby enabling the ego-vehicle to make a decision based on the cost functions. In some cases, one or more cost functions may be given a greater weight than others.
[0039] 4A-4B illustrate an example of a speed limiting function of the ego vehicle in response to detecting a vehicle on the shoulder, according to an exemplary embodiment, where FIG. 4A illustrates a speed profile of the ego vehicle based on the longitudinal distance from the ego vehicle to the VOS, and FIG. 4B illustrates a minimum speed profile that may be used to conservatively set the ego vehicle at a safe speed while traveling alongside (adjacent to) a vehicle on the shoulder.
[0040] 4A, speed profile 400 includes a piecewise linear representation including three sections, speeds 402a, 402b, and 402c, which are sequenced as the ego vehicle passes a vehicle on the shoulder of the road. In this example, the y-axis of speed profile 400 represents the speed or velocity of the ego vehicle, and the x-axis of speed profile 400 represents the longitudinal distance between the ego vehicle and a vehicle on the shoulder of the road.
[0041] In some embodiments, the ego-vehicle may slow the vehicle speed according to a first section 402a of the speed profile 400, maintain a slow speed for a predetermined distance according to a second section 402b of the speed profile 400, and speed up the vehicle according to a third section 402c. Each change in the speed profile 400 may correspond to a different longitudinal distance threshold being reached between the ego-vehicle and the VOS.
[0042] For example, the first section 402a of the speed profile 400 may cause the ego vehicle to reduce its speed rate when it detects a VOS within a certain distance (e.g., 1500 meters, 1000 meters, 750 meters, etc.) from the ego vehicle. For example, when the ego vehicle is 1000 meters away from the VOS, it may begin to control the ego vehicle's speed to slow down, decelerate, brake, etc., to achieve a predefined minimum speed according to the speed profile 400. Here, the ego vehicle may begin to control the speed of the ego vehicle when it detects a VOS within a certain distance (e.g., 1500 meters, 1000 meters, 750 meters, etc.) from the ego vehicle. Here, the ego vehicle may begin to control the speed of the ego vehicle when it detects a VOS within a certain distance (e.g., 1500 meters, 1000 meters, 750 meters, etc.) from the VOS. For example, when the ego vehicle is 1000 meters away from the VOS, it may begin to control the speed of the ego vehicle to achieve a predefined minimum speed according to the speed profile 400. Here, the ego vehicle may begin to control the speed of the ego vehicle when it detects a predefined minimum speed (V MIN ) may be followed along a first section 402a of the velocity profile 400.
[0043] The vehicle is traveling at a predefined minimum speed V MIN (e.g., 10 mph, 15 mph, 25 mph, 35 mph, etc.), it may hold that predefined minimum speed until it passes a vehicle on the shoulder (i.e., the second section 402b of the speed profile 400). For example, the ego vehicle may determine that the ego vehicle will not reach the predefined minimum speed V for a safe longitudinal distance (e.g., 500 meters, 300 meters, 200 meters, etc.) before it reaches the vehicle on the shoulder. MIN Additionally, the ego vehicle may hold a predefined minimum speed until it is a predetermined longitudinal distance past the vehicle on the shoulder (e.g., 15 meters, 30 meters, 50 meters, etc.) and then increase its speed until it reaches a desired driving speed according to the third section 402c of the speed profile 410. For example, it may return to the ego vehicle's previous driving speed before the vehicle on the shoulder was detected, or a different speed.
[0044] FIG. 4B illustrates a method for dynamically determining the minimum speed (V MIN4 illustrates a minimum speed profile 410 that may be used to identify a predetermined minimum speed. In this example, the predetermined minimum speed may vary based on the lateral distance between the vehicle's current lane and a vehicle parked on the shoulder. Here, the lateral distance may be measured from the edge of the vehicle's current lane to the closest point of the vehicle on the shoulder (e.g., the vehicle's body, door, tire, etc.). The distance may be measured along a straight line approximately parallel to the lane / fog lines in the road.
[0045] As shown in FIG. 4B, the ego-vehicle may require a certain minimum distance represented by distance 412a (e.g., 0.2 m, 0.3 m, etc.) in the minimum speed profile 410. If the vehicle on the shoulder is closer than this distance 412a, the ego-vehicle may be requested to make a lane change before passing the vehicle on the shoulder. However, if the vehicle on the shoulder is at least distance 412a but not more than conservative distance 412b (e.g., 0.65 meters, 0.75 meters, 1.0 meters, etc.), the ego-vehicle may control itself to operate at a minimum speed as shown in the speed profile 410 of FIG. 4B. Furthermore, if the vehicle on the shoulder is at a lateral distance greater than conservative distance 412b but less than safe distance 412c from the current lane, the ego-vehicle may control itself to go at an even faster minimum speed rather than its maximum minimum speed. Furthermore, if the vehicle on the shoulder is at least safe distance 412c away from the ego-vehicle's current lane, the ego-vehicle may operate at its maximum minimum speed. The speed profile may be used at different miles per home (mph) and should not be construed as limiting to a particular mph, where the terms "safe" and "conservative" may refer to any limits that are predefined and encoded into the rules implemented by the vehicle's computer.
[0046] 5A-5B illustrate cost evaluation functions according to an exemplary embodiment. Referring to FIG. 5A, a cost function 500 of the lateral distance between a vehicle on the shoulder (VOS) and the ego vehicle's current lane is shown. Meanwhile, FIG. 5B illustrates a cost function 510 of the longitudinal distance between the ego vehicle and a vehicle on the shoulder. Other cost functions may be considered, including lane preference cost functions, route termination cost functions, speed limit cost functions, and impatience cost functions (due to slow vehicles). The ego vehicle's computer may have an optimization program installed therein that can analyze the trade-off between different options in terms of cost and determine which option generates the least amount of cost overall. For example, the lane change optimizer may try to find the best action that minimizes the overall cost. In the current implementation, this means that the closer the VOS is to the ego vehicle's current lane (e.g., fog line, etc.), the more aggressively it tries to make the lane change, since the higher the cost of the VOS.
[0047] 6A-6B illustrate a process of making a lane change, according to an example embodiment. In particular, FIG. 6A illustrates a process 600A of analyzing costs, and FIG. 6B illustrates a process 600B of controlling an ego vehicle 602 to make a lane change. For example, in response to evaluating the cost functions 500 and 510 shown in FIG. 5A and 5B, the ego vehicle 602 may determine to change lanes from the current lane in which it is traveling (i.e., lane 3 in FIG. 6A) to an adjacent lane (i.e., lane 2 in FIG. 6B) in response to detecting a vehicle on road (VOS) 604.
[0048] Here, the VOS 604 is a distance (d) away from the fog line 608 of the current lane in which the ego vehicle 602 is traveling. In addition, an additional vehicle 606 is traveling in an adjacent lane (i.e., lane 2) to the current lane of the ego vehicle 602. In this example, the ego vehicle 602 may analyze multiple costs, such as the cost of changing lanes, the cost to the VOS 604, the cost to the additional vehicle 606, etc., and make a decision on whether to change lanes based on the overall cost.
[0049] 7 illustrates a method 700 for handling vehicles on a road shoulder, according to an exemplary embodiment. As an example, the method 700 may be performed by a processor, computer, chip, device, etc., on a vehicle, such as an ego vehicle. With reference to FIG. 7, at 710, the method may include storing a piecewise linear function. Examples of piecewise linear functions are described with respect to FIGS. 4A-4B.
[0050] At 720, the method may include detecting a vehicle on shoulder (VOS) of a road based on sensor data sensed by one or more sensors of an ego vehicle approaching the VOS, where the ego vehicle may be traveling in a lane directly adjacent to the shoulder of the road. At 730, the method may include determining that the VOS is within a predefined distance of the ego vehicle. As an example, the predefined distance may be 100 meters, 200 meters, 300 meters, etc. The predefined distance may also be based on a speed at which the vehicle is currently traveling. In response to the determination at 730, the method may further include controlling the ego vehicle to slow down and then speed up based on a piecewise linear function, at 740.
[0051] In some embodiments, the control may include controlling the ego vehicle to slow down to a predefined minimum speed at a predetermined distance before the ego vehicle is adjacent to the VOS. In some embodiments, the control may include holding the ego vehicle at a predefined minimum speed until a predetermined distance after the ego vehicle passes the VOS, and controlling the ego vehicle to speed up to a predefined maximum speed. In some embodiments, the method may further include determining whether to make a lane change to a lane further away from the shoulder based on one or more of a longitudinal distance between the ego vehicle and the VOS and a lateral distance between the VOS and the ego vehicle's current lane. In an exemplary embodiment, the lateral distance refers to the distance between a vehicle parked on the shoulder of the road and the ego vehicle's current lane. A margin separating lanes from the nearest corner of the vehicle on the shoulder may be used, or some other method may be used.
[0052] In some embodiments, the method may further include controlling the ego vehicle to make a lane change to a lane further away from the shoulder when a lateral distance between the VOS and the ego vehicle's current lane is less than a predetermined distance. In some embodiments, the method may further include controlling the ego vehicle to remain in the current lane when a lateral distance between the VOS and the ego vehicle's current lane is greater than a predetermined distance and the lane further away from the shoulder is clear of traffic. In some embodiments, the determination of whether to make a lane change to a lane further away from the shoulder may be further based on one or more of a lane preference cost function, a speed limit cost function, a route termination cost function, and an impatience cost function. In some embodiments, the determination of whether to make a lane change to a lane further away from the shoulder may be further based on two or more of a lane preference cost function, a speed limit cost function, a route termination cost function, and an impatience cost function.
[0053] As will be understood based on the foregoing specification, the above-mentioned examples of the present disclosure may be implemented using computer programming or engineering techniques, including computer software, firmware, hardware, or any combination or subset thereof. Any such resulting program having computer readable code may be embodied or provided in one or more non-transitory computer readable media, thereby creating a computer program product, i.e., an article of manufacture, according to the discussed examples of the present disclosure. For example, the non-transitory computer readable medium may be, but is not limited to, a fixed drive, a diskette, an optical disk, a magnetic 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 transmitting and / or receiving medium, such as the Internet, cloud storage, the Internet of Things (IoT), or other communication networks or links. An article of manufacture including the computer code may be created and / or used by executing the code directly from one medium, by copying the code from one medium to another, or by transmitting the code over a network.
[0054] A computer program (also referred to as a program, software, software application, "app", or code) may include machine instructions for a programmable processor and may be implemented in a high-level procedural and / or object-oriented programming language and / or assembly / machine code. As used herein, the terms "machine-readable medium" and "computer-readable medium" refer to any computer program product, apparatus, cloud storage, Internet of Things, and / or device (e.g., magnetic disk, optical disk, memory, programmable logic device (PLD)) used to provide 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 a transitory signal. The term "machine-readable signal" refers to any signal that may be used to provide machine instructions and / or any other type of data to a programmable processor.
[0055] The above description and illustration of processes herein should not be construed as implying a fixed order for performing process steps. Rather, process steps may be performed in any order feasible, including simultaneous performance of at least some steps. Although the present disclosure has been described in conjunction with specific examples, it should be understood that various changes, substitutions, and alterations apparent to those skilled in the art may be made to the disclosed embodiments without departing from the spirit and scope of the present disclosure as set forth in the appended claims.
Claims
1. An apparatus comprising: a memory configured to store a linear function; 1. A processor comprising: Detecting a vehicle on a road shoulder (VOS) based on sensor data sensed by one or more sensors of a host vehicle approaching the VOS; determining that the VOS is within a predefined distance of the host vehicle; and in response to the determining, control the ego vehicle to slow down and then speed up based on the linear function.
2. 2. The apparatus of claim 1, wherein the processor is configured to control the ego vehicle to slow down to at least a predefined minimum speed at least a predetermined distance before the ego vehicle is adjacent to the VOS.
3. 3. The apparatus of claim 2, wherein the processor is configured to control the host vehicle to keep the host vehicle at or below the predefined minimum speed and accelerate to a predefined maximum speed for at least a predetermined distance after the host vehicle has passed the VOS.
4. 2. The apparatus of claim 1, wherein the processor is further configured to determine whether to make a lane change to a lane further away from the shoulder based on one or more of a longitudinal distance between the host vehicle and the VOS and a lateral distance between the VOS and a current lane of the host vehicle.
5. 5. The apparatus of claim 4, wherein the processor is further configured to control the host vehicle to make the lane change to the lane further away from the shoulder when the lateral distance between the VOS and the current lane of the host vehicle is less than a predetermined distance.
6. 5. The apparatus of claim 4, wherein the processor is further configured to control the host vehicle to remain in the current lane when the lateral distance between the VOS and the current lane of the host vehicle is greater than a predetermined distance and the lane further away from the shoulder is clear of traffic.
7. 5. The apparatus of claim 4, wherein the processor is further configured to determine whether to make the lane change to a lane further away from the shoulder based on one or more of a lane preference cost function, a speed limit cost function, a route termination cost function, and an impatience cost function.
8. 8. The apparatus of claim 7, wherein the processor is further configured to determine whether to make the lane change to a lane further away from the shoulder based on two or more of the lane preference cost function, the speed limit cost function, the route termination cost function, and the impatience cost function.
9. 1. A method comprising: storing a linear function; Detecting a vehicle on a road shoulder (VOS) based on sensor data sensed by one or more sensors of a host vehicle approaching the VOS; determining that the VOS is within a predefined distance of the host vehicle; and in response to said determining, controlling said ego vehicle to slow down and then speed up based on said linear function.
10. 10. The method of claim 9, wherein the controlling comprises controlling the ego vehicle to slow down to at least a predefined minimum speed at least a predetermined distance before the ego vehicle is adjacent to the VOS.
11. 11. The method of claim 10, wherein the controlling comprises: keeping the host vehicle at or below the predefined minimum speed until at least a predetermined distance after the host vehicle passes the VOS; and controlling the host vehicle to accelerate to a predefined maximum speed.
12. 10. The method of claim 9, further comprising determining whether to make a lane change to a lane further away from the shoulder based on one or more of a longitudinal distance between the host vehicle and the VOS and a lateral distance between the VOS and a current lane of the host vehicle.
13. 13. The method of claim 12, further comprising controlling the host vehicle to make the lane change to the lane further away from the shoulder when the lateral distance between the VOS and the current lane of the host vehicle is less than a predetermined distance.
14. 13. The method of claim 12, further comprising controlling the host vehicle to remain in the current lane when the lateral distance between the VOS and the current lane of the host vehicle is greater than a predetermined distance and the lane further away from the shoulder is clear of traffic.
15. 13. The method of claim 12, wherein the determining whether to make the lane change to the lane further away from the shoulder is further based on one or more of a lane preference cost function, a speed limit cost function, a route termination cost function, and an impatience cost function.
16. 16. The method of claim 15, wherein the determining whether to make the lane change to the lane further away from the shoulder is further based on two or more of the lane preference cost function, the speed limit cost function, the route termination cost function, and the impatience cost function.
17. A non-transitory computer-readable medium that, when executed by a processor, Storing a linear function; Detecting a vehicle on a road shoulder (VOS) based on sensor data sensed by one or more sensors of a host vehicle approaching the VOS; determining that the VOS is within a predefined distance of the host vehicle; and in response to the determining, controlling the ego vehicle to slow down and then speed up based on the linear function.
18. 20. The non-transitory computer-readable medium of claim 17, wherein the controlling includes controlling the ego vehicle to slow down to at least a predefined minimum speed at least a predetermined distance before the ego vehicle becomes adjacent to the VOS.
19. 20. The non-transitory computer-readable medium of claim 18, wherein the controlling comprises: maintaining the ego vehicle at or below the predefined minimum speed for at least a predetermined distance after the ego vehicle passes the VOS; and controlling the ego vehicle to accelerate to a predefined maximum speed.
20. 20. The non-transitory computer-readable medium of claim 17, wherein the method further includes determining whether to make a lane change to a lane further away from the shoulder based on one or more of a longitudinal distance between the host vehicle and the VOS and a lateral distance between the VOS and a current lane of the host vehicle.