Method and system for operating an autonomous vehicle

By calculating the confidence area of ​​autonomous driving vehicles and evaluating the collision probability, safety issues caused by positioning uncertainty are solved, achieving higher safety and lower collision risks.

CN115320634BActive Publication Date: 2025-05-30BAIDU USA LLC
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202211030743.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2021-09-01
Filing Date
2022-08-26
Publication Date
2025-05-30
Estimated Expiration
2042-08-26

AI Technical Summary

Technical Problem

Position uncertainty in autonomous vehicles can lead to safety issues, especially in trajectory planning and vehicle control.

Method used

By determining a confidence area calculated based on positioning uncertainty and velocity uncertainty, the collision probability of the object within the region is evaluated and the trajectory of the vehicle is planned and controlled based on this to avoid collisions.

Benefits of technology

The safety of autonomous driving vehicles is increased, and the probability of collision with other objects is reduced by effectively dealing with positioning uncertainty and speed uncertainty.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115320634B_ABST
    Figure CN115320634B_ABST
Patent Text Reader

Abstract

Methods and systems for operating an autonomous driving vehicle incorporate the ADV's positioning uncertainty as a factor into its planning and control processes. The positioning uncertainty may be caused by sensor inaccuracies, map matching algorithm inaccuracies, and / or speed uncertainty. The positioning uncertainty may have a negative impact on trajectory planning and vehicle control. The embodiments described herein are directed to increasing the safety of the ADV by considering the positioning uncertainty in trajectory planning and vehicle control. Exemplary methods include determining a confidence region of the ADV operating autonomously on a road segment based on the positioning uncertainty and speed uncertainty; determining that an object is within the confidence region, and determining a collision probability between the object and the ADV based on the distance between the object and the ADV; planning a trajectory based on the collision probability, and controlling the ADV based on the collision probability.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] Embodiments of the present disclosure generally relate to operating an autonomous vehicle. More particularly, embodiments of the present disclosure relate to determining noise in localization and using such noise in trajectory planning and vehicle control. Background Art

[0002] When driving in autonomous mode, an autonomous driving vehicle (ADV) can relieve some of the driving-related responsibilities of a rider, especially a driver. When operating in autonomous mode, the vehicle can navigate to various locations using on-board sensors, thereby allowing the vehicle to travel with minimal human-machine interaction or in some cases without any passengers.

[0003] The ADV needs to generate a planned trajectory and control the vehicle to move along the planned trajectory. The planning and control of the ADV rely on its state, such as position, speed, acceleration, and heading angle, which can be obtained from a localization module based on sensors installed on the vehicle.

[0004] However, sensors associated with the localization module may be subject to uncertainties and noise due to hardware limitations. These uncertainties and noise may lead to localization uncertainties, which may cause safety problems in autonomous driving. Summary of the Invention

[0005] In one aspect, a method of operating an autonomous driving vehicle (ADV) is provided, the method comprising:

[0006] Determining a confidence region of the ADV driving autonomously on a road segment based on localization uncertainty and speed uncertainty;

[0007] Determining that an object is within the confidence region, and determining a collision probability between the object and the ADV based on a distance between the object and the ADV;

[0008] Planning a trajectory based on the collision probability; and

[0009] Controlling the ADV according to the trajectory to avoid a collision.

[0010] In another aspect, a non-transitory machine-readable medium storing instructions is provided, which when executed by a processor, causes the processor to perform the method of operating an ADV as described above.

[0011] In another aspect, a data processing system is provided, comprising:

[0012] A processor; and

[0013] A memory coupled to the processor and storing instructions, which when executed by the processor, cause the processor to perform the method of operating an ADV as described above.

[0014] On the other hand, a computer program product is provided, including a computer program which, when executed by a processor, causes the processor to execute the method of operation ADV as described above.

[0015] According to the present disclosure, the security of ADV can be increased. BRIEF DESCRIPTION OF THE DRAWINGS

[0016] Embodiments of the present disclosure are illustrated by way of example and are not limited to the figures in the drawings, in which like reference numerals represent similar elements.

[0017] Figure 1 is a block diagram showing a networking system according to one embodiment.

[0018] Figure 2 is a block diagram showing an example of an autonomous vehicle according to one embodiment.

[0019] Figures 3A - 3B is a block diagram showing an example of a perception and planning system used with an autonomous vehicle according to one embodiment.

[0020] Figure 4 shows a system for using position uncertainty in trajectory planning and vehicle control according to one embodiment.

