Method, apparatus, electronic device and storage medium for collision detection

CN117429415BActive Publication Date: 2026-09-18RUILIAN XINGCHEN (BEIJING) TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210837513.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-07-15
Publication Date
2026-09-18
Estimated Expiration
2042-07-15

AI Technical Summary

Technical Problem

然而,对象的简化轮廓与真实轮廓之间存在差异,这导致不能准确地执行碰撞检测

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117429415B_ABST
    Figure CN117429415B_ABST
Patent Text Reader

Abstract

The present disclosure relates to methods, apparatuses, electronic devices, and storage media for collision detection. In one method, a contour of an object is represented based on at least one first shape having a first shape parameter and at least one second shape having a second shape parameter, the first shape parameter being different from the second shape parameter. A grid map representing obstacles in a detection area is obtained, the grid map including a set of obstacle grids covered by the obstacles and a set of non-obstacle grids not covered by the obstacles in the detection area. An inflation area around the set of obstacle grids is determined based on the first shape parameter and the second shape parameter. A collision between the object and the obstacles is detected based on the at least one first shape, the at least one second shape, the set of obstacle grids, and the inflation area. In this way, the contour of the object can be represented in a more accurate manner, thereby improving the accuracy of collision detection.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The various implementations of this disclosure relate to collision detection, and more specifically, to methods, apparatus, electronic devices, and storage media for detecting collisions between objects and obstacles. Background Technology

[0002] With the development of computer technology, technical solutions for automatically detecting collisions between objects (e.g., vehicles, robots, etc.) and obstacles have been proposed. For example, one or more simple geometric shapes (e.g., rectangles or circles) can be used to simulate the simplified outline of an object in order to detect collisions between the object and surrounding obstacles. However, there are differences between the simplified outline of the object and the real outline, which leads to inaccurate collision detection. Therefore, how to detect collisions between objects and obstacles in a more accurate way has become a research hotspot. Summary of the Invention

[0003] According to a first aspect of this disclosure, a method for detecting collisions between an object and an obstacle is provided. In this method, the outline of an object is represented based on at least one first shape having a first shape parameter and at least one second shape having a second shape parameter, the first shape parameter being different from the second shape parameter. A grid map representing obstacles in a detection region is acquired, the grid map including a set of obstacle grids covered by obstacles and a set of obstacle-free grids not covered by obstacles in the detection region. An expansion region around the set of obstacle grids is determined based on the first shape parameter and the second shape parameter. A collision between the object and the obstacle is detected based on at least one first shape, at least one second shape, the set of obstacle grids, and the expansion region.

[0004] According to a second aspect of this disclosure, an apparatus for detecting collisions between an object and an obstacle is provided. The apparatus includes: a representation module configured to represent the outline of an object based on at least one first shape having a first shape parameter and at least one second shape having a second shape parameter, the first shape parameter being different from the second shape parameter; an acquisition module configured to acquire a grid map representing obstacles in a detection area, the grid map including a set of obstacle grids covered by obstacles and a set of unobstructed grids not covered by obstacles in the detection area; a determination module configured to determine an expansion region around the set of obstacle grids based on the first shape parameter and the second shape parameter; and a detection module configured to detect a collision between the object and the obstacle based on at least one first shape, at least one second shape, the set of obstacle grids, and the expansion region.

[0005] According to a third aspect of this disclosure, an electronic device is provided, comprising: a memory and a processor; wherein the memory is configured to store one or more computer instructions, wherein the one or more computer instructions are executed by the processor to implement the method according to a first aspect of this disclosure.

[0006] According to a fourth aspect of this disclosure, a computer-readable storage medium is provided that stores one or more computer instructions thereon, wherein one or more computer instructions are executed by a processor to implement the method according to a first aspect of this disclosure.

[0007] According to a fifth aspect of this disclosure, a computer program product is provided, including a computer program / instructions, wherein when the computer program / instructions are executed by a processor, they implement the method according to a first aspect of this disclosure. Attached Figure Description

[0008] The features, advantages, and other aspects of various implementations of this disclosure will become more apparent from the accompanying drawings and the following detailed description, which illustrate, by way of example and not limitation, several implementations of this disclosure. In the drawings:

[0009] Figure 1A A schematic diagram illustrating the outline of a representation object according to a technical solution is shown.

[0010] Figure 1B A schematic diagram illustrating the outline of a representation object according to a technical solution is shown.

[0011] Figure 2 A block diagram illustrating an exemplary implementation of this disclosure for determining a collision between an object and an obstacle is shown schematically.

[0012] Figure 3 A flowchart illustrating an exemplary implementation of this disclosure is shown.

[0013] Figure 4 A schematic diagram illustrates a block diagram in which the outline of a rectangular object is represented by multiple circle centers according to an exemplary implementation of this disclosure;

[0014] Figure 5 A block diagram illustrating a polygon outline according to an exemplary implementation of the present disclosure is shown schematically.

[0015] Figure 6 A block diagram illustrating the acquisition of a grid map including a detection area of ​​obstacles according to an exemplary implementation of the present disclosure is shown.

[0016] Figure 7 A block diagram illustrating the first expansion in a grid map according to an exemplary implementation of this disclosure is shown.

[0017] Figure 8 A block diagram illustrating a second dilation in a grid map according to an exemplary implementation of this disclosure is shown.

[0018] Figure 9 A block diagram illustrating an exemplary implementation of the present disclosure for detecting collisions between an object and an obstacle is shown schematically.

[0019] Figure 10 A block diagram illustrating an exemplary implementation of the present disclosure for detecting collisions between an object and an obstacle is shown schematically.

[0020] Figure 11 A block diagram illustrating the control of vehicle movement according to an exemplary implementation of the present disclosure is shown schematically.

[0021] Figure 12 A flowchart illustrating a method for controlling vehicle movement according to an exemplary implementation of this disclosure is shown schematically; and

[0022] Figure 13 A block diagram of a computing device / server for detecting collisions between an object and an obstacle, according to an exemplary implementation of the present disclosure, is shown schematically. Detailed Implementation

