Obstacle avoidance method and apparatus for robot, and device and readable storage medium

By determining the global and local obstacle avoidance areas in the robot, analyzing the detection results of obstacle points, and determining the target obstacle avoidance points, the problem of the robot accidentally avoiding obstacles during driving and difficulty in detecting edge obstacle points in the obstacle avoidance area is solved, and obstacle avoidance accuracy and operation safety are improved.

WO2025113433A1PCT designated stage expired Publication Date: 2025-06-05BEIJING GEEKPLUS TECH CO LTD
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2024/134504
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-12-01
Filing Date
2024-11-26
Publication Date
2025-06-05

AI Technical Summary

Technical Problem

During driving, the robot may be skewed in the posture and it is difficult to detect obstacle points at the edge of the obstacle avoidance area, affecting safety and operation efficiency.

Method used

By determining the global obstacle avoidance area and local obstacle avoidance area, obtaining and analyzing the obstacle point detection results in these areas, determining the candidate obstacle avoidance point, and determining the target obstacle avoidance point based on whether the candidate obstacle avoidance point includes local obstacle avoidance points and global obstacle avoidance points, and finally deciding whether to deal with obstacle avoidance.

Benefits of technology

It improves the robot's obstacle avoidance accuracy, reduces the situation of obstacle avoidance, improves operating efficiency and safety, and reduces the probability of collision with obstacle points.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024134504_05062025_PF_FP_ABST
    Figure CN2024134504_05062025_PF_FP_ABST
Patent Text Reader

Abstract

An obstacle avoidance method and apparatus for a robot, and a device and a readable storage medium. The obstacle avoidance method for a robot comprises: firstly, on the basis of current location information of a robot, determining a global obstacle avoidance region and a local obstacle avoidance region (S201); then, acquiring a global obstacle point detection result of the global obstacle avoidance region and a local obstacle point detection result of the local obstacle avoidance region (S202), so as to determine candidate obstacle avoidance points on the basis of the global obstacle point detection result and the local obstacle point detection result (S203), wherein the candidate obstacle avoidance points comprise global obstacle avoidance points and / or local obstacle avoidance points; and finally, on the basis of the candidate obstacle avoidance points, determining a target obstacle avoidance point (S204), and on the basis of the target obstacle avoidance point and the current location information of the robot, determining whether to perform obstacle avoidance processing (S205).
Need to check novelty before this filing date? Find Prior Art

Description

Robot obstacle avoidance method, device, equipment and readable storage medium

[0001] This application claims priority to Chinese patent application No. 202311629884.2 filed on December 1, 2023, the entire contents of which are incorporated herein by reference. Technical Field

[0002] The present disclosure relates to the field of intelligent warehousing, and to a robot obstacle avoidance method, device, equipment, and readable storage medium. Background Art

[0003] When the robot is moving a shelf or target item, it determines whether there are any obstacles within the obstacle avoidance zone ahead. If an obstacle appears within the obstacle avoidance zone ahead of the robot, the robot will avoid the obstacle and slow down based on the distance between its current position and the obstacle to ensure robot safety. Summary of the Invention

[0004] Embodiments of the present disclosure provide a robot obstacle avoidance method, apparatus, device, and readable storage medium.

[0005] According to a first aspect of an embodiment of the present disclosure, a robot obstacle avoidance method is provided, comprising: first, determining a global obstacle avoidance area and a local obstacle avoidance area based on the current position information of the robot; wherein the global obstacle avoidance area is the obstacle avoidance area in front of the robot when the robot body posture is not skewed, and the local obstacle avoidance area is the obstacle avoidance area in front of the robot when the robot body posture is skewed; then, obtaining a global obstacle point detection result within the global obstacle avoidance area and a local obstacle point detection result within the local obstacle avoidance area; then, determining candidate obstacle avoidance points based on the global obstacle point detection result and the local obstacle point detection result, wherein the candidate obstacle avoidance points include global obstacle avoidance points and / or local obstacle avoidance points; the global obstacle avoidance point is an obstacle point on the driving path located within the global obstacle avoidance area, and the local obstacle avoidance point is an obstacle point on the driving path located within the local obstacle avoidance area; finally, determining a target obstacle avoidance point based on whether the candidate obstacle avoidance points include the local obstacle avoidance point and / or the global obstacle avoidance point, and determining whether to perform obstacle avoidance processing based on the target obstacle avoidance point and the current position information of the robot.

[0006] In an optional embodiment, determining the global obstacle avoidance area and the local obstacle avoidance area based on the current position information of the robot includes:

[0007] The global obstacle avoidance area is determined based on the current position information of the robot in the global coordinate system and the preset obstacle avoidance area size; the local obstacle avoidance area is determined based on the current position information of the robot in the local coordinate system and the preset obstacle avoidance area size.

[0008] In an optional embodiment, obtaining a global obstacle point detection result within a global obstacle avoidance area and a local obstacle point detection result within a local obstacle avoidance area includes:

[0009] Obtain the location information of at least one obstacle point; determine a global obstacle point detection result based on the location information of the obstacle point and the global obstacle avoidance area; the global obstacle point detection result is used to indicate whether an obstacle point exists in the global obstacle avoidance area; determine a local obstacle point detection result based on the location information of the obstacle point and the local obstacle avoidance area; the local obstacle point detection result is used to indicate whether an obstacle point exists in the local obstacle avoidance area.

[0010] In an optional embodiment, determining a candidate obstacle avoidance point based on the global obstacle point detection result and the local obstacle point detection result includes:

[0011] When the global obstacle point detection result indicates that there is at least one first obstacle point in the global obstacle avoidance area, the global obstacle avoidance point is determined in the at least one first obstacle point based on the current position information of the robot; and / or, when the local obstacle point detection result indicates that there is at least one second obstacle point in the local obstacle avoidance area, the local obstacle avoidance point is determined in the at least one second obstacle point based on the current position information of the robot.

[0012] In an optional embodiment, determining a global obstacle avoidance point in at least one first obstacle point based on the current position information of the robot includes:

[0013] Based on the current position information of the robot, the distance between each first obstacle point and the robot is determined; and the first obstacle point closest to the robot is determined as the global obstacle avoidance point.

[0014] In an optional embodiment, determining a local obstacle avoidance point in at least one second obstacle point based on the current position information of the robot includes:

[0015] Based on the current position information of the robot, the distance between each second obstacle point and the robot is determined; and the second obstacle point closest to the robot is determined as the local obstacle avoidance point.

[0016] In an optional embodiment, determining a target obstacle avoidance point based on candidate obstacle avoidance points includes:

[0017] When the candidate obstacle avoidance points do not include the local obstacle avoidance point and the candidate obstacle avoidance points include the global obstacle avoidance point, a projection point of the global obstacle avoidance point projected along a first direction into the local obstacle avoidance area is determined as the target obstacle avoidance point.

[0018] In an optional embodiment, determining a target obstacle avoidance point based on candidate obstacle avoidance points includes:

[0019] When the candidate obstacle avoidance points include local obstacle avoidance points and the candidate obstacle avoidance points include global obstacle avoidance points, if the robot's current position information and / or the local obstacle avoidance point meet the preset conditions, the local obstacle avoidance point is determined as the target obstacle avoidance point; if the robot's current position information and / or the local obstacle avoidance point does not meet the preset conditions, a first positional relationship between the local obstacle avoidance point and the global obstacle avoidance area is determined, and based on the first positional relationship and the robot's current position information, the target obstacle avoidance point is determined; or, if the robot's current position information and / or the local obstacle avoidance point does not meet the preset conditions, a second positional relationship between the global obstacle avoidance point and the local obstacle avoidance area is determined, and based on the second positional relationship, the target obstacle avoidance point is determined.

[0020] In an optional embodiment, the current position information and / or local obstacle avoidance point of the robot satisfies a preset condition, including at least one of the following:

[0021] The angular difference between the robot's driving angle and the target angle is greater than the preset angular difference; the lateral distance between the robot's current driving path and the preset driving path is greater than the preset lateral distance; the distance between the local obstacle avoidance point and the robot is less than or equal to the robot's braking distance.

[0022] In an optional embodiment, determining the target obstacle avoidance point based on the first position relationship includes:

[0023] When the first positional relationship indicates that the local obstacle avoidance point is outside the global obstacle avoidance area, a projection point of the global obstacle avoidance point projected along the first direction into the local obstacle avoidance area is determined as the target obstacle avoidance point.

[0024] In an optional embodiment, determining the target obstacle avoidance point based on the first position relationship includes:

[0025] When the first position relationship indicates that the local obstacle avoidance point is located in the global obstacle avoidance area, determine the projection point of the global obstacle avoidance point projected into the local obstacle avoidance area along the first direction; and determine the target obstacle avoidance point based on the projection point, the local obstacle avoidance point and the current position information of the robot.

[0026] In an optional embodiment, determining a target obstacle avoidance point based on the projection point, the local obstacle avoidance point, and the current position information of the robot includes:

[0027] Determine a first distance between the projection point and the robot; determine a second distance between the local obstacle avoidance point and the robot; if the first distance is less than the second distance, determine the projection point as the target obstacle avoidance point; if the first distance is greater than the second distance, determine the local obstacle avoidance point as the target obstacle avoidance point.

[0028] In an optional embodiment, determining the target obstacle avoidance point based on the second position relationship includes:

