Robot planning path verification method, device, storage medium and electronic equipment

By constructing the obstacle point index structure and configuring the contour point in the robot's planning path, the minimum obstacle distance of the computer robot at the path point solves the problem of inefficient computing in the prior art, and achieves more efficient and accurate obstacle distance calculation.

CN114510053BActive Publication Date: 2025-03-21BEIJING JINGDONG QIANSHITECHNOLOGY CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210146316.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-02-17
Publication Date
2025-03-21
Estimated Expiration
2042-02-17

AI Technical Summary

Technical Problem

The prior art is inefficient when calculating the minimum distance between an obstacle and a robot, affecting the efficiency of trajectory planning path feasibility checks.

Method used

By determining whether there is a target obstacle point at each path point in the robot's planned path, and building an obstacle point index structure and configuring the robot's contour point based on the location of the obstacle point, the minimum obstacle distance of the computer robot at the path point is used.

Benefits of technology

The complexity of the construction and search of obstacle point index structure is reduced, the calculation speed of the minimum obstacle distance is improved, and the accuracy of distance calculation is improved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114510053B_ABST
    Figure CN114510053B_ABST
Patent Text Reader

Abstract

The present disclosure relates to a robot technology field, and specifically to a robot planning path verification method, device, storage medium and electronic device, the robot planning path verification method comprising: determining a path point in the robot's planned path, and judging whether there is a target obstacle point to be verified at the path point based on obstacle detection information; when there is a target obstacle point, constructing a corresponding obstacle point index structure based on the position of the target obstacle point relative to the robot and configuring the corresponding robot contour point; wherein the position includes the left side and the right side; determining the minimum obstacle distance of the robot at the path point according to the contour point and the obstacle point index structure; traversing all the path points in the planned path to determine the verification result of the planned path according to the minimum obstacle distance of the robot at each path point. The robot planning path verification method provided by the present disclosure can efficiently and accurately calculate the minimum distance between the obstacle and the robot.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the technical field of robots, and in particular to a robot planning path verification method, a robot planning path verification device, a storage medium and an electronic device. Background Art

[0002] Mobile robot systems usually need to perform feasibility checks on the planned paths during trajectory planning. The most important thing is to check whether the distance between the obstacle and the robot at different path points meets the constraint of the minimum distance between the obstacle and the robot. When the distance between the obstacle and the robot is less than the specified minimum distance between the obstacle and the robot, the planned path is considered unexecutable.

[0003] The existing technology usually calculates the distance between the obstacle and the edge on the corresponding polygon of the robot to determine whether the shortest distance between the obstacle and the robot meets the feasibility check of the path obstacle distance. When there are many obstacles, the calculation of the minimum distance between the obstacle and the robot takes a long time, which affects the efficiency of the trajectory planning path feasibility check.

[0004] It should be noted that the information disclosed in the above background technology section is only used to enhance the understanding of the background of the present disclosure, and therefore may include information that does not constitute the prior art known to ordinary technicians in the field. Summary of the invention

[0005] The purpose of the present disclosure is to provide a robot planning path verification method, a robot planning path verification device, a storage medium and an electronic device, aiming to efficiently and accurately calculate the minimum distance between an obstacle and a robot.

[0006] Other features and advantages of the present disclosure will become apparent from the following detailed description, or may be learned in part by the practice of the present disclosure.

[0007] According to one aspect of an embodiment of the present disclosure, a robot planning path verification method is provided, comprising: determining a path point in a planned path of the robot, and judging whether there is a target obstacle point to be verified at the path point based on obstacle detection information; when the target obstacle point exists, constructing a corresponding obstacle point index structure based on the position of the target obstacle point relative to the robot and configuring corresponding contour points of the robot; wherein the position includes a left side and a right side; determining a minimum obstacle distance of the robot at the path point according to the contour point and the obstacle point index structure; and traversing all path points in the planned path to determine a verification result of the planned path according to the minimum obstacle distance of the robot at each of the path points.

[0008] According to some embodiments of the present disclosure, based on the aforementioned scheme, the method also includes: drawing the robot as a convex polygon composed of points and line segments according to the size information of the robot; determining a path coverage area according to the convex polygon to configure the path points in the planned path according to the path coverage area; and determining a side set in the convex polygon to configure the contour points in the side set.

[0009] According to some embodiments of the present disclosure, based on the aforementioned scheme, the judging whether there is a target obstacle point to be verified at the path point based on the obstacle detection information includes: establishing a local coordinate system based on the driving direction of the robot at the path point, and determining the coordinates of the detected obstacle point in the local coordinate system according to the obstacle detection information; judging whether there is a first obstacle point in the obstacle search area according to the coordinates of the obstacle point and the obstacle search radius; when judging whether the first obstacle point exists, judging whether the first obstacle point is outside the robot based on the coordinates of the first obstacle point and the convex polygon of the robot; when judging that the first obstacle point is outside the robot, marking the first obstacle point as the target obstacle point.

[0010] According to some embodiments of the present disclosure, based on the aforementioned scheme, the method of judging whether the first obstacle point is outside the robot based on the coordinates of the first obstacle point and the convex polygon of the robot includes: connecting the coordinates of the first obstacle point with the origin of the local coordinate system to obtain an obstacle point line segment; when the obstacle point line segment intersects with the convex polygon, judging that the first obstacle point is outside the robot.

[0011] According to some embodiments of the present disclosure, based on the aforementioned scheme, the method also includes: determining the position of the target obstacle point relative to the robot, and the determining the position of the target obstacle point relative to the robot includes: determining a unit vector based on the driving direction of the robot at the path point, and determining the obstacle point vector according to the coordinates of the target obstacle point; when the cross product result of the obstacle point vector and the unit vector is positive, judging that the target obstacle point is located on the left side of the robot; when the cross product result of the obstacle point vector and the unit vector is negative, judging that the target obstacle point is located on the right side of the robot.

[0012] According to some embodiments of the present disclosure, based on the aforementioned scheme, when the target obstacle point is located on the opposite side of the robot, determining the minimum obstacle distance of the robot at the path point according to the contour points and the obstacle point index structure includes: determining the left minimum obstacle distance of the robot at the path point according to the configured left contour points of the robot and the constructed left obstacle point index structure; and determining the right minimum obstacle distance of the robot at the path point according to the configured right contour points of the robot and the constructed right obstacle point index structure; and comparing the left minimum obstacle distance and the right minimum obstacle distance to determine the minimum obstacle distance.

[0013] According to some embodiments of the present disclosure, based on the aforementioned scheme, when the target obstacle point is located on the same side of the robot, determining the minimum obstacle distance of the robot at the path point according to the contour point and the obstacle point index structure includes: determining the left minimum obstacle distance of the robot at the path point according to the configured left contour point of the robot and the constructed left obstacle point index structure; or determining the right minimum obstacle distance of the robot at the path point according to the configured right contour point of the robot and the constructed right obstacle point index structure; using the left minimum obstacle distance or the right minimum obstacle distance as the minimum obstacle distance.

[0014] According to some embodiments of the present disclosure, based on the aforementioned scheme, the left-side minimum obstacle distance of the robot at the path point is determined according to the configured left-side contour points of the robot and the constructed left-side obstacle point index structure, including: traversing the left-side contour points of the robot, determining the nearest obstacle point corresponding to each left-side contour point based on the left-side obstacle point index structure and calculating the conventional obstacle distance corresponding to each left-side contour point; determining at least one candidate nearest obstacle point from the nearest obstacle points based on the conventional obstacle distance corresponding to each left-side contour point; calculating the fine obstacle distance corresponding to each of the candidate nearest obstacle points, and taking the fine obstacle distance with the smallest distance value as the left-side minimum obstacle distance.

