Side safety area

By defining safety areas based on a vehicle's trajectory, the system filters sensor data to improve collision detection and resource allocation, addressing delays in existing systems and enabling proactive safety measures.

JP7840330B2Active Publication Date: 2026-04-03ZOOX INC
View PDF 7 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2021-12-14
Publication Date
2026-04-03

AI Technical Summary

Technical Problem

Existing vehicle systems struggle to timely detect potential collisions due to delays in processing sensor data, especially during vehicle turns, leading to inadequate deployment of safety measures.

Method used

Determine multiple safety areas based on a vehicle's trajectory, including a first safety area with a fixed width and a second safety area adjacent to the vehicle, to filter sensor data and reduce processing load, allowing for more accurate collision detection and resource allocation.

Benefits of technology

Enhances collision detection accuracy and reduces data processing requirements, enabling vehicles to take proactive safety actions such as deceleration or acceleration to avoid collisions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007840330000001
    Figure 0007840330000001
  • Figure 0007840330000002
    Figure 0007840330000002
  • Figure 0007840330000003
    Figure 0007840330000003
Patent Text Reader

Abstract

Techniques for determining a safe area for a vehicle are discussed. In some cases, a first safe area can be based on the vehicle traveling through an environment, and a second safe area can be based on steering control or speed of the vehicle. The width of the safe area can be updated based on a position of a bounding box associated with the vehicle. The position of the bounding box can be based on the vehicle traveling along a trajectory. Sensor data can be filtered based on the sensor data within the safe area.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0006] , , [Figure 1]

[0001] This disclosure relates to a technique for determining a safety area of a vehicle.

Background Art

[0002] Cross - reference to Related Applications This patent application claims priority to U.S. Utility Patent Application No. 17 / 124,220, filed on December 16, 2020, and U.S. Utility Patent Application No. 17 / 124,237, filed on December 16, 2020. The contents of Application Nos. 17 / 124,220 and 17 / 124,237 are hereby incorporated by reference in their entirety into this specification.

[0003] A vehicle can capture sensor data to detect objects in the environment. Sensor data can generally be used for object detection, but due to system limitations related to the processing of sensor data, objects may not be detected in rare situations. For example, before or during the capture of sensor data, the turning of the vehicle associated with the approach of an object to a position related to the vehicle's trajectory may not be processed in a timely manner. Due to delays in the processing of sensor data, it may not be possible to detect the possibility of a collision and deploy timely safety measures.

Prior Art Documents

Patent Documents

[0004]

Patent Document 1

Brief Description of the Drawings

[0005] The detailed description is described with reference to the accompanying drawings. In the drawings, the left - most digit of the reference number identifies the drawing in which the reference number first appears. Using the same reference number in different drawings indicates similar or identical components or features.

[0006] [Figure 1]This illustrated flowchart illustrates an exemplary process for determining a safety area based on a vehicle trajectory, including a turn, according to the examples of the present disclosure. [Figure 2] This figure shows an environment including a portion of a safety area, having a width determined based on the orientation of a vehicle-related boundary box, as illustrated in the example of this disclosure. [Figure 3] This illustrated flowchart illustrates an exemplary process for determining a safety area segment based on a vehicle-related boundary box, as described in the examples of the present disclosure. [Figure 4] This is a block diagram illustrating an exemplary system for performing the techniques described herein. [Figure 5] This figure illustrates, in an example of the present disclosure, an environment including a boundary determined based on the vehicle's trajectory, and a safety area determined based on lines associated with the boundary. [Figure 6] This figure shows an environment including a safety area determined based on the trajectory of a vehicle, including a left turn, as illustrated in the example of this disclosure. [Figure 7] This illustrated flowchart illustrates an exemplary process for determining a safety area based on a stationary vehicle, as described in the examples of the present disclosure. [Figure 8] This flowchart shows an exemplary process for determining a safety area based on a vehicle trajectory, including a turn, according to the examples of the present disclosure. [Figure 9] This flowchart illustrates an exemplary process for determining the width of a portion of a safety area based on the orientation of a boundary box as relating to a vehicle, as illustrated by the present disclosure. [Modes for carrying out the invention]

[0007] This specification describes techniques for determining a safety area for a vehicle. For example, such techniques may include determining one or more safety areas based on the vehicle's trajectory. In some cases, the safety area can be determined based on one or more of the trajectory's direction (e.g., left or right turn), location, operation performed, or trajectory's speed. In some examples, the safety area may include a first safety area generated as a fixed width surrounding the trajectory, and a second safety area, the second safety area being based on location (e.g., a location perpendicular to an intersection when passing through an intersection) or on turns, operations, or speeds associated with the vehicle. In some cases, the safety area can be expanded or updated based on projecting the vehicle's movement along its trajectory and determining whether points related to the bounding box are outside the safety area. Sensor data can be filtered to reduce processing load while evaluating sensor data about the likelihood of collision with objects in the environment in a more accurate and reliable way. Such safety areas may be used by safety systems associated with the vehicle. In such cases, available sensor (or other) data relating to areas outside the safety area may be filtered to provide more resources available for processing data relating to the safety area.

[0008] As described above, the first safety area can be determined based on the width associated with the received trajectory, while the second safety area can be determined based on the characteristics of the trajectory. For example, the second safety area can be determined to be an area close to and / or adjacent to the vehicle (e.g., the longitudinal end or side of the vehicle). In some cases, the second safety area can be determined to be in front of the vehicle and perpendicular to the first safety area. In some cases, the second safety area can be determined to be parallel to the first safety area and adjacent to the vehicle. The vehicle can receive and filter sensor data related to the environment in which it is traveling. The sensor data can be filtered to determine the sensor data related to the first safety area and / or the second safety area. Sensor data associated with the filtered safety area can be used to determine objects associated with the first safety area and to determine any potential safety issues (e.g., collision or other) that may trigger any safety action (e.g., operation update, activation of emergency stop, etc.).

[0009] The width of each portion of the safety area can be determined based on information related to the vehicle and / or the environment. This information can be used to determine the vehicle-related bounding box. In some examples, the width of a portion of a safety area (e.g., a first safety area) can be determined based on the bounding box (e.g., the vehicle-related bounding box). Furthermore, the received trajectory can be discretized. One or more segments related to a safety area (e.g., a first safety area or a second safety area) can be determined based on the discretized trajectory. In some examples, the segments of a safety area can be determined based on the discretized segments related to the trajectory. The width of each segment can be determined based on a first width (e.g., a fixed width) or a second width based on points related to the bounding box and the segment edges. The extent of any portion of a safety area may be determined based on at least some of the following: speed limits, sensor range, objects previously observed in that area, etc., in order to limit the amount of processing performed in the safety system.

[0010] The techniques described herein can improve the capabilities of computers in various additional ways. In some cases, determining a safety area can be used to reduce the amount of data processing required to avoid potential collisions in the environment. A second safety area can be determined based on a first safety area and the trajectory associated with the vehicle, allowing for more efficient and accurate object identification. By using the second safety area for filtering sensor data, resources can be saved and / or reallocated to different tasks. By analyzing the width of a portion of the safety area instead of the entire safety area, the likelihood of a collision can be determined, and the amount of data required for analysis can be reduced. By determining the likelihood of a collision at an earlier time and simplifying the amount and / or complexity of processing required to determine the corrected acceleration profile, resources used for vehicle control can be saved.

[0011] The techniques described herein can be implemented in a variety of ways. An example of implementation is provided below with reference to the subsequent drawings. The methods, apparatus, and systems described herein are applicable to vehicles such as autonomous vehicles, but are not limited to autonomous vehicles, and are applicable to a variety of systems. In another example, the techniques can be used in an aeronautical or maritime context, or in any system configured to take data as input to determine the movement of an object in its environment. Additionally, the techniques described herein can be used in conjunction with real data (e.g., acquired using sensors), simulated data (e.g., generated by a simulator), or a third type of data in addition to these two.

[0012] Figure 1 is an illustrated flowchart 100 illustrating an exemplary process for determining a safety area based on a vehicle trajectory, including a turn, according to an example of the present disclosure.

[0013] Operation 102 may include determining a safety area (e.g., a first safety area) based on a trajectory. The first safety area may be determined based on the trajectory of a vehicle traveling through the environment. In some examples, the first safety area may be determined based on at least some of the vehicle's width and / or length, the vehicle's current speed and / or speed related to the trajectory, etc. In some examples, the maximum width of the first safety area may be the vehicle's width and / or the width of the lane in which the vehicle is currently located. In some examples, the width of each portion of the first safety area may be the same. In other examples, the width of one or more portions of the first safety area may be extended based on the vehicle's representation at a position along the first safety area at a future time. In some examples, the first safety area may be determined based on a fixed distance perpendicular to the trajectory. The center point of each cross-section of the first safety area may be at the same position as a point on the trajectory. The trajectory may be determined in relation to a vehicle turn (e.g., a right turn). The first safety area can be determined to be related to a right turn, based on the fact that the track is related to a right turn.

[0014] Example 104 illustrates an environment including a first safety area (e.g., safety area 106) based on a track 108. The safety area 106 can be determined based on the track associated with a vehicle 110 traveling through the environment. In some examples, the safety area 106 can be determined based on the width and / or length of the vehicle 110, the current speed of the vehicle 110 and / or the track 108, etc. The width of each portion of the safety area 106 can be the same. The center point of each cross-section of the safety area 106 can be at the same position as a point on the track 108. The track 108 can be determined in relation to a turn (e.g., a right turn) of the vehicle 110. The safety area 106 can be determined to be associated with a right turn based on the track 108 being associated with a right turn. In some examples, the width of the safety area 106 can be the same as the width of the vehicle 110. In some examples, the width of the safety area 106 can be greater or less than the width of the vehicle 110 by a threshold distance.

[0015] Operation 112 may include determining a safety area (e.g., a second safety area) based on a trajectory. The second safety area may be determined based on a trajectory associated with a turn (e.g., a right turn). In some examples, the second safety area may be determined based on at least a portion of the safety area associated with the vehicle being turned. In some examples, the second safety area may be determined based on the turn in the environment (e.g., a turn angle associated with the turn) matching or exceeding a threshold angle. The second safety area may be determined based on information related to the environment and / or the vehicle. In some examples, the second safety area may be determined based on the distance between the vehicle and an intersection (e.g., a line relating to, parallel to, and overlapping with the boundary of the nearest pedestrian crossing to the vehicle) being below a threshold distance, and / or based on the vehicle's speed being below a threshold speed. In some examples, the maximum width of the second safety area may be the width of the intersecting lane perpendicular to the lane in which the vehicle is currently located. Further examples of the second safety area are described through this disclosure.