[0029] When the second positional relationship indicates that the global obstacle avoidance point is located within the local obstacle avoidance area, the distances between the global obstacle avoidance point and the local obstacle avoidance point and the robot are determined respectively; and the obstacle avoidance point closest to the robot among the global obstacle avoidance point and the local obstacle avoidance point is determined as the target obstacle avoidance point.

[0030] In an optional embodiment, determining whether to perform obstacle avoidance processing based on the target obstacle avoidance point and the current position information of the robot includes:

[0031] If the distance between the target obstacle avoidance point and the robot is less than or equal to the robot's braking distance, obstacle avoidance processing is performed; if the distance between the target obstacle avoidance point and the robot is greater than the robot's braking distance, obstacle avoidance processing is not performed.

[0032] In an optional embodiment, determining a target obstacle avoidance point based on candidate obstacle avoidance points includes:

[0033] When the candidate obstacle avoidance points include local obstacle avoidance points and the candidate obstacle avoidance points do not include global obstacle avoidance points, the target obstacle avoidance point is determined based on the local obstacle avoidance points and the current position of the robot.

[0034] In an optional embodiment, determining a target obstacle avoidance point based on a local obstacle avoidance point and a current position of the robot includes:

[0035] If the distance between the local obstacle avoidance point and the robot is less than or equal to the robot's braking distance, the local obstacle avoidance point is determined as the target obstacle avoidance point; if the distance between the local obstacle avoidance point and the robot is greater than the robot's braking distance, the preset obstacle avoidance point is determined as the target obstacle point, and the distance between the preset obstacle avoidance point and the robot is always greater than the robot's braking distance.

[0036] In an optional embodiment, determining a target obstacle avoidance point based on candidate obstacle avoidance points includes:

[0037] When the candidate obstacle avoidance points do not include local obstacle avoidance points and global obstacle avoidance points, a preset obstacle avoidance point is determined as the target obstacle point, and the distance between the preset obstacle avoidance point and the robot is greater than the braking distance of the robot.

[0038] In an optional embodiment, determining a global obstacle point detection result based on the location information of the obstacle point and the global obstacle avoidance area includes:

[0039] Based on the position information of the obstacle point in the local coordinate system, the current position information of the robot in the local coordinate system, and the position and posture angle of the robot, the position information of the obstacle point in the global coordinate system is determined; based on the position information of the obstacle point in the global coordinate system and the global obstacle avoidance area, the global obstacle point detection result is determined.

[0040] In an optional embodiment, determining a local obstacle point detection result based on the location information of the obstacle point and the local obstacle avoidance area includes:

[0041] The local obstacle point detection result is determined based on the position information of the obstacle point in the local coordinate system and the local obstacle avoidance area.

[0042] According to a second aspect of an embodiment of the present disclosure, there is provided a robot obstacle avoidance device, comprising:

[0043] a processing module configured to determine a global obstacle avoidance area and a local obstacle avoidance area based on current position information of the robot;

[0044] an acquisition module configured to acquire global obstacle point detection results within a global obstacle avoidance area and local obstacle point detection results within a local obstacle avoidance area;

[0045] The processing module is further configured to determine candidate obstacle avoidance points based on the global obstacle point detection results and the local obstacle point detection results, the candidate obstacle avoidance points including global obstacle avoidance points and / or local obstacle avoidance points; determine the target obstacle avoidance points based on the candidate obstacle avoidance points; and determine whether to perform obstacle avoidance processing based on the target obstacle avoidance point and the current position information of the robot.

[0046] According to a third aspect of an embodiment of the present disclosure, an electronic device is provided, comprising a memory and a processor, wherein the memory stores a computer program, and wherein the processor implements the method in any implementation manner of the first aspect when executing the computer program.

[0047] According to a fourth aspect of an embodiment of the present disclosure, a computer-readable storage medium is provided, in which computer instructions are stored. When the computer program is executed by a processor, the method in any implementation manner of the first aspect is implemented. BRIEF DESCRIPTION OF THE DRAWINGS

[0048] In order to more clearly illustrate the technical solutions of the embodiments of the present disclosure, the following briefly introduces the drawings required for use in the embodiments. Obviously, the drawings described below are only some embodiments of the present disclosure. For ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.

[0049] FIG1 is a schematic diagram of an application scenario of a robot obstacle avoidance method provided by an embodiment of the present disclosure;

[0050] FIG2 is a schematic diagram of a flow chart of a robot obstacle avoidance method provided by an embodiment of the present disclosure;

[0051] FIG3 is a schematic diagram showing the positions of a global obstacle avoidance area and a local obstacle avoidance area in a robot obstacle avoidance method provided by an embodiment of the present disclosure;

[0052] FIG4A is a schematic diagram of a local coordinate system and a global coordinate system in a robot obstacle avoidance method provided by an embodiment of the present disclosure;

[0053] FIG4B is a schematic diagram of an obstacle avoidance area in a robot obstacle avoidance method provided by an embodiment of the present disclosure;

[0054] FIG5 is a schematic diagram of a flow chart of another robot obstacle avoidance method provided by an embodiment of the present disclosure;

[0055] FIG6 is a schematic flow chart of another robot obstacle avoidance method provided by an embodiment of the present disclosure;

[0056] FIG7 is a schematic flow chart of another robot obstacle avoidance method provided by an embodiment of the present disclosure;

[0057] FIG8 is a schematic flow chart of another robot obstacle avoidance method provided by an embodiment of the present disclosure;

[0058] FIG9 is a schematic diagram of the positions of candidate obstacle avoidance points provided by an embodiment of the present disclosure;

[0059] FIG10 is a schematic diagram of the positions of another candidate obstacle avoidance point provided in an embodiment of the present disclosure;

[0060] FIG11 is a schematic diagram of the positions of another candidate obstacle avoidance point provided in an embodiment of the present disclosure;

[0061] FIG12 is a schematic diagram of the positions of another candidate obstacle avoidance point provided in an embodiment of the present disclosure;

[0062] FIG13 is a schematic diagram of the positions of another candidate obstacle avoidance point provided in an embodiment of the present disclosure;

[0063] FIG14 is a schematic structural diagram of a robot obstacle avoidance device provided by an embodiment of the present disclosure;

[0064] FIG15 is a schematic diagram of the internal structure of a robot provided by an embodiment of the present disclosure;

[0065] FIG16 is a schematic structural diagram of an electronic device provided in an embodiment of the present disclosure. DETAILED DESCRIPTION

[0066] In order to enable those skilled in the art to better understand the technical solutions in the embodiments of the present disclosure and to make the above-mentioned purposes, features and advantages of the embodiments of the present disclosure more obvious and easy to understand, the technical solutions in the embodiments of the present disclosure are further described in detail below with reference to the accompanying drawings.

[0067] When the robot is moving a shelf or target item, it determines whether there are any obstacles within the obstacle avoidance zone ahead. If an obstacle appears within the obstacle avoidance zone ahead of the robot, the robot will avoid the obstacle and slow down based on the distance between its current position and the obstacle to ensure robot safety.

[0068] However, when a robot (such as a picking robot) is driving along a driving path, the robot's body posture may become skewed due to external factors (such as errors in control accuracy and limited radar accuracy).

[0069] In some embodiments, when the robot's body posture is skewed, an obstacle point outside the driving path will be detected. If the robot avoids the obstacle and slows down based on the obstacle point, it may avoid the obstacle incorrectly, affecting the robot's operating efficiency.