[0015] According to some embodiments of the present disclosure, based on the aforementioned scheme, the method further includes: determining a nearest obstacle point corresponding to a left contour point based on the left obstacle point index structure and calculating a conventional obstacle distance corresponding to the left contour point, including: querying the obstacle point with the smallest distance value to the left contour point from the left obstacle point index structure as the nearest obstacle point corresponding to the left contour point; calculating the distance between the left contour point and the nearest obstacle point corresponding to the left contour point to obtain the conventional obstacle distance corresponding to the left contour point.

[0016] According to some embodiments of the present disclosure, based on the aforementioned scheme, determining at least one candidate nearest obstacle point from the nearest obstacle point based on the conventional obstacle distances corresponding to the respective left contour points includes: sorting the conventional obstacle distances corresponding to the respective left contour points to obtain a distance sorting result; selecting a preset number of the conventional obstacle distances according to the distance sorting result to obtain at least one candidate left contour point corresponding to each of the conventional obstacle distances; and determining the nearest obstacle point corresponding to the candidate left contour point as the candidate nearest obstacle point.

[0017] According to some embodiments of the present disclosure, based on the aforementioned scheme, the calculation of the fine obstacle distance corresponding to each candidate nearest obstacle point includes: determining the contour line segment in the convex polygon of the robot based on the left contour point corresponding to the candidate nearest obstacle point; calculating the distance between the candidate nearest obstacle point and the contour line segment as the fine obstacle distance corresponding to the candidate nearest obstacle point.

[0018] According to some embodiments of the present disclosure, based on the aforementioned scheme, the verification result of the planned path is determined according to the minimum obstacle distance of the robot at each of the path points, including: comparing the minimum obstacle distance at each of the path points with the minimum pass distance respectively; when the minimum obstacle distance is less than the minimum pass distance, judging that the verification result of the planned path is impassable.

[0019] According to a second aspect of an embodiment of the present disclosure, a robot planning path verification device is provided, comprising: a judgment module, used to determine a path point in the planned path of the robot, and judge whether there is a target obstacle point to be verified at the path point based on obstacle detection information; a preparation module, used to configure the corresponding contour point of the robot and construct an obstacle point index structure based on the position of the target obstacle point relative to the robot when the target obstacle point exists; wherein the position includes a left side and a right side; a calculation module, used to determine the minimum obstacle distance of the robot at the path point according to the contour point and the obstacle point index structure; and a verification module, used to traverse all the path points in the planned path to determine the verification result of the planned path according to the minimum obstacle distance of the robot at each of the path points.

[0020] According to a third aspect of an embodiment of the present disclosure, there is provided a computer-readable storage medium having a computer program stored thereon, wherein when the program is executed by a processor, the robot planning path verification method as in the above-mentioned embodiment is implemented.

[0021] According to the fourth aspect of the embodiments of the present disclosure, an electronic device is provided, characterized in that it includes: one or more processors; a storage device for storing one or more programs, when the one or more programs are executed by the one or more processors, the one or more processors implement the robot planning path verification method as in the above-mentioned embodiments.

[0022] The exemplary embodiments of the present disclosure may have some or all of the following beneficial effects:

[0023] In the technical solutions provided in some embodiments of the present disclosure, for each path point in the planned path of the robot, the minimum obstacle distance of the robot at the path point is calculated to determine the verification result of the planned path; when calculating the minimum obstacle distance, it is necessary to construct a corresponding obstacle point index structure according to the position of the target obstacle point relative to the robot and configure the corresponding robot contour points to calculate the minimum obstacle distance. On the one hand, it is necessary to construct a corresponding obstacle point index structure according to the position of the target obstacle point relative to the robot, so as to distinguish the obstacle points on both sides of the robot, thereby reducing the number of obstacle points in the obstacle point index structure on each side, reducing the complexity of obstacle point index structure construction and search during distance calculation, and speeding up the calculation speed of the minimum obstacle distance; on the other hand, configuring the robot's contour points for distance calculation can improve the accuracy of the minimum obstacle distance compared to the traditional method of using the robot's edge calculation.

[0024] It is to be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the present disclosure. BRIEF DESCRIPTION OF THE DRAWINGS

[0025] The drawings herein are incorporated into the specification and constitute a part of the specification, showing embodiments consistent with the present disclosure, and together with the specification, are used to explain the principles of the present disclosure. Obviously, the drawings described below are only some embodiments of the present disclosure, and for ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work. In the drawings:

[0026] Figure 1 A schematic diagram schematically illustrates a flow chart of a robot planning path verification method in an exemplary embodiment of the present disclosure;

[0027] Figure 2 (a) schematically shows a schematic diagram of path points of a planned path in an exemplary embodiment of the present disclosure;

[0028] Figure 2 (b) schematically shows a path point diagram of another planned path in an exemplary embodiment of the present disclosure;

[0029] Figure 3 A schematic diagram schematically illustrates a flow chart of a method for determining a target obstacle point in an exemplary embodiment of the present disclosure;

[0030] Figure 4 A schematic diagram schematically illustrates a local coordinate system in an exemplary embodiment of the present disclosure;

[0031] Figure 5 A schematic diagram schematically illustrates a flow chart of a method for determining a relative position of a target obstacle point in an exemplary embodiment of the present disclosure;

[0032] Figure 6 A schematic diagram schematically illustrates a flow chart of a method for calculating the minimum obstacle distance on the left side in an exemplary embodiment of the present disclosure;

[0033] Figure 7 A schematic diagram schematically shows the composition of a robot planning path verification device in an exemplary embodiment of the present disclosure;

[0034] Figure 8 A schematic diagram schematically illustrates a computer-readable storage medium in an exemplary embodiment of the present disclosure;

[0035] Fig. 9 The structure diagram of a computer system of an electronic device in an exemplary embodiment of the present disclosure is schematically shown. DETAILED DESCRIPTION

[0036] Example embodiments will now be described more fully with reference to the accompanying drawings. However, example embodiments can be implemented in a variety of forms and should not be construed as limited to the examples set forth herein; rather, these embodiments are provided so that this disclosure will be more comprehensive and complete and will fully convey the concept of the example embodiments to those skilled in the art.

[0037] In addition, the described features, structures or characteristics may be combined in one or more embodiments in any suitable manner. In the following description, many specific details are provided to provide a full understanding of the embodiments of the present disclosure. However, those skilled in the art will appreciate that the technical solutions of the present disclosure may be practiced without one or more of the specific details, or other methods, components, devices, steps, etc. may be adopted. In other cases, known methods, devices, implementations or operations are not shown or described in detail to avoid blurring the various aspects of the present disclosure.

[0038] The block diagrams shown in the accompanying drawings are merely functional entities and do not necessarily correspond to physically independent entities. That is, these functional entities may be implemented in software form, or in one or more hardware modules or integrated circuits, or in different networks and / or processor devices and / or microcontroller devices.

[0039] The flowcharts shown in the accompanying drawings are only exemplary and do not necessarily include all the contents and operations / steps, nor must they be executed in the order described. For example, some operations / steps can be decomposed, and some operations / steps can be combined or partially combined, so the actual execution order may change according to actual conditions.