[0021] Figure 5 shows a confidence region according to one embodiment.

[0022] Figure 6 shows a confidence region according to another embodiment.

[0023] Figure 7 is a flowchart showing a process for using position uncertainty in the planning and control functions of ADV according to one embodiment.

[0024] Figure 8 is a flowchart showing a process for operating an autonomous driving vehicle according to one embodiment. DETAILED DESCRIPTION

[0025] Various embodiments and aspects of the present disclosure will be described in detail with reference to the details discussed below, and the drawings will illustrate the various embodiments. The following description and drawings are illustrative of the present disclosure and should not be construed as limiting the present disclosure. Many specific details are described to provide a thorough understanding of the various embodiments of the present disclosure. However, in some instances, well-known or conventional details are not described in order to provide a brief discussion of the embodiments of the present disclosure.

[0026] References to "one embodiment" or "an embodiment" in the specification mean that the particular features, structures, or characteristics described in connection with the embodiment can be included in at least one embodiment of the present disclosure. The phrase "in one embodiment" that appears in various places in the specification does not necessarily refer to the same embodiment.

[0027] According to various embodiments, systems, methods, and media, the positioning uncertainty factors of an ADV are introduced into its planning and control processes to increase the safety of the ADV. The positioning uncertainty may be caused by sensor inaccuracies, map-matching algorithm inaccuracies, and / or speed uncertainty. The positioning uncertainty may have a negative impact on trajectory planning and vehicle control. The embodiments described herein are directed to increasing the safety of the ADV by considering the positioning uncertainty in trajectory planning and vehicle control.

[0028] Exemplary methods may include the following operations: determining a confidence region of an ADV driving autonomously on a road segment based on the positioning uncertainty and the speed uncertainty; determining that an object is within the confidence region, and determining a collision probability with the ADV based on the distance between the object and the ADV; planning a trajectory based on the collision probability, and controlling the ADV based on the collision probability.

[0029] In one embodiment, the confidence region may be a circular region, and when the ADV moves, the ADV is at the center of the circular region or at another position, such that the speed uncertainty affects the size of the confidence region.

[0030] In one embodiment, the radius of the confidence region is the sum of the products of the positioning uncertainty radius, the speed uncertainty radius, the speed uncertainty ratio, and the planning update ratio. Each of the positioning uncertainty radius, the speed uncertainty radius, and the speed uncertainty ratio may be determined based on the specifications of one or more sensors mounted on the ADV for positioning. The planning update ratio is the time interval for generating the planned trajectory.

[0031] In one embodiment, each point in the confidence region has an uncertainty probability that measures the likelihood of the ADV being at that point. The uncertainty probability is determined based on the distance from the point to the ADV.

[0032] In one embodiment, the planning of the probability-based trajectory further includes generating a planned trajectory that avoids a collision between the ADV and the object. The control of the ADV based on the probability further includes adjusting one or more control commands to avoid a collision between the ADV and the object, or reducing the probability of a collision between the ADV and the object.

[0033] The above embodiments do not exhaust all aspects of the present invention. It is contemplated that the present invention includes all suitable combinations of the various embodiments summarized above and all embodiments that can be implemented from those embodiments disclosed hereinafter.

[0034] Autonomous driving vehicle

[0035] Figure 1 is a block diagram showing an autonomous driving network configuration according to an embodiment of the present disclosure. Referring to Figure 1 , the network configuration 100 includes an autonomous driving vehicle (ADV) 101, which can be communicatively coupled to one or more servers 103 - 104 via a network 102. Although one ADV is shown, multiple ADVs can be coupled to each other and / or to the servers 103 - 104 via the network 102. The network 102 can be any type of network, such as a local area network (LAN), a wide area network (WAN) such as the Internet, a cellular network, a satellite network, or a combination thereof, wired or wireless. The servers 103 - 104 can be any type of server or server cluster, such as a Web or cloud server, an application server, a backend server, or a combination thereof. The servers 103 - 104 can be a data analysis server, a content server, a traffic information server, a map and point of interest (MPOI) server, or a location server, etc.

[0036] An ADV refers to a vehicle that can be configured to be in an autonomous mode, in which the vehicle navigates through an environment with little or no driver input. Such an ADV can include a sensor system having one or more sensors configured to detect information about the environment in which the vehicle operates. The vehicle and its associated controller use the detected information to navigate through the environment. The ADV 101 can operate in a manual mode, a full autonomous mode, or a partial autonomous mode.