[0070] For example, when the robot's body posture is skewed, the robot will adjust its body posture while driving to adjust the robot's body posture to the target body posture (the posture when the robot's body posture is not skewed); therefore, during actual operation, the robot may not come into contact with the detected obstacle points outside the driving path; at this time, if obstacle avoidance is performed based on the obstacle points outside the driving path, incorrect obstacle avoidance will occur.

[0071] In addition, while the robot is driving, it may not detect obstacles at the edge of the obstacle avoidance area in front of the robot, which may cause the robot to collide with obstacles at the edge of the obstacle avoidance area during driving, resulting in lower safety of the robot's operation.

[0072] Based on this, the present disclosure provides a robot obstacle avoidance method, so that during the driving process, the robot can not only detect obstacle points within the obstacle avoidance area (local obstacle avoidance area) in front of the robot when the robot body posture is skewed, but also detect obstacle points within the obstacle avoidance area (global obstacle avoidance area) in front of the robot when the robot body posture is normal (not skewed), that is, combine global obstacle avoidance with local obstacle avoidance; in this way, the robot's obstacle avoidance accuracy can be improved, the robot's erroneous obstacle avoidance situations can be reduced, and the robot's operating efficiency and operating smoothness can be improved; and this can also reduce the probability of the robot colliding with the obstacle avoidance point, thereby improving the robot's safety.

[0073] Before describing the technical solution of the embodiment of the present disclosure, the application scenario of the embodiment of the present disclosure will be described with reference to the accompanying drawings. As shown in Figure 1, the application scenario includes a control device 11, a robot 12, a storage area 13, and a workstation 14. The warehouse includes at least one robot 12, a storage area 13, and at least one workstation 14. The storage area 13 is used to place goods, and the goods are stored in inventory containers (such as cargo boxes, movable carriers, pallets, turnover boxes, or original boxes). The control device 11 communicates with the robot 12 via a network.

[0074] In some embodiments, the robot may also be referred to as a movable device or a handling device. The robot may be a handling robot, such as an automated guided vehicle (AGV). For example, the handling robot may carry a target object from a current location to a target location. The target object may include the target goods in the pending order, the container where the target goods are located, the material box where the target goods are located, or the original box where the target goods are placed, and the embodiments of the present disclosure are not limited to this. The following embodiments are schematically illustrated using the target object as the target goods as an example.

[0075] Exemplarily, the control device 11 sends a transport instruction to the robot 12 , where the transport instruction includes a driving path.

[0076] For example, taking the starting point of the driving path as the cargo location A where the target goods are placed in the storage area 13 and the end point as the workstation P1, when the robot 12 receives the transport instruction, it moves to the cargo location A based on the transport instruction to obtain the target goods, and moves the target goods to the workstation P1 according to the driving path, and the target goods are picked by the staff or picking equipment at the workstation P1.

[0077] For another example, assuming the starting point of the driving path is workstation P1 and the end point is storage location A in storage area 13, when the robot 12 receives a transport instruction, it moves to workstation P1 based on the transport instruction to obtain the target goods and then moves the target goods to storage location A according to the driving path. While the robot is transporting the target goods along the driving path, it will detect obstacles in the obstacle avoidance area according to a preset detection frequency or in real time to avoid them in a timely manner.

[0078] In some embodiments, when the robot 12 carries the target goods, it can carry the target goods directly (e.g., placing the target goods on the robot 12 for carrying), or it can carry the inventory container (e.g., cargo box, pallet, turnover box or original box) storing the target goods, or it can carry the movable carrier (e.g., shelf) storing the target goods. The disclosed embodiments do not limit the manner in which the robot carries the target goods. In different application scenarios of the warehousing system, the manner in which the robot carries the target goods may be different. In some embodiments, the manner in which the robot carries the target goods is related to the type of robot.

[0079] In some embodiments, the control device 11 can be deployed on a terminal device or a server. The terminal device may include, but is not limited to, various electronic devices such as personal computers, laptops, smartphones, tablet computers, and portable wearable devices. The server can be implemented as a standalone server or a server cluster consisting of multiple servers. The following embodiments are illustrative examples of the control device 11 being deployed on an electronic device.

[0080] FIG2 is a flow chart of a robot obstacle avoidance method. As shown in FIG2 , the embodiment of the present disclosure provides a robot obstacle avoidance method, including S201 - S205.

[0081] S201: Determine a global obstacle avoidance area and a local obstacle avoidance area based on the current position information of the robot.

[0082] The global obstacle avoidance area is the obstacle avoidance area in front of the robot when the robot body posture is not skewed, and the local obstacle avoidance area is the obstacle avoidance area in front of the robot when the robot body posture is skewed.

[0083] In some embodiments, the current position information of the robot represents the coordinate information of the robot in the warehouse.

[0084] For example, the robot can determine its current location by identifying a location identifier (e.g., a QR code) set in the warehouse. The robot can also identify the location identifier set in the warehouse and send identification information corresponding to the location identifier to the control device, which then determines the robot's coordinate information in the warehouse based on the identification information sent by the robot. The robot then obtains the robot's current location information through the control device. The disclosed embodiments do not limit the method for determining the robot's current location information.

[0085] In some embodiments, the control device determines the starting and ending points of the driving path based on the order information and plans the driving path based on the starting and ending points. Subsequently, the control device generates handling instructions based on the driving path, which are used to instruct the robot to operate according to the driving path. A global obstacle avoidance area refers to the obstacle avoidance area in front of the robot when the robot is in the target body posture (the body posture is not skewed) during the robot's operation along the driving path. A local obstacle avoidance area refers to the obstacle avoidance area in front of the robot when the robot's body posture is skewed during the robot's operation along the driving path.

[0086] For example, as shown in Figure 3, when the robot is traveling along the driving path, if the robot's main body posture becomes skewed, the robot's obstacle avoidance area will change from obstacle avoidance area 1 (the area enclosed by the dotted box in Figure 3) to obstacle avoidance area 2 (the area enclosed by the solid box in Figure 3). Obstacle avoidance area 1 is the global obstacle avoidance area, and obstacle avoidance area 2 is the local obstacle avoidance area.

[0087] In some embodiments, the current position information of the robot includes at least one of the current position information of the robot in the local coordinate system and the current position information of the robot in the global coordinate system.

[0088] It should be noted that the robot's current position information in the local coordinate system and the robot's current position information in the global coordinate system can be interchanged. That is, when the robot's current position information in the local coordinate system is known, the robot's current position information in the local coordinate system can be transformed based on the global coordinate system and the local coordinate system to obtain the robot's current position information in the global coordinate system; when the robot's current position information in the global coordinate system is known, the robot's current position information in the global coordinate system can be transformed based on the global coordinate system and the local coordinate system to obtain the robot's current position information in the local coordinate system.

[0089] In some embodiments, the global obstacle avoidance area is determined based on the current position information of the robot in the global coordinate system and the preset obstacle avoidance area size.

[0090] Exemplarily, FIG4A shows a local coordinate system and a global coordinate system; as shown in FIG4A , the global coordinate system can be a coordinate system XOY constructed with any point in the historical area traveled by the robot according to the driving path as the origin (point O in FIG4A ), the length direction of the robot's driving path as the Y axis, and the direction perpendicular to the Y axis as the X axis.

[0091] In some embodiments, the preset obstacle avoidance zone size is a preset value. This preset obstacle avoidance zone size can be stored in a storage module of the robot or in a control device. That is, the robot can obtain the preset obstacle avoidance zone size from the robot's storage module or request it from the control device. This is not limited in the presently disclosed embodiments.

[0092] It should be noted that robots include various models, and the specifications, functions, and obstacle avoidance area sizes corresponding to different models of robots may be the same or different, which is not limited in the present embodiment.

[0093] In addition, the robot's obstacle avoidance area can be rectangular or circular; the disclosed embodiments do not limit the shape of the robot's obstacle avoidance area. In the following embodiments, the robot's obstacle avoidance area is described as a rectangular area set in front of the robot.

[0094] Exemplarily, FIG4B shows an obstacle avoidance area. As shown in FIG4B , the length of the obstacle avoidance area may be the length of the driving path (obs_length), that is, the distance between the starting point (start_point) and the ending point (end_point); the width of the obstacle avoidance area may be the robot width (obs_width).

[0095] In some embodiments, the left boundary x_left, right boundary x_right, upper boundary y_up, and lower boundary y_down of the global obstacle avoidance area can be calculated based on Formulas 1 to 4, respectively. Formulas 1 to 4 are as follows: x_left = X - obs_width / 2 Formula 1 x_right = X + obs_width / 2 Formula 2 y_up = Y + robot_length / 2 + obs_length Formula 3 y_down = Y + robot_length / 2 Formula 4

[0096] Where robot_length is the length of the robot, and (X,Y) is the coordinate of the robot in the global coordinate system.

[0097] In some embodiments, the local obstacle avoidance area is determined based on the current position information of the robot in the local coordinate system and the preset obstacle avoidance area size.

[0098] Exemplarily, as shown in FIG4A , the local coordinate system can be a coordinate system xoy constructed with the robot (the current position information of the robot) as the origin (point o in FIG4A ), the direction in which the robot's body posture is tilted (i.e., the current actual running direction of the robot) as the y-axis, and the direction perpendicular to the y-axis as the x-axis.

[0099] In some embodiments, the current position information of the robot in the global coordinate system in Formulas 1-4 is replaced with the current position information of the robot in the local coordinate system, that is, the coordinates (X, Y) of the robot in the global coordinate system in Formulas 1-4 are replaced with the coordinates (x, y) of the robot in the local coordinate system. The local obstacle avoidance area can be determined based on the current position information of the robot in the local coordinate system and the preset obstacle avoidance area size.

[0100] It should be noted that since the global obstacle avoidance area is the obstacle avoidance area corresponding to when the robot's body posture is not skewed, and the local obstacle avoidance area is the obstacle avoidance area corresponding to when the robot's body posture is skewed; therefore, if the robot's body posture is skewed by θ degrees, an angle of θ degrees will be formed between the left boundary (right boundary) of the global obstacle avoidance area and the left boundary (right boundary) of the local obstacle avoidance area.

[0101] In some embodiments, the local coordinate system and the global coordinate system can be constructed by the robot based on the robot's current position information and driving path, or can be constructed by the control device based on the robot's current position information and driving path and then sent to the robot. This disclosure is not limited to this.

[0102] S202: Obtain global obstacle point detection results within the global obstacle avoidance area and local obstacle point detection results within the local obstacle avoidance area.

[0103] In some embodiments, the global obstacle point is an obstacle point located in the global obstacle avoidance area on the driving path, and the local obstacle avoidance point is an obstacle point located in the local obstacle avoidance area on the driving path.

[0104] Exemplarily, based on the global obstacle avoidance area and the local obstacle avoidance area obtained by executing S201, the robot determines the global obstacle avoidance point detection result by determining whether there is an obstacle point in the global obstacle avoidance area, and determines the local obstacle point detection result by determining whether there is an obstacle point in the local obstacle avoidance area.

[0105] In some embodiments, the obstacle point may be a fixed object (e.g., cargo, inventory container, etc.) or a movable object (e.g., another robot paused on the driving path), which is not limited in the present disclosure.

[0106] As shown in FIG. 5 , in some embodiments, S202 may include S2021 - S2023 .

[0107] S2021. Obtain location information of at least one obstacle point.

[0108] For example, the robot can detect obstacle points on the driving path through a built-in laser radar to obtain the coordinates of at least one obstacle point in a local coordinate system, thereby obtaining position information of at least one obstacle point.

[0109] Among them, since the robot uses the built-in laser radar to detect obstacle points on the driving path, the laser radar signal emitted by the built-in laser radar propagates along the current actual running direction of the robot, that is, along the y-axis of the local coordinate system; therefore, the position information of at least one obstacle point obtained by the robot is the position information of at least one obstacle point in the local coordinate system.

[0110] S2022: Determine a global obstacle point detection result based on the location information of the obstacle point and the global obstacle avoidance area.

[0111] The global obstacle point detection result is used to indicate whether there is an obstacle point in the global obstacle avoidance area.

[0112] For example, the robot uses its built-in lidar to detect obstacles along its path, obtaining the coordinates of at least one obstacle point in a local coordinate system. Based on the coordinates of the at least one obstacle point in the local coordinate system, a corresponding obstacle point cloud is generated. By determining whether there is overlap between the obstacle point cloud and the global obstacle avoidance area, it is possible to determine whether an obstacle exists within the global obstacle avoidance area, thereby generating a global obstacle avoidance result.

[0113] To improve the accuracy of global obstacle point detection results, as shown in FIG6 , in some embodiments, S2022 may include S20221 - S20222 .

[0114] S20221. Determine the position information of the obstacle point in the global coordinate system based on the position information of the obstacle point in the local coordinate system, the current position information of the robot in the local coordinate system, and the position and posture angle of the robot.

[0115] In some embodiments, the position information of the obstacle point in the local coordinate system is the coordinates of the obstacle point in the local coordinate system. The position posture angle of the robot is the angle corresponding to when the robot's body posture is tilted.

[0116] For example, based on FIG4A , if the robot's body posture is tilted by θ degrees, that is, the robot's position posture angle is θ degrees, the position information of the obstacle point in the global coordinate system can be determined based on Formula 5-Formula 6. Formula 5 and Formula 6 are as follows: X0 = x0*cosθ-y0*sinθ+a Formula 5 Y0 = x0*sinθ+y0*cosθ+b Formula 6

[0117] Among them, (a, b) are the coordinates of the robot in the global coordinate system, θ is the position and posture angle of the robot, (x0, y0) are the coordinates of the obstacle point in the local coordinate system, that is, the position information of the obstacle point in the local coordinate system; (X0, Y0) are the coordinates of the obstacle point in the global coordinate system, that is, the position information of the obstacle point in the global coordinate system.

[0118] S20222: Determine a global obstacle point detection result based on the position information of the obstacle point in the global coordinate system and the global obstacle avoidance area.

[0119] Exemplarily, if, based on the position information of the obstacle point in the global coordinate system (the coordinates of the obstacle point in the global coordinate system), it is determined that the obstacle point is in the global obstacle avoidance area, then the global obstacle point detection result is determined to indicate that there is an obstacle point in the global obstacle avoidance area; if, based on the position information of the obstacle point in the global coordinate system, it is determined that the obstacle point is not in the global obstacle avoidance area, then the global obstacle point detection result is determined to indicate that there is no obstacle point in the global obstacle avoidance area.

[0120] S2023: Determine a local obstacle point detection result based on the location information of the obstacle point and the local obstacle avoidance area.

[0121] The local obstacle point detection result is used to indicate whether there is an obstacle point in the local obstacle avoidance area.

[0122] In some embodiments, S2023 may include: determining a local obstacle point detection result based on the position information of the obstacle point in the local coordinate system and the local obstacle avoidance area.

[0123] For example, if it is determined that the obstacle point is in the local obstacle avoidance area based on the position information of the obstacle point in the local coordinate system (the coordinates of the obstacle point in the local coordinate system), then the local obstacle point detection result is determined to indicate that there is an obstacle point in the local obstacle avoidance area; if it is determined that the obstacle point is not in the local obstacle avoidance area based on the position information of the obstacle point in the local coordinate system, then the local obstacle point detection result is determined to indicate that there is no obstacle point in the local obstacle avoidance area.

[0124] It should be noted that S2022 can be executed first to determine the global obstacle avoidance point detection result, and then S2023 can be executed to determine the all local obstacle point detection results; or S2023 can be executed first to determine the all local obstacle point detection results, and then S2022 can be executed to determine the global obstacle avoidance point detection result. The present embodiment does not limit the execution order of S2022-S2023.

[0125] S203: Determine candidate obstacle avoidance points based on the global obstacle point detection results and the local obstacle point detection results.

[0126] The candidate obstacle avoidance points include global obstacle avoidance points and / or local obstacle avoidance points. A global obstacle avoidance point is an obstacle point on the driving path that is located within the global obstacle avoidance area, and a local obstacle avoidance point is an obstacle point on the driving path that is located within the local obstacle avoidance area.

[0127] In some embodiments, when the global obstacle point detection result indicates that there is at least one first obstacle point in the global obstacle avoidance area, the global obstacle avoidance point is determined in the at least one first obstacle point based on the current position information of the robot; and / or, when the local obstacle point detection result indicates that there is at least one second obstacle point in the local obstacle avoidance area, the local obstacle avoidance point is determined in the at least one second obstacle point based on the current position information of the robot.

[0128] It should be noted that the first obstacle point is an obstacle point located in the global obstacle avoidance area among multiple obstacle points on the driving path detected by the robot, and the second obstacle point is an obstacle point located in the local obstacle avoidance area among multiple obstacle points on the driving path detected by the robot.

[0129] As shown in FIG. 7 , in some embodiments, determining a global obstacle avoidance point in at least one first obstacle point based on the current position information of the robot includes S701 - S702 .

[0130] S701: Determine the distance between each first obstacle point and the robot based on the current position information of the robot.

[0131] Exemplarily, the distance between each first obstacle point and the robot is determined based on the coordinates of the robot in the global coordinate system and the coordinates of each first obstacle point in the global coordinate system; or, the distance between each first obstacle point and the robot is determined based on the coordinates of the robot in the local coordinate system and the coordinates of each first obstacle point in the local coordinate system.

[0132] S702: Determine the first obstacle point closest to the robot as the global obstacle avoidance point.

[0133] In some embodiments, the number of first obstacle points can be one or more. When there is one first obstacle point, the first obstacle point is determined as the global obstacle avoidance point. When there are multiple first obstacle points, the first obstacle point closest to the robot among the multiple first obstacle points is determined as the global obstacle avoidance point.

[0134] As shown in FIG8 , in some embodiments, determining a global obstacle avoidance point in at least one second obstacle point based on the current position information of the robot includes S801 - S802 .

[0135] S801: Determine the distance between each second obstacle point and the robot based on the current position information of the robot.

[0136] Exemplarily, the distance between each second obstacle point and the robot is determined based on the coordinates of the robot in the global coordinate system and the coordinates of each second obstacle point in the global coordinate system; or, the distance between each second obstacle point and the robot is determined based on the coordinates of the robot in the local coordinate system and the coordinates of each second obstacle point in the local coordinate system.

[0137] S802: Determine the second obstacle point closest to the robot as a local obstacle avoidance point.

[0138] In some embodiments, the number of second obstacle points can be one or more. When there is one second obstacle point, the second obstacle point is determined as the local obstacle avoidance point. When there are multiple second obstacle points, the second obstacle point closest to the robot among the multiple first obstacle points is determined as the local obstacle avoidance point.

[0139] S204: Determine a target obstacle avoidance point based on whether the candidate obstacle avoidance points include local obstacle avoidance points and / or global obstacle avoidance points.

[0140] Exemplarily, the target obstacle avoidance point is used to instruct the robot whether to perform obstacle avoidance processing.

[0141] In some embodiments, when the candidate obstacle avoidance points do not include a local obstacle avoidance point and the candidate obstacle avoidance points include a global obstacle avoidance point, a projection point of the global obstacle avoidance point along the first direction into the local obstacle avoidance area is determined as the target obstacle avoidance point.

[0142] In some embodiments, the first direction refers to the direction in which the global obstacle avoidance point is projected from the global obstacle avoidance region to the local obstacle avoidance region. The first direction can be the x-axis direction of the global coordinate system or the x-axis direction of the local coordinate system, and this is not limited in the present disclosure. The following embodiments will use the x-axis direction of the global coordinate system as an example for illustrative purposes.

[0143] For example, as shown in Figure 9, when the candidate obstacle avoidance points do not include local obstacle avoidance points and the candidate obstacle avoidance points include global obstacle avoidance points, this means that there are no local obstacle avoidance points in the local obstacle avoidance area, and there are global obstacle avoidance points in the global obstacle avoidance area; that is, there is a global obstacle avoidance point obstacle_A in the global obstacle avoidance area (the area selected by the dashed box in Figure 9), but global obstacle avoidance point obstacle_A is not in the local obstacle avoidance area (the area selected by the solid box in Figure 9). In this case, the global obstacle avoidance point obstacle_A is projected along the X-axis of the global coordinate system onto the left boundary of the robot's local obstacle avoidance area to obtain the projected point obstacle_A', which is determined as the target obstacle avoidance point.

[0144] It can be understood that when the candidate obstacle avoidance points do not include local obstacle avoidance points and the candidate obstacle avoidance points include global obstacle avoidance points, the robot uses the projection point of the global obstacle avoidance point projected along the first direction into the local obstacle avoidance area as the target obstacle avoidance point, which can avoid the situation where the robot is unable to brake in time when adjusting its body posture due to the close distance between the robot and the global obstacle avoidance point, thereby causing a collision between the robot and the global obstacle avoidance point; since the projection point of the global obstacle avoidance point projected along the first direction into the local obstacle avoidance area is closer to the robot than the global obstacle avoidance point during the process of adjusting the robot's body posture, by using the projection point as the target obstacle avoidance point, the robot can avoid obstacles in time during the process of adjusting its body posture, thereby improving the safety of the robot during operation.

[0145] In some embodiments, the global obstacle avoidance point can be projected along the first direction onto any boundary (e.g., the left boundary or the right boundary) of the local obstacle avoidance area, or the global obstacle avoidance point can be projected along the first direction onto any portion within the local obstacle avoidance area. This disclosure is not limited to this.

[0146] To further improve the robot's safety, obstacle avoidance accuracy, and operational efficiency and smoothness, in some embodiments, when the candidate obstacle avoidance points include local obstacle avoidance points and the candidate obstacle avoidance points include global obstacle avoidance points, if the robot's current position information and / or the local obstacle avoidance point meet preset conditions, the local obstacle avoidance point is determined as the target obstacle avoidance point.

[0147] For example, if the candidate obstacle avoidance points include both a local obstacle avoidance point and a global obstacle avoidance point, this means that both the local obstacle avoidance point and the global obstacle avoidance point exist in the local obstacle avoidance area and the global obstacle avoidance point exist in the global obstacle avoidance area. In this case, the robot can determine whether to perform global or local obstacle avoidance based on the robot's current position and / or whether the local obstacle avoidance point meets preset conditions.

[0148] In some embodiments, the robot's current position information and / or local obstacle avoidance point meets preset conditions, including at least one of the following: the angle difference between the robot's driving angle and the target angle is greater than the preset angle difference; the lateral distance between the robot's current driving path and the preset driving path is greater than the preset lateral distance; the distance between the local obstacle avoidance point and the robot is less than or equal to the robot's braking distance.

[0149] Exemplarily, the angular difference between the robot's driving angle and the target angle refers to the angular difference between the robot's current body posture and the robot's target body posture. If the angular difference between the robot's driving angle and the target angle is greater than a preset angular difference (e.g., 3 degrees), this indicates that the robot's driving direction deviates significantly from the direction corresponding to the driving path. In this case, the obstacle point in the global obstacle avoidance area is far away from the robot and will not affect the robot's operation. The robot can then perform local obstacle avoidance, i.e., determine the local obstacle avoidance point as the target obstacle avoidance point.

[0150] If the lateral distance between the robot's current path and the preset path is greater than the preset lateral distance (e.g., 3 cm), it means that the robot's current path is parallel to the preset path, meaning that obstacles in the global obstacle avoidance area will not affect the robot's operation. Therefore, the robot performs local obstacle avoidance, i.e., determines the local obstacle avoidance point as the target obstacle avoidance point.

[0151] If the distance between the local obstacle avoidance point and the robot is less than or equal to the robot's braking distance, it means that the robot may collide with the local obstacle avoidance point before adjusting its body posture to the target body posture. Therefore, the robot identifies the local obstacle avoidance point as the target obstacle avoidance point and performs obstacle avoidance in a timely manner to avoid collision with the local obstacle avoidance point.

[0152] In some embodiments, when the candidate obstacle avoidance points include local obstacle avoidance points and the candidate obstacle avoidance points include global obstacle avoidance points, if the current position information of the robot and / or the local obstacle avoidance points do not meet the preset conditions, the first position relationship between the local obstacle avoidance point and the global obstacle avoidance area is determined, and based on the first position relationship and the current position information of the robot, the target obstacle avoidance point is determined.

[0153] Illustratively, the first positional relationship between the local obstacle avoidance point and the global obstacle avoidance area is used to indicate whether the local obstacle avoidance point is within the global obstacle avoidance area.

[0154] In some embodiments, determining the target obstacle avoidance point based on the first position relationship includes: when the first position relationship indicates that the local obstacle avoidance point is outside the global obstacle avoidance area, projecting the global obstacle avoidance point along the first direction into the local obstacle avoidance area to determine it as the target obstacle avoidance point.

[0155] For example, as shown in Figure 10, assume that there is a global obstacle avoidance point obstacle_A within the global obstacle avoidance area (the area selected by the dashed box in Figure 10), and a local obstacle avoidance point obstacle_B within the local obstacle avoidance area (the area selected by the solid box in Figure 10), and that local obstacle avoidance point obstacle_B is not within the global obstacle avoidance area. In this case, because the robot's current position information and / or local obstacle avoidance points do not meet the preset conditions (i.e., the distance between local obstacle avoidance point obstacle_B and the robot is greater than the robot's braking distance), the global obstacle avoidance point obstacle_A is projected along the X-axis of the global coordinate system onto the left boundary of the robot's local obstacle avoidance area, resulting in a projected point obstacle_A', which is determined as the target obstacle avoidance point.