[0040] Mobile robot systems usually include environmental map construction, positioning, environmental perception, decision-making, path planning, behavior control and execution. In trajectory planning, mobile robot systems need to verify the feasibility of the planned path. The most important thing is to check whether the distance between the obstacle and the robot at different path points meets the constraint of the minimum distance of the obstacle. When the distance between the obstacle and the robot is less than the specified minimum distance between the obstacle and the robot, the planned path is considered unexecutable. Therefore, an efficient and effective obstacle distance calculation method is conducive to quickly and accurately judging whether the path of trajectory planning is feasible.

[0041] In the prior art, a mobile robot can usually be regarded as a convex polygon, and the distance of an obstacle relative to a line segment in the convex polygon is calculated to determine whether the shortest distance between the obstacle and the robot satisfies the feasibility check of the path obstacle distance.

[0042] For example, the pseudo code of a distance calculation algorithm in the prior art is as follows:

[0043]

[0044] This calculation method takes a long time when there are many obstacle points to be checked, which affects the efficiency of the feasibility check of the trajectory planning path.

[0045] Therefore, in response to the defects in the prior art, the present invention provides a robot planning trajectory verification method, which constructs obstacle point index structures on different sides according to whether the obstacle is located on the left side or the right side of the robot, thereby reducing the complexity of obstacle point index structure construction and search, improving the efficiency of distance calculation, and taking points on the edges on both sides of the robot polygon to improve the accuracy of distance calculation.

[0046] The implementation details of the technical solution of the embodiment of the present disclosure are elaborated in detail below.

[0047] Figure 1 The following is a schematic diagram of a process flow of a robot planning path verification method in an exemplary embodiment of the present disclosure. Figure 1 As shown, the robot planning path verification method includes steps S101 to S104:

[0048] Step S101, determining a path point in the planned path of the robot, and judging whether there is a target obstacle point to be checked at the path point based on obstacle detection information;

[0049] Step S102, when the target obstacle point exists, configuring the corresponding contour point of the robot and constructing the corresponding obstacle point index structure based on the position of the target obstacle point relative to the robot; wherein the position includes the left side and the right side;

[0050] Step S103, determining the minimum obstacle distance of the robot at the path point according to the contour point and the obstacle point index structure;

[0051] Step S104, traversing all the path points in the planned path to determine the verification result of the planned path according to the minimum obstacle distance of the robot at each of the path points.

[0052] In the technical solutions provided in some embodiments of the present disclosure, for each path point in the planned path of the robot, the minimum obstacle distance of the robot at the path point is calculated to determine the verification result of the planned path; when calculating the minimum obstacle distance, it is necessary to construct a corresponding obstacle point index structure according to the position of the target obstacle point relative to the robot and configure the corresponding robot contour points to calculate the minimum obstacle distance. On the one hand, it is necessary to construct a corresponding obstacle point index structure according to the position of the target obstacle point relative to the robot, so as to distinguish the obstacle points on both sides of the robot, thereby reducing the number of obstacle points in the obstacle point index structure on each side, reducing the complexity of obstacle point index structure construction and search during distance calculation, and speeding up the calculation speed of the minimum obstacle distance; on the other hand, configuring the robot's contour points for distance calculation can improve the accuracy of the minimum obstacle distance compared to the traditional method of using the robot's edge calculation.

[0053] Below, each step of the robot planning path verification method in this example implementation will be described in more detail with reference to the accompanying drawings and embodiments.

[0054] In step S101, a path point in the planned path of the robot is determined, and based on the obstacle detection information, it is determined whether there is a target obstacle point to be checked at the path point.

[0055] In one embodiment of the present disclosure, trajectory planning is to assign path time information to the path points of the robot path planning, which can be used to plan the speed and acceleration of the robot when performing a task to meet requirements such as smoothness and controllability.

[0056] When there are obstacles near the path points, the trajectory planning needs to meet the minimum obstacle distance requirement, so it is necessary to verify whether the path after trajectory planning meets the minimum obstacle distance requirement. Only when all path points meet the minimum obstacle distance requirement, the path meets the requirement. Therefore, when verifying the planned path, it is necessary to verify the obstacle distance constraint of the robot at each path point in the planned path.

[0057] The robot is regarded as a convex polygon. The convex polygon of the robot at each path point needs to completely cover the detection area of ​​the planned path, so the path points can be configured according to this principle.

[0058] Specifically, the robot is first drawn as a convex polygon composed of points and line segments according to the size information of the robot, and then the path coverage area is determined according to the convex polygon, so as to configure the path points in the planned path according to the path coverage area.

[0059] It should be noted that obstacle detection information can usually be obtained based on the robot's sensors. In this case, affected by the sensor's detection range and viewing angle, only obstacle detection information near the robot can be obtained. Therefore, considering this factor, when performing path verification, a section of the planned path can be taken for verification at the robot's current position during the robot's movement to detect obstacle distances at the path points in this small section of the path. This can also make the verification results more real-time and improve accuracy.

[0060] In other embodiments, obstacle detection information can be obtained by sensors distributed at various locations in the warehouse. In this case, the detection information will no longer be limited by the position of the robot, so the entire planned path can be verified directly based on the global obstacle detection information, reducing the steps of selecting path segments and simplifying the verification process.

[0061] Figure 2 (a) schematically shows a schematic diagram of path points of a planned path in an exemplary embodiment of the present disclosure, Figure 2 (b) schematically shows a path point diagram of another planned path in an exemplary embodiment of the present disclosure. Figure 2 (a) and Figure 2 (b) shows two results of the path point configuration of the same trajectory S of the robot R. The posture of the robot R at each path point is represented by the dotted quadrilateral line. By comparison, it can be seen that Figure 2 In (a), 7 path points are configured, and the convex polygon of the robot at each path point covers the entire planned path. Figure 2 In (b), 4 path points are configured, which does not completely cover the path, so Figure 2 The waypoints configured in (a) are available, and Figure 2 The waypoint configured in (b) is not available.

[0062] It should be noted that there is no limit on the coverage ratio of the configured path points to the planned path, that is, the number of the S configured path points based on the robot R should be at least 7, but it can also be denser than this.

[0063] The obstacle detection information can be obtained by the sensor's perception module. The perception module can represent obstacles with multiple detected obstacle points according to its own detection logic, and at the same time determine the position information of each obstacle point in the global coordinate. Among them, there are many obstacle points in the obstacle detection information. In order to improve the inspection efficiency, the obstacle points that do not need to be checked can be eliminated, and only the obstacle points to be checked can be selected.

[0064] The following will take a waypoint as an example to explain in detail the process of calculating the minimum obstacle distance of the robot at the waypoint.

[0065] Figure 3 The following is a schematic diagram of a flow chart of a method for determining a target obstacle point in an exemplary embodiment of the present disclosure. Figure 3 As shown, judging whether there is a target obstacle point to be checked at the path point based on the obstacle detection information includes:

[0066] Step S301, establishing a local coordinate system based on the driving direction of the robot at the path point, and determining the coordinates of the detected obstacle point in the local coordinate system according to the obstacle detection information;

[0067] Step S302, judging whether there is a first obstacle point in the obstacle search area according to the coordinates of the obstacle point and the obstacle search radius;

[0068] Step S303, when it is determined that the first obstacle point exists, determining whether the first obstacle point is outside the robot based on the coordinates of the first obstacle point and the convex polygon of the robot;

[0069] Step S304: when it is determined that the first obstacle point is outside the robot, mark the first obstacle point as the target obstacle point.