[0023] Preferred implementations of this disclosure will now be described in more detail with reference to the accompanying drawings. While preferred implementations of this disclosure are shown in the drawings, it should be understood that this disclosure may be implemented in various forms and should not be limited to the implementations set forth herein. Rather, these implementations are provided to make this disclosure more thorough and complete, and to fully convey the scope of this disclosure to those skilled in the art.

[0024] The term “comprising” and its variations, as used herein, signify open inclusion, i.e., “including but not limited to.” Unless otherwise stated, the term “or” means “and / or.” The term “based on” means “at least partially based on.” The terms “one example implementation” and “one implementation” mean “at least one example implementation.” The term “another implementation” means “at least one additional implementation.” The terms “first,” “second,” etc., may refer to different or the same objects. Other explicit and implicit definitions may also be included below.

[0025] A method has been proposed that uses one or more simple shapes to simulate a simplified outline of an object, and then uses this simplified outline to detect collisions between the object and surrounding obstacles. For example, for a vehicle-type object, the vehicle's outline resembles a rectangle; however, the four corners at the front and rear of the vehicle are typically not right angles but have a certain curvature. The following description will use only vehicles as an example to illustrate the details of collision detection.

[0026] Figure 1A A block diagram 100A schematically illustrates the outline of a representation object according to a technical solution. (See diagram 100A.) Figure 1A As shown, a rectangle 112 can be used to simulate the simplified outline of object 110. Typically, a vehicle's outline is not a standard rectangle, but rather has a certain curvature at its four corners. When the simplified outline of object 110 is simulated using rectangle 112, the four vertices of rectangle 112 are outside the actual outline of the vehicle. This causes the simplified outline to occupy more space and exceed the actual outline. When the vehicle is in a confined space, this may lead to the incorrect conclusion that a collision has occurred when no collision would normally occur.

[0027] Figure 1B A block diagram 100B schematically illustrates the outline of an object representing a technical solution. (See diagram 100B.) Figure 1B As shown, multiple circles 120 can be used to simulate the simplified outline of object 110. These circles can overlap, and their centers can be used to represent the simplified outline. During collision detection, the positions of these centers can be compared with a grid map representing obstacle positions to determine if a collision exists. However, as... Figure 1B As shown, at the four corners of object 110, the simulated outlines, represented by circles, are within the actual outline of the vehicle. That is, the simulated outlines are smaller than the actual outline of the vehicle. This may prevent a conclusion that a collision has occurred when it should have been detected. In this case, risks such as vehicle damage may occur.

[0028] While the above-described technical solution can detect collisions between the object and obstacles when the object 110 is in an open space, it cannot accurately detect collisions when the object 110 is in a confined space, potentially leading to safety risks. Therefore, it is desirable to improve the accuracy of collision detection technology.

[0029] To at least partially address the shortcomings of the aforementioned technical solutions, a method for detecting collisions between objects and obstacles is proposed according to an exemplary implementation of this disclosure. In this method, multiple circles with different radii can be used to represent the object's outline, thereby improving the accuracy of the object's outline and consequently enhancing the accuracy of collision detection.

[0030] See below. Figure 2 The following describes an exemplary implementation of this disclosure. For ease of description, the use of different shapes to simulate object outlines will be described below using only a circle as an example. Figure 2A block diagram 200 schematically illustrates a method for determining a collision between an object and an obstacle according to an exemplary implementation of this disclosure. Figure 2 As shown, the outline of object 110 can be described using shapes with different shape parameters (e.g., circles 210 and 220 with different radii). In the context of this disclosure, the shape here refers to various types, for example, a circle can be used and the shape parameter here can be the radius of the circle; another example is a polygon can be used and the shape parameter here can be a contour function of the polygon (e.g., determined by the number and length of the polygon's sides); yet another example is an ellipse and the shape parameter here can be a contour function of the ellipse (e.g., determined by the two radii of the ellipse), and so on.

[0031] Specifically, a circle 210 (with radius r1) can be used to represent the four corners of the vehicle, and a circle 220 (with radius r2, r2>r1) can be used to represent the body of the vehicle. For example, four small circles with radius r1 can be used to represent the four corners of the vehicle, and multiple (e.g., four or other numbers) large circles with radius r2 can be used to represent the body of the vehicle. In this case, the center of each circle (e.g., center 214, center 224, etc.) can be used to describe the outline 230 of the object 110.

[0032] Furthermore, a grid map 240 representing obstacles in the detection area can be obtained. This grid map 240 may include a set of obstacle grids 242 covered by obstacles and a set of unobstructed grids 244 not covered by obstacles in the detection area. Subsequently, double dilation can be performed on the grid map 240. Specifically, a dilation region 246 around the set of obstacle grids 242 can be determined based on radii r1 and r2. Finally, collisions between the object 110 and obstacles can be detected based on the centers of the individual circles representing the outline of the object 110 and the individual grids in the grid map 240. It will be understood that the size of the grid map 240 and the number of grids in the accompanying drawings are merely illustrative, and the size and number of grids can be determined based on various parameters of the specific application environment.

[0033] Using the exemplary implementation of this disclosure, the shape of the small circle more closely approximates the actual curvature of the corner of object 110, thus simulating the outline of object 110 more accurately and improving the efficiency of subsequent collision detection. By using a more accurate outline for comparison with the grid map 240, the accuracy of collision detection can be improved. In particular, when object 110 is located in a narrow area, it is possible to determine with greater accuracy whether a collision will occur between object 110 and an obstacle.

[0034] An overview of collision detection has already been described; see below. Figure 3 Describe more details about collision detection. Figure 3 A flowchart illustrating an exemplary implementation of this disclosure for determining a collision between an object 110 and an obstacle is shown schematically. At block 310, the outline of the object 110 can be represented based on at least one first circle 210 having a first radius (e.g., r1) and at least one second circle 220 having a second radius (e.g., r2). Here, the first radius differs from the second radius (e.g., r1). <r2)。