[0156] In some embodiments, determining the target obstacle avoidance point based on the first position relationship includes: determining the projection point of the global obstacle avoidance point projected along the first direction into the local obstacle avoidance area when the first position relationship indicates that the local obstacle avoidance point is located within the global obstacle avoidance area; determining the target obstacle avoidance point based on the projection point, the local obstacle avoidance point and the current position information of the robot.

[0157] For example, as shown in Figure 11, assume that there is a global obstacle avoidance point obstacle_A within the global obstacle avoidance area (the area selected by the dotted box in Figure 11), and a local obstacle avoidance point obstacle_B within the local obstacle avoidance area (the area selected by the solid box in Figure 11), and that local obstacle avoidance point obstacle_B is within the global obstacle avoidance area. The global obstacle avoidance point obstacle_A is projected along the X-axis of the global coordinate system onto the left boundary of the robot's local obstacle avoidance area to obtain the projected point obstacle_A'. Based on the robot's current position information, the projected point obstacle_A' is compared with the local obstacle avoidance point obstacle_B, and the target obstacle avoidance point is determined from the projected point obstacle_A' and the local obstacle avoidance point obstacle_B.

[0158] In some embodiments, determining a target obstacle avoidance point based on the projected point, the local obstacle avoidance point, and the current position of the robot includes determining a first distance between the projected point and the robot and a second distance between the local obstacle avoidance point and the robot. If the first distance is less than the second distance, the projected point is determined as the target obstacle avoidance point; if the first distance is greater than the second distance, the local obstacle avoidance point is determined as the target obstacle avoidance point.