[0016] In some cases, the orientation of the second safety area can be based on the orientation of the first safety area. For example, the orientation of the second safety area can be determined based on a line tangent to a portion of the first safety area. The second safety area can be substantially orthogonal to the first safety area. In some cases, the second safety area can be adjacent to (e.g., in contact with) the vehicle. For example, the location of a portion of the boundary of the second safety area on the side of the vehicle can be related to the location of a portion of the vehicle's longitudinal end (e.g., the longitudinal end closest to the position where the vehicle's movement is controlled). In some cases, a portion of the vehicle's longitudinal end can be a component of the vehicle (e.g., a bumper). A portion of the boundary (e.g., the boundary on the near side (e.g., the boundary on the side of the second safety area closest to a portion of the longitudinal end)) can be the point of the boundary closest to the vehicle. A portion of the vehicle's longitudinal end can be the point closest to the boundary of the longitudinal end.

[0017] In some cases, the second safety area can be located away from the longitudinal end of the vehicle (e.g., not adjacent to it). For example, the distance between the second safety area and the longitudinal end can be determined to be greater than or equal to a threshold distance (e.g., 1 meter, 10 meters, 30 meters, 100 meters, etc.). In some cases, the nearest boundary of the second safety area can be determined to be in front of the longitudinal end of the vehicle. In some cases, the nearest boundary of the second safety area can be determined to be inside the vehicle.