[0070] Specifically, in step S301, it is first necessary to establish a local coordinate system based on the driving direction of the robot at the path point, so as to facilitate the coordinate representation of subsequent points for distance measurement.

[0071] Figure 4The following schematic diagram shows a local coordinate system in an exemplary embodiment of the present disclosure. Assuming that the coordinates of the robot satisfy the right-hand rule commonly used in the industry, the robot is represented by a quadrilateral composed of ABCD, and the center point of the quadrilateral is used as the origin O of the coordinate system, and the driving direction of the robot at the path point is used as the x-axis, and the normal direction of the driving direction is used as the y-axis to establish a local coordinate system as shown in FIG. Figure 4 shown.

[0072] In the local coordinate system, A, B, and E are the left contour points of the robot, C and D are the right contour points of the robot, and p1 and p2 are obstacle points detected by the sensor.

[0073] After the coordinate system is established, the coordinates of each obstacle point in the local coordinate system can be determined. Obstacle detection information can be obtained from the sensor's perception module. Obstacles can be mainly points, edges or polygons. For the convenience of calculation, all obstacles can be represented as obstacle points on the outer contour of the obstacle.

[0074] The obstacle detection information includes the coordinates of each obstacle point in the global coordinate system. The coordinates of each obstacle point in the local coordinate system can be obtained by converting the coordinates.

[0075] In step S302, it is determined whether there is a first obstacle point in the obstacle search area according to the coordinates of the obstacle point and the obstacle search radius.

[0076] Specifically, the obstacle points within the obstacle search area can be selected for consideration. Therefore, it can be determined whether the distance between the obstacle point and the center point of the robot is greater than the obstacle search radius. If it is greater, it means that the obstacle point is far away from the robot and is not within the scope of the path feasibility check. The obstacle points that are smaller than the obstacle search radius are considered to be within the obstacle search area and are marked as the first obstacle point.

[0077] Among them, the obstacle search radius can be flexibly configured according to the robot parameters and actual usage scenarios.

[0078] In step S303, when it is determined that the first obstacle point exists, it is determined whether the first obstacle point is outside the robot based on the coordinates of the first obstacle point and the convex polygon of the robot.

[0079] It should be noted that if the obstacle point is inside the robot, there is no need to calculate the distance and it can be directly determined that the path is unavailable. If the obstacle point is outside the robot, it is also necessary to calculate the minimum obstacle distance for distance verification.

[0080] Specifically, the determining whether the first obstacle point is outside the robot based on the coordinates of the first obstacle point and the convex polygon of the robot includes: connecting the coordinates of the first obstacle point with the origin of the local coordinate system to obtain an obstacle point line segment; when the obstacle point line segment intersects the convex polygon, determining that the first obstacle point is outside the robot.

[0081] For an obstacle point, if the line segment formed by the obstacle point and the center point of the robot does not intersect any edge of the convex polygon, it can be proved that the obstacle point is inside the convex polygon, that is, inside the robot; otherwise, the obstacle point is outside the convex polygon, that is, outside the robot.

[0082] refer to Figure 4 As shown, the line connecting the obstacle point p1 and the center point of the robot quadrilateral intersects with the AB line segment in the robot quadrilateral, so p1 is outside the robot, while the line connecting the obstacle point p2 and the center point of the robot quadrilateral does not intersect with any edge of the robot quadrilateral, so p2 is inside the robot.

[0083] Step S304: when it is determined that the first obstacle point is outside the robot, mark the first obstacle point as the target obstacle point.

[0084] That is to say, when selecting the target obstacle point, the obstacle point that is within the obstacle search area and outside the robot is determined as the target obstacle point to be verified.

[0085] Based on the above method, obstacle points that are not in the obstacle search area and obstacle points inside the robot are pre-screened, which can reduce the number of obstacle points to be verified and improve the verification efficiency of the path.

[0086] In step S102, when the target obstacle point exists, a corresponding obstacle point index structure is constructed based on the position of the target obstacle point relative to the robot and corresponding contour points of the robot are configured; wherein the position includes the left side and the right side.

[0087] In one embodiment of the present disclosure, it is necessary to determine whether the target obstacle point is located on the left side or the right side of the robot, and then construct a corresponding obstacle point index structure and configure corresponding contour points.

[0088] If the target obstacle point is on the left side of the robot, it can be recorded as a left obstacle point. At this time, you need to configure the robot's left contour points and build a left obstacle point index structure based on all left obstacle points. When the target obstacle point is on the right side of the robot, the same operation is used to configure the right contour points and the right obstacle point index structure.

[0089] Figure 5The following is a schematic diagram of a flow chart of a method for determining the relative position of a target obstacle point in an exemplary embodiment of the present disclosure. Figure 5 As shown, determining the position of the target obstacle point relative to the robot includes:

[0090] Step S501, determining a unit vector based on the driving direction of the robot at the path point, and determining an obstacle point vector according to the coordinates of the target obstacle point;

[0091] Step S502, when the cross product result of the obstacle point vector and the unit vector is positive, determining that the target obstacle point is located on the left side of the robot;

[0092] Step S503: When the cross product result of the obstacle point vector and the unit vector is negative, it is determined that the target obstacle point is located on the right side of the robot.

[0093] Specifically, vector cross product can be used to determine whether the obstacle point is on the left or right side of the robot. Since the robot's driving direction is the x-axis, the unit vector X1 (x1, y1) of the x-axis is taken, and the obstacle point vector X2 (x2, y2) is determined based on the coordinates of the target obstacle point. Then the vector cross product result is calculated as shown in formula (1):

[0094] X=X1(x1,y1)*X2(x2,y2)=x1y2-x2y1 (1)

[0095] When the cross product result is positive, the obstacle point is on the left side of the robot, otherwise it is on the right side of the robot.

[0096] In order to facilitate the construction of the obstacle point index structure, the left obstacle point on the left side of the robot can be placed in the left obstacle point container, and the right obstacle point on the right side of the robot can be placed in the right obstacle point container, and finally the obstacle point index structure can be constructed according to the obstacle container.

[0097] When there is a target obstacle point on the left side of the robot, the left obstacle point container is not empty. At this time, the left obstacle point index structure can be constructed according to the left obstacle points in the left obstacle point container, and the right side is processed in the same way.

[0098] Among them, the obstacle point index structure can be stored in the data structure of Kd_Tree. Kd-Tree, that is, K-dimensional tree, or kd tree, is a data structure that partitions k-dimensional data space. It is mainly used in the search of key data in multidimensional space (such as: range search and nearest neighbor search). KD tree is a special case of binary space partition tree. Constructing a Kd-Tree on a K-dimensional data set represents a partition of the K-dimensional space constituted by the K-dimensional data set, that is, each node in the tree corresponds to a K-dimensional hyperrectangular area.

[0099] At the same time, in addition to constructing the corresponding obstacle point index structure, it is also necessary to configure the corresponding contour points of the robot. Specifically, the side set in the convex polygon is determined to configure the contour points in the side set.

[0100] Contour points are points on the outer contour of the robot's convex polygon. Since it is necessary to calculate the distance between the robot and the obstacle during the trajectory path to verify the trajectory, only the left and right sides of the robot need to be marked. Taking more contour points can improve the calculation accuracy of the minimum distance between the obstacle and the robot, while taking fewer points will have a higher calculation efficiency. Therefore, the number of points can be determined according to the specific situation.