[0159] Exemplarily, the first distance between the projection point and the robot can be determined based on the coordinates of the projection point in the global coordinate system and the coordinates of the robot in the global coordinate system; the second distance between the local obstacle avoidance point and the robot can be determined based on the coordinates of the local obstacle avoidance point in the global coordinate system and the coordinates of the robot in the global coordinate system; or, the first distance between the projection point and the robot can be determined based on the coordinates of the projection point in the local coordinate system and the coordinates of the robot in the local coordinate system; the second distance between the local obstacle avoidance point and the robot can be determined based on the coordinates of the local obstacle avoidance point in the local coordinate system and the coordinates of the robot in the local coordinate system.

[0160] In some embodiments, if the first distance is less than the second distance, this means that the distance between the projected point and the robot is less than the distance between the local obstacle avoidance point and the robot, meaning that the projected point is closer to the robot. In this case, the projected point is determined as the target obstacle avoidance point, allowing the robot to promptly perform obstacle avoidance. If the first distance is greater than the second distance, this means that the distance between the local obstacle avoidance point and the robot is greater than the distance between the projected point and the robot, meaning that the local obstacle avoidance point is closer to the robot. In this case, the local obstacle avoidance point is determined as the target obstacle avoidance point, allowing the robot to promptly perform obstacle avoidance.

[0161] For example, as shown in FIG11 , if the distance between the projected point obstacle_A′ and the robot is smaller than the distance between the local obstacle avoidance point obstacle_B and the robot, that is, the projected point obstacle_A′ is closer to the robot, then the projected point obstacle_A′ is determined to be the target obstacle avoidance point.

[0162] In some embodiments, when the candidate obstacle avoidance points include local obstacle avoidance points and the candidate obstacle avoidance points include global obstacle avoidance points, if the current position information of the robot and / or the local obstacle avoidance points do not meet the preset conditions, a second positional relationship between the global obstacle avoidance point and the local obstacle avoidance area is determined, and based on the second positional relationship, the target obstacle avoidance point is determined.

[0163] Illustratively, the second positional relationship between the global obstacle avoidance point and the local obstacle avoidance area is used to indicate whether the global obstacle avoidance point is within the local obstacle avoidance area.

[0164] In some embodiments, based on the second position relationship, determining the target obstacle avoidance point includes: when the second position relationship indicates that the global obstacle avoidance point is located in the local obstacle avoidance area, determining the distances between the global obstacle avoidance point and the local obstacle avoidance point and the robot respectively; and determining the obstacle avoidance point closest to the robot among the global obstacle avoidance point and the local obstacle avoidance point as the target obstacle avoidance point.