[0018] In some examples, the second safety area is fixed relative to the vehicle so that its position is updated as the vehicle travels through the environment. In some examples, the distance between the second safety area and the vehicle is variable (for example, the distance can decrease as the distance between the vehicle and the intersection falls below a threshold distance, or as the vehicle's speed falls below a threshold speed).

[0019] In some examples, since the first safety area can be determined based on a trajectory, the first safety area can be considered a drivable area. However, in some examples, the second safety area may similarly include a drivable area, but may also include non-drivable areas such as sidewalks, buildings, etc.

[0020] Example 114 shows a second safety area (e.g., safety area 116) based on a trajectory. The safety area 116 can be determined based on a trajectory associated with a turn (e.g., a right turn). In some examples, the safety area 116 can be determined based on whether a turn in the environment (e.g., a turn angle associated with the turn) meets or exceeds a threshold turn angle. In some examples, the maximum width of the safety area 116 can be the width of an intersecting lane orthogonal to the lane in which the vehicle is currently located.

[0021] In various examples described herein, the second safety area may be limited based on at least a portion of the map data available to the vehicle. In such examples, the width, length, or other extents may be bounded based on geometric data associated with the map and / or parameters associated therewith (e.g., speed limits, crosswalks, etc.).

[0022] Operation 118 may include determining that an object is related to a second safety area. In some cases, the object may be determined based on sensor data received from one or more sensors of the vehicle. For example, the sensor data may include data from multiple types of sensors on the vehicle, such as light detection and ranging (LIDAR) sensors, radar sensors, image sensors, and depth sensors (time of flight, structured light, etc.). The sensor data used to determine the object in the environment may be filtered as filtered sensor data (e.g., a subset of sensor data). The subset of sensor data may include data related to a first safety area and / or a second safety area. Based on the subset of sensor data, the object may be determined in relation to the first safety area and / or a second safety area. The likelihood that the object crosses the trajectory (e.g., likelihood of crossing) may be determined based on the subset of sensor data.

[0023] In some examples, the width of the safety area 116 can be the same as the width of the vehicle 110. In some examples, the width of the safety area 116 can be greater or less than the width of the vehicle by a threshold distance. The width can be automatically set based on the width of the vehicle 110 and / or dynamically adjusted based on the size of the road overlapping and / or associated with the safety area 116. As illustrated in relation to Figure 2, the width of the safety area can be widened based on the simulation or predicted movement of the vehicle along the track, and otherwise updated.

[0024] Example 120 shows an object 122 associated with a second safety area (e.g., safety area 116). In some cases, object 122 can be determined based on sensor data received from one or more sensors of the vehicle. The sensor data used to determine object 122 can be filtered as filtered sensor data. The filtered sensor data may include data associated with safety area 116. Object 122 can be determined as associated with safety area 116 based on the filtered sensor data.

[0025] In some cases, sensor data associated with safety area 106 (e.g., LIDAR data points) can be merged with sensor data associated with safety area 116 (e.g., LIDAR data points). For example, sensor data associated with safety area 106 and safety area 116 respectively (e.g., overlapping sensor data) can be processed once and used for safety area 106 and safety area 116 respectively. Instead of processing the overlapping sensor data twice, half of the processing can be omitted by processing it once for both safety area 106 and safety area 116. Processing and / or analyzing the overlapping sensor data only once for both safety area 106 and safety area 116 can save and / or optimize computational resources.

[0026] Action 124 can include controlling a vehicle based on an object. For example, a vehicle can be controlled based on the likelihood that an object will cross its path. In some examples, a vehicle can be controlled to decelerate (e.g., slow down) and / or stop. A vehicle can be controlled to reduce the likelihood of crossing by modifying one or more acceleration or steering commands. A vehicle can be controlled to stop at a position related to a distance exceeding a threshold distance between the vehicle and an object. For example, the vehicle's speed can be controlled to decrease (e.g., to 10 miles per hour (mph), 5 mph, 0 mph, etc.). By controlling the vehicle to slow down based on a distance at which the distance between the vehicle and an object is determined to be greater than a threshold distance, it is possible to avoid a potential collision between the vehicle and the object as the object moves within the environment (e.g., within a second safe area).

[0027] In some cases, a vehicle can be controlled to accelerate (e.g., speed up) based on an object. For example, the vehicle's speed can be controlled to increase (e.g., increase to 10 miles per hour (mph), 15 mph, 20 mph, etc.). By controlling the vehicle's speed to increase, it is possible to avoid a potential collision between the vehicle and an object. By controlling the vehicle to slow down based on the determination that the distance between the vehicle and an object exceeds a threshold distance, it is possible to avoid a potential collision between the vehicle and an object when the object is turning and moving within the environment (e.g., within a second safe area). A vehicle can be controlled based on the option of accelerating or decelerating, based on the predictive likelihood of the collision associated with each option. The option that determines the control of the vehicle can be determined based on the predictive likelihood associated with the option being smaller than the predictive likelihood associated with the other options.

[0028] Example 126 shows that vehicle 110 is controlled based on object 122. In some examples, vehicle 110 can be controlled to decelerate, stop, and / or accelerate. Vehicle 110 can be controlled to stop at position 128. In some examples, vehicle 110 can be controlled to return along track 108 based on the determination that object 122 is present in safety area 116. By analyzing sensor data related to safety area 116, vehicle 110 can react to object 122 based on changes in object 122's movement. Before entering safety area 116, vehicle 110 can ignore the detection of object 122 based on objects present in safety area 116.

[0029] Therefore, as described herein, it is possible to determine multiple safety areas based on the trajectory associated with the vehicle. The safety areas can be used to more accurately determine the movement of objects in the environment in which the vehicle is traveling. One of the safety areas (e.g., a lateral safety area) can be orthogonal to other safety areas that are parallel to or collinear with the trajectory. The lateral safety area can be used for filtering sensor data. Filtering sensor data makes it possible to quickly and accurately determine objects. Objects can be determined when the vehicle approaches an intersection. The vehicle can be controlled to stop to avoid the possibility of collision with an obstacle. For example, the vehicle can be controlled to slow down, slow down to stop, accelerate, and / or take another action (e.g., turn) to reduce the likelihood of collision with an object.

[0030] Figure 2 shows an example of the present disclosure, which includes a portion of the environment 200, including a safety area having a width determined based on the orientation of a vehicle-related boundary box.

[0031] In some examples, the position of the bounding box 202 related to the vehicle 204 can be determined based on the vehicle 204's track 206. The position of the bounding box can be determined based on a simulation of the vehicle 204 traveling along the track 206. The simulation can include the bounding box 202 propagating along each portion of the track 206. The longitudinal orientation of the bounding box 202 can coincide with (e.g., touch) the track 206 as the bounding box 202 propagates. The bounding box 202 can include and / or be associated with information such as the vehicle's location, orientation, attitude, and / or size (e.g., length, width, height, etc.). The bounding box 202 can include one or more bounding box points (e.g., bounding box point 208), each of which is associated with a corner of the vehicle 204. The information can include the position associated with each point of the bounding box 202 for each position of the bounding box 202 as it progresses along the track.

[0032] In some examples, the trajectory 206 can be discretized into segments, and multiple segments of the safety area 212 (e.g., segment 210) are associated with segments of the trajectory 206. The position of the bounding box 202 along the trajectory 206 can be one of the segments of the discretized trajectory. The number of segments included in multiple segments of the safety area 212 is not limited and can be arbitrary. In some examples, the shape of each segment is a polygon (e.g., a rectangle).

[0033] In some examples, the position of the bounding box 202 representing vehicle 204 at a future time can be determined along the track 206. The position of vehicle 204 along the safety area 212 can be based on a simulation of vehicle 204 traveling along the track 206 at a future time.

[0034] In several examples, it is possible to determine the distance from the boundary box point to each position of the boundary box as it moves along the trajectory. For the position of the boundary box 202, it is possible to determine the distance from each boundary box point to the trajectory 206, and the distance from the trajectory to the boundary of the safety area 212 (e.g., boundary 214 or boundary 216). For example, for the position of the boundary box 202, it is possible to determine the distance between a first point (e.g., boundary box point (e.g., boundary box point 208)) and a second point (e.g., the nearest point on the trajectory (e.g., nearest point 220)). For each point of the boundary box 202, it is possible to determine the distance 222 between the nearest point 220 and the edge (e.g., edge 224) and / or boundary (e.g., nearest boundary (e.g., boundary 214)) of the segment (e.g., segment 210).

[0035] In some examples, it is possible to determine the difference between distance 218 and distance 222. Distance 218 can be determined to coincide with or exceed distance 222 based on the fact that the boundary box 202 has a wider turning radius at boundary box point 208 than the trajectory 206 at the nearest point 220. Subsequently, the width of segment 210 can be updated to include distance 218 based on whether distance 218 coincides with or exceeds distance 222 (for example, whether distance 222 (e.g., first distance) is less than or equal to distance 218 (e.g., second distance)). In some examples, it is possible to determine that the safety area 212 has a portion related to segment 210 that has been subsequently updated to include distance 218.

[0036] In some examples, the width of segment 210 can be updated based on distances associated with different sides of segment 210 (e.g., the right side and / or the inside of a curve). For example, it is possible to determine the distance between a bounding box point associated with a different side and the nearest point 220. It is also possible to determine the distance between the nearest point 220 and an edge associated with the different side of the segment and / or boundary 216 (e.g., edge 226). The width of segment 210 can then be updated to include the distance between the bounding box point associated with a different side and the nearest point 220, based on whether the distance between the bounding box point associated with a different side and the nearest point 220 matches or exceeds the distance between the nearest point 220 and edge 226.

[0037] The features described above with respect to Figure 2 are not limited to those described above, and can be implemented in combination with any of the features described above with respect to Figure 1. For example, any of the features described above with respect to Figure 2 can be implemented in combination with any of the features described above with respect to Figure 1. By combining the features described above with respect to both Figure 1 and Figure 2, the vehicle can be controlled with greater precision and safety. For example, the updated safety area width in Figure 2 can be used in conjunction with the second safety area in Figure 2 to control the vehicle to avoid potential collisions.

[0038] Figure 3 is an illustrated flowchart illustrating an exemplary process for determining a safety area segment based on a vehicle-related boundary box, according to an example of the present disclosure.

[0039] Operation 302 may include determining segments related to the safety area. In some examples, the trajectory related to the vehicle may be discretized into multiple segments related to the safety area. The safety area may have an outer boundary and an inner boundary. The position of the boundary box related to the vehicle may be determined based on each of the multiple segments. The position of the boundary box may be determined along the trajectory. The safety area may contain any number of segments. The number of segments may be greater than a threshold so that the safety area determined based on multiple segments can be treated as contiguous. In some examples, the maximum width of the safety area may be the width of the vehicle and / or the width of the lane in which the vehicle is currently located.

[0040] Example 304 shows a track 306 related to a vehicle 308. The track 306 can be discretized. Multiple segments (e.g., segment 310) related to a safety area (e.g., safety area 312) can be associated with segments of the discretized track 306. For example, each segment can be associated with a portion of a first safety area. The safety area 312 can have a boundary 314 on the outside of the turn and a boundary 316 on the inside of the turn. The position of the boundary box related to the vehicle 308 can be determined based on each segment of the discretized track 306. The position of the boundary box can be determined along the track 306.

[0041] In some examples, the width of each segment (e.g., segment 310) can be determined based on a distance to a first side of the segment (e.g., distance 318) and a distance to a second side of the segment (e.g., distance 324). Distance 318 can be the distance between an edge of the segment (e.g., edge 320) and the nearest point on the track 306 (e.g., point 322). For example, distance 318 can be the length of a virtual line extending orthogonally from point 322 and ending at boundary 316. Distance 324 can be the distance between another edge of the segment (e.g., edge 326) and a point on the track 306. For example, distance 324 can be a virtual line extending orthogonally from point 322 and ending at edge 326. A point on the track 306 associated with a segment can have a position at the center of the segment.

[0042] The width of each segment associated with an individual part of the safety area can be the sum of the distance on the first side and the distance on the second side. For example, the width of segment 310 can be the sum of the distances 318 and 324. In some cases, the width of each segment can be the same. However, the width is not limited to the same width and is variable based on various parameters. For example, the width of any of the segments associated with an individual part of the safety area can be determined, without limitation, based on various information including the vehicle speed, the type of terrain the vehicle is traveling on, the type of weather, the dimensions of the road and / or lane, the vehicle's characteristics (e.g., type, and / or the age of the tires or brakes), the speed limit of the road or intersection the vehicle is traveling on, etc. The information used to determine the width can be real-time or historical data related to similar vehicles in similar environments. The track 306 can be discretized into a number of segments, any number (e.g., 1, or a number of the order of 10, 100, 1000, etc.) associated with the safety area 312, including a number close to infinity. The combination of multiple segments of the safety area 312 can be associated with multiple segments of the discretized orbit 306, and can be approximated as a continuous area.

[0043] Operation 328 may include determining the width of a segment associated with an extended safety area (e.g., a modified safety area). In some examples, the segment width may be determined based on a distance associated with a segment on a first side and another distance associated with a second segment. Each of the distances associated with the first and second sides may be determined to be a larger distance between the first and second distances. The first distance may be associated with the boundary of the safety area and / or the edge of a segment associated with the safety area. For example, the first distance may be the distance between the nearest point on the track and the edge of a segment in the safety area, and / or the distance between the nearest point on the track and part of the boundary of the safety area. The second distance may be associated with a point in a simulated bounding box. For example, the second distance may be the distance between a point in the bounding box and the nearest point. In some examples, the maximum width of the extended safety area may be the width of the lane in which the vehicle is currently located.

[0044] Example 330 shows the width of a segment (e.g., segment 310) associated with an extended safety area (e.g., safety area 332). In some examples, the width of segment 310 can be determined based on a distance associated with a first side of segment 310 (e.g., distance 334) and another distance associated with a second side of segment 310 (e.g., distance 336). The width of each segment associated with an individual part of the safety area can be the sum of the distance on the first side (e.g., distance 334) and the distance on the second side (e.g., distance 336).

[0045] In some examples, the position associated with vehicle 308 can be determined along the safety area 332 at a future time. The maximum distance from the track 306 at a future time and position of a point associated with the representation of vehicle 308 can be determined. The vehicle representation can include a bounding box. The width of a portion of the safety area 332 (for example, the safety area 332 associated with segment 310) can be determined as the maximum distance at that position and can be used to control vehicle 308. For example, the maximum width can include a combination of distances 334 and 336. The width of a portion of the safety area 332 can be determined as a combination of distances 334 and 336.

[0046] In some examples, each of the distances associated with the first side and the second side can be determined to be a greater distance between the first and second distances. The first distance used to determine distance 334 can be associated with the current boundary of the current safety area (e.g., boundary 314) and / or the current edge of a segment associated with a portion of the safety area. For example, the first distance used to determine distance 334 can be the distance between the nearest point (e.g., point 322) and the current edge of segment 310 (e.g., 320), and / or the distance between the nearest point (e.g., point 322) and a portion of the current boundary (e.g., boundary 314) in the current safety area 312. The second distance can be associated with a point in the simulated bounding box. In some examples, the second distance used to determine distance 334 can be the distance between a point in the bounding box and the nearest point in the trajectory (e.g., point 322). The distance (e.g., distance 334) associated with the first side of a segment (e.g., 310) can be determined to a second distance based on a second distance greater than or equal to the first distance. The width of segment 310 can be determined based on the distance (e.g., distance 334) associated with the first side, which has been determined to be the second distance. Additionally or alternatively, the width of a portion of the safety area 332 can be determined based on the distance (e.g., distance 334) associated with the first side, which has been determined to be the second distance.

[0047] In some examples, the first distance used to determine distance 336 can be associated with the current boundary (e.g., boundary 316) of a safety area (e.g., safety area 312) and / or the current edge (e.g., edge 326) of a segment relating to a portion of the safety area. For example, the first distance used to determine distance 336 can be the distance between the nearest point (e.g., point 322) and the current edge (e.g., edge 326) of segment 310, and / or the distance between the nearest point (e.g., point 322) and the current boundary (e.g., boundary 316) of a portion of the current safety area 312. The second distance used to determine distance 336 can be the distance between a point in the bounding box and the nearest point in the trajectory (e.g., point 322). The distance (e.g., distance 336) relating to the first side of the segment (e.g., segment 310) can be determined to a second distance based on a second distance that is greater than the first distance. The width of segment 310 can be determined based on a distance (e.g., distance 336) associated with the second side, which is set as the second distance. Additionally or alternatively, the width of a portion of the safety area 332 can be determined based on a distance (e.g., distance 336) associated with the first side, which is determined as the second distance.

[0048] In some cases, edge 338 may extend beyond boundary 314 on the outside of the swing. Edge 340 may extend beyond boundary 316 on the inside of the swing. The safety area 312 may have a variable width.

[0049] A subset of sensor data can be determined based on safety area 312 and / or safety area 332. It is possible to detect objects represented in the subset of sensor data. It is possible to determine the likelihood that an object will cross the trajectory 306 (e.g., likelihood of crossing). The vehicle 308 can be controlled based on the likelihood. The features described above with respect to Figure 3 are not limited to those described above and can be implemented in combination with any of the features described above with respect to Figure 1 or Figure 2. For example, the vehicle 308 can be controlled so that the likelihood of crossing is reduced by modifying one or more acceleration commands or steering commands.

[0050] Therefore, as described herein, the trajectory associated with a vehicle can be discretized into segments. Multiple segments of a safety area can be associated with segments of the discretized trajectory. Segments and / or parts of a safety area can have widths adjusted based on a simulated bounding box and the bounding box associated with the vehicle. The width can be adjusted based on the portion of the bounding box that coincides with the safety area or extends beyond the safety area. By adjusting the width, it is possible to more accurately predict and avoid the possibility of collisions between the vehicle and objects in the environment in which the vehicle is traveling. By adjusting the width of a portion of the safety area for vehicles that are longer than average, the likelihood of a collision can be reduced to a greater extent. For example, by adjusting the width of a portion of the safety area for large trucks (e.g., semi-trailer trucks), the likelihood of a collision can be reduced to a greater extent.

[0051] Figure 4 is a block diagram showing an exemplary system 400 for performing the technology described herein. In at least one example, the system 400 may include a vehicle 402. In the exemplary system 400, the vehicle 402 is an automobile, but the vehicle 402 can be any type of vehicle. The vehicle 402 can be any of the vehicles shown in Figures 1 to 3 and Figures 5 to 7.

[0052] Vehicle 402 can be an autonomous vehicle, such as an automated vehicle configured according to a Level 5 classification issued by the U.S. National Highway Traffic Safety Administration. Level 5 classification describes a vehicle capable of performing all safety-critical functions throughout its journey without expecting the driver (or occupants) to be constantly in control of the vehicle. In such an example, Vehicle 402 can be configured to control all functions from the start to the end of the journey, including all parking functions, and therefore may not include a driver and / or driving controls for Vehicle 402, such as the steering wheel, accelerator pedal, and / or brake pedal. This is merely an example, and the systems and methods described herein may be incorporated into any ground, air, or water vehicle, ranging from vehicles that always require manual control by a driver to vehicles that are partially or fully autonomously controlled.

[0053] The vehicle 402 may include one or more computers 404, one or more sensor systems 406, one or more emitters 408, one or more communication connections 410 (also referred to as communication devices and / or modems), at least one direct connection 412 (e.g., physically coupled to the vehicle 402 for data exchange and / or power supply), and one or more drive systems 414. One or more sensor systems 406 can be configured to capture data related to the environment.

[0054] The sensor system 406 may include time-of-flight sensors, position sensors (e.g., GPS, compass, etc.), inertial sensors (e.g., inertial measuring units (IMUs), accelerometers, magnetometers, gyroscopes, etc.), LiDAR sensors, radar sensors, sonar sensors, infrared sensors, cameras (e.g., RGB, IR, intensity, depth, etc.), microphone sensors, environmental sensors (e.g., temperature sensors, humidity sensors, light sensors, pressure sensors, etc.), ultrasonic transceivers, wheel encoders, etc. The sensor system 406 may include multiple examples of each of these or other types of sensors. For example, the time-of-flight sensors may include time-of-flight sensors individually located at the corners, front, rear, sides, and / or top of the vehicle 402. As another example, the camera sensors may include multiple cameras located at various positions on the outside and / or inside of the vehicle 402. The sensor system 406 may provide input to the first computer 404.

[0055] Vehicle 402 may also include emitters 408 that emit light and / or sound. In this example, emitter 408 includes an internal acoustic-visual emitter for communicating with the occupants of vehicle 402. Internal emitters may include, but are not limited to, speakers, lights, signs, display screens, touchscreens, haptic emitters (e.g., vibration and / or force feedback), mechanical actuators (e.g., seat belt tensioners, seat positioners, headrest positioners, etc.). In this example, emitter 408 may also include external emitters. In this example, but are not limited to, external emitters may include lights (e.g., indicator lights, signs, light arrays, etc.) for indicating the direction of travel or other vehicle actions, and one or more acoustic emitters (e.g., speakers, speaker arrays, horns, etc.) for audible communication with pedestrians or other nearby vehicles, one or more of which may constitute acoustic beam steering technology.

[0056] The vehicle 402 may also include a communication connection 410 that enables communication between the vehicle 402 and one or more local or remote computers (e.g., remotely operated computers) or remote services. For example, the communication connection 410 can facilitate communication between the vehicle 402 and other local computers and / or the drive system 414. The communication connection 410 may also allow the vehicle 402 to communicate with other nearby computers (e.g., other nearby vehicles, traffic signals, etc.).

[0057] The communication connection 410 may include a physical and / or logical interface for connecting the first computer 404 to another computer or one or more external networks 416 (e.g., the Internet). For example, the communication connection 410 may enable Wi-Fi®-based communication such as via frequencies defined by the IEEE 802.11 standard, short-range radio frequencies such as Bluetooth®, cellular communication (e.g., 2G, 3G, 4G, LTE, 5G, etc.), satellite communication, individual short-range communication (DSRC), or any suitable wired or wireless communication protocol that enables individual computers to interface with other computers.

[0058] In at least one example, the vehicle 402 may include a drive system 414. In some examples, the vehicle 402 may have a single drive system 414. In at least one example, if the vehicle 402 has multiple drive systems 414, the individual drive systems 414 may be located at opposing ends of the vehicle 402 (e.g., front and rear). In at least one example, the drive system 414 may include a sensor system 406 that detects the status of the drive system 414 and / or the surroundings of the vehicle 402. As an example, but not an limitation, the sensor system 406 may include one or more wheel encoders (e.g., rotary encoders) that sense the rotation of the drive system's wheels, inertial sensors (e.g., inertial measuring devices, accelerometers, gyroscopes, magnetometers, etc.) that measure the direction and acceleration of the drive system, a camera or other image sensor, an ultrasonic sensor, a LiDAR sensor, a radar sensor, etc. that acoustically detects objects around the drive system. Some sensors, such as wheel encoders, may be specific to the drive system 414. In some cases, the sensor system 406 in the drive system 414 can overlap with or supplement the corresponding system in the vehicle 402 (e.g., sensor system 406).

[0059] The drive system 414 may include many vehicle systems, including a high-voltage battery, a motor to propel the vehicle, an inverter to convert DC from the battery to AC for use by other vehicle systems, a steering system including a steering motor and steering rack (which may be electronic), a braking system including hydraulic or electronic actuators, a suspension system including hydraulic and / or pneumatic components, a stabilization control system for distributing braking force to reduce traction loss and maintain control, an HVAC system, lighting equipment (e.g., lighting equipment such as head / tail lights illuminating the exterior perimeter of the vehicle), and one or more other systems (e.g., a cooling system, safety systems, an on-board charging system, other electronic components such as a DC / DC converter, a high-voltage battery junction, high-voltage cables, a charging system, a charging port, etc.). Additionally, the drive system 414 may include a drive system controller that receives and preprocesses data from the sensor system 406 to control the operation of various vehicle systems. In some examples, the drive system controller may include one or more processors and memory communicably coupled to one or more processors. The memory can store one or more components for performing various functions of the drive system 414. Furthermore, the drive system 414 may also include one or more communication connections that enable communication by individual drive systems with one or more other local or remote computers.

[0060] Vehicle 402 may include one or more second computers 418 that provide redundancy, error checking, and / or verification of decisions and / or instructions determined by the first computer 404.

[0061] For example, the first computer 404 may be considered a primary system, while the second computer 418 may be considered a secondary system. The primary system may generally perform processes that control how the vehicle operates within the environment. The primary system may perform various artificial intelligence (AI) techniques, such as machine learning, to understand the environment surrounding the vehicle and / or to instruct the vehicle to move within the environment. For example, the primary system may perform AI techniques to localize the vehicle, detect objects around the vehicle, segment sensor data, determine object classification, predict object trajectories, and generate vehicle trajectories. In this example, the primary system processes data from multiple types of sensors in the vehicle, such as light detection and ranging (LIDAR) sensors, radar sensors, image sensors, and depth sensors (time of flight, structured light, etc.).

[0062] The secondary system may verify the operation of the primary system and may take over control of the vehicle from the primary system if there is a problem with the primary system. The secondary system may perform probabilistic techniques based on the position, velocity, acceleration, etc., of the vehicle and / or objects around the vehicle. For example, the secondary system may perform one or more probabilistic techniques to independently localize the vehicle, detect objects around the vehicle, segment sensor data, identify object classifications, predict object trajectories, or generate vehicle trajectories. In this example, the secondary system processes data from fewer sensors, such as a subset of the sensor data processed by the primary system. For example, the primary system may process LIDAR data, radar data, image data, depth data, etc., while the secondary system may process only LIDAR data and / or radar data (and / or time-of-flight data). However, in other examples, the secondary system may process sensor data from any number of sensors, such as data from each sensor or data from the same number of sensors as the primary system.

[0063] The secondary system may implement any of the techniques shown in Figures 1-3 and 5-7, as described herein. For example, the secondary system may determine one or more safety areas to be used for vehicle control. The secondary system may be a redundant backup system.

[0064] An additional example of a vehicle architecture comprising a primary and secondary system can be found, for example, in Patent Document 1, filed November 13, 2018, entitled “Perception Collision Avoidance,” which is incorporated herein by reference in its entirety.

[0065] The first computer 404 may include one or more processors 420 and a memory 422 communicatively coupled to one or more processors 420. In the illustrated example, the memory 422 of the first computer 404 stores a localization component 424, a perception component 426, a prediction component 428, a planning component 430, a map component 432, and one or more system controllers 434. Although shown to reside in memory 422 for illustrative purposes, the localization component 424, the perception component 426, the prediction component 428, the planning component 430, the map component 432, and one or more system controllers 434 can be additionally or alternatively accessed from the first computer 404 (for example, stored in different components of the vehicle 402) and / or from the vehicle 402 (for example, stored remotely).

[0066] In the memory 422 of the first computer 404, the localization component 424 may include the function of receiving data from the sensor system 406 to determine the position of the vehicle 402. For example, the localization component 424 may include and / or request / receive a 3D map of the environment and be able to continuously determine the position of the autonomous vehicle on the map. Optionally, the localization component 424 may use SLAM (simultaneous localization and mapping) or CLAMS (calibration, localization and mapping, simultaneously) to receive time-of-flight data, image data, LIDAR data, radar data, sonar data, IMU data, GPS data, wheel encoder data, or any combination thereof, and accurately determine the position of the autonomous vehicle. Optionally, the localization component 424 may provide data to various components of the vehicle 402 to determine the initial position of the autonomous vehicle for generating a trajectory, as described herein.

[0067] The perceptual component 426 may include the ability to perform object detection, segmentation, and / or classification. In some examples, the perceptual component 426 may provide processed sensor data indicating the presence of an object closest to the vehicle 402 and / or the classification of the entity as an entity type (e.g., car, pedestrian, cyclist, building, tree, road surface, curve, sidewalk, unknown, etc.). In additional or alternative examples, the perceptual component 426 may provide processed sensor data indicating one or more features related to the detected entity and / or the environment in which the entity is located. In some examples, features related to the entity may include, but are not limited to, x-position (Earth positioning), y-position (Earth positioning), z-position (Earth positioning), direction, entity type (e.g., classification), entity speed, entity range (size), etc. Features related to the environment may include, but are not limited to, the presence of other entities in the environment, the state of other entities in the environment, time of day, day of the week, season, weather conditions, darkness / light indicators, etc.

[0068] As described above, the perceptual component 426 can use a perceptual algorithm to determine a perception-based bounding box related to an object in the environment based on sensor data. For example, the perceptual component 426 can receive and classify image data to determine the object represented in the image data. Then, using a detection algorithm, the perceptual component 426 can generate a two-dimensional bounding box and / or a perception-based three-dimensional bounding box related to the object. The perceptual component 426 can further generate a three-dimensional bounding box related to the object. As described above, the three-dimensional bounding box can provide additional information related to the object, such as its position, orientation, orientation, and / or size (e.g., length, width, height, etc.).

[0069] The perceptual component 426 may include a function for storing perceptual data generated by the perceptual component 426. Optionally, the perceptual component 426 may determine trajectories corresponding to objects classified as object types. For illustrative purposes only, the perceptual component 426 may, using the sensor system 406, capture one or more images of an environment containing objects such as pedestrians. A pedestrian may be at a first position at time T and at a second position at time T+t (e.g., movement during the period from time T to time t). In other words, a pedestrian may move from the first position to the second position during this time interval. Such movement may be recorded, for example, as stored perceptual data associated with the object.

[0070] The stored perceptual data may, in some examples, include fused perceptual data acquired by vehicle 402. The fused perceptual data may include fused or other combinations of sensor data from sensor systems 406, such as image sensors, LiDAR sensors, radar sensors, time-of-flight sensors, sonar sensors, global positioning system sensors, internal sensors, and / or any combination thereof. The stored perceptual data may additionally or alternatively include classification data, which includes semantic classifications of objects represented in the sensor data (e.g., pedestrians, vehicles, buildings, road surfaces, etc.). The stored perceptual data may additionally or alternatively include trajectory data (position, direction, sensor characteristics, etc.) corresponding to the movement of objects classified as dynamic objects passing through the environment. The trajectory data may include multiple trajectories of multiple different objects over time. This trajectory data can be used to identify images of certain types of objects (e.g., pedestrians, animals, etc.) when the object is not moving (e.g., stationary) or is moving (walking, running, etc.). In this example, the computer determines that the trajectory corresponds to a pedestrian.

[0071] The prediction component 428 can generate one or more probability maps representing the predicted probability of where one or more objects may be located in the environment. For example, the prediction component 428 can generate one or more probability maps for vehicles, pedestrians, animals, etc., within a threshold distance from vehicle 402. Optionally, the prediction component 428 can measure the trajectory of an object and generate discretized predicted probability maps, temperature maps, probability distributions, discretized probability distributions, and / or object trajectories based on observed and predicted behavior. Optionally, one or more probability maps can represent the intent of one or more objects in the environment.

[0072] The planning component 430 can determine the path that a vehicle 402 will follow as it travels through the environment. For example, the planning component 430 can determine various routes and paths, and various levels of detail. In some cases, the planning component 430 can determine a route from a first location (e.g., current location) to a second location (e.g., destination). For the purposes of this explanation, the route can be a sequence of intermediate points traveling between two locations. In non-limiting examples, intermediate points can include streets, intersections, Global Positioning System (GPS) coordinates, etc. Furthermore, the planning component 430 can generate instructions for guiding the autonomous vehicle along at least part of the route from the first location to the second location. In at least one example, the planning component 430 can determine how to guide the vehicle from a first intermediate point in the sequence of intermediate points to a second intermediate point in the sequence of intermediate points. In some examples, the instructions can be a path or part of a path. In some cases, multiple paths can be generated substantially simultaneously (i.e., within technical limits) according to the setback horizon technique. Of the multiple paths in the setback horizon data, the single path with the highest confidence level may be selected for vehicle operation.

[0073] In other examples, the planning component 430 may, alternatively or additionally, use data from the perceiving component 426 and / or the predictive component 428 to determine the path that a vehicle 402 will follow as it travels through the environment. For example, the planning component 430 may receive data from the perceiving component 426 and / or the predictive component 428 regarding objects related to the environment. Using this data, the planning component 430 may determine a route that avoids objects in the environment and travels from a first location to a second location. In at least some examples, such a planning component 430 may determine that no collision-free path exists and then provide a path that avoids all collisions and / or brings the vehicle 402 to a safe stop that mitigates damage.

[0074] Memory 422 may further include one or more maps 432 that can be used for driving a vehicle within the environment. For the purposes of this description, however limited, it may be any number of data structures modeled in two, three, or N dimensions that can provide information about the environment, such as topology (like intersections), streets, mountains, roads, terrain, and the environment in general. Depending on the circumstances, the map may include, but is not limited to, texture information (e.g., color information (e.g., RGB color information, Lab color information, HSV / HSL color information), intensity information (e.g., LIDAR information, RADAR information), spatial information (e.g., image data projected onto a mesh, individual “surface elements” (e.g., polygons associated with individual colors and / or intensity)), and reflectivity information (e.g., specularity information, retroreflection information, BRDF information, BSSRDF information, etc.). In one example, the map may include a 3D mesh of the environment, as described herein. Depending on the circumstances, the map may be saved in an environment tile format such that individual tiles of the map represent discretized parts of the environment, and as needed. It can then be loaded into working memory. In at least one example, one or more maps 432 may include at least one map (e.g., an image and / or a mesh). In some examples, the vehicle 402 may be controlled based on at least a portion of the map 432. That is, the map 432 may be used in conjunction with the localization component 424, the perception component 426, the prediction component 428, and / or the planning component 430 to determine the position of the vehicle 402, identify objects in the environment, generate predicted probabilities associated with the objects and / or the vehicle 402, and / or generate paths and / or trajectories for moving through the environment.

[0075] In some examples, one or more maps 432 can be stored on a remote computer (such as computer 448) accessible via the network 416. In some examples, multiple maps 432 can be stored based on characteristics, for example, entity type, time of day, day of the week, season of the year, etc. Storing multiple maps 432 may have similar memory requirements, but it may increase the speed at which data in the maps can be accessed.

[0076] In at least one example, the first computer 404 may include one or more system controllers 434, which can be configured to control steering, drive force, brakes, safety, emitters, communications, and other systems of the vehicle. These system controllers 434 may communicate with and / or control the drive system 414 and / or corresponding systems of other components of the vehicle 402, which can be configured to operate according to routes provided by the planning component 430.

[0077] The second computer 418 may comprise one or more processors 436 and a memory 438 containing components for verifying and / or controlling the aspects of the vehicle 402, as described herein. In at least one example, one or more processors 436 may be similar to processor 420, and the memory 438 may be similar to memory 422. However, in some examples, the processors 436 and memory 438 may have different hardware from processor 420 and memory 422 for additional redundancy.

[0078] In some examples, the memory 438 may include a localization component 440, a perception / prediction component 442, a planning component 444, and one or more system controllers 446.

[0079] In some examples, the localization component 440 may receive sensor data from the sensor 406 to determine one or more positions and / or orientations (collectively, attitudes) of the autonomous vehicle 402. Here, the positions and / or orientations may relate to points and / or objects in the environment in which the autonomous vehicle 402 is located. In the examples, the orientations may include indices of the yaw, roll, and / or pitch of the autonomous vehicle 402 relative to a reference plane and / or points and / or objects. In the examples, the localization component 440 may perform less processing than the localization component 424 of the first computer 404 (e.g., high-level localization). For example, the localization component 440 may not determine the attitude of the autonomous vehicle 402 relative to a map, but may simply determine the attitude of the autonomous vehicle 402 relative to objects and / or surfaces detected around the autonomous vehicle 402 (e.g., local position, not global position). Such positions and / or orientations may be determined, for example, by using probabilistic filtering techniques such as Bayesian filters (Kalman filters, extended Kalman filters, unscented Kalman filters, etc.) that use some or all of the sensor data.

[0080] In some examples, the perception / prediction component 442 may include the ability to detect, identify, classify, and / or track objects represented in sensor data. For example, the perception / prediction component 442 may perform clustering operations and operations to estimate or determine the height associated with an object, as described herein.

[0081] In some examples, the perception / prediction component 442 may include an M-estimator, but may not include an object classifier such as a neural network or decision tree for classifying objects. In additional or alternative examples, the perception / prediction component 442 may include any type of M-model configured to eliminate ambiguity in object classification. In contrast, the perception component 426 may include a pipeline of hardware and / or software components, which may include one or more machine learning models, Bayesian filters (e.g., Kalman filters), graphics processing units (GPUs), etc. In some examples, the perception data determined by the perception / prediction component 442 (and / or 426) may include object detection (e.g., identification of sensor data related to objects in the surrounding environment of an autonomous vehicle), object classification (e.g., identification of the type of object related to a detected object), object tracking (e.g., historical, current, and / or predicted object position, velocity, acceleration, and / or direction of travel), etc.

[0082] The perception / prediction component 442 may process the input data to determine the trajectories of one or more predicted objects. For example, based on the object's current position and velocity over several seconds, the perception / prediction component 442 may predict the path the object will travel over the next few seconds. In some examples, the predicted path may involve using given position, direction, velocity, and / or linear assumptions of direction. In other examples, the predicted path may involve more complex analysis.

[0083] In some examples, the planning component 444 may include the ability to receive a trajectory from the planning component 430 and certify that the trajectory is collision-free and / or within a safety margin. In some examples, the planning component 444 may generate a safe stop trajectory (e.g., a trajectory that stops vehicle 402 at a "comfortable" deceleration (e.g., less than maximum deceleration)), and in some examples, the planning component 444 may generate an emergency stop trajectory (e.g., maximum deceleration with or without steering input).

[0084] In some examples, the system controller 446 may include functions for controlling vehicle safety-critical components (e.g., steering, brakes, motors, etc.). In this way, the second computer 418 can provide redundancy and / or additional hardware and software layers for vehicle safety.

[0085] The vehicle 402 can connect to the computer 448 via a network 416 and may include one or more processors 450 and a memory 452 communicatively coupled to one or more processors 450. In at least one example, one or more processors 450 may be similar to processor 420, and the memory 452 may be similar to memory 422. In the illustrated example, the memory 452 of the computer 448 stores a component 454, which may correspond to any of the components described herein.

[0086] Processors 420, 436, and / or 450 can be any suitable processor capable of processing data and executing instructions for performing calculations, as described herein. For example, but not limited to, processors 420, 436, and / or 450 may comprise one or more central processing units (CPUs), graphics processing units (GPUs), or any other device or part of a device that converts electrical data into electrical data that can be stored in registers and / or memory. In some examples, integrated circuits (e.g., ASICs), gate arrays (e.g., FPGAs), and other hardware devices can also be considered processors insofar as they are configured to execute encoded instructions.

[0087] Memory 422, 438, and / or 452 are examples of non-temporary computer-readable media. Memory 422, 438, and / or 452 can store operating systems and one or more software applications, instructions, programs, and / or data for performing the methods and functions of various systems described herein. In various implementations, memory 422, 438, and / or 452 can be implemented using any suitable memory technology, such as static random-access memory (SRAM), synchronous dynamic RAM (SDRAM), non-volatile / flash memory, or any other type of memory capable of storing information. The architectures, systems, and individual elements described herein may include many other logical, programmatic, and physical components, of which those shown in the accompanying figures are merely examples relevant to the description herein.

[0088] Depending on the context, some or all of the components described herein may include any model, algorithm, and / or machine learning algorithm. For example, memories 422, 438, and / or 452 may, depending on the context, be implemented as a neural network. In some examples, the components in memories 422, 438, and / or 452 may not include a machine learning algorithm (or may include a simplified or verifiable machine learning algorithm) in order to reduce complexity and to ensure that they are verifiable and / or certified from a security standpoint.

[0089] As described herein, an exemplary neural network is a biologically derived algorithm that passes input data through a series of connected layers to produce an output. Each layer of a neural network may also constitute another neural network, or any number of layers (whether convolutional or not). As understood in the context of this disclosure, a neural network may utilize machine learning, which may refer to a broad classification of these algorithms in which an output is produced based on learned parameters.

[0090] While discussed in the context of neural networks, any type of machine learning that is compatible with this disclosure can be used. For example, machine learning or machine learning algorithms may include, but are not limited to, regression algorithms (e.g., ordinary least squares regression (OLSR), linear regression, logistic regression, stepwise regression, multivariate adaptive regression spline (MARS), locally weighted scatter plot smoothing (LOESS)), instance-based algorithms (e.g., ridge regression, least absolute degenerate selection operator (LASSO), elastic networks, least angle regression (LARS)), decision tree algorithms (e.g., classification regression tree (CART), iterative binary tree 3 (ID3), chi-squared autoregression). Action detection (CHAID), decision stamp, conditional decision trees), Bayesian algorithms (e.g., Naive Bayes, Gaussian Naive Bayes, Multinomial Naive Bayes, Mean One-Dependency Classifier (AODE), Bayesian Belief Network (BNN), Bayesian Network), Clustering algorithms (e.g., k-means, k-medians, Expectation Maximization (EM), Hierarchical Clustering), Correlation Rule Learning algorithms (e.g., Perceptron, Backpropagation, Hopfield Network, Radial) Basis Function Networks (RBFNs, etc.), deep learning algorithms (Deep Boltzmann Machines (DBMs), Deep Belief Networks (DBNs), Convolutional Neural Networks (CNNs), Stacked Auto-Encoders, etc.), dimensionality reduction algorithms (e.g., Principal Component Analysis (PCA), Principal Component Regression (PCR), Partial Least Squares Regression (PLSR), Summon Mapping, Multidimensional Scaling (MDS), Projection Pursuit, Linear Discriminant Analysis (LDA), Mixture Discriminant Analysis (MDA), Quadratic Discriminant Analysis (QDA), Flexible Discriminant Analysis (FDA), etc.), ensemble algorithms (e.g.,This can include methods such as Boosting, Bootstrapped Aggregation (Bagging), AdaBoost, Stacked Generalization (Blending), Gradient Boosting Machines (GBM), Gradient Boosted Regression Trees (GBRT), Random Forest, SVM (Support Vector Machine), supervised learning, unsupervised learning, and semi-supervised learning.

[0091] Examples of additional architectures include neural networks such as ResNet50, ResNet101, VGG, DenseNet, and PointNet.

[0092] Figure 5 shows an environment 500 including a boundary determined based on the vehicle's trajectory, and a safety area determined based on lines associated with the boundary, according to an example of the present disclosure.

[0093] In some examples, the environment 500 may include a first boundary (e.g., boundary 502) and a second boundary (e.g., boundary 504) associated with a first safety area (e.g., safety area 506). The safety area 506 may be determined based on the trajectory associated with the vehicle 508. The second safety area (e.g., safety area 510) may be determined based on a line 512 associated with boundary 504. It is possible to determine the intersection 514 between boundary 502 and line 512 associated with boundary 504 associated with safety area 506. The safety area 506 may be determined based on the intersection 514. In some examples, the intersection 514 may be associated with a turn in the environment that coincides with or exceeds a threshold turn angle. The safety area 510 may be used as filtered sensor data to filter sensor data associated with the safety area 510. The safety area 510 and the filtered sensor data may be used to determine an object 516 associated with the safety area 510. The width of the safety area 510 can be determined to include one or more of the intersecting lanes and / or other areas from which one or more objects may enter the lane related to the trajectory of the vehicle 508. In some examples, the maximum width of the safety area 510 can be associated with the width of the intersecting lane perpendicular to the lane in which the vehicle 508 is currently located. However, the maximum width is not limited to such a width and can be associated with a width smaller or larger than the width of the intersecting lane.

[0094] Accordingly, as described herein, the second safety area may be determined to make it easier to determine whether an object is approaching the vehicle when the vehicle is entering or performing a turn. It is possible to determine an object based on the second safety area to avoid collisions that may occur due to a lack of environmental information. By determining the second safety area based on the vehicle's approach or preparation for a turn, it is possible to increase the size of the environment considered in determining the target. The width of the second safety area may be determined to include the intersecting lane and / or one or more of all other areas from which one or more objects may enter the lane related to the trajectory of the vehicle 508. In some examples, the maximum width of the second safety area may be associated with the width of the intersecting lane perpendicular to the lane in which the vehicle is currently located. However, the maximum width is not limited to such a width and may be associated with a width smaller or larger than the width of the intersecting lane.

[0095] Figure 6 shows an environment 600 including a safety area determined based on the trajectory of a vehicle, including a left turn, according to an example of the present disclosure.

[0096] In some examples, the environment 600 may include a first safety area (e.g., safety area 602). The safety area 602 may be determined based on a trajectory involving a turn (e.g., a left turn) related to the vehicle 604. In some examples, the safety area 602 may include a vehicle 604 It can be determined based on at least some of the following: the width and / or length, the current speed of the vehicle 604, and / or the speed related to the track. The width of each part of the safety area 602 can be the same. The safety area 602 can be determined to be associated with a left turn based on the track related to the left turn.

[0097] In some examples, a second safety area (e.g., safety area 606) can be determined based on a trajectory. Safety area 606 can be determined based on a trajectory associated with a turn (e.g., a left turn). In some examples, safety area 606 can be determined based on at least a portion of safety area 602 associated with a vehicle 604 that is being turned under turn control. In some examples, safety area 606 can be determined based on a turn in an environment that matches or exceeds a threshold turn angle (e.g., a turn angle associated with a turn). Safety area 606 can be associated with a first boundary (e.g., boundary 608) and a second boundary (e.g., boundary 610). Safety area 606 can be determined based on a line 612 associated with boundary 610. It is possible to determine the intersection 614 between boundary 608 and line 612 associated with safety area 602. Safety area 606 can be determined based on the intersection 614. In some examples, intersection 614 can be associated with turns in environments that coincide with or exceed a threshold turning angle. The safety area 606 can be used as filtered sensor data to filter sensor data associated with the safety area 606. The safety area 606 and the filtered sensor data can be used to determine objects 616 associated with the safety area 606. The width of the safety area 606 can be determined to include one or more of the adjacent lanes and / or oncoming lanes and / or other areas from which one or more objects may enter the lane related to the vehicle's trajectory. In some examples, the maximum width of the safety area 606 can be associated with the width of the oncoming lane adjacent to the lane in which the vehicle 508 is currently located. However, the maximum width is not limited to such a width and can be associated with a width smaller or larger than the width of the oncoming lane.

[0098] In some examples, safety area 606 can be adjacent to and substantially parallel to safety area 602, based on safety area 602 associated with left turns. In some examples, safety area 606 can be positioned at a distance from vehicle 604. For example, the distance between safety area 606 and vehicle 604 can be greater than or equal to a threshold distance (e.g., 10 cm, 1 meter, 3 meters, etc.). In other examples, safety area 606 can be adjacent to vehicle 604 (e.g., in contact with it). In other examples, safety area 606 can be positioned at a distance from vehicle 604 (e.g., without its boundary touching vehicle 604).

[0099] In some examples, sensor data received by vehicle 604 can be used to determine an object 616 in the nearest lane adjacent to the vehicle, based on the safety area 606 associated with (e.g., overlapping) the nearest lane. In some examples, sensor data received by vehicle 604 can be used to determine an object 616 in a lane adjacent to the nearest lane, or in a lane that is one or more lanes away from the nearest lane. In some examples, sensor data received by vehicle 604 can be used to determine an object 616 in one or more lanes, including the nearest lane, the lane adjacent to the nearest lane, and / or a lane that is one or more lanes away from the nearest lane.

[0100] Therefore, as described herein, it is possible not only to determine a first safety area, but also to determine a second safety area based on a left-turning vehicle. By making the second safety area parallel to the first safety area, it is possible to more easily determine whether an oncoming vehicle is approaching. The features described above for Figure 6 relate to a left turn of a vehicle, but are not limited to such features. The features can also be used for other types of turns, such as entering an oncoming lane to bypass a double-parked vehicle. The second safety area can also be used to determine whether an object is approaching from behind on a one-way street. The vehicle can be controlled to slow down to a slower speed, slow down to a stop, accelerate, and / or take other actions (e.g., turn) to reduce the likelihood of a collision with the object. The width of the second safety area can be determined to include one or more adjacent and / or oncoming lanes, and / or other areas from which one or more objects may enter the lane related to the vehicle's trajectory. In some examples, the maximum width of the second safety area can be associated with the width of the nearest oncoming lane to the lane in which the vehicle is currently located. However, the maximum width is not limited to such a width and can be associated with a width smaller or larger than the width of the oncoming lane. In some examples, the length of the second safety area can be a fixed distance (e.g., 10m, 50m, 150m, 200m, etc.). In some examples, the length can be based on the speed of the vehicle 604, the shape of the first safety area, etc.

[0101] Figure 7 is an illustrated flowchart illustrating an exemplary process 700 for determining a safety area based on a stationary vehicle, according to an example of the present disclosure.

[0102] Operation 702 may include a determination that the vehicle is approaching an intersection. In some examples, it may be possible to determine the environment in which the vehicle is traveling and / or information related to the vehicle. This information may be used to determine whether the vehicle is approaching an intersection. For example, the vehicle may receive and analyze sensor data to identify an approaching intersection. A first safety area may be determined based on the trajectory associated with the vehicle. A first safety area may be determined to be associated with a trajectory that does not include turns associated with the vehicle.

[0103] Example 704 illustrates an environment including a vehicle 706 approaching an intersection. In some examples, the vehicle 706 can be associated with a track 708. A first safety area (e.g., safety area 710) can be determined based on the track 708 associated with the vehicle 706 traveling through the environment. The safety area 710 can be associated with a track 708 that does not include turns associated with the vehicle.

[0104] Operation 712 may include determining a second safety area based on a stationary vehicle. In some examples, the second safety area may be determined based on the distance between the vehicle and the intersection that is below a threshold distance, and / or based on the vehicle's speed being below a threshold speed.

[0105] Example 714 shows a vehicle 706 slowing down and stopping in accordance with a stop sign. In some examples, a second safety area (e.g., safety area 716) can be determined based on the distance between vehicle 706 and the intersection and / or based on the vehicle's speed. Safety area 716 can be orthogonal to safety area 710, which is parallel to track 708, as previously mentioned.

[0106] Operation 718 may include removing a safety area based on the speed matching or exceeding a threshold. A second safety area may be removed when the vehicle's speed increases based on the vehicle being controlled to move forward through an intersection. The second safety area may be removed based on the speed matching or exceeding a threshold speed.

[0107] Example 720 shows a second safety area (e.g., safety area 716) that is removed based on a speed that matches or exceeds a threshold. The second safety area 716 can be removed when the vehicle's speed increases based on the vehicle 706 being controlled to move forward through an intersection. The vehicle 706 can be controlled based on the track 708. Safety area 716 can be removed based on the speed matching or exceeding a threshold speed. The features described above with respect to Figure 7 are not limited to those described above and can be implemented in conjunction with any of the features described with respect to Figures 1-3, Figure 5 and Figure 6.

[0108] Figure 8 is a flowchart illustrating an exemplary process 800 for determining a safety area based on a vehicle trajectory, including a turn, according to an example of the present disclosure.

[0109] In operation 802, the process may include receiving a track associated with a vehicle. The track can be associated with a vehicle moving through the environment.

[0110] In operation 804, the process may include determining a first safety area. The first safety area may be determined based on the trajectory. The first safety area may have a certain width.

[0111] In operation 806, the process may include determining a second safety area, distinct from the first safety area, based on the trajectory. The second safety area may be orthogonal to the first safety area. The direction of the second safety area may be determined based on the operation of the vehicle, the position of the vehicle, etc. The second safety area may be determined based on the trajectory associated with a turn (e.g., a right turn or a left turn).

[0112] In operation 808, the process may include determining a subset of sensor data associated with one or more first or second safety areas. Based on a subset of sensor data received from one or more sensors of the vehicle, an object may be determined. For example, the sensor data may include data from multiple types of sensors, such as a LiDAR sensor, an image sensor, a depth sensor (time of flight, structured light, etc.). The subset of sensor data may be output by one or more machine learning models, Bayesian filters (e.g., Kalman filters), and / or graphics processing units (GPUs), based on the input of the sensor data.

[0113] In operation 810, the process may include determining whether the likelihood matches or exceeds the threshold likelihood. If the answer is no, the process may return to operation 802. If the answer is yes, the process may continue to operation 812.

[0114] In operation 812, the process may include controlling the vehicle based on likelihood. In some examples, the vehicle may be controlled to decelerate (e.g., slow down) and / or stop. In some examples, the vehicle may be controlled to accelerate. The decision to control the vehicle to accelerate or decelerate may be based on the fact that the predicted collision likelihood associated with that option is smaller than that for the other options.

[0115] Figure 9 is a flowchart illustrating an exemplary process 900 for determining the width of a portion of a safety area based on the orientation of a boundary box as relating to a vehicle, according to an example of the present disclosure.

[0116] In operation 902, the process may include receiving a track associated with a vehicle. The track can be associated with a vehicle and can be discretized.

[0117] In operation 904, the process may include determining a safety area based on the trajectory. It may be possible to determine multiple segments associated with the safety area. One of the multiple segments may extend substantially orthogonally from the trajectory by a first distance.

[0118] In operation 906, the process may include determining the position of a vehicle along a safety area at a future time. The position may be associated with a bounding box representing the vehicle at that future time.

[0119] In operation 908, the process may include determining the maximum distance from the trajectory at that location to a point related to the vehicle's representation at a future time. Points in the vehicle's representation can be associated with the corners of the bounding box.

[0120] In operation 910, the process may include defining the width of a portion of the safety area as the maximum distance at that location. The width of a portion of the safety area may be set to a first distance based on whether a first distance matches or exceeds a second distance. By setting it to a first distance, the safety area may be expanded to include a first point. Otherwise, the width of a portion of the safety area may be set to a second distance based on whether the first distance does not match or exceed the second distance.

[0121] In operation 912, the process may include determining whether it has considered the portion of the safety area related to all segments of the orbit. If yes, the process may continue to operation 914. If no, the process may return to operation 906 to determine the first and second safety areas related to the portion of the safety area related to the next segment of the orbit.

[0122] In operation 914, the process may include controlling the vehicle based on a safety area. The vehicle may be controlled based on the width of a portion of the safety area, which is set as a first distance.

[0123] Exemplary section A: A system comprising one or more processors and one or more computer-readable media storing instructions executable by the one or more processors, wherein when the instructions are executed, the system performs an operation, the operation including receiving a trajectory related to a vehicle traversing an environment; determining a first safety area for the vehicle based on the trajectory; determining a second safety area for the vehicle based on the trajectory; receiving sensor data from sensors related to the environment in which the vehicle is traveling; determining a subset of sensor data related to the first and second safety areas; detecting an object represented in the subset of sensor data; determining the likelihood that the object intersects the trajectory based on at least a portion of the subset of sensor data; determining a modified acceleration profile related to the vehicle based on the likelihood; and controlling the vehicle based on the modified acceleration profile.

[0124] B: In the system of paragraph A, the track includes crossing an intersection, and determining the second safety area is based on at least a portion of the environment substantially perpendicular to the track.

[0125] C: A system according to paragraph A or B, wherein the trajectory includes a left turn, and the second safety area includes the area of ​​the environment closest to the lane in which the vehicle is currently located.

[0126] D: A system in which, in any of paragraphs A to C, the second safety area is substantially orthogonal to the first safety area.

[0127] E: In any of paragraphs A to D, determining the orientation of the second safety area is based on at least a portion of a line tangent to a point related to the first safety area.

[0128] F: A method comprising: receiving a trajectory related to a vehicle; determining a first safety area based on at least a portion of the trajectory; determining a second safety area different from the first safety area based on at least a portion of the trajectory; determining a subset of sensor data related to one or more of the first or second safety areas; determining the likelihood that the trajectory of an object represented in the subset of sensor data intersects with the trajectory of the vehicle; and controlling the vehicle based on at least a portion of the likelihood.

[0129] G: A method of controlling a vehicle according to paragraph F, comprising determining a modified acceleration profile associated with the vehicle based on at least a portion of the trajectory of the object, and controlling the vehicle based on at least a portion of the modified acceleration profile.

[0130] H: A method of controlling the vehicle, wherein the control of the vehicle further includes a control to slow down the vehicle to a stop based on whether the likelihood matches or exceeds a threshold likelihood.

[0131] I: A method in which the width of a portion of the first safety area is extended based on at least a portion of the representation of the position of the vehicle along the first safety area at a future time.

[0132] J: A method for determining the second safety area in any of paragraphs F to I, further comprising determining a first boundary relating to the first safety area, determining the intersection of the first boundary and a line relating to the second boundary relating to the first safety area based on at least a portion of the trajectory, and determining the second safety area based on the intersection.

[0133] K: A method in which, in any of the methods of paragraphs F to J, the second safety area is substantially orthogonal to the first safety area.

[0134] L: A method in which, in any of the methods described in paragraphs F to K, the first width of a first safety area is associated with the width of the lane in which the vehicle is currently located, and the second width of a second safety area is associated with the width of the oncoming lane closest to the lane in which the vehicle is currently located.

[0135] M: A method of determining the second safety area in any of the methods of paragraphs F to L, further comprising determining the trajectory related to a left turn, and determining, as the second safety area, a portion of the environment related to the oncoming lane closest to the lane in which the vehicle is currently located.

[0136] N: A method of determining the second safety area in any of the methods of paragraphs F to M, further comprising determining the second safety area based on at least a portion of the vehicle's speed below a threshold speed.

[0137] O: A method of determining the second safety area in any of the methods of paragraphs F to N, further based on at least a portion of the points related to the vehicle.

[0138] P: One or more non-temporary computer-readable media, the media storing instructions that, when executed, cause one or more processors to perform an action, the action comprising: receiving a trajectory related to a vehicle; determining a first safety area based on at least a portion of the trajectory; determining a second safety area different from the first safety area based on at least a portion of the trajectory; determining a subset of sensor data related to one or more of the first or second safety areas; determining the likelihood that the trajectory of an object represented in the subset of sensor data intersects the trajectory of the vehicle; and controlling the vehicle based on at least a portion of the likelihood.

[0139] Q: One or more non-temporary computer-readable media, in paragraph P, wherein controlling the vehicle includes determining a modified acceleration profile associated with the vehicle based on at least a portion of the trajectory of the object, and controlling the vehicle based on at least a portion of the modified acceleration profile.

[0140] R: In one or more non-transient computer-readable media, in paragraph P or Q, controlling the vehicle further includes control to slow down the vehicle to a stop based on whether the likelihood matches or exceeds a threshold likelihood.

[0141] S: One or more non-temporary computer-readable media in any of paragraphs P to R, wherein the width of a portion of the first safety area is extended based on at least a portion of a representation of the position of the vehicle along the first safety area at a future time.

[0142] T: In one or more non-temporary computer-readable media as described in any of paragraphs P to S, determining the second safety area further comprises determining a first boundary relating to the first safety area, determining the intersection of the first boundary and a line relating to the second boundary relating to the first safety area based on at least a portion of the trajectory, and determining the second safety area based on the intersection.

[0143] U: A system comprising one or more processors and one or more computer-readable media storing instructions executable by the one or more processors, the instructions, when executed, causing the system to perform an operation, the operation including receiving a trajectory related to a vehicle; determining a safety area based on at least a portion of the trajectory; determining a plurality of segments related to the safety area, wherein some of the plurality of segments extend substantially orthogonally from the trajectory by a first distance; determining the position of a bounding box along the trajectory representing the vehicle at a future time; determining a second distance between a point in the bounding box and the point closest to the trajectory; determining whether the second distance is equal to or greater than the first distance; determining a modified safety area based on the second distance exceeding the first distance; and controlling the vehicle based on the modified safety area.

[0144] V: In the system of paragraph U, the position of the bounding box is based on at least part of a simulation of the vehicle traveling along the trajectory at the future time, and the points of the bounding box are associated with the corners of the bounding box.

[0145] W: In the system of paragraph U or V, the operation further includes receiving sensor data from sensors associated with the vehicle, determining a subset of the sensor data based on at least a portion of the modified safety area, detecting an object represented in the subset of the sensor data, and determining the likelihood that the object will cross the trajectory, and controlling the vehicle further based on at least a portion of the likelihood.

[0146] X: A system in which the width of the safety area is associated with the width of the vehicle.

[0147] Y: A system in any of the systems described in paragraphs U to X, wherein the width of the modified safety area is associated with the width of the lane in which the vehicle is currently located.

[0148] Z: A method comprising: receiving a trajectory related to a vehicle; determining a safety area related to the vehicle based on at least a portion of the trajectory; determining a position related to the vehicle along the safety area at a future time; determining the maximum distance from the trajectory at the position of a point related to a representation of the vehicle at a future time; defining the width of a portion of the safety area as the maximum distance at the position; and controlling the vehicle based on at least a portion of the safety area.

[0149] AA: The method of paragraph Z further comprises determining a plurality of segments related to the trajectory, wherein the position is associated with one of the plurality of segments.

[0150] AB: A method in which the position relating to the vehicle along the safety area is based on at least part of a simulation of the vehicle traveling along the trajectory at the future time, and the point is associated with the corner of a bounding box representing the vehicle.

[0151] AC: Any method of paragraphs Z to AB further includes receiving sensor data from sensors associated with the vehicle, determining a subset of the sensor data based on a modified safety area including the portion of the safety area, detecting an object represented in the subset of the sensor data, and determining the likelihood that the object will cross the trajectory, and controlling the vehicle further based on at least a portion of the likelihood.

[0152] AD: A method in which the maximum width of the safety area is related to the width of the vehicle, in any of the methods described in paragraphs Z to AC.

[0153] AE: A method in which, in any of the methods described in paragraphs Z to AD, the maximum width of the modified safety area, which includes a portion of the safety area, is associated with the width of the lane in which the vehicle is currently located.

[0154] AF: In any of the methods of paragraphs Z to AE, the representation of the vehicle includes a bounding box.

[0155] AG: Any method of paragraphs Z to AF further includes receiving sensor data, determining a subset of the sensor data based on at least a portion of the safety area, detecting an object represented in the subset of the sensor data, determining the likelihood that the object will cross the trajectory, and controlling the vehicle further based on at least a portion of the likelihood.

[0156] AH: A method of the paragraph AG in which controlling the vehicle includes modifying one or more acceleration or steering commands to reduce the likelihood of an intersection.

[0157] AI: A method comprising any of the methods described in paragraphs Z to AH, further comprising receiving sensor data from sensors associated with the vehicle, wherein the sensor data includes LIDAR data, camera data, radar data, ultrasonic data, or depth data.

[0158] AJ: One or more non-temporary computer-readable media, the media storing instructions that, when executed, cause one or more processors to perform an action, the action comprising: receiving a trajectory related to a vehicle; determining a safety area related to the vehicle based on at least a portion of the trajectory; determining a position related to the vehicle along the safety area at a future time; determining the maximum distance from the trajectory to the position of a point related to a representation of the vehicle at a future time; defining the width of a portion of the safety area as the maximum distance at the position; and controlling the vehicle based on at least a portion of the safety area.

[0159] AK: In paragraph AJ, in one or more non-temporary computer-readable media, the operation further comprises determining a plurality of segments related to the trajectory, and the position being associated with one of the plurality of segments in one or more non-temporary computer-readable media.

[0160] AL: In paragraph AJ or AK, in one or more non-temporary computer-readable media, the position relating to the vehicle along the safety area is based on at least part of a simulation of the vehicle traveling along the trajectory at the future time, and the point is associated with the corner of the bounding box in one or more non-temporary computer-readable media.

[0161] AM: In one or more non-transient computer-readable media in any of paragraphs AJ to AL, the operation further includes receiving sensor data from sensors associated with the vehicle, determining a subset of the sensor data based on at least a portion of a modified safety area including the portion of the safety area, detecting the object represented in the subset of the sensor data, and determining the likelihood that the object will cross the trajectory, and controlling the vehicle further on at least a portion of the likelihood, in one or more non-transient computer-readable media.

[0162] AN: In one or more non-temporary computer-readable media in any of paragraphs AJ to AM, the maximum width of the safety area is associated with the width of the vehicle.

[0163] While the example sections described above illustrate one specific implementation, it should be understood that, within the context of this book, the content of the example sections can also be implemented through methods, devices, systems, computer-readable media, and / or other implementations. In addition, any of Examples A-AN can be implemented individually or in combination with one or more of the other Examples A-AN.

[0164] summary One or more examples of the techniques described herein are provided, but various modifications, additions, substitutions, and equivalents thereof are included within the scope of the techniques described herein.

[0165] The examples refer to accompanying figures that constitute part of this specification, which illustrate specific embodiments of the claimed subject matter. It should be understood that other examples may be used, and that changes or modifications, such as structural alterations, may be made. Such examples, changes or modifications do not necessarily deviate from the scope of the intended subject matter of the claims. While the procedures described herein may be presented in a specific order, in some cases the order may be changed so that certain inputs are provided at different times or in a different order, without altering the functionality of the described systems and methods. Furthermore, the disclosed procedures may also be performed in a different order. In addition, the various calculations described herein do not need to be performed in the order disclosed, and other examples using alternative orders of calculations can easily be performed. In addition to rearranging the order, calculations may also be broken down into subcalculations of the same result.

Claims

1. Receiving tracks related to the vehicle, Receiving sensor data from sensors related to the environment in which the vehicle is operating, Based on at least a portion of the aforementioned track, determine a first safe area in which the vehicle may travel at a future time. Based on at least a portion of the track, determine a second safety area different from the first safety area, which the vehicle can travel through at the future time. By filtering the sensor data, a subset of the sensor data associated with one or more of the first or second safety areas is determined. To determine the likelihood that the trajectory of an object represented in the subset of the sensor data intersects with the trajectory of the vehicle, and Controlling the vehicle based on at least a portion of the likelihood, A method that includes [a certain feature].

2. The aforementioned method, The further comprising detecting the object represented in the subset of the sensor data, The method according to claim 1, wherein the subset of the sensor data relates to the first safety area and the second safety area.

3. Controlling the aforementioned vehicle means Based on at least a portion of the trajectory of the object, determine the modified acceleration profile associated with the vehicle, and Controlling the vehicle based on at least a portion of the modified acceleration profile, The method according to claim 1 or 2, including the method according to claim 1 or 2.

4. The track includes a straight track for the vehicle and a turning track following the straight track, Determining the second safety area is To determine the boundaries relating to the first safety area, and the first and second boundaries based on the width of the vehicle, Determining the intersection point between the first boundary in the rotating trajectory and the extension of the second boundary in the straight trajectory, Based on at least a portion of the intersection, the second safety area is determined. A method according to any one of claims 1 to 3, further comprising:

5. The aforementioned method, Based on at least a portion of the representation of the vehicle at a position along the first safety area at the aforementioned future time, the width of a portion of the first safety area is extended. Determining the second safety area based on at least a portion of the vehicle's speed below a threshold speed, or Determining the second safety area based on at least a portion of the points of the boundary box representing the vehicle at the aforementioned future time, A method according to any one of claims 1 to 4, comprising at least one of the following.

6. The aforementioned method, To determine a plurality of segments relating to the first safety area, which are segments that extend substantially perpendicular to the trajectory by a first distance, To determine the position of the boundary box representing the vehicle along the trajectory at the aforementioned future time, To determine a second distance between a point in the boundary box and the point closest to the trajectory. To determine whether the second distance is equal to or exceeds the first distance, Determining a modified safety area based on at least a portion of the second distance that exceeds the first distance, The method according to any one of claims 1 to 5, further comprising the above.

7. The aforementioned method, i) Determine the position of the bounding box representing the vehicle along the trajectory at the future time, which is based on at least part of a simulation of the vehicle traveling along the trajectory at the future time. ii) Defining the width of a portion of the first safety area as relating to the first width of the vehicle, or defining the second width of the lane in which the vehicle is currently located. iii) Determining the position of the boundary box representing the vehicle at the future time, which is a position relating to one of a plurality of segments relating to the trajectory, iv) Determining the position of the vehicle along the first safety area based on at least a portion of a simulation of the vehicle traveling along the trajectory at the future time, wherein the vehicle is represented by a bounding box at the future time, and at least a portion of the bounding box is used to determine a modified safety area including a portion of the first safety area based on the distance between a point related to the corner of the bounding box and the nearest point on the trajectory. The method according to any one of claims 1 to 6, further comprising at least one of the above.