[0035] exist Figure 2 In the example, assuming object 110 is a vehicle with sides approximately 2m x 4m, the four corners of the vehicle's outline can be represented by circle 210, and the portion of the vehicle outside the corners (e.g., the body) can be represented by circle 220. r1 can be determined based on the radian of the vehicle's corners; for a typical vehicle, r1 = 0.4m, 0.5m, ... (or other values). r2 can be determined based on the vehicle's width of 2m, in which case r2 = 2 / 2 = 1m.

[0036] Furthermore, the number of large circles used to represent the vehicle body can be determined based on the vehicle's length. Overlap is allowed between large and small circles, and between large circles themselves; for example, five or other numbers of large circles can be specified. The more large circles used, the more accurate the vehicle outline is described. In this case, the centers of the multiple large circles lie on the same straight line, and the centers of the four small circles are symmetrically located on either side of this line. Furthermore, the centers of both large and small circles can be used to represent the vehicle's outline. See below for more details. Figure 4 Describe more details about the vehicle's outline.

[0037] Figure 4 A block diagram 400 schematically illustrates a rectangular object outline represented by multiple circle centers according to an exemplary implementation of this disclosure. For example... Figure 4As shown, a coordinate system can be established with the center of the vehicle (e.g., the center of a 2m*4m rectangular outline 410) as the origin: the x-axis can be perpendicular to the vehicle body direction, and the y-axis can be parallel to the vehicle body direction. The center positions of each circle can be determined based on the geometric positional relationships between the large and small circles and the rectangular outline 410. For example, both the large and small circles are tangent to the rectangular outline 410, the centers of the large circles are located on the y-axis, and their center coordinates can be represented as (0,y1), (0,y2), (0,y3), and so on. In this case, the center coordinates of the uppermost large circle 420 can be represented as (0,1), and the center coordinates of the lowermost large circle 422 can be represented as (0,-1). Furthermore, the small circle 430 located on the upper right is tangent to the upper right corner of the rectangular outline 410. Assuming the radius of the small circle r1 = 0.4m, the center of the small circle 430 can be represented as (0.6,1.6). Similarly, the centers of other circles can be determined based on the positional relationships between the various large and small circles and the rectangular outline 410. Furthermore, the determined center points can be used to represent the outline of the vehicle.

[0038] Specifically, when in such a way Figure 4 When the six circles shown represent the rectangular outline 410, the rectangular outline 410 can be represented as a sequence of circle center positions: (0,1), (0,-1), (0.6,1.6), (0.6,-1.6), (-0.6,1.6), and (-0.6,-1.6). It will be understood that the above positions are relative to the center of the circle with respect to the center of the vehicle. When the coordinates of the vehicle center are (c0,y0), the actual positions of each circle center can be determined using the coordinates (x0,y0) and the above relative positions.

[0039] Will understand, although Figure 4 This illustration only schematically shows the use of small circles with the same radius to represent the front and rear corners of a vehicle. According to an exemplary implementation of this disclosure, when the front and rear corners of a vehicle have different curvatures, small circles with different radii can be used to represent the front and rear corners. For example, a circle with a radius of 0.5m can be used to represent the two front corners of the vehicle, a circle with a radius of 0.4m can be used to represent the two front corners of the vehicle, and a circle with a radius of 1.0m can be used to represent the vehicle body.

[0040] It will be understood that, although the above example of using a rectangle to represent the outline of object 110 with multiple circles of different radii, object 110 may have other shapes. Figure 5 A block diagram 500 illustrating a polygon outline according to an exemplary implementation of this disclosure is shown schematically. Figure 5As shown, circles 540, 530, and 520 with radii r1, r2, and r3 can be used to represent the corners and main body of the polygon outline 510, respectively. Specifically, circles with smaller radii can represent corners with smaller curvatures, circles with larger radii can represent corners with larger curvatures, and circles with even larger radii can represent the main body of the polygon. In this case, each circle is tangent to the polygon outline, and the center of each circle can be determined based on its geometric positional relationship with the polygon outline.

[0041] In the following text, return Figure 3 Describe more details about obtaining the raster map. In Figure 3 At frame 320, a grid map 240 representing obstacles in the detection area can be obtained. It will be understood that the grid map 240 may include a set of obstacle grids covered by obstacles and a set of unobstructed grids not covered by obstacles in the detection area. According to an exemplary implementation of this disclosure, in order to obtain the grid map 240, the detection area can be divided into multiple grids according to a predetermined size. For example, the grids can be divided according to a predetermined size (e.g., 0.2m * 0.2m, or other sizes), where smaller grid sizes result in higher collision detection accuracy, and vice versa.

[0042] Furthermore, the location of obstacles can be determined based on laser scanning (or other technologies). If it is determined that a grid cell is covered by an obstacle, the grid cell can be identified as obstacle grid 242. Figure 6 A block diagram 600 schematically illustrates the acquisition of a grid map 240 including a detection area of ​​obstacles according to an exemplary implementation of this disclosure. Figure 6 As shown, if it is determined that grid 610 is covered by an obstacle, then grid 610 is marked as obstacle grid 242, and subsequent grids of grid 610 can be processed in a similar manner. When processing grid 620, if grid 620 is not covered by an obstacle, then grid 620 can be marked as an unobstructed grid. Using the exemplary implementation of this disclosure, obstacle grids 242 only need to be determined based on the location of the obstacle, thus grid map 240 can be generated quickly and accurately. Alternatively and / or additionally, all grids in grid map 240 can be marked as unobstructed grids 244 first, and only grids covered by obstacles can be marked as obstacle grids 242. In this way, the efficiency of generating grid maps can be improved.

[0043] return Figure 3At box 330, an expansion region 246 around a set of obstacle grids can be determined based on a first radius and a second radius. According to an exemplary implementation of this disclosure, multiple expansions can be performed on the grid map 240 based on the radius of the circle used. Specifically, the number of expansions is the same as the number of different radii. First, a simple case of performing two expansions based on the first and second radii is described. In this case, the expansion region 246 can include a first expansion region and a second expansion region, and determining the expansion region 246 can include: determining the first expansion region around a set of obstacle grids 242 based on the first radius. Further, a second expansion region can be determined around the first expansion region based on the first and second radii. Hereinafter, see firstly... Figure 7 Describe the first expansion.