[0165] For example, as shown in Figure 12, assume that there is a global obstacle avoidance point obstacle_A within the global obstacle avoidance area (the area selected by the dotted box in Figure 12), and that global obstacle avoidance point obstacle_A is within the local obstacle avoidance area (the area selected by the solid box in Figure 12); and that there are local obstacle avoidance points obstacle_B and local obstacle avoidance points obstacle_C within the local obstacle avoidance area, and that both local obstacle avoidance points obstacle_B and local obstacle avoidance points obstacle_C are within the global obstacle avoidance area. Based on the robot's current position information, the distances between the global obstacle avoidance point obstacle_A, the local obstacle avoidance point obstacle_B, and the local obstacle avoidance point obstacle_C and the robot are determined. If local obstacle avoidance point obstacle_B is closest to the robot, then local obstacle avoidance point obstacle_B is determined as the target obstacle avoidance point.

[0166] In some embodiments, when the candidate obstacle avoidance points include local obstacle avoidance points and the candidate obstacle avoidance points do not include global obstacle avoidance points, the target obstacle avoidance point is determined based on the local obstacle avoidance points and the current position of the robot.

[0167] For example, if the candidate obstacle avoidance points include local obstacle avoidance points but do not include global obstacle avoidance points, this means that there are no global obstacle avoidance points within the global obstacle avoidance area, but there are local obstacle avoidance points within the local obstacle avoidance area. To ensure that the robot can avoid obstacles in a timely manner, the distance between the local obstacle avoidance point and the robot is determined based on the local obstacle avoidance point and the robot's current position. This distance is then used to determine whether the local obstacle avoidance point is the target obstacle avoidance point.

[0168] In some embodiments, if the distance between the local obstacle avoidance point and the robot is less than or equal to the braking distance of the robot, the local obstacle avoidance point is determined as the target obstacle avoidance point; if the distance between the local obstacle avoidance point and the robot is greater than the braking distance of the robot, the preset obstacle avoidance point is determined as the target obstacle point.

[0169] Among them, the distance between the preset obstacle avoidance point and the robot is always greater than the robot's braking distance.

[0170] For example, as shown in Figure 13, assume that there are no global obstacle avoidance points within the global obstacle avoidance area (the area selected by the dashed box in Figure 13), and that there is a local obstacle avoidance point, obstacle_A, within the local obstacle avoidance area (the area selected by the solid box in Figure 13). In this case, if the distance between the local obstacle avoidance point, obstacle_A, and the robot is less than or equal to the braking distance, then the local obstacle avoidance point, obstacle_A, is determined as the target obstacle avoidance point to ensure timely obstacle avoidance by the robot and prevent collisions with the local obstacle avoidance point, obstacle_A, during operation. If the distance between the local obstacle avoidance point, obstacle_A, and the robot is greater than the braking distance, then obstacle avoidance is no longer necessary and the preset obstacle avoidance point is determined as the target obstacle point to ensure efficient operation.

[0171] In some embodiments, when the candidate obstacle avoidance points do not include the local obstacle avoidance point and the global obstacle avoidance point, a preset obstacle avoidance point is determined as the target obstacle point.

[0172] For example, the candidate obstacle avoidance points do not include local obstacle avoidance points and global obstacle avoidance points, which means that there are no obstacle points in the global obstacle avoidance area and the local obstacle avoidance area. At this time, the robot does not need to perform obstacle avoidance processing, and the preset obstacle avoidance point is determined as the target obstacle point to ensure the robot's operating efficiency.

[0173] S205: Determine whether to perform obstacle avoidance based on the target obstacle avoidance point and the current position information of the robot.

[0174] For example, based on the target obstacle avoidance point and the robot's current position information, the distance between the target obstacle avoidance point and the robot is determined. Subsequently, based on the distance between the target obstacle avoidance point and the robot, it is determined whether to perform obstacle avoidance processing. The distance between the target obstacle avoidance point and the robot can be determined based on the robot's coordinates in a global coordinate system and the target obstacle avoidance point's coordinates in a global coordinate system; or based on the robot's coordinates in a local coordinate system and the target obstacle avoidance point's coordinates in a local coordinate system.

[0175] In some embodiments, S205 includes: if the distance between the target obstacle avoidance point and the robot is less than or equal to the braking distance of the robot, obstacle avoidance processing is performed; if the distance between the target obstacle avoidance point and the robot is greater than the braking distance of the robot, obstacle avoidance processing is not performed.

[0176] For example, if the distance between the target obstacle avoidance point and the robot is less than or equal to the braking distance of the robot, it means that if the robot does not slow down or brake, it will collide with the target obstacle avoidance point, and obstacle avoidance processing is performed at this time.

[0177] In some embodiments, the robot performing obstacle avoidance processing refers to the robot slowing down or stopping operation, wherein the robot can determine the deceleration rate during deceleration based on the distance between the target obstacle avoidance point and the robot.

[0178] For example, the shorter the distance between the target obstacle avoidance point and the robot, the greater the deceleration of the robot.

[0179] In some embodiments, after the robot performs obstacle avoidance, it may generate an obstacle avoidance instruction. The obstacle avoidance instruction is used to instruct the operator to remove the target obstacle avoidance point. When the robot detects that the target obstacle avoidance point has been removed, the robot will continue to travel along the driving path.

[0180] Based on the same disclosed concept, the present disclosure also provides a robot obstacle avoidance device for implementing the robot obstacle avoidance method mentioned above. The solution to the problem provided by the device is similar to the solution described in the above method. Therefore, the specific limitations of one or more robot obstacle avoidance device embodiments provided below can refer to the limitations of the robot obstacle avoidance method above, and will not be repeated here. Specifically, Figure 14 is a schematic diagram of the structure of a robot obstacle avoidance device in the present disclosure. As shown in Figure 14, the device includes:

[0181] The processing module 1401 is configured to determine a global obstacle avoidance area and a local obstacle avoidance area based on the current position information of the robot; the global obstacle avoidance area is the obstacle avoidance area in front of the robot when the robot body posture is not skewed, and the local obstacle avoidance area is the obstacle avoidance area in front of the robot when the robot body posture is skewed;

[0182] An acquisition module 1402 is configured to acquire global obstacle point detection results within a global obstacle avoidance area and local obstacle point detection results within a local obstacle avoidance area;

[0183] The processing module 1401 is further configured to determine candidate obstacle avoidance points based on the global obstacle point detection results and the local obstacle point detection results, where the candidate obstacle avoidance points include global obstacle avoidance points and / or local obstacle avoidance points. The global obstacle avoidance points are obstacle points on the driving path that are located within the global obstacle avoidance area, and the local obstacle avoidance points are obstacle points on the driving path that are located within the local obstacle avoidance area; determine the target obstacle avoidance point based on whether the candidate obstacle avoidance points include the local obstacle avoidance point and / or the global obstacle avoidance point; and determine whether to perform obstacle avoidance processing based on the target obstacle avoidance point and the current position information of the robot.

[0184] In an optional embodiment, the processing module 1401 is further configured to determine the global obstacle avoidance area based on the current position information of the robot in the global coordinate system and the preset obstacle avoidance area size; and to determine the local obstacle avoidance area based on the current position information of the robot in the local coordinate system and the preset obstacle avoidance area size.

[0185] In an optional embodiment, the acquisition module 1402 is further configured to obtain the location information of at least one obstacle point; the processing module 1401 is further configured to determine a global obstacle point detection result based on the location information of the obstacle point and the global obstacle avoidance area; the global obstacle point detection result is configured to indicate whether an obstacle point exists within the global obstacle avoidance area; the local obstacle point detection result is determined based on the location information of the obstacle point and the local obstacle avoidance area; the local obstacle point detection result is configured to indicate whether an obstacle point exists within the local obstacle avoidance area.

[0186] In an optional embodiment, the processing module 1401 is further configured to determine a global obstacle avoidance point in the at least one first obstacle point based on the current position information of the robot when the global obstacle point detection result indicates that there is at least one first obstacle point in the global obstacle avoidance area; and / or to determine a local obstacle avoidance point in the at least one second obstacle point based on the current position information of the robot when the local obstacle point detection result indicates that there is at least one second obstacle point in the local obstacle avoidance area.

[0187] In an optional embodiment, the processing module 1401 is further configured to determine the distance between each first obstacle point and the robot based on the current position information of the robot; and determine the first obstacle point closest to the robot as the global obstacle avoidance point.

[0188] In an optional embodiment, the processing module 1401 is further configured to determine the distance between each second obstacle point and the robot based on the current position information of the robot; and determine the second obstacle point closest to the robot as the local obstacle avoidance point.

[0189] In an optional embodiment, the processing module 1401 is further configured to, when the candidate obstacle avoidance points do not include a local obstacle avoidance point and the candidate obstacle avoidance points include a global obstacle avoidance point, determine a projection point of the global obstacle avoidance point along the first direction into the local obstacle avoidance area as the target obstacle avoidance point.