8. The aforementioned method, The method further comprises determining a modified safety area that includes a portion of the first safety area, The maximum width of the modified safety area is related to the width of the lane in which the vehicle is currently located, and The method according to any one of claims 1 to 7, wherein the subset of the sensor data relates to the modified safety area.

9. A computer program comprising coded instructions that, when executed on a computer, perform the method according to any one of claims 1 to 8.

10. It is a system, One or more processors, The system comprises one or more non-transient computer-readable media storing instructions that can be executed by the one or more processors, wherein when an instruction is executed, the system... Receiving tracks related to the vehicle, Receiving sensor data from sensors related to the environment in which the vehicle is operating, Based on at least a portion of the aforementioned track, determine a first safe area in which the vehicle may travel at a future time. Based on at least a portion of the track, determine a second safety area different from the first safety area, which the vehicle can travel through at the future time. By filtering the sensor data, a subset of the sensor data associated with one or more of the first or second safety areas is determined. To determine the likelihood that the trajectory of an object represented in the subset of the sensor data intersects with the trajectory of the vehicle, and Controlling the vehicle based on at least a portion of the likelihood, A system that performs a process that includes the following steps.

11. The second safety area includes the area of ​​the environment adjacent to the lane in which the vehicle is currently located, or Determining the direction of the second safety area is based on at least a portion of the tangents to the points related to the first safety area. The system according to claim 10, wherein at least one of the above.