[0044] Figure 7 A block diagram 700 schematically illustrates the performance of a first expansion in a grid map 240 according to an exemplary implementation of this disclosure. (See diagram 700 for details.) Figure 7 As shown, the unobstructed grid 244 surrounding the obstacle grid 242 can be processed to determine the first expansion region 710 by "expanding" the obstacle grid. Specifically, the first expansion radius can be determined based on a first radius. Continuing the example above, r1 = 0.4m, so the first expansion radius can be determined to be 0.4m. With a grid size of 0.2m * 0.2m, two grid layers can be expanded outside the obstacle grid (i.e., 0.4 / 0.2 = 2). The specific expansion process is shown below.

[0045] Given a barrier grid cell located at position (a, b), for each unobstructed grid cell located at position (x, y) (where x ∈ [a-r1, a+r1] and y ∈ [b-r1, b+r1]), the distance between grid cell (x, y) and grid cell (a, b) can be compared one by one. If this distance is not higher than the first expansion radius, the unobstructed grid cell (x, y) can be added to the first expansion region 710. Specifically, the distance can be determined... And determine whether d≤r1 holds true. If it does, add the grid (x,y) to the first expansion region 710.

[0046] According to one exemplary implementation of this disclosure, different identifiers can be used to represent the type of grid. For example, identifier 0 can be used to represent the unobstructed grid 244, identifier 1 can be used to represent the obstructed grid 242, and identifier 2 can be used to represent the first expansion region 710. It will be understood that the above identifiers are merely illustrative, and other identifiers can be used to represent different types of grids respectively. Figure 7As shown, similar processing can be performed on each unobstructed grid around the obstacle grid to determine the first expansion region 710 around the obstacle grid. Furthermore, identifier 2 can be used to indicate the type of each grid within the first expansion region 710.

[0047] It will be understood that, in order to avoid collisions between an object and an obstacle during movement, a safety interval (r) can be used. safe The first expansion radius is updated using this method. For example, a safety interval can be set to 0.1m (or another value), and the first expansion radius (r1+r) can be determined based on the sum of the first radius and the safety interval. safe At this point, when the distance between the center of the circle representing the object's outline and the obstacle reaches the first expansion radius, the actual distance between the object's outline and the obstacle is a safe interval. Using the exemplary implementation of this disclosure, a safe interval can be ensured between the object and the obstacle, thereby preventing collisions.

[0048] According to one exemplary implementation of this disclosure, the second expansion region can be determined in a similar manner. Figure 8 A block diagram 800 schematically illustrates a second expansion in a grid map 240 according to an exemplary implementation of the present disclosure. Specifically, the unobstructed grids surrounding the first expansion region 710 can be processed one by one; that is, the second expansion process can be performed on the grid with identifier 2. Assuming the location of the grid to be expanded is (a, b), for an unobstructed grid located at position (x, y) (where x ∈ [a-r2, a+r2] and y ∈ [b-r2, b+r2]), the distance between the unobstructed grid (x, y) and the grid to be expanded (a, b) can be compared one by one. If the distance is not higher than the second expansion radius, the unobstructed grid (x, y) can be added to the second expansion region 810. Specifically, the distance can be determined based on the following formula: And determine the relationship between d and the second expansion radius r2-r1. If d≤r2-r1, then add the unobstructed grid (x,y) to the second expansion region 248.

[0049] According to an exemplary implementation of this disclosure, a grid within the second expansion region 810 can be represented by identifier 3. Each grid in the first expansion region 710 can be processed in a similar manner to obtain, as... Figure 8 The second expansion region 810 is shown. According to an exemplary implementation of this disclosure, the second expansion radius can be updated based on a safety interval; for example, the second expansion radius can be expressed as r2-r1+r. safe This method prevents collisions between objects and obstacles.

[0050] return Figure 3At frame 340, collisions between object 110 and obstacles can be detected based on at least one first circle, at least one second circle, a set of obstacle grids, and an expansion region. Specifically, danger zones can be determined based on a set of obstacle grids 242, a first expansion region 710, and a second expansion region 810. In other words, areas marked 1, 2, and 3 in the grid map 240 can be considered danger zones. Further, the center positions of the various circles representing the object's outline (including at least one first circle and at least one second circle) can be compared with the danger zones to detect collisions between object 110 and obstacles. Using an exemplary implementation of this disclosure, the collision detection process can be simplified to determining whether the position of each circle's center is within a danger zone. If it is within a danger zone, a collision can be determined; otherwise, no collision can be determined.

[0051] See below. Figure 9 Describe more details about collision detection. Figure 9 A block diagram 900 schematically illustrates a collision detection between an object 110 and an obstacle according to an exemplary implementation of this disclosure. Figure 9 As shown, assuming position 910 represents the center position of the vehicle, that is, as Figure 4 The coordinate origin shown can be based on the vehicle's center position 910 and, as... Figure 4 The relative positions of the centers of the circles shown are used to determine the actual center positions. Furthermore, the presence or absence of a collision can be determined by comparing whether the center positions fall within a danger zone. Using the exemplary implementation of this disclosure, the complex process of detecting collisions between an object and an obstacle can be transformed into a simple geometric problem of determining whether a point (i.e., the center position) falls within a grid area represented by 1, 2, or 3. This approach significantly improves processing efficiency and enhances the accuracy and speed of collision detection.

[0052] According to an exemplary implementation of this disclosure, if the center of any one of a plurality of circles (including at least one first circle and at least one second circle) is located within a danger zone, a collision between the object and the obstacle can be determined. Figure 9 As shown, the position of each circle center can be determined based on position 910. At this time, the circle centers 214 and 224 are located within the second expansion region 810, so it can be determined that a collision exists.

[0053] At this point, if object 110 is moving, one or more center points can be selected based on the direction of movement of object 110. If object 110 is moving to the upper right along direction 930, center point 214 located in the upper right part of the object can be detected first. As long as center point 214 is within the danger zone, a collision can be determined and further detection can be stopped. Using the exemplary implementation of this disclosure, center points in object 110 at positions consistent with the direction of movement 930 can be detected first to identify the center point that first enters the danger zone. In this way, once a collision is detected, it is not necessary to detect whether other center points are within the danger zone, thus greatly reducing the computational load involved in collision detection.