[0101] When there is a target obstacle point on the left side of the robot, it is necessary to configure the left contour point. First, it is necessary to find the left edge set composed of the edges on the left side of the robot's convex polygon, and then complete the point selection of the left contour point from the left edge set. The same is true for the right side.

[0102] refer to Figure 4 In the figure, the robot is represented by a quadrilateral, AB is the left side set, and by dividing the AB side into two equal parts, we can get three left side contour points, namely A, B, and E. If we divide the AB side into four equal parts, we can get five left side contour points.

[0103] After configuring the contour points, the coordinates of each contour point can be calculated. For example, according to the size information of the robot, the length of the robot is a and the width is b. After dividing the AB side into two equal parts, the left contour points A(a / 2,b / 2), B(-a / 2,b / 2), and E(0,b / 2) are obtained.

[0104] In step S103, the minimum obstacle distance of the robot at the path point is determined according to the contour point and the obstacle point index structure.

[0105] In one embodiment of the present disclosure, after the position of the target obstacle point relative to the robot is determined, it is divided into two situations: on the same side of the robot and on the opposite side. If all target obstacle points are traversed and the obstacle points are found to be distributed on both sides of the robot, then it is necessary to calculate the minimum obstacle distances on both sides respectively and then take the minimum as the minimum obstacle distance of the robot at the path point. If all target obstacle points are on the same side of the robot, then it is only necessary to calculate the minimum obstacle distance corresponding to that side.

[0106] When the target obstacle point is located on the opposite side of the robot, determining the minimum obstacle distance of the robot at the path point based on the contour points and the obstacle point index structure includes: determining the left minimum obstacle distance of the robot at the path point based on the configured left contour points of the robot and the constructed left obstacle point index structure; and determining the right minimum obstacle distance of the robot at the path point based on the configured right contour points of the robot and the constructed right obstacle point index structure; and comparing the left minimum obstacle distance and the right minimum obstacle distance to determine the minimum obstacle distance.

[0107] That is, it is necessary to calculate both the minimum obstacle distance on the left and the minimum obstacle distance on the right, and then compare the minimum obstacle distance on the left with the minimum obstacle distance on the right.

[0108] When the target obstacle point is located on the same side of the robot, determining the minimum obstacle distance of the robot at the path point based on the contour point and the obstacle point index structure includes: determining the left minimum obstacle distance of the robot at the path point based on the configured left contour point of the robot and the constructed left obstacle point index structure; or determining the right minimum obstacle distance of the robot at the path point based on the configured right contour point of the robot and the constructed right obstacle point index structure; and using the left minimum obstacle distance or the right minimum obstacle distance as the minimum obstacle distance.

[0109] That is, the left minimum obstacle distance or the right minimum obstacle distance corresponding to the side is calculated according to the position of the target obstacle point without comparison.

[0110] The process of calculating the minimum obstacle distance on the left and the minimum obstacle distance on the right is similar. Therefore, the calculation of the minimum obstacle distance on the left is taken as an example for detailed description. The calculation process of the minimum obstacle distance on the right is the same, except that the index structures of the contour points and obstacle points used are different.

[0111] Figure 6 The following is a schematic diagram of a flow chart of a method for calculating the minimum obstacle distance on the left side in an exemplary embodiment of the present disclosure. Figure 6As shown, the method of determining the minimum obstacle distance on the left side of the robot at the path point according to the configured left contour point of the robot and the constructed left obstacle point index structure includes:

[0112] Step S601, traversing the left contour points of the robot, determining the nearest obstacle point corresponding to each left contour point based on the left obstacle point index structure and calculating the conventional obstacle distance corresponding to each left contour point;

[0113] Step S602, determining at least one candidate nearest obstacle point from the nearest obstacle points based on the conventional obstacle distances corresponding to the left contour points;

[0114] Step S603: Calculate the fine obstacle distances corresponding to the candidate nearest obstacle points, and use the fine obstacle distance with the smallest distance value as the left minimum obstacle distance.

[0115] Specifically, in step S601, the left contour points of the robot are traversed, the nearest obstacle point corresponding to each left contour point is determined based on the left obstacle point index structure, and the conventional obstacle distance corresponding to each left contour point is calculated.

[0116] In one embodiment of the present disclosure, for each left contour point r of the robot i , we need to determine the nearest obstacle point p corresponding to the left contour point j , and calculate the conventional obstacle distance d corresponding to the left contour point k .

[0117] Further, step S601 specifically includes the following steps: querying the obstacle point with the smallest distance value to the left contour point from the left obstacle point index structure as the nearest obstacle point corresponding to the left contour point; calculating the distance between the left contour point and the nearest obstacle point corresponding to the left contour point to obtain the conventional obstacle distance corresponding to the left contour point.

[0118] Searching for data in Kd_Tree is also an important part of feature matching, and its purpose is to retrieve the data point closest to the query point in Kd_Tree. The left obstacle point index structure Kd_Tree stores the left obstacle points to be checked and the coordinates of each obstacle point, and the coordinates of the left contour point are also known, so the distance between points is calculated to find the obstacle point with the smallest distance value from the left contour point in the left Kd_Tree as the left contour point r. i The corresponding nearest obstacle point p j , and calculate the left contour point r i and the nearest obstacle point p j The conventional obstacle distance d between k .

[0119] For ease of storage, you can use (r i ,p j ,d i ) or in the form of a two-dimensional array, respectively (r i ,p j ) in the form of contour point-obstacle point container P j (j=1,2,…,J), where J is the total number of target obstacle points on this side, and (r i ,d k ) in the form of contour point-distance container D i ( i =1,2,…,I), where I is the total number of the side contour points.

[0120] In step S602, at least one candidate nearest obstacle point is determined from the nearest obstacle points based on the conventional obstacle distances corresponding to the left contour points.

[0121] Further, step S602 specifically includes the following steps: sorting the conventional obstacle distances corresponding to the left contour points to obtain a distance sorting result; selecting a preset number of the conventional obstacle distances according to the distance sorting result to obtain at least one candidate left contour point corresponding to each of the conventional obstacle distances; and determining the nearest obstacle point corresponding to the candidate left contour point as the candidate nearest obstacle point.

[0122] Specifically, for D i The elements in d i The size of the d is sorted, and then the d with the smaller distance value can be taken i Focus on checking some obstacle points that are close to each other. Therefore, the first n d can be taken according to the sorting results. i Value, each d i Each corresponds to a nearest obstacle point p j as a candidate nearest obstacle point.

[0123] It should be noted that there is a many-to-one mapping relationship between robot contour points and obstacle points, that is, multiple contour points may map to the same obstacle point. i The number of candidate nearest obstacle points m obtained satisfies the relationship m≤n.

[0124] In step S603, the refined obstacle distances corresponding to the candidate nearest obstacle points are calculated, and the refined obstacle distance with the smallest distance value is used as the left minimum obstacle distance.

[0125] In one embodiment of the present disclosure, reference Figure 4 As shown, when the distance between the robot and the obstacle is d iWhen the actual distance between the obstacle point and the robot polygon should satisfy d j ≤d i , where d j is the distance between p1 and the AE line segment adjacent to the robot contour point E, d i is the distance between p1 and the robot contour point E. Therefore, after obtaining the conventional obstacle distance between the obstacle point and the contour point, it is necessary to refine it and use the adjacent contour line segments at the corresponding contour points of the obstacle point to calculate the refined obstacle distance.

