Method, apparatus, device and storage medium for obstacle detection
By determining the relationship between obstacles and target reference lines and sampling obstacle contour points, the boundaries of drivable areas can be accurately determined, solving the problem of inaccurate path planning for autonomous vehicles in complex road conditions and improving the safety and reliability of autonomous vehicles.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- BEIJING VOYAGER TECH CO LTD
- Filing Date
- 2024-12-18
- Publication Date
- 2026-06-19
AI Technical Summary
When an autonomous vehicle encounters a reference line with a large curvature or an obstacle with a large yaw angle relative to the reference line, the planned outline of the obstacle may be much larger than the actual outline, resulting in a narrower driving space or even an inability to pass through.
By determining a target reference line associated with an obstacle, in response to the shape of the target reference line satisfying a first condition or the positional relationship between the obstacle and the target reference line satisfying a second condition, a first set of points corresponding to the outline of the obstacle is determined, and the boundary of the drivable area associated with the obstacle is determined by sampling the outline formed by the first set of points.
This enables more accurate obstacle detection, improves the quality of autonomous vehicle path planning, and thus enhances the safety and reliability of autonomous vehicles.
Smart Images

Figure CN122244081A_ABST
Abstract
Description
Technical Field
[0001] The exemplary embodiments disclosed herein relate generally to the field of computers, and in particular to methods, apparatus, devices and computer-readable storage media for obstacle detection. Background Technology
[0002] With advancements in autonomous driving technology, some vehicles based on autonomous driving capabilities (also known as autonomous vehicles) are able to provide mobility services to users. However, when providing mobility services, these vehicles may encounter roads with obstacles. Therefore, how vehicles can detect obstacles and plan higher-quality routes has become a focus of attention. Summary of the Invention
[0003] In a first aspect of this disclosure, an obstacle detection method is provided. The method includes: determining a target reference line associated with an obstacle; in response to the shape of the target reference line satisfying a first condition or the positional relationship between the obstacle and the target reference line satisfying a second condition, determining a first set of points corresponding to the contour of the obstacle, the first set of points being determined by projecting a second set of points corresponding to the contour onto a target coordinate system; and determining the boundary of a drivable area associated with the obstacle by sampling the contour line formed by the first set of points.
[0004] In a second aspect of this disclosure, an apparatus for obstacle detection is provided. The apparatus includes: a first determining module configured to determine a target reference line associated with an obstacle; a second determining module configured to determine a first set of points corresponding to the contour of the obstacle in response to the shape of the target reference line satisfying a first condition or the positional relationship between the obstacle and the target reference line satisfying a second condition, the first set of points being determined by projecting a second set of points corresponding to the contour onto a target coordinate system; and a third determining module configured to determine the boundary of a drivable area associated with the obstacle by sampling the contour line formed by the first set of points.
[0005] In a third aspect of this disclosure, an electronic device is provided. The device includes at least one processing unit; and at least one memory coupled to the at least one processing unit and storing instructions for execution by the at least one processing unit. When executed by the at least one processing unit, the instructions cause the device to perform the method of the first aspect.
[0006] In a fourth aspect of this disclosure, a computer-readable storage medium is provided. The computer-readable storage medium stores a computer program that can be executed by a processor to implement the method of the first aspect.
[0007] In a fifth aspect of this disclosure, a computer program product is provided. The computer program product includes computer-executable instructions that, when executed by a processor, implement the method according to a first aspect of this disclosure.
[0008] It should be understood that the content described in this content section is not intended to limit the key or essential features of the embodiments of this disclosure, nor is it intended to restrict the scope of this disclosure. Other features of this disclosure will become readily apparent from the following description. Attached Figure Description
[0009] The above and other features, advantages, and aspects of the embodiments of this disclosure will become more apparent from the accompanying drawings and the following detailed description. In the drawings, the same or similar reference numerals denote the same or similar elements, wherein:
[0010] Figure 1 A schematic diagram is shown of an example environment in which embodiments of the present disclosure may be implemented;
[0011] Figure 2 A flowchart illustrating an example obstacle detection process according to some embodiments of the present disclosure is shown;
[0012] Figure 3 A flowchart illustrating example obstacle detection according to some embodiments of the present disclosure is shown;
[0013] Figure 4 A schematic diagram of an example obstacle and target reference line according to some embodiments of the present disclosure is shown;
[0014] Figure 5 A schematic structural block diagram of example obstacle detection according to some embodiments of the present disclosure is shown; and
[0015] Figure 6 A block diagram of an electronic device capable of implementing several embodiments of the present disclosure is shown. Detailed Implementation
[0016] Embodiments of this disclosure will now be described in more detail with reference to the accompanying drawings. While some embodiments of this disclosure are shown in the drawings, it should be understood that this disclosure can be implemented in various forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided to provide a more thorough and complete understanding of this disclosure. It should be understood that the accompanying drawings and embodiments of this disclosure are for illustrative purposes only and are not intended to limit the scope of protection of this disclosure.
[0017] It should be noted that the headings of any section / subsection provided herein are not limiting. Various embodiments are described throughout this document, and embodiments of any type may be included under any section / subsection. Furthermore, embodiments described in any section / subsection may be combined in any way with any other embodiments described in the same section / subsection and / or different sections / subsections.
[0018] In the description of embodiments of this disclosure, the term "comprising" and similar terms should be understood as open-ended inclusion, i.e., "including but not limited to". The term "based on" should be understood as "at least partially based on". The term "one embodiment" or "the embodiment" should be understood as "at least one embodiment". The term "some embodiments" should be understood as "at least some embodiments". Other explicit and implicit definitions may also be included below. The terms "first", "second", etc., may refer to different or the same objects. Other explicit and implicit definitions may also be included below.
[0019] The embodiments of this disclosure may involve user data, data acquisition, and / or use. All of these aspects comply with applicable laws, regulations, and relevant provisions. In the embodiments of this disclosure, all data collection, acquisition, processing, manipulation, forwarding, and use are conducted with the user's knowledge and confirmation. Accordingly, in implementing the embodiments of this disclosure, the type, scope of use, and usage scenarios of any data or information that may be involved should be communicated to the user and their authorization obtained in accordance with relevant laws and regulations through appropriate means. The specific methods of notification and / or authorization may vary depending on the actual situation and application scenario, and the scope of this disclosure is not limited in this respect.
[0020] In this specification and the embodiments, any processing of personal information will be carried out only under the premise of legality (such as obtaining the consent of the personal information subject, or being necessary for the performance of a contract), and will only be carried out within the scope stipulated or agreed upon. A user's refusal to process personal information other than that necessary for basic functions will not affect the user's use of basic functions.
[0021] According to traditional solutions, when autonomous vehicles encounter obstacles with a large curvature of the reference line or a large yaw angle between the obstacle and the reference line, the planned outline of the obstacle may be much larger than the actual outline, resulting in a narrower driving space or even an impassable passage for the autonomous vehicle.
[0022] Embodiments of this disclosure propose an obstacle detection scheme. According to this scheme, a target reference line associated with an obstacle can be determined; in response to the shape of the target reference line satisfying a first condition or the positional relationship between the obstacle and the target reference line satisfying a second condition, a first set of points corresponding to the outline of the obstacle is determined, the first set of points being determined by projecting a second set of points corresponding to the outline onto a target coordinate system; and the boundary of the drivable area associated with the obstacle is determined by sampling the outline formed by the first set of points.
[0023] In this way, the embodiments of this disclosure can obtain more accurate boundary representations of obstacles, thereby providing more precise obstacle detection, enabling autonomous vehicles to plan higher-quality paths, and improving the safety and reliability of autonomous vehicles.
[0024] The following section provides a detailed description of various example implementations of this scheme, with reference to the accompanying drawings.
[0025] Example Environment
[0026] Figure 1 A schematic diagram of an example environment 100 in which embodiments of the present disclosure can be implemented is shown. As shown, environment 100 may include vehicle 110. Vehicle 110 may be an autonomous vehicle, that is, a vehicle with autonomous driving capability (or driverless capability), also known as a driverless car, autonomous driving vehicle, etc.
[0027] In some scenarios, vehicle 110 can be assigned to provide travel services to users. For example, users can obtain travel services provided by vehicle 110 through a travel application. In some scenarios, vehicle 110 may also be called a driverless taxi or robotaxi. During the process of vehicle 110 providing travel services to users, vehicle 110 may be equipped with a safety operator. The safety operator can, for example, take over vehicle 110 in case of an emergency. Alternatively, vehicle 110 may also be in an unmanned state.
[0028] like Figure 1 As shown, vehicle 110 can also be associated with electronic device 120. Electronic device 120 may be integrated inside vehicle 110 or connected to vehicle 110 via a network. As an example, electronic device 120 can also communicate with remote device 130.
[0029] like Figure 1 As shown, electronic device 120 can also establish a communication connection 140 with remote device 130. As an example, communication connection 140 can be established via wired or wireless means. Communication connection 140 may include, but is not limited to, Bluetooth connection, mobile network connection, Universal Serial Bus connection, Wi-Fi connection, etc., and the embodiments of this disclosure are not limited in this respect. In the embodiments of this disclosure, electronic device 120 and remote device 130 can achieve signaling interaction through the communication connection 140 between them.
[0030] It should be understood that the structure and function of environment 100 are described for illustrative purposes only and do not imply any limitation on the scope of this disclosure.
[0031] Example process
[0032] Figure 2 A flowchart of an example obstacle detection process 200 according to some embodiments of the present disclosure is shown. Process 200 can be implemented at electronic device 120. Reference is made below. Figure 1 Describe the process 200.
[0033] like Figure 2 As shown, in box 210, electronic device 120 determines a target reference line associated with an obstacle.
[0034] like Figure 3 As shown, the electronic device 110 can determine the presence of an obstacle 310 ahead based on the perception information of the vehicle 110. Furthermore, the electronic device 110 can determine a target reference line 305 associated with the obstacle 310.
[0035] In some embodiments, the target reference line 305 may be the centerline of the lane associated with the obstacle 310. Figure 3 As an example, obstacle 310 may include a vehicle parked at an angle in the lane, and the target reference line may include the center line of the lane.
[0036] As will be detailed below, the electronic device 120 can determine which mode to use to determine the boundary of the drivable area corresponding to the obstacle 310 based on the shape of the target reference line 305 and / or the positional relationship between the obstacle 310 and the target reference line 305.
[0037] In some embodiments, the electronic device 120 may determine whether the shape of the target reference line 305 satisfies a first condition.
[0038] In some embodiments, such a first condition indicates that the maximum curvature associated with the target reference line 305 is greater than a first threshold. As an example, such maximum curvature indicates the range of the obstacle projection point (s). min s max The maximum curvature of the reference line within the target reference line 305. For example, if the maximum area of the target reference line 305 exceeds a first threshold, the electronic device 120 can determine the boundary of the drivable area based on sampling.
[0039] Additionally, the electronic device 120 can also determine whether the positional relationship between the obstacle 310 and the target reference line 305 satisfies the second condition.
[0040] In some embodiments, the second condition indicates that the angle between the orientation of the obstacle 310 and the target reference line 305 is greater than a second threshold. As an example, the electronic device 120 can determine whether the maximum angle between the orientation direction of the obstacle and the tangent direction of the target reference line is greater than the second threshold. For example, if the maximum angle is greater than the second threshold, the electronic device 120 can determine the boundary of the drivable area based on sampling.
[0041] Continue to refer to Figure 2In frame 220, electronic device 120, in response to the shape of the target reference line satisfying a first condition or the positional relationship between the obstacle and the target reference line satisfying a second condition, determines a first set of points corresponding to the contour of the obstacle. The first set of points is determined by projecting a second set of points corresponding to the contour onto the target coordinate system.
[0042] refer to Figure 4 In block 401, electronic device 120 can acquire information associated with the outline of an obstacle. In some embodiments, such information may be, for example, the outline information (second set of points) of the obstacle in an absolute coordinate system (e.g., a Cartesian coordinate system). Further, such outline information may include the outline line segment representation of the obstacle, corner information, etc.
[0043] Furthermore, in block 402, the electronic device 120 can convert the contour information of the obstacle in the absolute coordinate system to the contour information in the target coordinate system (e.g., the Frenet coordinate system) based on coordinate transformation, so as to more intuitively describe the motion state of the obstacle relative to the path, thereby facilitating the path planning of the autonomous vehicle. In some embodiments, such a target coordinate system can be defined based on a target reference line (e.g., the center lane line).
[0044] Specifically, the electronic device 120 can use the coordinate transformation formula between the Cartesian coordinate system and the target coordinate system to calculate the set of (s, l) points (the first set of points) of the corner point of the obstacle in the target coordinate system, where s represents the distance between the projection point of the corner point on the target reference line and the projection point of the planned starting point on the target reference line, i.e., the longitudinal position; l represents the distance between the corner point and the projection point of the target reference line, i.e., the lateral position.
[0045] Furthermore, the electronic device 120 can obtain the minimum value s by traversing the set of corner points (s, l). min The maximum value of s max The minimum value of l min The maximum value of l max .
[0046] In block 403, electronic device 120 can determine whether precise sampling of the obstacle's contour is required based on the process described above. For example, if the shape of the target reference line 305 satisfies a first condition or the positional relationship between the obstacle 310 and the target reference line 305 satisfies a second condition, electronic device 120 can determine that precise sampling of the obstacle's contour is required.
[0047] Conversely, if the shape of the target reference line 305 does not meet the first condition and the positional relationship between the obstacle 310 and the target reference line 305 does not meet the second condition, in box 404, the electronic device 120 can directly represent the outline of the obstacle based on the obstacle sampling start line segment and the obstacle sampling end line segment.
[0048] Specifically, the electronic device 120 can determine a set of corner points of the obstacle 320 and project these corner points onto the target coordinate system to determine a third set of points. For example, the third set of points can be determined by... Figure 3 The four corner points of the obstacle 310 shown are obtained by projecting them from the world coordinate system onto the Frenet coordinate system associated with the target reference line 305.
[0049] Furthermore, the electronic device 120 can determine the boundary of the drivable area associated with the obstacle based on the third set of points.
[0050] Specifically, the electronic device 11O can determine the maximum lateral offset l among the third set of points based on the projected coordinates of the four corner points in the Frenet coordinate system. max Minimum lateral offset l max Maximum longitudinal offset s max and minimum longitudinal offset s min .
[0051] Furthermore, the electronic device 110 can be based on the maximum lateral offset l max Minimum lateral offset l max Maximum longitudinal offset s max and minimum longitudinal offset s min Determine the boundaries of the drivable area associated with the obstacle.
[0052] Specifically, the outline of the obstacle can be represented as, for example, obs_edge_start: (s min -s buffer , l min -l buffer , l max +l buffer ) and obs_edge_end:(s max +s buffer , l min -l buffer , l max +l buffer ). s buffer Indicates the longitudinal safety buffer distance, l buffer This indicates the lateral safety buffer distance.
[0053] Furthermore, the electronic device 120 can determine the drivable area boundary based on obs_edge_start and obs_edge_end. In box 405, the electronic device 120 can generate a set of obs_edges representing the contours of obstacles.
[0054] Conversely, if it is determined in box 403 that the obstacle contour needs to be accurately sampled, the electronic device 120 can determine a first set of points corresponding to the contour of the obstacle, which is determined by projecting a second set of points corresponding to the contour onto the target coordinate system.
[0055] Specifically, in box 409, the electronic device 120 can project a set of contour points of the obstacle 310 in the absolute world coordinate system into the Frenet coordinate system to determine the s information (i.e., longitudinal offset) and l information (i.e., lateral offset) of the contour line segments.
[0056] return Figure 2 In frame 230, electronic device 120 determines the boundary of the drivable area associated with the obstacle by sampling the contour line formed by the first set of points.
[0057] Specifically, in box 410, after obtaining the representation of the obstacle outline segments in the Frennent coordinate system, i.e., the starting point (s0, l0) and the ending point (s1, l1), the electronic device 120 can sort the set of outline segments in ascending order according to the starting point s0.
[0058] Furthermore, the electronic device 120 can sample and determine the precise contour of the obstacle. Specifically, the electronic device 120 can determine the sampling range based on the minimum and maximum longitudinal offsets in the first set of points.
[0059] Specifically, the electronic device 120 can determine the longitudinal sampling range as [s]. min -s buffer end_s+S buffer ], where s min The minimum longitudinal offset corresponds to the first set of points, and end_s can correspond to the maximum longitudinal offset in the first set of points.
[0060] Furthermore, the electronic device 120 can determine multiple sampling lines perpendicular to the target reference line based on the sampling range. In some embodiments, the longitudinal distance between the multiple sampling lines is determined based on a preset sampling distance.
[0061] As an example, the electronic device 120 can determine multiple sampling lines of the vertical reference line with delta_s as the longitudinal sampling precision, (s0+i*delta_s, 0), (s0+i*delta_s, 1.0).
[0062] Furthermore, the electronic device 120 can determine multiple intersection points of multiple sampling lines and contour lines. The electronic device 120 can sequentially determine whether there are intersection points between the sampling lines perpendicular to the reference lines and the sorted obstacle contour line segments. If there are, it records the index of the contour line segment and the intersection point information until two intersection points are found. The electronic device 120 can obtain the intersection point l based on the size of the two intersection points l. i _min and l i _max, and update the starting index of the contour line for the next iteration: l min _index and l max _index. Furthermore, the electronic device 120 can record the obs_edge information accordingly:
[0063] by Figure 4 As an example, for the sampling process, the electronic device 120 can generate the starting obs_edge in box 411 and determine in box 412 whether the ending obs_edge (corresponding to end_s+S) has been reached. buffer If so, the sampling process can be terminated, and in box 405, the electronic device 120 can accordingly generate a set of obs_edges representing the obstacle boundaries.
[0064] Conversely, in box 413, electronic device 120 can generate multiple obs_edges based on the traversal process. Furthermore, in box 414, electronic device 120 can also perform sampling precision compensation.
[0065] Specifically, the electronic device 120 can determine a first reference point in the first set of points that corresponds to the minimum lateral offset (e.g., Figure 3 Point P2 in the middle) and the second reference point corresponding to the maximum lateral offset (e.g., Figure 3 (Point P1 in the diagram). In response to the first or second reference point not being included in the multiple intersections, the electronic device 120 can determine the boundary of the drivable area associated with the obstacle based on the multiple intersections and the first or second reference point.
[0066] Specifically, if the sampling intersection point l min _index or l max The _index changes, that is, it crosses the outline of the next obstacle, and the first sample s(i) is different from the s corresponding to start_l or end_l. When crossing start_l or end_l, take (s0+i*delta_s, std::min(l i _min,start_l-l buffer ), l i _max) or (s0+i*delta_s, li _min, std::max(l i _max, end_l+l buffer )), ensuring start_l (for example, Figure 3 (point P1 in the middle) and end_l (for example, Figure 3 The P2 point in the model did not miss start_l and end_l due to sampling accuracy, making it smaller than the actual contour.
[0067] In box 406, electronic device 120 can acquire the obs_edge set of other obstacle contours. Furthermore, in box 407, electronic device 120 can sort all contour segments in the contour segment set according to their starting point s0 in ascending order. In box 408, electronic device 120 can output the obs_edge_end of all obstacles with the sorted numbers, thereby determining the boundary of the drivable area of vehicle 110.
[0068] Thus, the electronic device 120 can determine the boundary of the drivable area associated with the obstacle based on the multiple intersections obtained from the sampling.
[0069] In this way, compared with the traditional method of determining the obstacle outline based solely on corner points, the embodiments of this disclosure can more accurately determine the boundary characteristics of the obstacle, especially for scenarios with a large reference line curve or when the obstacle and the reference line have a large relative yaw angle.
[0070] Therefore, the embodiments of this disclosure can provide more accurate obstacle detection, enabling autonomous vehicles to plan higher-quality paths and improve the safety and reliability of autonomous vehicles.
[0071] Example devices and equipment
[0072] Embodiments of this disclosure also provide corresponding apparatus for implementing the above methods or processes. Figure 5 A schematic structural block diagram of an example obstacle detection device 500 according to certain embodiments of the present disclosure is shown. Device 500 may be implemented as or included in electronic device 120. Various modules / components in device 500 may be implemented by hardware, software, firmware, or any combination thereof.
[0073] like Figure 5As shown, the device 500 includes a first determining module 510 configured to determine a target reference line associated with an obstacle; a second determining module 520 configured to determine a first set of points corresponding to the outline of the obstacle in response to the shape of the target reference line satisfying a first condition or the positional relationship between the obstacle and the target reference line satisfying a second condition, wherein the first set of points is determined by projecting a second set of points corresponding to the outline onto a target coordinate system; and a third determining module 530 configured to determine the boundary of a drivable area associated with the obstacle by sampling the outline formed by the first set of points.
[0074] In some embodiments, the apparatus 500 further includes a fourth determining module configured to, in response to a target reference line shape not satisfying a first condition and a positional relationship not satisfying a second condition, determine a set of corner points of the obstacle; project the set of corner points into a target coordinate system to determine a third set of points; and, based on the third set of points, determine the boundary of the drivable area associated with the obstacle.
[0075] In some embodiments, the fourth determining module is further configured to determine the maximum lateral offset, minimum lateral offset, maximum longitudinal offset, and minimum longitudinal offset in the third set of points; and to determine the boundary of the drivable area associated with the obstacle based on the maximum lateral offset, minimum lateral offset, maximum longitudinal offset, and minimum longitudinal offset.
[0076] In some embodiments, a first condition indicates that the maximum curvature associated with the target reference line is greater than a first threshold; and / or a second condition indicates that the angle between the orientation of the obstacle and the target reference line is greater than a second threshold.
[0077] In some embodiments, the third determining module 530 is further configured to determine a sampling range based on the minimum and maximum longitudinal offsets in the first set of points; determine multiple sampling lines perpendicular to the target reference line based on the sampling range; determine multiple intersections of the multiple sampling lines and the contour line; and determine the boundary of the drivable area associated with the obstacle based on the multiple intersections.
[0078] In some embodiments, the longitudinal distance between multiple sampling lines is determined based on a preset sampling distance.
[0079] In some embodiments, the sampling range is determined based on the minimum longitudinal offset, the minimum longitudinal offset, and a preset buffer distance.
[0080] In some embodiments, the third determining module 530 is further configured to determine a first reference point corresponding to the minimum lateral offset and a second reference point corresponding to the maximum lateral offset in the first set of points; and, in response to the first reference point or the second reference point not being included in the plurality of intersections, to determine the boundary of the drivable area associated with the obstacle based on the plurality of intersections and the first reference point or the second reference point.
[0081] The modules included in device 500 can be implemented in various ways, including software, hardware, firmware, or any combination thereof. In some embodiments, one or more units can be implemented using software and / or firmware, such as machine-executable instructions stored on a storage medium. In addition to or as an alternative to machine-executable instructions, some or all of the modules in device 500 can be implemented at least partially by one or more hardware logic components. By way of example, and not limitation, exemplary types of hardware logic components that can be used include field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), application-specific standard products (ASSPs), systems-on-chips (SoCs), complex programmable logic devices (CPLDs), and so on.
[0082] Figure 6 A block diagram of an electronic device 600 in which one or more embodiments of the present disclosure may be implemented is shown. It should be understood that... Figure 6 The electronic device 600 shown is merely exemplary and should not be construed as limiting the functionality and scope of the embodiments described herein. Figure 6 The electronic device 600 shown can be used to achieve Figure 1 120 electronic devices.
[0083] like Figure 6 As shown, electronic device 600 is in the form of a general-purpose electronic device. Components of electronic device 600 may include, but are not limited to, one or more processors or processing units 610, memory 620, storage device 630, one or more communication units 640, one or more input devices 650, and one or more output devices 660. Processing unit 610 may be a physical or virtual processor and is capable of performing various processes according to programs stored in memory 620. In a multiprocessor system, multiple processing units execute computer-executable instructions in parallel to improve the parallel processing capability of electronic device 600.
[0084] Electronic device 600 typically includes multiple computer storage media. Such media can be any accessible media that is accessible to electronic device 600, including but not limited to volatile and non-volatile media, removable and non-removable media. Memory 620 can be volatile memory (e.g., registers, cache, random access memory (RAM)), non-volatile memory (e.g., read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory), or some combination thereof. Storage device 630 can be removable or non-removable media and can include machine-readable media, such as flash drives, disks, or any other media that can be used to store information and / or data and can be accessed within electronic device 600.
[0085] Electronic device 600 may further include additional removable / non-removable, volatile / non-volatile storage media. Although not explicitly stated... Figure 6 As shown, disk drives for reading from or writing to removable, non-volatile disks (e.g., "floppy disks") and optical disk drives for reading from or writing to removable, non-volatile optical disks can be provided. In these cases, each drive can be connected to a bus (not shown) via one or more data media interfaces. Memory 620 may include computer program product 625 having one or more program modules configured to perform various methods or actions of various embodiments of this disclosure.
[0086] The communication unit 640 enables communication with other electronic devices via a communication medium. Additionally, the functionality of the components of the electronic device 600 can be implemented using a single computing cluster or multiple computing machines capable of communicating via communication connections. Therefore, the electronic device 600 can operate in a networked environment using logical connections to one or more other servers, network personal computers (PCs), or another network node.
[0087] Input device 650 can be one or more input devices, such as a mouse, keyboard, trackball, etc. Output device 660 can be one or more output devices, such as a monitor, speaker, printer, etc. Electronic device 600 can also communicate with one or more external devices (not shown) via communication unit 640 as needed. These external devices include storage devices, display devices, etc., and can communicate with one or more devices that enable user interaction with electronic device 600, or with any device that enables electronic device 600 to communicate with one or more other electronic devices (e.g., network card, modem, etc.). Such communication can be performed via input / output (I / O) interface (not shown).
[0088] According to an exemplary implementation of this disclosure, a computer-readable storage medium is provided that stores computer-executable instructions thereon, wherein the computer-executable instructions are executed by a processor to implement the methods described above. According to an exemplary implementation of this disclosure, a computer program product is also provided, which is tangibly stored on a non-transitory computer-readable medium and includes computer-executable instructions, which are executed by a processor to implement the methods described above.
[0089] Various aspects of this disclosure are described herein with reference to flowchart illustrations and / or block diagrams of methods, apparatuses, devices, and computer program products implemented according to this disclosure. It should be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer-readable program instructions.
[0090] These computer-readable program instructions can be provided to a processing unit of a general-purpose computer, a special-purpose computer, or other programmable data processing apparatus to produce a machine such that, when executed by the processing unit of the computer or other programmable data processing apparatus, they create means for implementing the functions / actions specified in one or more blocks of the flowchart and / or block diagram. These computer-readable program instructions can also be stored in a computer-readable storage medium that causes a computer, programmable data processing apparatus, and / or other device to operate in a particular manner. Thus, the computer-readable medium storing the instructions comprises an article of manufacture that includes instructions for implementing aspects of the functions / actions specified in one or more blocks of the flowchart and / or block diagram.
[0091] Computer-readable program instructions can be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable data processing apparatus, or other device to produce a computer-implemented process, thereby causing the instructions that execute on the computer, other programmable data processing apparatus, or other device to perform the functions / actions specified in one or more boxes of a flowchart and / or block diagram.
[0092] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of this disclosure. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of an instruction, which contains one or more executable instructions for implementing the specified logical function. In some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutive blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, may be implemented using a dedicated hardware-based system that performs the specified function or action, or using a combination of dedicated hardware and computer instructions.
[0093] Various implementations of this disclosure have been described above. The foregoing description is exemplary and not exhaustive, nor is it limited to the disclosed implementations. Many modifications and variations will be apparent to those skilled in the art without departing from the scope and spirit of the described implementations. The terminology used herein is chosen to best explain the principles, practical applications, or improvements to technology in the market, or to enable others skilled in the art to understand the various implementations disclosed herein.
Claims
1. A method for obstacle detection, comprising: Determine the target reference line associated with the obstacle; In response to the shape of the target reference line satisfying a first condition or the positional relationship between the obstacle and the target reference line satisfying a second condition, a first set of points corresponding to the contour of the obstacle is determined. The first set of points is determined by projecting a second set of points corresponding to the contour onto the target coordinate system. The boundary of the drivable area associated with the obstacle is determined by sampling the contour line formed by the first set of points.
2. The method according to claim 1, further comprising: In response to the fact that the shape of the target reference line does not satisfy the first condition and the positional relationship does not satisfy the second condition, a set of corner points of the obstacle is determined; Project the first set of corner points onto the target coordinate system to determine the third set of points; as well as Based on the third set of points, the boundary of the drivable area associated with the obstacle is determined.
3. The method of claim 2, wherein determining the boundary of the drivable area associated with the obstacle based on the third set of points comprises: Determine the maximum lateral offset, minimum lateral offset, maximum longitudinal offset, and minimum longitudinal offset in the third set of points; as well as The boundaries of the drivable area associated with the obstacle are determined based on the maximum lateral offset, the minimum lateral offset, the maximum longitudinal offset, and the minimum longitudinal offset.
4. The method according to claim 1, wherein: The first condition indicates that the maximum curvature associated with the target reference line is greater than a first threshold; and / or The second condition indicates that the angle between the orientation of the obstacle and the target reference line is greater than a second threshold.
5. The method of claim 1, wherein determining the boundary of the drivable area associated with the obstacle by sampling the contour line formed by the first set of points comprises: The sampling range is determined based on the minimum and maximum longitudinal offsets of the first set of points; Based on the sampling range, multiple sampling lines perpendicular to the target reference line are determined; Determine multiple intersection points between the multiple sampling lines and the contour line; as well as Based on the plurality of intersection points, the boundary of the drivable area associated with the obstacle is determined.
6. The method according to claim 5, wherein the longitudinal distance between the plurality of sampling lines is determined based on a preset sampling distance.
7. The method according to claim 5, wherein the sampling range is determined based on the minimum longitudinal offset, the minimum longitudinal offset and a preset buffer distance.
8. The method of claim 5, wherein determining the boundary of the drivable area associated with the obstacle based on the plurality of intersections comprises: Determine the first reference point corresponding to the minimum lateral offset and the second reference point corresponding to the maximum lateral offset in the first set of points; In response to the first reference point or the second reference point not being included in the plurality of intersections, the boundary of the drivable area associated with the obstacle is determined based on the plurality of intersections and the first reference point or the second reference point.
9. An apparatus for obstacle detection, comprising: The first determining module is configured to determine a target reference line associated with the obstacle; The second determining module is configured to determine a first set of points corresponding to the outline of the obstacle in response to the shape of the target reference line satisfying a first condition or the positional relationship between the obstacle and the target reference line satisfying a second condition. The first set of points is determined by projecting a second set of points corresponding to the outline onto the target coordinate system. The third determining module is configured to determine the boundary of the drivable area associated with the obstacle by sampling the contour line formed by the first set of points.
10. An electronic device, comprising: At least one processing unit; as well as At least one memory, coupled to the at least one processing unit and storing instructions for execution by the at least one processing unit, which, when executed by the at least one processing unit, cause the electronic device to perform the method according to any one of claims 1 to 8.
11. A computer-readable storage medium having a computer program stored thereon, the computer program being executable by a processor to implement the method according to any one of claims 1 to 8.
12. A computer program product comprising computer-executable instructions, wherein the computer-executable instructions, when executed by a processor, implement the method according to any one of claims 1 to 8.