[0054] It will be understood that if any circle is detected within the danger zone, a collision can be confirmed. Since the smaller circles represent the corners of the vehicle outline and are located at the outermost edge of the outline, it is possible to prioritize determining whether the center of the smaller circle is within the danger zone. If the determination is yes, a collision can be directly confirmed, and the positional relationship between the centers of other larger circles and the danger zone is no longer compared. In this way, collision detection efficiency can be improved, and the positional relationship between the centers of the larger circles representing the vehicle body and the danger zone can only be further detected if there is no collision at the four corners of the outline.

[0055] See below. Figure 10 More examples describing collision detection. Figure 10 A block diagram 1000 schematically illustrates a collision detection between an object and an obstacle according to an exemplary implementation of this disclosure. Figure 10 As shown, after determining that the centers of the four smaller circles are outside the danger zone, the relationship between the centers of the larger circles representing the vehicle body and the danger zone can be further investigated. If the center of any larger circle is within the danger zone, a collision can be determined. Figure 10 In the diagram, centers 1010 and 1020 are located within the danger zone, indicating a potential collision between the vehicle and the obstacle. Using this method, each center can be compared with the obstacle to determine whether it is within the danger zone, in descending order of the probability of a collision.

[0056] According to an exemplary implementation of this disclosure, if it is determined that the centers of all the circles representing the outline of an object are outside the danger zone, then it can be determined that there is no collision between the object and the obstacle. It will be understood that when the outline of an object is represented by multiple circles, it is only necessary to compare whether a few circles are within the danger zone. Compared to techniques that use rectangular regions to represent the outline of an object, using circles with different radii to represent the outline of an object reduces the number of locations to be compared while improving outline accuracy. In this way, the accuracy of collision detection can be improved and computational overhead reduced.

[0057] It will be understood that although the example above describes using multiple circles with two different radii to represent the outline of an object and using double dilation to process the raster map 240, according to an exemplary implementation of this disclosure, the outline of the object can be represented using more circles with different radii, and more dilation can be performed to process the raster map 240. For example, the outline of the object can be represented using small, medium, and large circles with different radii (radii r1, r2, and r3, respectively), in which case multiple dilations can be performed in ascending order of radius.

[0058] Specifically, the number of expansions can be determined based on the number of different radii, and the expansion radius can be set based on the difference between two consecutive radii. For example, the first expansion radius can be represented as r1, the second as r2-r1, and the third as r3-r2. According to an exemplary implementation of this disclosure, a safety interval can be used to update each expansion radius. Using the exemplary implementation of this disclosure, the outline of an object with a more complex shape can be represented using multiple circles, each with more radii. Furthermore, more expansions can be performed, with each expansion corresponding to a radius. In this way, the accuracy of collision detection can be further improved.

[0059] By utilizing the exemplary implementation of this disclosure, multiple circles with different radii can be used to more accurately represent the vehicle's outline. Therefore, during collision detection (especially when the vehicle is in a confined space), the positional relationship between the vehicle and surrounding obstacles can be determined more accurately. In this way, the accuracy of collision detection can be improved, and the safety of vehicle operation can be enhanced.

[0060] According to an exemplary implementation of this disclosure, the movement of an object can be further controlled based on collisions between the object and obstacles. For example, in examples of autonomous or assisted driving, if an obstacle is detected in the vehicle's direction of travel, automatic braking or an alert can be issued to prompt the driver to brake. Specifically, the predicted position of the vehicle at a future point in time can be estimated based on the vehicle's direction of travel and speed. Furthermore, the positions of the centers of various circles can be determined based on the predicted position, and a comparison between the positions of the center of the circles and the danger zone can be used to determine whether a collision will occur at that future point in time.

[0061] Figure 11 A block diagram 1100 of a raster map according to an exemplary implementation of the present disclosure is shown schematically. Figure 11A grid map 1110 is shown, in which black areas represent obstacles (e.g., obstacles 1130, 1132, etc.). The outline of vehicle 1120 can be represented using four small circles and multiple large circles, as described above. Furthermore, the grid containing the obstacle can be expanded using the method described above. Taking obstacle 1130 as an example, a danger zone 1132, as shown in the shaded area, can be obtained. Assuming vehicle 1120 travels along direction 1122, it can be determined whether the centers of the four small circles and multiple large circles fall within danger zone 1132 to detect whether a collision exists between vehicle 1120 and obstacle 1130. Furthermore, vehicle 1120 can be controlled based on the detection results.

[0062] Figure 12 A flowchart illustrating a method 1200 for controlling vehicle movement according to an exemplary implementation of this disclosure is shown schematically. Figure 12 As shown, in box 1210, the vehicle's position and speed can be obtained. In box 1220, the vehicle speed can be compared with a predetermined threshold (e.g., 0.01 m / s, or other values). If the judgment result is yes, method 1200 proceeds to box 1222, and the vehicle stops. If the judgment result is no, method 1200 proceeds to box 1230. In box 1230, the comfort (emergency) braking distance can be determined based on the vehicle speed and comfort (emergency) acceleration. Here, braking distance refers to the distance the vehicle travels before coming to a complete stop.

[0063] Furthermore, at box 1240, the travel distance can be predicted based on the collision detection method described above. Here, the travel distance refers to the distance the vehicle travels in the direction of motion. At box 1250, if the travel distance is greater than the braking distance, method 1200 proceeds to box 1252. That is, the vehicle is in a safe driving state at this point and braking is not required. If the judgment result at box 1250 is negative, method 1200 proceeds to box 1254 to further determine the relationship between the travel distance and the braking distance.

[0064] At box 1254, if the travel distance is greater than the braking distance, method 1200 proceeds to box 1256 and sets comfort braking. If the travel distance is less than or equal to the braking distance, method 1200 proceeds to box 1258 and sets emergency braking. Further, at box 1260, vehicle control parameters can be updated based on the braking mode set at boxes 1252, 1256, or 1258. At box 1270, the updated parameters can be used to control vehicle movement. Further, method 1200 can return to box 1210 to perform the vehicle control operation for the next cycle.