[0126] Furthermore, calculating the fine obstacle distance in step S603 specifically includes the following steps: determining the contour line segment in the convex polygon of the robot based on the left contour point corresponding to the candidate nearest obstacle point; calculating the distance between the candidate nearest obstacle point and the contour line segment as the fine obstacle distance corresponding to the candidate nearest obstacle point.

[0127] According to the position of the obstacle point relative to the contour point, the contour line segment on the robot's convex polygon is taken, and the distance from the point to the line segment is used as the refined obstacle distance.

[0128] In step S602, m candidate nearest obstacle points are obtained, so the corresponding m fine obstacle distances d can be obtained. j , and then compare m d j The distance value of the smallest distance value d j As the minimum obstacle distance on the left side between the robot and the obstacle.

[0129] It should be noted that if the minimum obstacle distance on the right side of the robot at a path point needs to be calculated, the processing process is similar to the left side, except that the right contour point of the robot and the right obstacle point index structure are used.

[0130] In one embodiment of the present disclosure, the pseudo code of the algorithm for calculating the minimum obstacle distance on a certain side is given as follows:

[0131]

[0132]

[0133] Based on the above method, when calculating the minimum obstacle distance, the obstacle points of the obstacle are stored in two containers according to whether they are on the left or right side of the robot, and Kd_Tree is constructed respectively to reduce the number of nodes of Kd_Tree and reduce the complexity of Kd_Tree construction and search; at the same time, different from the prior art that uses the edge of the robot polygon for distance calculation, points are taken on the edges on both sides of the robot polygon for distance calculation, which can improve the accuracy of the distance calculation between the obstacle and the robot; and considering that the distance between the obstacle and the robot polygon point (conventional obstacle distance) is always greater than or equal to the actual distance between the obstacle and the robot (fine obstacle distance), sorting according to the obstacle point distance and verifying the first n data points after sorting can offset the error of the calculated conventional obstacle distance, thereby improving the accuracy of the obstacle distance calculation.

[0134] In step S104, all the path points in the planned path are traversed to determine the verification result of the planned path according to the minimum obstacle distance of the robot at each of the path points.

[0135] Furthermore, the specific process of step S104 includes comparing the minimum obstacle distance at each of the path points with the minimum pass distance; when the minimum obstacle distance is smaller than the minimum pass distance, the verification result of the planned path is determined to be impassable.

[0136] Specifically, different robots are configured with a corresponding minimum travel distance during the driving process of the robot, so it is necessary to compare the minimum obstacle distance at each path point with the minimum travel distance to complete the path verification.

[0137] If the minimum obstacle distance at each path point is greater than the minimum pass distance, the robot can pass through these obstacle points smoothly, and the planned path can be passed. If the minimum obstacle distance at a certain point is less than the minimum pass distance, it means that the robot's passage will be blocked by some obstacle points and cannot pass.

[0138] In addition, different robots may have different minimum travel distances on the left and right sides. Therefore, when verifying the robot's planned path, the minimum obstacle distance on the left or right side can be compared with the corresponding minimum travel distance on the left or right side to obtain a more accurate verification result.

[0139] The present application provides an obstacle distance calculation method applied to a mobile robot. By taking points on the robot contour to measure the distance, the calculation accuracy of the distance can be improved. At the same time, corresponding Kd_Trees are constructed to search for obstacle points, which can reduce the complexity of Kd_Tree construction and search, improve calculation efficiency, and further improve the efficiency and accuracy of robot planning path verification through an efficient and accurate distance calculation method.

[0140] Figure 7 A schematic diagram of the composition of a robot planning path verification device in an exemplary embodiment of the present disclosure is shown schematically. Figure 7 As shown, the robot planning path verification device 700 may include a judgment module 701, a preparation module 702, a calculation module 703 and a verification module 704. Among them:

[0141] A judgment module 701 is used to determine a path point in the planned path of the robot, and determine whether there is a target obstacle point to be checked at the path point based on the obstacle detection information;

[0142] A preparation module 702 is used for configuring the corresponding contour points of the robot and constructing an obstacle point index structure based on the position of the target obstacle point relative to the robot when the target obstacle point exists; wherein the position includes the left side and the right side;

[0143] A calculation module 703, configured to determine a minimum obstacle distance of the robot at the path point according to the contour point and the obstacle point index structure;

[0144] The verification module 704 is used to traverse all the path points in the planned path to determine the verification result of the planned path according to the minimum obstacle distance of the robot at each of the path points.

[0145] According to an exemplary embodiment of the present disclosure, the robot planning path verification device 700 may also include a configuration module, which is used to draw the robot as a convex polygon composed of points and line segments according to the size information of the robot; determine the path coverage area according to the convex polygon to configure the path points in the planned path according to the path coverage area; and determine the side set in the convex polygon to configure the contour points in the side set.

[0146] According to an exemplary embodiment of the present disclosure, the judgment module 701 is used to establish a local coordinate system based on the driving direction of the robot at the path point, and determine the coordinates of the detected obstacle point in the local coordinate system according to the obstacle detection information; judge whether there is a first obstacle point in the obstacle search area according to the coordinates of the obstacle point and the obstacle search radius; when it is judged that the first obstacle point exists, judge whether the first obstacle point is outside the robot based on the coordinates of the first obstacle point and the convex polygon of the robot; when it is judged that the first obstacle point is outside the robot, mark the first obstacle point as the target obstacle point.

[0147] According to an exemplary embodiment of the present disclosure, the judgment module 701 is also used to connect the coordinates of the first obstacle point with the origin of the local coordinate system to obtain an obstacle point line segment; when the obstacle point line segment intersects with the convex polygon, it is judged that the first obstacle point is outside the robot.

[0148] According to an exemplary embodiment of the present disclosure, the judgment module 701 is also used to determine a unit vector based on the driving direction of the robot at the path point, and to determine an obstacle point vector based on the coordinates of the target obstacle point; when the cross product result of the obstacle point vector and the unit vector is positive, it is judged that the target obstacle point is located on the left side of the robot; when the cross product result of the obstacle point vector and the unit vector is negative, it is judged that the target obstacle point is located on the right side of the robot.

[0149] According to an exemplary embodiment of the present disclosure, when the target obstacle point is located on the opposite side of the robot, the preparation module 702 is used to determine the minimum left obstacle distance of the robot at the path point according to the configured left contour points of the robot and the constructed left obstacle point index structure; and determine the minimum right obstacle distance of the robot at the path point according to the configured right contour points of the robot and the constructed right obstacle point index structure; compare the minimum left obstacle distance and the minimum right obstacle distance to determine the minimum obstacle distance.

[0150] According to an exemplary embodiment of the present disclosure, when the target obstacle point is located on the same side of the robot, the preparation module 702 is used to determine the minimum left obstacle distance of the robot at the path point according to the configured left contour points of the robot and the constructed left obstacle point index structure; or to determine the minimum right obstacle distance of the robot at the path point according to the configured right contour points of the robot and the constructed right obstacle point index structure; and use the minimum left obstacle distance or the minimum right obstacle distance as the minimum obstacle distance.

[0151] According to an exemplary embodiment of the present disclosure, the preparation module 702 is used to traverse the left contour points of the robot, determine the nearest obstacle point corresponding to each left contour point based on the left obstacle point index structure and calculate the conventional obstacle distance corresponding to each left contour point; determine at least one candidate nearest obstacle point from the nearest obstacle points based on the conventional obstacle distance corresponding to each left contour point; calculate the fine obstacle distance corresponding to each candidate nearest obstacle point, and take the fine obstacle distance with the smallest distance value as the minimum obstacle distance on the left.