[0190] In an optional embodiment, the processing module 1401 is further configured to, when the candidate obstacle avoidance points include local obstacle avoidance points and the candidate obstacle avoidance points include global obstacle avoidance points, determine the local obstacle avoidance point as the target obstacle avoidance point if the current position information of the robot and / or the local obstacle avoidance point meet the preset conditions; if the current position information of the robot and / or the local obstacle avoidance point do not meet the preset conditions, determine a first positional relationship between the local obstacle avoidance point and the global obstacle avoidance area, and determine the target obstacle avoidance point based on the first positional relationship and the current position information of the robot; or, if the current position information of the robot and / or the local obstacle avoidance point do not meet the preset conditions, determine a second positional relationship between the global obstacle avoidance point and the local obstacle avoidance area, and determine the target obstacle avoidance point based on the second positional relationship.

[0191] In an optional embodiment, the robot's current position information and / or local obstacle avoidance point meets preset conditions, including at least one of the following: the angle difference between the robot's driving angle and the target angle is greater than the preset angle difference; the lateral distance between the robot's current driving path and the preset driving path is greater than the preset lateral distance; the distance between the local obstacle avoidance point and the robot is less than or equal to the robot's braking distance.

[0192] In an optional embodiment, the processing module 1401 is further configured to determine a projection point of the global obstacle avoidance point projected along the first direction into the local obstacle avoidance area as a target obstacle avoidance point when the first position relationship indicates that the local obstacle avoidance point is outside the global obstacle avoidance area.

[0193] In an optional embodiment, the processing module 1401 is further configured to determine a projection point of the global obstacle avoidance point projected along the first direction into the local obstacle avoidance area when the first position relationship indicates that the local obstacle avoidance point is located in the global obstacle avoidance area; and determine the target obstacle avoidance point based on the projection point, the local obstacle avoidance point and the current position information of the robot.

[0194] In an optional embodiment, the processing module 1401 is further configured to determine a first distance between the projection point and the robot; determine a second distance between the local obstacle avoidance point and the robot; if the first distance is less than the second distance, determine the projection point as the target obstacle avoidance point; if the first distance is greater than the second distance, determine the local obstacle avoidance point as the target obstacle avoidance point.

[0195] In an optional embodiment, the processing module 1401 is further configured to determine the distances between the global obstacle avoidance point and the local obstacle avoidance point and the robot, respectively, when the second position relationship indicates that the global obstacle avoidance point is located in the local obstacle avoidance area; and determine the obstacle avoidance point closest to the robot among the global obstacle avoidance point and the local obstacle avoidance point as the target obstacle avoidance point.

[0196] In an optional embodiment, the processing module 1401 is further configured to perform obstacle avoidance processing if the distance between the target obstacle avoidance point and the robot is less than or equal to the braking distance of the robot; if the distance between the target obstacle avoidance point and the robot is greater than the braking distance of the robot, no obstacle avoidance processing is performed.

[0197] In an optional embodiment, the processing module 1401 is further configured to determine the target obstacle avoidance point based on the local obstacle avoidance point and the current position of the robot when the candidate obstacle avoidance point includes the local obstacle avoidance point and the candidate obstacle avoidance point does not include the global obstacle avoidance point.

[0198] In an optional embodiment, the processing module 1401 is further configured to determine the local obstacle avoidance point as the target obstacle avoidance point if the distance between the local obstacle avoidance point and the robot is less than or equal to the braking distance of the robot; if the distance between the local obstacle avoidance point and the robot is greater than the braking distance of the robot, determine the preset obstacle avoidance point as the target obstacle point, and the distance between the preset obstacle avoidance point and the robot is always greater than the braking distance of the robot.

[0199] In an optional embodiment, the processing module 1401 is further configured to determine a preset obstacle avoidance point as the target obstacle point when the candidate obstacle avoidance points do not include local obstacle avoidance points and global obstacle avoidance points, and the distance between the preset obstacle avoidance point and the robot is greater than the braking distance of the robot.

[0200] In an optional embodiment, the processing module 1401 is further configured to determine the position information of the obstacle point in the global coordinate system based on the position information of the obstacle point in the local coordinate system, the current position information of the robot in the local coordinate system, and the position posture angle of the robot; and determine the global obstacle point detection result based on the position information of the obstacle point in the global coordinate system and the global obstacle avoidance area.

[0201] In an optional embodiment, the processing module 1401 is further configured to determine a local obstacle point detection result based on the position information of the obstacle point in the local coordinate system and the local obstacle avoidance area.

[0202] Regarding the specific limitations and beneficial effects that can be achieved by the robot obstacle avoidance device, please refer to the limitations of the robot obstacle avoidance method above, which will not be repeated here.

[0203] As shown in Figure 15, a schematic diagram of the internal structure of a robot provided in this embodiment is shown. The robot includes a processor, memory, communication interface, display screen, and input device connected via a system bus. The robot's processor is used to provide computing and control capabilities. The robot's memory includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system and a computer program. The internal memory provides an environment for the operation of the operating system and computer program in the non-volatile storage medium. The robot's communication interface is used to communicate with an external terminal in a wired or wireless manner. The wireless manner can be achieved through WiFi, an operator network, NFC (near field communication), or other technologies. When the computer program is executed by the processor, a robot obstacle avoidance method is implemented. The robot's display screen can be a liquid crystal display or an electronic ink display screen. The robot's input device can be a touch layer covering the display screen, or it can be a button, trackball, or touchpad provided on the robot housing, or it can be an external keyboard, touchpad, or mouse.

[0204] As shown in Figure 16, it is a schematic diagram of the internal structure of an electronic device provided in this embodiment. The electronic device can be a server. The electronic device includes a processor, a memory and a network interface connected via a system bus. Among them, the processor of the electronic device is used to provide computing and control capabilities. The memory of the electronic device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system, a computer program and a database. The internal memory provides an environment for the operation of the operating system and computer program in the non-volatile storage medium. The database of the electronic device is used to store height parameters and three-dimensional map data. The network interface of the electronic device is used to communicate with an external terminal via a network connection. When the computer program is executed by the processor, a robot obstacle avoidance method is implemented.

[0205] Those skilled in the art will understand that the structures shown in Figures 15 and 16 are merely block diagrams of partial structures related to the scheme of the present disclosure, and do not constitute a limitation on the robots and electronic devices to which the scheme of the present disclosure is applied. Specific robots and electronic devices may include more or fewer components than shown in the figures, or combine certain components, or have different component arrangements.

[0206] In a specific implementation, an embodiment of the present disclosure provides an electronic device, including a processor and a memory, wherein a computer program is stored in the memory, and when the computer program is executed by the processor, the steps of the method in any of the above embodiments are implemented.

[0207] In a specific implementation, an embodiment of the present disclosure provides a computer-readable storage medium on which a computer program is stored. When the computer program is executed by a processor, the steps of the method in any of the above embodiments are implemented.

[0208] In a specific implementation, an embodiment of the present disclosure provides a computer program product, including a computer program, which implements the steps of the method in any of the above embodiments when executed by a processor.

[0209] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data for analysis, stored data, displayed data, etc.) involved in this disclosure are all information and data authorized by the user or fully authorized by all parties. Those skilled in the art can understand that all or part of the processes in the above-mentioned embodiment methods can be completed by instructing the relevant hardware through a computer program. The computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to memory, database or other media used in the embodiments provided by this disclosure may include at least one of non-volatile and volatile memory. Non-volatile memory may include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory may include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM may be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM). The database involved in each embodiment provided by the present disclosure may include at least one of a relational database and a non-relational database. Non-relational databases may include, but are not limited to, distributed databases based on blockchains. The processor involved in each embodiment provided by the present disclosure may be a general-purpose processor, a central processing unit, a graphics processing unit, a digital signal processor, a programmable logic unit, a data processing logic unit based on quantum computing, etc., but are not limited to these.

[0210] The technical features of the above embodiments can be combined arbitrarily. To make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.

[0211] The above-described embodiments merely represent several implementation methods of the present disclosure. While the descriptions are relatively specific and detailed, they should not be construed as limiting the scope of the present disclosure. It should be noted that a person of ordinary skill in the art may make various modifications and improvements without departing from the spirit of the present disclosure, all of which fall within the scope of protection of the present disclosure. Therefore, the scope of protection of the present disclosure shall be determined by the appended claims.

Claims

1. A robot obstacle avoidance method, the method comprising: Based on the current position information of the robot, determine the global obstacle avoidance area and the local obstacle avoidance area; The global obstacle avoidance area is the obstacle avoidance area in front of the robot when the robot body posture is not skewed, and the local obstacle avoidance area is the obstacle avoidance area in front of the robot when the robot body posture is skewed; Obtaining a global obstacle point detection result within the global obstacle avoidance area and a local obstacle point detection result within the local obstacle avoidance area; Determine candidate obstacle avoidance points according to the global obstacle point detection result and the local obstacle point detection result, wherein the candidate obstacle avoidance points include global obstacle avoidance points and / or local obstacle avoidance points; the global obstacle avoidance point is an obstacle point on the driving path that is located within the global obstacle avoidance area, and the local obstacle avoidance point is an obstacle point on the driving path that is located within the local obstacle avoidance area; Determining a target obstacle avoidance point based on whether the candidate obstacle avoidance points include the local obstacle avoidance point and / or the global obstacle avoidance point; Based on the target obstacle avoidance point and the current position information of the robot, it is determined whether to perform obstacle avoidance processing.

2. The method according to claim 1, wherein: The determining of the global obstacle avoidance area and the local obstacle avoidance area based on the current position information of the robot includes: Determining the global obstacle avoidance area based on the current position information of the robot in the global coordinate system and the preset obstacle avoidance area size; The local obstacle avoidance area is determined based on the current position information of the robot in the local coordinate system and the preset obstacle avoidance area size.