[0065] The vehicle's movement can be controlled using method 12 described above. According to an exemplary implementation of this disclosure, the driving distance `drive_distance` can be set to 0m in the initial stage. Vehicle control can be performed based on the following steps.

[0066] Step 1: If drive_distance > 2m, proceed to step 3; otherwise, proceed to the next step.

[0067] Step 2: The vehicle can travel in the predetermined direction. The vehicle position, drive_distance = drive_distance + 0.2, can be updated by a minimum distance (0.2m). At this point, collision detection can be performed based on the vehicle position. If a collision occurs, return drive_distance and proceed to step 3; otherwise, return to step 1.

[0068] Step 3: The vehicle speed v can be obtained, as well as the comfortable braking acceleration (acc1 = 1 m / s²). 2 ) and emergency braking acceleration (acc2 = 3 m / s²) 2 The comfortable braking distance d_break1 = v can be calculated based on the vehicle speed using the following formula. 2 / (2*acc1) and emergency braking distance d_break2=v 2 / (2*acc2). Furthermore, the decision to brake can be based on the following steps:

[0069] Step 3.1: If drive_distance > d_break1 + 0.2, then it is safe for the vehicle to continue in the current direction and no braking is required;

[0070] Step 3.2: If drive_distance ≤ d_break1 + 0.2 and drive_distance > d_break1, comfort braking can be used. A comfort braking command can be sent to the vehicle controller, and braking can be performed according to the comfort braking acceleration.

[0071] Step 3.3: If drive_distance ≤ d_break1, the vehicle is too close to the obstacle in the direction of travel, and emergency braking is required to avoid a collision. A comfort braking command can be sent to the vehicle controller, along with emergency braking acceleration.

[0072] Using the exemplary implementations of this disclosure, accurate collision detection and vehicle braking when necessary can be performed based on double (or more) expansion. Although the collision detection and corresponding braking process are described above using a vehicle as an example, the techniques described above can also be used in other application environments. For example, multiple circles can be used to represent the outline of a robot (e.g., a robotic vacuum cleaner), and a grid map can be used to plan the robot's trajectory. Typically, robotic vacuum cleaners operate in relatively confined spaces, which can significantly improve collision detection efficiency in such environments, thereby enabling more efficient control of the robot's movement.