[0037] In one embodiment, the ADV 101 includes, but is not limited to, an autonomous driving system (ADS) 110, a vehicle control system 111, a wireless communication system 112, a user interface system 113, and a sensor system 115. The ADV 101 may also include certain common components included in a normal vehicle, such as an engine, wheels, a steering wheel, a transmission, etc., which can be controlled by the vehicle control system 111 and / or the ADS 110 using various communication signals and / or commands (such as an acceleration signal or command, a deceleration signal or command, a steering signal or command, a braking signal or command, etc.).

[0038] Components 110-115 may be communicatively coupled to each other via an interconnect, a bus, a network, or a combination thereof. For example, components 110-115 may be communicatively coupled to each other via a Controller Area Network (CAN) bus. The CAN bus is a vehicle bus standard that is designed to allow microcontrollers and devices to communicate with each other in applications without a host. It is a message-based protocol that was originally designed for multiplexed electrical wiring within automobiles, but is also used in many other environments.

[0039] Now referring to Figure 2 , in one embodiment, the sensor system 115 includes, but is not limited to, one or more cameras 211, a Global Positioning System (GPS) unit 212, an Inertial Measurement Unit (IMU) 213, a radar unit 214, and a Light Detection and Ranging (LIDAR) unit 215. The GPS system 212 may include a transceiver operable to provide information about the position of the ADV. The IMU unit 213 may sense changes in the position and orientation of the ADV based on inertial acceleration. The radar unit 214 may represent a system that senses objects within the local environment of the ADV using radio signals. In some embodiments, in addition to sensing objects, the radar unit 214 may additionally sense the speed and / or heading of the objects. The LIDAR unit 215 may sense objects in the environment in which the ADV is located using lasers. The LIDAR unit 215 may include one or more laser sources, a laser scanner, and one or more detectors, among other system components. The camera 211 may include one or more devices to capture images of the environment around the ADV. The camera 211 may be a static camera and / or a video camera. The camera may be mechanically movable, such as by mounting the camera on a rotating and / or tilting platform.

[0040] The sensor system 115 may further include other sensors, such as sonar sensors, infrared sensors, steering sensors, throttle sensors, brake sensors, and audio sensors (e.g., microphones). The audio sensor may be configured to capture sounds from the environment around the ADV. The steering sensor may be configured to sense the steering angle of a steering wheel, the wheels of a vehicle, or a combination thereof. The throttle sensor and the brake sensor sense the throttle position and the brake position of the vehicle, respectively. In some cases, the throttle sensor and the brake sensor may be integrated into an integrated throttle / brake sensor.

[0041] In one embodiment, the vehicle control system 111 includes, but is not limited to, a steering unit 201, a throttle unit 202 (also referred to as an acceleration unit), and a braking unit 203. The steering unit 201 is used to adjust the direction or heading of the vehicle. The throttle unit 202 is used to control the speed of the motor or engine, and the speed of the motor or engine in turn controls the speed and acceleration of the vehicle. The braking unit 203 decelerates the vehicle by providing friction to slow down the wheels or tires of the vehicle. Note that Figure 2 the components shown can be implemented in hardware, software, or a combination thereof.