[0152] According to an exemplary embodiment of the present disclosure, the preparation module 702 is also used to query the obstacle point with the smallest distance value to the left contour point from the left obstacle point index structure as the nearest obstacle point corresponding to the left contour point; calculate the distance between the left contour point and the nearest obstacle point corresponding to the left contour point to obtain the conventional obstacle distance corresponding to the left contour point.

[0153] According to an exemplary embodiment of the present disclosure, the preparation module 702 is also used to sort the conventional obstacle distances corresponding to each left contour point to obtain a distance sorting result; select a preset number of the conventional obstacle distances according to the distance sorting result to obtain at least one candidate left contour point corresponding to each of the conventional obstacle distances; and determine the nearest obstacle point corresponding to the candidate left contour point as the candidate nearest obstacle point.

[0154] According to an exemplary embodiment of the present disclosure, the preparation module 702 is also used to determine the contour segment in the convex polygon of the robot based on the left contour point corresponding to the candidate nearest obstacle point; and calculate the distance between the candidate nearest obstacle point and the contour segment as the fine obstacle distance corresponding to the candidate nearest obstacle point.

[0155] According to an exemplary embodiment of the present disclosure, the verification module 704 is used to compare the minimum obstacle distance at each of the path points with the minimum pass distance; when the minimum obstacle distance is less than the minimum pass distance, the verification result of the planned path is judged to be inaccessible.

[0156] The specific details of each module in the above-mentioned robot planning path verification device 700 have been described in detail in the corresponding robot planning path verification method, so they will not be repeated here.

[0157] It should be noted that, although several modules or units of the device for action execution are mentioned in the above detailed description, this division is not mandatory. In fact, according to the embodiments of the present disclosure, the features and functions of two or more modules or units described above can be embodied in one module or unit. On the contrary, the features and functions of one module or unit described above can be further divided into multiple modules or units to be embodied.

[0158] In an exemplary embodiment of the present disclosure, a storage medium capable of implementing the above method is also provided. Figure 8 A schematic diagram schematically illustrates a computer-readable storage medium in an exemplary embodiment of the present disclosure, such as Figure 8 As shown, a program product 800 for implementing the above method according to an embodiment of the present disclosure is described, which can adopt a portable compact disk read-only memory (CD-ROM) and include program code, and can be run on a terminal device, such as a mobile phone. However, the program product of the present disclosure is not limited thereto. In this document, a readable storage medium can be any tangible medium containing or storing a program, which can be used by or in combination with an instruction execution system, an apparatus or a device.

[0159] In an exemplary embodiment of the present disclosure, an electronic device capable of implementing the above method is also provided. Fig. 9 The structure diagram of a computer system of an electronic device in an exemplary embodiment of the present disclosure is schematically shown.

[0160] It should be noted that Fig. 9 The computer system 900 of the electronic device shown is only an example and should not bring any limitation to the functions and scope of use of the embodiments of the present disclosure.

[0161] like Fig. 9 As shown, the computer system 900 includes a central processing unit (CPU) 901, which can perform various appropriate actions and processes according to the program stored in the read-only memory (ROM) 902 or the program loaded from the storage part 908 to the random access memory (RAM) 903. In the RAM 903, various programs and data required for system operation are also stored. The CPU 901, the ROM 902 and the RAM 903 are connected to each other through a bus 904. An input / output (I / O) interface 905 is also connected to the bus 904.

[0162] The following components are connected to the I / O interface 905: an input section 906 including a keyboard, a mouse, etc.; an output section 907 including a cathode ray tube (CRT), a liquid crystal display (LCD), etc., and a speaker; a storage section 908 including a hard disk, etc.; and a communication section 909 including a network interface card such as a LAN (Local Area Network) card, a modem, etc. The communication section 909 performs communication processing via a network such as the Internet. A drive 910 is also connected to the I / O interface 905 as needed. A removable medium 911, such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, etc., is installed on the drive 910 as needed so that a computer program read therefrom is installed into the storage section 908 as needed.

[0163] In particular, according to an embodiment of the present disclosure, the process described below with reference to the flowchart can be implemented as a computer software program. For example, an embodiment of the present disclosure includes a computer program product, which includes a computer program carried on a computer-readable medium, and the computer program includes a program code for executing the method shown in the flowchart. In such an embodiment, the computer program can be downloaded and installed from a network through a communication part 909, and / or installed from a removable medium 911. When the computer program is executed by a central processing unit (CPU) 901, various functions defined in the system of the present disclosure are executed.

[0164] It should be noted that the computer-readable medium shown in the embodiment of the present disclosure may be a computer-readable signal medium or a computer-readable storage medium or any combination of the above two. The computer-readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination of the above. More specific examples of computer-readable storage media may include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM), a flash memory, an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In the present disclosure, a computer-readable storage medium may be any tangible medium containing or storing a program, which may be used by an instruction execution system, device or device or used in combination with it. In the present disclosure, a computer-readable signal medium may include a data signal propagated in a baseband or as part of a carrier wave, wherein a computer-readable program code is carried. Such propagated data signals may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. Computer-readable signal media may also be any computer-readable medium other than computer-readable storage media, which may send, propagate, or transmit programs for use by or in conjunction with an instruction execution system, apparatus, or device. The program code contained on the computer-readable medium may be transmitted using any appropriate medium, including but not limited to: wireless, wired, etc., or any suitable combination of the above.

[0165] The flow charts and block diagrams in the accompanying drawings illustrate the possible architecture, functions and operations of the systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each box in the flow chart or block diagram can represent a module, a program segment, or a part of a code, and the above-mentioned module, program segment, or a part of a code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in a different order from the order marked in the accompanying drawings. For example, two boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram or flow chart, and the combination of the boxes in the block diagram or flow chart can be implemented with a dedicated hardware-based system that performs a specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.

[0166] The units involved in the embodiments described in the present disclosure may be implemented by software or hardware, and the units described may also be arranged in a processor. The names of these units do not, in some cases, constitute limitations on the units themselves.

[0167] As another aspect, the present disclosure further provides a computer-readable medium, which may be included in the electronic device described in the above embodiment; or may exist independently without being assembled into the electronic device. The above computer-readable medium carries one or more programs, and when the above one or more programs are executed by an electronic device, the electronic device implements the method described in the above embodiment.

[0168] It should be noted that, although several modules or units of the device for action execution are mentioned in the above detailed description, this division is not mandatory. In fact, according to the embodiments of the present disclosure, the features and functions of two or more modules or units described above can be embodied in one module or unit. On the contrary, the features and functions of one module or unit described above can be further divided into multiple modules or units to be embodied.

[0169] Through the description of the above implementation, it is easy for those skilled in the art to understand that the example implementation described here can be implemented by software, or by software combined with necessary hardware. Therefore, the technical solution according to the implementation of the present disclosure can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (which can be a CD-ROM, a USB flash drive, a mobile hard disk, etc.) or on a network, including several instructions to enable a computing device (which can be a personal computer, a server, a touch terminal, or a network device, etc.) to execute the method according to the implementation of the present disclosure.

[0170] Those skilled in the art will readily appreciate other embodiments of the present disclosure after considering the specification and practicing the invention disclosed herein. The present disclosure is intended to cover any variations, uses or adaptations of the present disclosure that follow the general principles of the present disclosure and include common knowledge or customary technical means in the art that are not disclosed in the present disclosure.