[0073] It will be understood that although the above description uses a circle as an example to illustrate a technical solution for simulating the outline of an object using different shapes to achieve collision detection, other shapes can also be used to implement the method described above, according to an exemplary implementation of this disclosure. For example, a polygon can be used to simulate the outline of an object, and the shape parameters can be contour functions of the polygon (e.g., determined by the number and length of the polygon's sides). As another example, an ellipse can be used to simulate the outline of an object, and the shape parameters can be contour functions of the ellipse (e.g., determined by the two radii of the ellipse). Furthermore, other irregular shapes can be used to simulate the outline of an object.

[0074] Compared to using a single circle to simulate the outline of an object, using different shapes with different shape parameters can more accurately simulate the outline of the object, thereby improving the accuracy of subsequent collision detection.

[0075] See above Figures 2 to 12 A method for detecting collisions between an object and an obstacle is described. According to an exemplary implementation of this disclosure, an apparatus for detecting collisions between an object and an obstacle is provided. The apparatus includes: a representation module configured to represent the outline of an object based on at least one first shape having a first shape parameter and at least one second shape having a second shape parameter, the first shape parameter being different from the second shape parameter; an acquisition module configured to acquire a grid map representing obstacles in a detection region, the grid map including a set of obstacle grids covered by obstacles and a set of unobstructed grids not covered by obstacles in the detection region; a determination module configured to determine an expansion region around the set of obstacle grids based on the first shape parameter and the second shape parameter; and a detection module configured to detect a collision between the object and the obstacle based on at least one first shape, at least one second shape, the set of obstacle grids, and the expansion region.

[0076] According to an exemplary implementation of this disclosure, the first shape and the second shape respectively include a first circle and a second circle, and the first shape parameter and the second shape parameter respectively include a first radius and a second radius.

[0077] According to an exemplary implementation of this disclosure, the representation module includes: a vertex representation module configured to represent the vertices of the polygon based on at least one first circle in response to determining that the outline of the object is a polygon; a body representation module configured to represent the portion of the polygon other than the vertices based on at least one second circle, the first radius being smaller than the second radius; and an outline representation module configured to represent the outline of the object based on the centers of at least one first circle and at least one second circle.

[0078] According to an exemplary implementation of this disclosure, the acquisition module includes: a division module configured to divide the detection area into multiple grids according to a predetermined size; a first identification module configured to, for a grid among the multiple grids, identify a grid as an obstacle grid in a set of obstacle grids in response to determining that the grid is covered by an obstacle; and a second identification module configured to, in response to determining that the grid is not covered by an obstacle, identify a grid as an unobstructed grid in a set of unobstructed grids.

[0079] According to an exemplary implementation of this disclosure, the expansion region includes a first expansion region and a second expansion region, and the determining module includes: a first expansion module configured to determine the first expansion region around a set of barrier grids based on a first radius; and a second expansion module configured to determine the second expansion region around the first expansion region based on the first radius and the second radius.

[0080] According to an exemplary implementation of this disclosure, the first expansion module includes: a first radius determination module configured to determine a first expansion radius based on a first radius for an unobstructed grid surrounding a set of obstacle grids; and a first addition module configured to add an unobstructed grid to a first expansion region in response to determining that the distance between the unobstructed grid and the set of obstacle grids is not higher than the first expansion radius.

[0081] According to an exemplary implementation of this disclosure, a second expansion module is configured to include: a second radius determination module, configured to determine a second expansion radius based on a first radius and a second radius for an unobstructed grid surrounding a first expansion region grid; and a second addition module, configured to add an unobstructed grid to the second expansion region in response to determining that the distance between the unobstructed grid and the first expansion region is not higher than the second expansion radius.

[0082] According to an exemplary implementation of this disclosure, the apparatus further includes: an update module configured to update the first expansion radius and the second expansion radius based on a predetermined safety interval.

[0083] According to an exemplary implementation of this disclosure, the detection module includes: a danger zone determination module configured to determine a danger zone based on a set of obstacle grids, a first expansion region, and a second expansion region; and a collision detection module configured to detect a collision between an object and an obstacle based on a comparison of the center of at least one of a first circle and at least one of a second circle with the danger zone.

[0084] According to an exemplary implementation of this disclosure, the collision detection module includes: a first detection module configured to determine that a collision exists between an object and an obstacle in response to determining that the center of any one of at least one first circle and at least one second circle is located within a danger zone; and a second detection module configured to determine that no collision exists between the object and the obstacle in response to determining that the centers of all of the at least one first circle and at least one second circle are located outside the danger zone.

[0085] According to an exemplary implementation of this disclosure, the first detection module is further configured to determine that a collision exists between the object and the obstacle in response to determining that the center of any one of the at least one first circle is located within the danger zone.

[0086] According to an exemplary implementation of this disclosure, the first detection module includes: a selection module configured to select a circle from at least one first circle based on the object's direction of motion; and the first detection module is further configured to determine that a collision exists between the object and the obstacle in response to determining that the center of the selected circle is within a danger zone.

[0087] According to an exemplary implementation of this disclosure, the second detection module is invoked in response to: determining that the centers of all the circles in at least one of the first circles are outside the danger zone, and the second detection module is further configured to determine that a collision exists between the object and the obstacle in response to determining that the center of any one of the circles in at least one of the second circles is inside the danger zone.

[0088] According to an exemplary implementation of this disclosure, the device further includes: a control module configured to control the movement of the object based on a collision between the object and an obstacle.

[0089] According to an exemplary implementation of this disclosure, the centers of at least one first circle and at least one second circle are determined based on the predicted position of the object, and the control module includes an update module configured to update the motion control parameters of the object in response to determining that a collision exists between the object and an obstacle.

[0090] According to an exemplary implementation of this disclosure, the first shape and the second shape are selected from at least one of the following: polygon, ellipse, irregular curve shape, and the first shape parameter and the second shape parameter are respectively the first contour function and the second contour function of the first shape and the second shape.

[0091] Figure 13 A block diagram schematically illustrates a computing device / server for detecting collisions between an object and an obstacle, according to an exemplary implementation of this disclosure. It should be understood that... Figure 13 The computing device / server 1300 shown is merely exemplary and should not be construed as limiting the functionality and scope of the embodiments described herein.

[0092] like Figure 13 As shown, the computing device / server 1300 is in the form of a general-purpose computing device. Components of the computing device / server 1300 may include, but are not limited to, one or more processors or processing units 1310, memory 1320, storage devices 1330, one or more communication units 1340, one or more input devices 1350, and one or more output devices 1360. The processing unit 1310 may be a physical or virtual processor and is capable of performing various processes according to programs stored in memory 1320. In a multiprocessor system, multiple processing units execute computer-executable instructions in parallel to improve the parallel processing capabilities of the computing device / server 1300.

[0093] The computing device / server 1300 typically includes multiple computer storage media. Such media can be any available media accessible to the computing device / server 1300, including but not limited to volatile and non-volatile media, removable and non-removable media. Memory 1320 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 1330 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 (e.g., training data for training) and can be accessed within the computing device / server 1300.

[0094] The computing device / server 1300 may further include additional removable / non-removable, volatile / non-volatile storage media. Although not explicitly stated... Figure 13 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 1320 may include computer program product 1325 having one or more program modules configured to perform various methods or actions of various embodiments of this disclosure.

[0095] The communication unit 1340 enables communication with other computing devices via a communication medium. Additionally, the functionality of the components of the computing device / server 1300 can be implemented as a single computing cluster or multiple computing machines capable of communicating via communication connections. Therefore, the computing device / server 1300 can operate in a networked environment using logical connections to one or more other servers, network personal computers (PCs), or another network node.

[0096] Input device 1350 can be one or more input devices, such as a mouse, keyboard, trackball, etc. Output device 1360 can be one or more output devices, such as a monitor, speaker, printer, etc. Computing device / server 1300 can also communicate as needed with one or more external devices (not shown) via communication unit 1340. These external devices include storage devices, display devices, etc., and can communicate with one or more devices that enable user interaction with computing device / server 1300, or with any device (e.g., network card, modem, etc.) that enables computing device / server 1300 to communicate with one or more other computing devices. Such communication can be performed via input / output (I / O) interfaces (not shown).

[0097] According to an exemplary implementation of this disclosure, a computer-readable storage medium is provided that stores one or more computer instructions thereon, wherein one or more computer instructions are executed by a processor to implement the methods described above.

[0098] Various aspects of this disclosure are described herein with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), 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.

[0099] 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.

[0100] Computer-readable program instructions may also 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.

[0101] 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.

[0102] 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 implementations disclosed herein.

Claims

1. A method for detecting collisions between an object and an obstacle, comprising: The outline of the object is represented by at least one first shape having a first shape parameter and at least one second shape having a second shape parameter, wherein the first shape parameter is different from the second shape parameter; Obtain a grid map representing the obstacles in the detection area, the grid map including a set of obstacle grids covered by the obstacles and a set of unobstructed grids not covered by the obstacles in the detection area; The expansion region around the set of barrier grids is determined based on the first shape parameter and the second shape parameter; as well as The collision between the object and the obstacle is detected based on the at least one first shape, the at least one second shape, the set of obstacle grids, and the expansion region; wherein the first shape and the second shape respectively include a first circle and a second circle, and the first shape parameter and the second shape parameter respectively include a first radius and a second radius; The outline representing the object includes: in response to determining that the outline of the object is a polygon, representing the vertices of the polygon based on the at least one first circle; representing the portion of the polygon other than the vertices based on the at least one second circle, wherein the first radius is smaller than the second radius; and representing the outline of the object based on the centers of the at least one first circle and the at least one second circle, wherein the bulging region includes a first bulging region and a second bulging region; The detection of the collision between the object and the obstacle includes: Based on the set of obstacle grids, the first expansion region, and the second expansion region, a danger zone is determined; and based on a comparison of the center of one of the at least one first circle and the at least one second circle with the danger zone, a collision between the object and the obstacle is detected; wherein detecting the collision based on the comparison includes: determining that a collision exists between the object and the obstacle in response to determining that the center of any one of the at least one first circle and the at least one second circle is located within the danger zone; wherein determining that a collision exists between the object and the obstacle includes: determining that the center of any one of the at least one first circle is located within the danger zone. Within the danger zone, determining that a collision exists between the object and the obstacle; further comprising: selecting a circle from the at least one first circle based on the object's direction of motion; and determining that a collision exists between the object and the obstacle in response to determining that the center of the selected circle is within the danger zone; further comprising: determining whether the center of a circle in the at least one second circle is within the danger zone in response to determining that the centers of all circles in the at least one first circle are outside the danger zone; and determining that a collision exists between the object and the obstacle in response to determining that the center of any one of the at least one second circle is within the danger zone.