3. The method according to claim 1, wherein: The obtaining of the global obstacle point detection result in the global obstacle avoidance area and the local obstacle point detection result in the local obstacle avoidance area includes: Obtaining location information of at least one obstacle point; Based on the position information of the obstacle point and the global obstacle avoidance area, determining the global obstacle point detection result; the global obstacle point detection result is used to indicate whether the obstacle point exists in the global obstacle avoidance area; The local obstacle point detection result is determined based on the position information of the obstacle point and the local obstacle avoidance area; the local obstacle point detection result is used to indicate whether the obstacle point exists in the local obstacle avoidance area.

4. The method according to claim 3, wherein: The determining of candidate obstacle avoidance points according to the global obstacle point detection result and the local obstacle point detection result includes: When the global obstacle point detection result indicates that there is at least one first obstacle point in the global obstacle avoidance area, based on the current position information of the robot, determining the global obstacle avoidance point in the at least one first obstacle point; and / or, When the local obstacle point detection result indicates that there is at least one second obstacle point in the local obstacle avoidance area, the local obstacle avoidance point is determined in the at least one second obstacle point based on the current position information of the robot.

5. The method according to claim 4, wherein: The determining the global obstacle avoidance point in the at least one first obstacle point based on the current position information of the robot comprises: Determining the distance between each of the first obstacle points and the robot based on the current position information of the robot; The first obstacle point closest to the robot is determined as the global obstacle avoidance point.

6. The method according to claim 4, wherein: The determining the local obstacle avoidance point in the at least one second obstacle point based on the current position information of the robot comprises: Determine the distance between each of the second obstacle points and the robot based on the current position information of the robot; The second obstacle point closest to the robot is determined as the local obstacle avoidance point.

7. The method according to any one of claims 1 to 6, wherein: The step of determining a target obstacle avoidance point based on the candidate obstacle avoidance point comprises: When the candidate obstacle avoidance points do not include the local obstacle avoidance point and the candidate obstacle avoidance points include the global obstacle avoidance point, a projection point of the global obstacle avoidance point projected along a first direction into the local obstacle avoidance area is determined as the target obstacle avoidance point.

8. The method according to any one of claims 1 to 6, wherein: The step of determining a target obstacle avoidance point based on the candidate obstacle avoidance point comprises: In the case where the candidate obstacle avoidance points include the local obstacle avoidance points, and the candidate obstacle avoidance points include the global obstacle avoidance points, if the current position information of the robot and / or the local obstacle avoidance points meet a preset condition, the local obstacle avoidance points are determined as the target obstacle avoidance points; If the current position information of the robot and / or the local obstacle avoidance point does not meet the preset conditions, then a first position relationship between the local obstacle avoidance point and the global obstacle avoidance area is determined, and based on the first position relationship and the current position information of the robot, the target obstacle avoidance point is determined; or, if the current position information of the robot and / or the local obstacle avoidance point does not meet the preset conditions, then a second position relationship between the global obstacle avoidance point and the local obstacle avoidance area is determined, and based on the second position relationship, the target obstacle avoidance point is determined.

9. The method according to claim 8, wherein: The current position information of the robot and / or the local obstacle avoidance point meet a preset condition, including at least one of the following: The angle difference between the driving angle of the robot and the target angle is greater than a preset angle difference; The lateral distance between the current driving path of the robot and the preset driving path is greater than the preset lateral distance; The distance between the local obstacle avoidance point and the robot is less than or equal to the braking distance of the robot.

10. The method according to claim 9, wherein: The determining the target obstacle avoidance point based on the first position relationship includes: When the first positional relationship indicates that the local obstacle avoidance point is outside the global obstacle avoidance area, a projection point of the global obstacle avoidance point projected along a first direction into the local obstacle avoidance area is determined as the target obstacle avoidance point.

11. The method according to claim 9, wherein: The determining the target obstacle avoidance point based on the first position relationship includes: When the first positional relationship indicates that the local obstacle avoidance point is located in the global obstacle avoidance area, determining a projection point of the global obstacle avoidance point projected along a first direction into the local obstacle avoidance area; The target obstacle avoidance point is determined based on the projection point, the local obstacle avoidance point and the current position information of the robot.

12. The method according to claim 11, wherein: The step of determining the target obstacle avoidance point based on the projection point, the local obstacle avoidance point and the current position information of the robot comprises: determining a first distance between the projection point and the robot; determining a second distance between the local obstacle avoidance point and the robot; If the first distance is less than the second distance, determining the projection point as the target obstacle avoidance point; If the first distance is greater than the second distance, the local obstacle avoidance point is determined as the target obstacle avoidance point.

13. The method according to claim 9, wherein: The determining the target obstacle avoidance point based on the second position relationship includes: When the second positional relationship indicates that the global obstacle avoidance point is located in the local obstacle avoidance area, respectively determining the distances between the global obstacle avoidance point and the local obstacle avoidance point and the robot; The obstacle avoidance point closest to the robot among the global obstacle avoidance point and the local obstacle avoidance point is determined as the target obstacle avoidance point.

14. The method according to any one of claims 1 to 6, wherein: The determining whether to perform obstacle avoidance processing based on the target obstacle avoidance point and the current position information of the robot includes: If the distance between the target obstacle avoidance point and the robot is less than or equal to the braking distance of the robot, obstacle avoidance processing is performed; If the distance between the target obstacle avoidance point and the robot is greater than the braking distance of the robot, no obstacle avoidance processing is performed.

15. The method according to claim 14, wherein: The step of determining a target obstacle avoidance point based on the candidate obstacle avoidance point comprises: When the candidate obstacle avoidance points include the local obstacle avoidance point and the candidate obstacle avoidance points do not include the global obstacle avoidance point, the target obstacle avoidance point is determined based on the local obstacle avoidance point and the current position of the robot.

16. The method according to claim 15, wherein: The determining the target obstacle avoidance point based on the local obstacle avoidance point and the current position of the robot comprises: If the distance between the local obstacle avoidance point and the robot is less than or equal to the braking distance of the robot, determining the local obstacle avoidance point as the target obstacle avoidance point; If the distance between the local obstacle avoidance point and the robot is greater than the braking distance of the robot, a preset obstacle avoidance point is determined as the target obstacle point, and the distance between the preset obstacle avoidance point and the robot is always greater than the braking distance of the robot.

17. The method according to claim 16, wherein: The step of determining a target obstacle avoidance point based on the candidate obstacle avoidance point comprises: In a case where the candidate obstacle avoidance points do not include the local obstacle avoidance point and the global obstacle avoidance point, the preset obstacle avoidance point is determined as the target obstacle point.

18. The method according to claim 3, wherein: The determining the global obstacle point detection result based on the position information of the obstacle point and the global obstacle avoidance area includes: Determine the position information of the obstacle point in the global coordinate system based on the position information of the obstacle point in the local coordinate system, the current position information of the robot in the local coordinate system, and the position attitude angle of the robot; The global obstacle point detection result is determined based on the position information of the obstacle point in the global coordinate system and the global obstacle avoidance area.

19. The method according to claim 3, wherein: The determining the local obstacle point detection result based on the position information of the obstacle point and the local obstacle avoidance area includes: The local obstacle point detection result is determined based on the position information of the obstacle point in the local coordinate system and the local obstacle avoidance area.

20. A robot obstacle avoidance device, wherein: The robot obstacle avoidance device comprises: A processing module is configured to determine a global obstacle avoidance area and a local obstacle avoidance area based on the current position information of the robot; the global obstacle avoidance area is an obstacle avoidance area in front of the robot when the robot body posture is not skewed, and the local obstacle avoidance area is an obstacle avoidance area in front of the robot when the robot body posture is skewed; an acquisition module, configured to acquire a global obstacle point detection result in the global obstacle avoidance area and a local obstacle point detection result in the local obstacle avoidance area; The processing module is further configured to determine candidate obstacle avoidance points based on the global obstacle point detection results and the local obstacle point detection results, the candidate obstacle avoidance points including global obstacle avoidance points and / or local obstacle avoidance points; determine target obstacle avoidance points based on whether the candidate obstacle avoidance points include the local obstacle avoidance points and / or the global obstacle avoidance points; determine whether to perform obstacle avoidance processing based on the target obstacle avoidance point and the current position information of the robot; the global obstacle avoidance point is an obstacle point on the driving path located within the global obstacle avoidance area, and the local obstacle avoidance point is an obstacle point on the driving path located within the local obstacle avoidance area.

21. An electronic device comprising a memory and a processor, wherein the memory stores a computer program, wherein: When the processor executes the computer program, the method according to any one of claims 1 to 19 is implemented.

22. A computer-readable storage medium having a computer program stored thereon, wherein: When the computer program is executed by a processor, the method according to any one of claims 1 to 19 is implemented.

Citation Information

Patent Citations

  • Application method of adaptive ant colony algorithm (AACO) in mobile robot path planning

    CN108241375A

  • Obstacle avoidance path determination method, obstacle avoidance method, device and storage medium

    CN113741431A

  • Method and device for controlling movement of equipment, storage medium and electronic equipment

    CN114839969A

  • Robot dynamic obstacle avoidance method and system

    CN115933648A

  • Multi-AGV navigation method and system compatible with local obstacle avoidance function

    CN116166029A