[0042] Return reference Figure 1 , the wireless communication system 112 allows communication between the ADV 101 and external systems, such as devices, sensors, other vehicles, etc. For example, the wireless communication system 112 can communicate wirelessly with one or more devices directly or via a communication network, such as communicating with servers 103 - 104 via network 102. The wireless communication system 112 can use any cellular communication network or wireless local area network (WLAN), for example, communicate with another component or system using WiFi. The wireless communication system 112 can communicate directly with devices (e.g., a passenger's mobile device, a display device, a speaker within vehicle 101) using, for example, an infrared link, Bluetooth, etc. The user interface system 113 can be part of the peripherals implemented within vehicle 101, including, for example, a keyboard, a touchscreen display device, a microphone, and a speaker, etc.

[0043] Some or all of the functions of the ADV 101 can be controlled or managed by the ADS 110, especially when operating in an autonomous driving mode. The ADS 110 includes the necessary hardware (e.g., processors, memories, storage devices) and software (e.g., an operating system, a planning and routing program) to receive information from the sensor system 115, the control system 111, the wireless communication system 112, and / or the user interface system 113, process the received information, plan a route or path from a starting point to a destination point, and then drive the vehicle 101 based on the planning and control information. Alternatively, the ADS 110 can be integrated with the vehicle control system 111.

[0044] For example, a user as a passenger can specify the starting location and destination of a trip via the user interface, for example. The ADS110 obtains trip-related data. For example, the ADS 110 can obtain location and route information from an MPOI server, which can be part of servers 103 - 104. The location server provides location services, and the MPOI server provides map services and POIs of certain locations. Alternatively, such location and MPOI information can be locally cached in the permanent storage device of the ADS 110.

[0045] As ADV 101 moves along a route, ADS 110 can also obtain real-time traffic information from a traffic information system or server (TIS). Note that servers 103-104 can be operated by a third-party entity. Alternatively, the functions of servers 103-104 can be integrated with ADS 110. Based on the real-time traffic information, MPOI information, and location information, as well as real-time local environment data (e.g., obstacles, objects, nearby vehicles) detected or sensed by sensor system 115, ADS 110 can plan an optimal route and drive vehicle 101 along the planned route via, for example, control system 111 to safely and efficiently reach a specified destination.

[0046] Server 103 can be a data analysis system for performing data analysis services for various clients. In one embodiment, data analysis system 103 includes a data collector 121 and a machine learning engine 122. Data collector 121 collects driving statistics 123 from various vehicles (ADVs or conventional vehicles driven by human drivers). Driving statistics 123 include information indicating issued driving commands (e.g., throttle, brake, steering commands) and the responses of the vehicle (e.g., speed, acceleration, deceleration, direction) captured by the vehicle's sensors at different time points. Driving statistics 123 can also include information describing the driving environment at different time points, such as the route (including start and destination locations), MPOI, road conditions, weather conditions, etc.

[0047] Based on driving statistics 123, machine learning engine 122 generates or trains a set of rules, algorithms, and / or prediction models 124 for various purposes. Then, algorithms 124 can be uploaded to the ADV for real-time use during autonomous driving.

[0048] Figure 3A and 3B is a block diagram showing an example of an autonomous driving system used with an ADV according to one embodiment. System 300 can be implemented as Figure 1 part of ADV 101, including but not limited to ADS 110, control system 111, and sensor system 115. Referring to Figures 3A - 3B , ADS 110 includes but is not limited to a positioning module 301, a perception module 302, a prediction module 303, a decision module 304, a planning module 305, a control module 306, a routing module 307, and a positioning and messaging area calculator 308.

[0049] Some or all of modules 301 - 308 may be implemented in software, hardware, or a combination thereof. For example, these modules may be installed in the permanent storage device 352, loaded into the memory 351, and executed by one or more processors (not shown). Note that some or all of these modules may be communicatively coupled or integrated with Figure 2 some or all of the modules of the vehicle control system 111. Some of modules 301 - 308 may be integrated together as an integrated module.

[0050] The positioning module 301 determines the current position of the ADV 300 (e.g., using the GPS unit 212) and manages any data related to the user's trip or route. The positioning module 301 (also referred to as the map and route module) manages any data related to the user's trip or route. The user may, for example, log in via the user interface and specify the starting position and destination of the trip. The positioning module 301 communicates with other components of the ADV 300, such as the map and route data 311, to obtain data related to the trip. For example, the positioning module 301 may obtain location and route data from a location server and a map and POI (MPOI) server. The location server provides location services, and the MPOI server provides map services and POIs of certain locations, which may be cached as part of the map and route data 311. When the ADV 300 moves along a route, the positioning module 301 may also obtain real - time traffic information from a traffic information system or server.

[0051] Based on the sensor data provided by the sensor system 115 and the positioning information obtained by the positioning module 301, the perception module 302 determines the perception of the surrounding environment. The perception information may represent the situation around the vehicle that a normal driver would perceive while driving. The perception may include the relative positions of lane configurations, traffic light signals, another vehicle in the form of an object, for example, pedestrians, buildings, crosswalks, or other traffic - related signs (e.g., stop signs, yield signs), etc. Lane configurations include information describing one or more lanes, such as, for example, the shape of the lane (e.g., straight or curved), the width of the lane, the number of lanes in the road, one - way or two - way lanes, merging or splitting lanes, exit lanes, etc.

[0052] The perception module 302 may include a computer vision system or the functions of a computer vision system to process and analyze images captured by one or more cameras to identify objects and / or features in the environment of the ADV. The objects may include traffic signals, roadway boundaries, other vehicles, pedestrians, and / or obstacles, etc. The computer vision system may use object recognition algorithms, video tracking, and other computer vision techniques. In some embodiments, the computer vision system may map the environment, track objects, and estimate the speeds of objects, etc. The perception module 302 may also detect objects based on other sensor data provided by other sensors such as radar and / or LIDAR.

[0053] For each object, the prediction module 303 predicts what the object will do in the environment. Based on a set of map / route information 311 and traffic rules 312, the prediction is performed based on the perception data of the driving environment at a point in time. For example, if the object is a vehicle in the opposite direction and the current driving environment includes an intersection, the prediction module 303 will predict whether the vehicle will likely move straight forward or turn. If the perception data indicates that there is no traffic light at the intersection, the prediction module 303 may predict that the vehicle may have to come to a complete stop before entering the intersection. If the perception data indicates that the vehicle is currently in a left-turn only lane or a right-turn only lane, the prediction module 303 may predict that the vehicle will be more likely to make a left turn or a right turn, respectively.

[0054] For each object, the decision-making module 304 makes a decision on how to handle the object. For example, for a specific object (e.g., another vehicle in a cross route) and the metadata describing the object (e.g., speed, direction, steering angle), the decision-making module 304 decides how to encounter the object (e.g., overtake, yield, stop, pass). The decision-making module 304 may make these decisions according to a set of rules, such as traffic rules or driving rules 312, which may be stored in the permanent storage device 352.

[0055] The routing module 307 is configured to provide one or more routes or paths from a starting point to a destination point. For a given trip, such as received from a user, from a starting location to a destination location, the routing module 307 obtains route and map information 311 and determines all possible routes or paths from the starting location to reach the destination location. The routing module 307 may generate a reference line in the form of a topographic map for each route it determines from the starting location to reach the destination location. The reference line refers to an ideal route or path without any interference from others such as other vehicles, obstacles, or traffic conditions. That is, if there are no other vehicles, pedestrians, or obstacles on the road, the ADV should precisely or closely follow the reference line. Then, the topographic map is provided to the decision-making module 304 and / or the planning module 305. The decision-making module 304 and / or the planning module 305 examines all possible routes to select and modify one of the optimal routes based on other data provided by other modules (such as traffic conditions from the positioning module 301, the driving environment sensed by the sensing module 302, and the traffic conditions predicted by the prediction module 303). Depending on the specific driving environment at a point in time, the actual path or route for controlling the ADV may be close to or different from the reference line provided by the routing module 307.

[0056] Based on the decisions for each sensed object, the planning module 305 uses the reference line provided by the routing module 307 as a basis to plan the path or route or trajectory for the ADV and driving parameters (e.g., distance, speed, and / or steering angle). That is, for a given object, the decision-making module 304 decides what to do with the object, while the planning module 305 determines how to do it. For example, for a given object, the decision-making module 304 may decide to pass by the object, while the planning module 305 may determine whether to pass on the left or right side of the object. The planning and control data are generated by the planning module 305, including information describing how the vehicle 300 will move in the next movement cycle (e.g., the next route / path segment). For example, the planning and control data may indicate that the vehicle 300 moves at a speed of 30 miles per hour (mph) for 10 meters and then changes to the right lane at a speed of 25 mph.

[0057] Based on the planning and control data, the control module 306 controls and drives the ADV by sending appropriate commands or signals to the vehicle control system 111 via the CAN bus module 321 according to the trajectory (also referred to as a route or path) defined by the planning and control data. The planning and control data include sufficient information to drive the vehicle from the first point to the second point of the path or route at different time points using appropriate vehicle settings or driving parameters (e.g., throttle, brake, steering commands).

[0058] In one embodiment, the planning phase is performed over multiple planning cycles, also referred to as driving cycles, such as, for example, at each time interval of 100 milliseconds (ms). For each planning cycle or driving cycle, one or more control commands are issued based on the planning and control data. That is, for every 100 ms, the planning module 305 plans the next route segment or path segment, for example, including the target location and the time required for the ADV to reach the target location. Alternatively, the planning module 305 may further specify a particular speed, direction, and / or steering angle, etc. In one embodiment, the planning module 305 plans the route segment or path segment for the next predetermined time period, such as 5 seconds. For each planning cycle, the planning module 305 plans the target location for the current cycle (e.g., the next 5 seconds) based on the target location planned in the previous cycle. Then the control module 306 generates one or more control commands (e.g., throttle, brake, steering control commands) based on the planning and control data for the current cycle.

[0059] Note that the decision-making module 304 and the planning module 305 can be integrated into an integrated module. The decision-making module 304 / planning module 305 may include a navigation system or the functions of a navigation system to determine the driving path for the ADV. For example, the navigation system can determine a series of speeds and direction headings to affect the movement of the ADV along a path that substantially avoids the perceived obstacles while generally advancing the ADV along a roadway-based path leading to the final destination. The destination can be set according to user input via the user interface system 113. When the ADV is in operation, the navigation system can dynamically update the driving path. The navigation system can incorporate data from the GPS system and one or more maps to determine the driving path for the ADV 101.

[0060] The position confidence region calculator 308 can be used to determine the confidence region (i.e., the uncertainty region) of the ADV. There is a probability (0 < a < 1.0) that the ADV is at a certain position within the region, but the specific position of the ADV within the confidence region is uncertain. The size and / or shape of the confidence region are based on the vehicle speed and sensor accuracy. The planning module 305 and the control module 306 can use the probability to plan the trajectory and control the ADV.

[0061] Fixed position confidence region

[0062] Figure 4 A system for using position uncertainty in trajectory planning and vehicle control according to one embodiment is shown.

[0063] As shown in the figure, a localization confidence region calculator 308 is provided in the ADS 110 to determine the confidence region of the ADV 101 hosting the ADS 110. The confidence region can be used by the planning module 308 in the planned trajectory and by the control module to control the ADV 101 to follow the planned trajectory.

[0064] The localization confidence region calculator 308 is a software module that calculates the region where the ADV 101 may be located for each planning period (e.g., 100 ms, and also referred to as a frame in this disclosure).

[0065] In one embodiment, the confidence region can be a circular region determined based on the error associated with the localization process. The localization module 301 can use sensors and / or maps to establish the position of the ADV 101 at any particular moment.

[0066] For example, a LIDAR sensor can be used to measure the distance to nearby objects, thereby creating a local map near the ADV 101. This local map can then be used to register against a pre-built map to obtain the position of the ADV using a map matching algorithm. Therefore, both the LIDAR sensor and the map matching algorithm can be sources of localization error. High-quality LIDAR sensors and better map matching algorithms can reduce localization error. With a large amount of empirical evidence, these errors can be quantified.

[0067] Therefore, for any specific set of sensors installed on the ADV and a specific map matching algorithm used in the localization process, the error range of the localization module 301 can be determined. The error range can be used to determine the size of the confidence region.

[0068] In one embodiment, for each planning period, the localization module 301 generates the position of the ADV for that planning period and also generates a confidence region around the position of the ADV. For that planning period, the ADV can be located anywhere within the confidence region. For that planning period, the closer the position is to the current position of the ADV, the more likely the ADV is to be at that position, and vice versa. Therefore, the localization confidence region calculator 308 can also calculate the probability for each point within the confidence region.

[0069] When generating a planned trajectory for a planning period, the planning module 301 can consider the confidence region. For example, if an obstacle is within the confidence region and there is a 50% probability of the position occupied by the obstacle, which indicates that there is a 50% chance for the ADV 101 itself to be at this position, then there is a 50% chance for the ADV 101 to collide with the obstacle.

[0070] The planning module 301 can consider such collision probability in trajectory planning. In one embodiment, the planning module can generate a trajectory for the ADV 101 to follow to completely avoid obstacles. One way to do this is to ensure that the obstacle is outside the confidence region of the ADV 101 at any given moment. When the obstacle is outside the confidence region, the collision probability between the ADV 101 and the obstacle is reduced to 0. In another embodiment, instead of completely avoiding a collision with an obstacle, the planning module 301 can generate a planned trajectory that reduces the collision probability. This type of implementation can be deployed to vehicles operating in areas where human life is not at risk.

[0071] Similarly, when controlling the ADV 101 to follow the planned trajectory, the control module 306 can consider the collision probability. For example, if strictly following the planned strategy may result in a collision between the ADV 101 and an obstacle within the confidence region, the control module 306 can adjust the control commands (e.g., throttle, brake, steering control commands) to deviate from the planned trajectory to avoid the risk of a collision with the obstacle.

[0072] Figure 5 The confidence region 507 according to one embodiment is shown. More particularly, the confidence region 507 is generated by the host vehicle 501 that does not move or moves very slowly. Thus, the host vehicle 501 is approximately located at the center of the confidence region 507.

[0073] The confidence region 507 is also referred to as the uncertainty region of the host vehicle 501. The current position of the host vehicle 501 is a theoretical position, which means that if the hardware sensors and the associated map matching algorithm operate perfectly, the host vehicle 501 would be located at that position. However, in reality, due to the margin of error, the host vehicle 501 can be anywhere within the confidence region, although its specific position within the confidence region is uncertain.

[0074] In one embodiment, the radius of the circular confidence region 507 can be calculated using the following formula: r_u + v_u * dt, where r_u is the uncertainty radius, v_u is the speed uncertainty radius, and dt is the planning update ratio (e.g., ~0.1 seconds). Each of the uncertainty radius and the speed uncertainty radius can be determined based on sensor specifications and / or empirical evidence.

[0075] The confidence region 507 can be divided into many different smaller regions, each associated with a different probability that is a function of the distance of the region to the current position (i.e., the theoretical position) of the ADV 101. Any point within a smaller region can have the same probability.

[0076] For example, any point in area A 503 has a 5% probability, which means that vehicle 501 has a 5% probability of being located in area A 503, while ADV has an 85% probability of being located in area B 505 because area A 503 is farther from the current position of ADV 501 than area B 505.

[0077] Figure 6 Confidence region 607 according to another embodiment is shown. More particularly, confidence region 607 is calculated considering speed uncertainty.

[0078] In Figure 6 vehicle 501 moves in the direction indicated by arrow 604. The speed of vehicle 501 creates additional positioning uncertainty, which will have a negative impact on the planning and prediction functions of the vehicle.

[0079] As Figure 5 shown in

[0080] vehicle 501 is not at the center of circular confidence region 607 because of the additional uncertainty caused by the moving speed of vehicle 501.

[0081] Figure 7 is a flowchart showing a process of using position uncertainty in the planning and control functions of an ADV. The process can be executed by processing logic that can include software, hardware, or a combination thereof. For example, the process can be executed by Figure 4 the position confidence region calculator 308, positioning module 301, control module 305, and control module 306 described in

[0082] In operation 701, the processing logic determines the confidence region during a specific planning period based on a set of parameters derived from a large amount of empirical data associated with sensor specifications and / or map matching algorithms. The set of parameters represents the error range of the ADV's positioning module.

[0083] For example, the set of parameters can include uncertainty radius, speed uncertainty radius, and uncertainty ratio. These parameters, combined with the ADV's current speed and planning update ratio (i.e., the duration of the planning period), can be used to determine the size of the confidence region, which can be a circular region.

[0084] In operation 703, the processing logic detects an obstacle, which can be a moving vehicle, a walking pedestrian, or a stationary object.

[0085] In operation 705, the processing logic determines whether the obstacle is within the confidence region of the ADV. If it is outside the confidence region, the processing logic determines in operation 707 that the probability of the ADV colliding with the obstacle at a specific moment (i.e., during the planning cycle) is 0.

[0086] In operation 709, if the obstacle is within the confidence region, the processing logic calculates the probability based on the distance between the obstacle and the current position of the ADV. The current position can be the position where the ADV would be if the positioning module were operating perfectly.

[0087] In operation 711, the processing logic generates a planned trajectory with the collision probability as a factor, such that the ADV can avoid colliding with the obstacle or reduce the probability of colliding with the obstacle.

[0088] In operation 713, the processing logic issues a control command based on the probability. If there is a probability of colliding with the obstacle if the planned trajectory is strictly followed, the processing logic can adjust the control command to deviate from the planned trajectory to reduce the collision probability.

[0089] Figure 8 is a flowchart showing a process of operating an autonomous driving vehicle (ADV) according to an embodiment. For example, the process can be performed by Figure 4 the position confidence region calculator 308, the positioning module 301, and the control modules 305 and 306 described in

[0090] As Figure 8 shown in, in operation 801, the processing logic determines the confidence region of the ADV driving autonomously on a road section based on the positioning uncertainty and the speed uncertainty. In operation 803, the processing logic determines that an object is within the confidence region and determines the probability of collision with the ADV based on the distance between the object and the ADV. In operation 805, the processing logic plans a trajectory based on the collision probability and controls the ADV based on the collision probability.

[0091] Note that some or all of the components as shown and described above can be implemented in software, hardware, or a combination thereof. For example, these components can be implemented as software installed and stored in a permanent storage device, and the software can be loaded and executed in a memory by a processor (not shown) to perform the processes or operations described throughout this application. Alternatively, these components can be implemented as executable code programmed or embedded in dedicated hardware, such as an integrated circuit (e.g., a dedicated IC or ASIC), a digital signal processor (DSP), or a field programmable gate array (FPGA), and the executable code can be accessed via corresponding drivers from an application and / or an operating system. Additionally, these components can be implemented as specific hardware logic in a processor or a processor core, as part of an instruction set accessible by software components via one or more specific instructions.

[0092] Some portions of the foregoing detailed description have been presented in terms of algorithms and symbolic representations of operations on data bits within a computer memory. These algorithmic descriptions and representations are the means used by those skilled in the data processing arts to most effectively convey the substance of their work to others skilled in the art. An algorithm is here, and generally, conceived to be a self-consistent sequence of operations leading to a desired result. These operations are those requiring physical manipulation of physical quantities.

[0093] However, it should be borne in mind that all such and similar terms are to be associated with appropriate physical quantities and are merely convenient labels applied to these quantities. Unless specifically stated otherwise, it is apparent from the above discussion that throughout the specification, discussions using terms such as those set forth in the appended claims refer to the actions and processes of a computer system or similar electronic computing device that manipulates and transforms data represented as physical (electronic) quantities within the registers and memories of the computer system into other data similarly represented as physical quantities within the memories or registers of the computer system or other such information storage, transmission, or display devices.

[0094] Embodiments of the present disclosure also relate to apparatuses for performing the operations herein. Such a computer program is stored in a non-transitory computer-readable medium. A machine-readable medium includes any mechanism for storing information in a form readable by a machine (e.g., a computer). For example, a machine-readable (e.g., computer-readable) medium includes a machine (e.g., computer) readable storage medium (e.g., read only memory (“ROM”), random access memory (“RAM”), magnetic disk storage media, optical storage media, flash devices).

[0095] The processes or methods described in the foregoing figures may be performed by processing logic comprising hardware (e.g., circuits, dedicated logic, etc.), software (e.g., embodied on a non-transitory computer-readable medium), or a combination of both. Although the processes or methods have been described above in accordance with some sequential operations, it should be understood that some of the operations described may be performed in a different order. In addition, some operations may be performed in parallel rather than sequentially.

[0096] Embodiments of the present disclosure are not described with reference to any particular programming language. It will be appreciated that the teachings of the embodiments of the present disclosure as described herein may be implemented using a variety of programming languages.

[0097] In the foregoing specification, embodiments of the present disclosure have been described with reference to specific exemplary embodiments of the present disclosure. Obviously, various modifications can be made thereto without departing from the broader spirit and scope of the present disclosure as set forth in the appended claims. Accordingly, the specification and drawings are to be regarded as illustrative rather than restrictive.

Claims

1. A method of operating an autonomous driving vehicle (ADV), the method comprises: determining a confidence region of the ADV driving autonomously on a road segment based on positioning uncertainty and speed uncertainty, the confidence region being a circle, the theoretical position of the ADV being located at the center of the circle, wherein the radius of the confidence region is the sum of a first element and a second element, wherein the first element is the positioning uncertainty radius, the second element is the product of the speed uncertainty radius and a planning update ratio, the planning update ratio being the time interval for generating a planned trajectory, and each point in the confidence region has an uncertainty probability of measuring the possibility of the ADV at the point, the uncertainty probability being determined based on the distance of the point to the theoretical position of the ADV; determining that an object is within the confidence region, and determining a collision probability between the object and the ADV based on the uncertainty probability of the position occupied by the object within the confidence region; planning a trajectory based on the collision probability; and controlling the ADV according to the trajectory to avoid a collision.

2. The method according to claim 1, wherein, each of the positioning uncertainty radius and the speed uncertainty radius is determined based on the specifications of one or more sensors mounted on the ADV for positioning.

3. The method according to claim 1, wherein, planning a trajectory based on the probability further comprises generating a planned trajectory to avoid a collision between the ADV and the object.

4. The method according to claim 1, wherein, controlling the ADV based on the probability further comprises adjusting one or more control commands to avoid a collision between the ADV and the object, or reducing the collision probability between the ADV and the object.

5. A non-transitory machine-readable medium storing instructions that, when executed by a processor, cause the processor to perform the method of operating an autonomous driving vehicle (ADV) according to any one of claims 1-4.

6. A data processing system, comprises: a processor; and a memory coupled to the processor and storing instructions that, when executed by the processor, cause the processor to perform the method of operating an autonomous driving vehicle (ADV) according to any one of claims 1-4.

7. A computer program product comprising a computer program that, when executed by a processor, causes the processor to perform the method of operating an autonomous driving vehicle (ADV) according to any one of claims 1-4.

Citation Information

Patent Citations

  • Collision monitoring using system data

    US20210139024A1