2. The method according to claim 1, wherein obtaining the raster map comprises: The detection area is divided into multiple grids according to a predetermined size; For a grid among the plurality of grids, in response to determining that the grid is covered by the obstacle, the grid is identified as an obstacle grid in the set of obstacle grids; as well as In response to determining that the grid is not covered by the obstacle, the grid is identified as an accessible grid in the set of accessible grids.

3. The method according to claim 1, wherein determining the expansion region comprises: Based on the first radius, the first expansion region is determined around the set of barrier grids; as well as Based on the first radius and the second radius, a second expansion region is determined around the first expansion region.

4. The method of claim 3, wherein determining the first expansion region comprises: For the set of barrier grids surrounding the barrier grids, The first expansion radius is determined based on the first radius; as well as In response to determining that the distance between the barrier-free grid and the set of barrier grids is not higher than the first expansion radius, the barrier-free grid is added to the first expansion region.

5. The method of claim 4, wherein determining the second inflated region comprises: For the unobstructed grid surrounding the first expanded region grid, The second expansion radius is determined based on the first radius and the second radius; as well as In response to determining that the distance between the barrier-free grid and the first expansion region is not higher than the second expansion radius, the barrier-free grid is added to the second expansion region.

6. The method of claim 5, further comprising: The first expansion radius and the second expansion radius are updated based on a predetermined safety interval.

7. The method of claim 1, wherein detecting the collision based on the comparison comprises: In response to determining that the centers of all of the at least one first circle and the at least one second circle are outside the danger zone, it is determined that there is no collision between the object and the obstacle.

8. The method of claim 1, further comprising: The movement of the object is controlled based on the collision between the object and the obstacle.

9. The method of claim 8, wherein a center of a circle of the at least one first circle and the at least one second circle is determined based on a predicted position of the object, and controlling the motion of the object comprises: In response to determining that a collision exists between the object and the obstacle, the motion control parameters of the object are updated.

10. The method of claim 1, wherein the first shape and the second shape are selected from at least one of the following: polygon, ellipse, irregular curve shape, and the first shape parameter and the second shape parameter are respectively a first contour function and a second contour function of the first shape and the second shape.

11. An apparatus for detecting collisions between an object and an obstacle, comprising: The representation module is configured to represent the outline of the object based on at least one first shape having a first shape parameter and at least one second shape having a second shape parameter, wherein the first shape parameter is different from the second shape parameter; The acquisition module is configured to acquire a grid map representing the obstacles in the detection area, the grid map including a set of obstacle grids covered by the obstacles and a set of unobstructed grids not covered by the obstacles in the detection area; The determining module is configured to determine the expansion region around the set of barrier grids based on the first shape parameter and the second shape parameter; as well as A detection module is configured to detect a collision between the object and the obstacle based on the at least one first shape, the at least one second shape, the set of obstacle grids, and the expanded region; wherein the first shape and the second shape respectively include a first circle and a second circle, and the first shape parameters and the second shape parameters respectively include a first radius and a second radius; wherein the representation module includes: a vertex representation module configured to represent the vertices of the polygon based on the at least one first circle in response to determining that the outline of the object is a polygon; and a body representation module. The system is configured to represent the portion of the polygon other than the vertices based on at least one second circle, wherein the first radius is smaller than the second radius; and a contour representation module configured to represent the contour of the object based on the centers of the at least one first circle and the at least one second circle, wherein the bulging region includes a first bulging region and a second bulging region; wherein the detection module includes: a danger zone determination module configured to determine a danger zone based on the set of obstacle grids, the first bulging region, and the second bulging region; and a collision detection module configured to detect a collision between the object and the obstacle based on a comparison of the center of one of the at least one first circle and the at least one second circle with the danger zone; wherein the collision detection module includes: a first detection module configured to, in response to determining that the center of any one of the at least one first circle and the at least one second circle is located within the danger zone. Within the danger zone, a collision is determined between the object and the obstacle; wherein, a first detection module is further configured to determine the collision between the object and the obstacle in response to determining that the center of any one of the at least one first circles is within the danger zone; the first detection module includes: a selection module configured to select one circle from the at least one first circle based on the direction of movement of the object; and to determine the collision between the object and the obstacle in response to determining that the center of the selected circle is within the danger zone; a second detection module is configured to determine whether the center of any one of the at least one second circle is within the danger zone in response to determining that the center of all the circles in the at least one first circle is outside the danger zone; and to determine the collision between the object and the obstacle in response to determining that the center of any one of the at least one second circle is within the danger zone.

12. An electronic device, comprising: Memory and processor; The memory is used to store one or more computer instructions, wherein the one or more computer instructions are executed by the processor to implement the method according to any one of claims 1 to 10.

13. A computer readable storage medium having stored thereon one or more computer instructions, wherein the one or more computer instructions, when executed by a processor, implement the method according to any one of claims 1 to 10.

14. A computer program product comprising computer programs / instructions, wherein the computer programs / instructions, when executed by a processor, implement the method according to any one of claims 1 to 10.

Citation Information

Patent Citations

  • Collision detection method and device based on distance transformation diagram

    CN111591288A

  • Obstacle map construction method, device and equipment and storage medium

    CN112729320A