12. Determining the position of the vehicle along the first safety area at the future time based on at least a portion of a simulation of the vehicle traveling along the trajectory at the future time, To determine the maximum distance from the track at the position of a point related to the representation of the vehicle at the aforementioned future time, and The system according to claim 10 or 11, further comprising defining the width of a portion of the first safety area as the maximum distance at the position.

13. i) Determining the second safety area is based on at least a portion of the environment substantially perpendicular to the track, and the track includes a track that passes through an intersection, or ii) Determining the second safety area further includes determining, as the second safety area, a portion of the environment relating to the oncoming lane adjacent to the lane in which the vehicle is currently located, based on at least a portion of the determination that the trajectory is related to a left turn. The system according to any one of claims 10 to 12, wherein at least one of the above.

14. Controlling the vehicle includes modifying one or more acceleration or steering commands to reduce the likelihood of the intersection, or The system according to any one of claims 10 to 13, wherein controlling the vehicle includes controlling the vehicle to stop based on at least a portion of the likelihood that matches or exceeds a threshold likelihood.

15. The system according to any one of claims 10 to 14, wherein the sensor data includes one or more LIDAR data, camera data, ultrasonic data, or depth data.

Citation Information

Patent Citations

  • Collision warning system of vehicle

    JP1998095291A

  • Travel safety device for vehicle

    JP2006347252A

  • Collision determination apparatus

    JP2019153052A

  • Method, control unit and system for avoiding collision with vulnerable road users

    US20180233048A1

  • Time-Warping for Autonomous Driving Simulation

    US20190369626A1