[0171] It should be understood that the present disclosure is not limited to the exact structures that have been described above and shown in the drawings, and that various modifications and changes may be made without departing from the scope thereof. The scope of the present disclosure is limited only by the appended claims.

Claims

1. A robot planning path verification method, characterized in that: include: Determine a path point in the planned path of the robot, and determine whether there is a target obstacle point to be checked at the path point based on the obstacle detection information; When the target obstacle point exists, a corresponding obstacle point index structure is constructed based on the position of the target obstacle point relative to the robot and a corresponding contour point of the robot is configured; wherein the position includes a left side and a right side; When the target obstacle point is located on the opposite side of the robot, the minimum left obstacle distance of the robot at the path point is determined according to the configured left contour points of the robot and the constructed left obstacle point index structure; and the minimum right obstacle distance of the robot at the path point is determined according to the configured right contour points of the robot and the constructed right obstacle point index structure; the minimum left obstacle distance and the minimum right obstacle distance are compared to determine the minimum obstacle distance; All the path points in the planned path are traversed to determine the verification result of the planned path according to the minimum obstacle distance of the robot at each of the path points.

2. The robot planning path verification method according to claim 1, characterized in that: The method further comprises: Drawing the robot as a convex polygon consisting of points and line segments according to the size information of the robot; determining a path coverage area according to the convex polygon, so as to configure the path points in the planned path according to the path coverage area; and A side set in the convex polygon is determined to configure the contour points to be in the side set.

3. The robot planning path verification method according to claim 1, characterized in that: The determining whether there is a target obstacle point to be checked at the path point based on the obstacle detection information includes: Establishing a local coordinate system based on the driving direction of the robot at the path point, and determining the coordinates of the detected obstacle point in the local coordinate system according to the obstacle detection information; Determining whether there is a first obstacle point in the obstacle search area according to the coordinates of the obstacle point and the obstacle search radius; When it is determined that the first obstacle point exists, determining whether the first obstacle point is outside the robot based on the coordinates of the first obstacle point and the convex polygon of the robot; When it is determined that the first obstacle point is outside the robot, the first obstacle point is marked as the target obstacle point.

4. The robot planning path verification method according to claim 3, characterized in that: The determining whether the first obstacle point is outside the robot based on the coordinates of the first obstacle point and the convex polygon of the robot includes: Connecting the coordinates of the first obstacle point with the origin of the local coordinate system to obtain an obstacle point line segment; When the obstacle point line segment intersects the convex polygon, it is determined that the first obstacle point is outside the robot.

5. The robot planning path verification method according to claim 3, characterized in that: The method further includes: determining the position of the target obstacle point relative to the robot, wherein determining the position of the target obstacle point relative to the robot includes: Determine a unit vector based on the driving direction of the robot at the path point, and determine an obstacle point vector according to the coordinates of the target obstacle point; When the cross product result of the obstacle point vector and the unit vector is positive, it is determined that the target obstacle point is located on the left side of the robot; When the cross product result of the obstacle point vector and the unit vector is negative, it is determined that the target obstacle point is located on the right side of the robot.

6. The robot planning path verification method according to claim 1, characterized in that: When the target obstacle point is located on the same side of the robot, determining the minimum obstacle distance of the robot at the path point according to the contour point and the obstacle point index structure includes: Determine the minimum left obstacle distance of the robot at the path point according to the configured left contour points of the robot and the constructed left obstacle point index structure; or Determine the right minimum obstacle distance of the robot at the path point according to the configured right contour points of the robot and the constructed right obstacle point index structure; The left minimum obstacle distance or the right minimum obstacle distance is used as the minimum obstacle distance.

7. The robot planning path verification method according to claim 1, characterized in that: The step of determining the minimum obstacle distance on the left side of the robot at the path point according to the configured left side contour points of the robot and the constructed left side obstacle point index structure comprises: Traversing the left contour points of the robot, determining the nearest obstacle point corresponding to each left contour point based on the left obstacle point index structure and calculating the conventional obstacle distance corresponding to each left contour point; Determine at least one candidate nearest obstacle point from the nearest obstacle points based on the conventional obstacle distances corresponding to the left contour points; The refined obstacle distances corresponding to the candidate nearest obstacle points are calculated, and the refined obstacle distance with the smallest distance value is used as the left minimum obstacle distance.

8. The robot planning path verification method according to claim 7, characterized in that: The method further includes: determining a nearest obstacle point corresponding to a left contour point based on the left obstacle point index structure and calculating a conventional obstacle distance corresponding to the left contour point, including: Querying the obstacle point with the smallest distance value from the left contour point from the left obstacle point index structure as the nearest obstacle point corresponding to the left contour point; The distance between the left contour point and the nearest obstacle point corresponding to the left contour point is calculated to obtain a conventional obstacle distance corresponding to the left contour point.

9. The robot planning path verification method according to claim 7, characterized in that: The determining at least one candidate nearest obstacle point from the nearest obstacle points based on the conventional obstacle distances corresponding to the left contour points comprises: Sorting the conventional obstacle distances corresponding to the left contour points to obtain a distance sorting result; Selecting a preset number of the conventional obstacle distances according to the distance sorting result to obtain at least one candidate left contour point corresponding to each of the conventional obstacle distances; The nearest obstacle point corresponding to the candidate left contour point is determined as the candidate nearest obstacle point.

10. The robot planning path verification method according to claim 7, characterized in that: The calculating the fine obstacle distance corresponding to each candidate nearest obstacle point includes: Determine a contour line segment in a convex polygon of the robot based on the left contour point corresponding to the candidate nearest obstacle point; The distance between the candidate nearest obstacle point and the contour line segment is calculated as the refined obstacle distance corresponding to the candidate nearest obstacle point.

11. The robot planning path verification method according to claim 1, characterized in that: The verification result of the planned path is determined according to the minimum obstacle distance of the robot at each of the path points, including: Compare the minimum obstacle distance at each of the path points with the minimum travel distance respectively; When the minimum obstacle distance is less than the minimum pass distance, the verification result of the planned path is determined to be impassable.

12. A robot planning path verification device, characterized in that: include: A judgment module, used to determine a path point in the planned path of the robot, and judge whether there is a target obstacle point to be checked at the path point based on the obstacle detection information; A preparation module, configured to configure the corresponding contour points of the robot and construct an obstacle point index structure based on the position of the target obstacle point relative to the robot when the target obstacle point exists; wherein the position includes a left side and a right side; a calculation module, configured to determine, when the target obstacle point is located on the opposite side of the robot, a left minimum obstacle distance of the robot at the path point according to the configured left contour points of the robot and the constructed left obstacle point index structure; and determine a right minimum obstacle distance of the robot at the path point according to the configured right contour points of the robot and the constructed right obstacle point index structure; and compare the left minimum obstacle distance and the right minimum obstacle distance to determine the minimum obstacle distance; A verification module is used to traverse all path points in the planned path to determine the verification result of the planned path according to the minimum obstacle distance of the robot at each path point.

13. A computer-readable storage medium having a computer program stored thereon, wherein when the program is executed by a processor, the robot planning path verification method according to any one of claims 1 to 11 is implemented.

14. An electronic device, characterized in that: include: one or more processors; A storage device for storing one or more programs, which, when executed by the one or more processors, enables the one or more processors to implement the robot planning path verification method as described in any one of claims 1 to 11.

Citation Information

Patent Citations

  • Route planning method and device, computer equipment and storage medium

    CN110045730A

  • Vehicle control method and device based on obstacle recognition, equipment and medium

    CN112572424A