Robot control method, computer device and readable storage medium

By repeatedly requesting passage permission in the waiting area and avoiding obstacles based on priority and path conflict, the problem of passage obstruction in multi-robot scheduling is solved, achieving efficient and safe robot scheduling.

WO2025232527A9PCT designated stage Publication Date: 2026-01-29SHENZHEN PUDU TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2025/090260
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-08-14
Filing Date
2025-04-22
Publication Date
2026-01-29

AI Technical Summary

Technical Problem

When multiple robots pass through the same road segment, existing scheduling methods cause obstruction of the passage of robots with high time-sensitive work requirements, reducing scheduling efficiency.

Method used

Before entering the waiting area, the robot requests passage permission. If permission is not granted, it moves to the waiting point and requests again. Once permission is granted, passage is locked, and the robot avoids obstacles within the traffic control area according to priority and path conflict type. Permission is then released to ensure efficient passage.

Benefits of technology

By limiting the number of robots that can pass at the same time and managing their priorities, resource conflicts are avoided, thus improving the efficiency and safety of robot scheduling.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2025090260_29012026_PF_FP_ABST
    Figure CN2025090260_29012026_PF_FP_ABST
Patent Text Reader

Abstract

Disclosed in the present application are a robot control method, a computer device and a readable storage medium. The method comprises: upon entering a waiting area and before reaching a traffic-control area, sending a traffic access permission request to a server; when no traffic access permission returned from the server is received, moving to a waiting point within the waiting area and repeatedly sending the traffic access permission request to the server until the traffic access permission returned from the server is received; and when the traffic access permission returned from the server is received, locking the traffic access permission, entering the traffic-control area for passage, and after the passage is completed, unlocking the locked traffic access permission.
Need to check novelty before this filing date? Find Prior Art

Description

Robot control method, computer device and readable storage medium

[0001] Cross-reference to related applications

[0002] The present application claims priority to Chinese Patent Application No. 2024105648029, filed on May 08, 2024, entitled “Robot control method, device, computer device and storage medium”, Chinese Patent Application No. 2024108655039, filed on June 28, 2024, entitled “Robot control method, device, computer device and readable storage medium”, and Chinese Patent Application No. 202411112852X, filed on August 14, 2024, entitled “Robot control method, device, computer device and readable storage medium”, all of which are incorporated herein by reference in their entirety. TECHNICAL FIELD

[0003] The present application relates to the technical field of robots, and in particular to a robot control method, a computer device and a readable storage medium. BACKGROUND

[0004] In the technical field of robots, when multiple robots need to pass through the same road section, the problem of road section congestion occurs, and the robots need to be scheduled.

[0005] Currently, the scheduling of robots is to queue multiple robots and pass through the same road section in sequence. However, in this process, the rapid passage of robots with high timeliness work requirements is hindered, and the scheduling efficiency of robots is reduced. SUMMARY

[0006] According to various embodiments of the present application, a robot control method, a computer device and a readable storage medium are provided.

[0007] The present application provides a robot control method applied to a robot, the method comprising:

[0008] sending a passage permission request to a server when entering a waiting area and before reaching a traffic control area; wherein the passage permission request is used to obtain a passage permission for passing through the traffic control area, the traffic control area represents an area that limits the number of robots passing through at the same time, and the waiting area represents an area corresponding to a passage of the traffic control area;

[0009] moving to a waiting point in the waiting area when the passage permission returned by the server is not received, repeatedly sending a passage permission request to the server until the passage permission returned by the server is received; and

[0010] When the access permission returned by the server is received, the access permission is locked, access into the traffic management area is entered, and after the access ends, the locked access permission is unlocked.

[0011] The application provides a robot control method applied to a first robot, and the method comprises the following steps:

[0012] A first global path is acquired, and access is performed in a movement path segment corresponding to the first global path.

[0013] When it is detected that the first robot occupies a target movement path segment of a second robot while performing access in a current movement path segment, an avoidance area corresponding to the current movement path segment is acquired, the first robot moves to the avoidance area, releases the access permission corresponding to the current movement path segment, so that the second robot receives the access permission corresponding to the current movement path segment and performs access in the current movement path segment; the priority of the second robot is higher than the priority of the first robot, and the avoidance area is an area that does not conflict with the target movement path segment of the second robot.

[0014] A second global path is acquired, the first robot moves from the avoidance area to the second global path, and access is performed in a movement path segment corresponding to the second global path.

[0015] The application further provides a robot control method applied to a first robot, and the method comprises the following steps:

[0016] If a second robot is located in a target orientation area of the first robot on a movement path, the second robot is taken as a target second robot whose moving direction is to be determined.

[0017] A first predicted moving direction corresponding to the first robot is determined according to influence area information of the target second robot, wherein the influence area information is information obtained by projecting predicted moving state information of the target second robot in a current time period on a movement path of the first robot, and the first predicted moving direction is a predicted overall moving direction of the first robot in an influence area corresponding to the influence area information.

[0018] A second predicted moving direction of the target second robot in a current time period is determined according to historical moving state information of the target second robot in a historical time period and predicted moving state information of the target second robot in a target time period.

[0019] A path conflict type corresponding to the first robot and the target second robot is determined according to an angle relationship between the first predicted moving direction and the second predicted moving direction.

[0020] According to the priority corresponding to the first robot and the target second robot respectively, and the path conflict type, a matched avoidance task is performed.

[0021] The application provides a computer device, comprising a memory and a processor, the memory stores computer readable instructions, and the processor implements the steps of the robot control method when executing the computer readable instructions.

[0022] The application provides a computer readable storage medium, which stores computer readable instructions, and the computer readable instructions are executed by a processor to implement the steps of the robot control method.

[0023] The details of one or more embodiments of the application are presented in the accompanying drawings and description below. Other features and advantages of the application will become apparent from the description, the drawings, and the claims. BRIEF DESCRIPTION OF DRAWINGS

[0024] In order to more clearly illustrate the technical solutions in the embodiments of the application or the prior art, the following will briefly introduce the drawings needed to be used in the embodiment or prior art description. Obviously, the drawings in the following description are only some embodiments of the application, and for those skilled in the art, other drawings can also be obtained from these drawings without creative labor.

[0025] Fig. 1 is a flowchart of a robot control method in a first embodiment;

[0026] Fig. 2 is a schematic diagram of a traffic control area and a waiting area in an embodiment;

[0027] Fig. 3 is a flowchart of a robot control method in a second embodiment;

[0028] Fig. 4 is a schematic diagram of a robot moving path in an embodiment;

[0029] Fig. 5 is a schematic diagram of a robot moving path in another embodiment;

[0030] Fig. 6 is a schematic diagram of a robot moving path in yet another embodiment;

[0031] Fig. 7 is a flowchart of acquiring a robot moving path in an embodiment;

[0032] Fig. 8 is a flowchart of a robot control method in a third embodiment;

[0033] Fig. 9 is a schematic diagram of determining a target second robot from a second robot in an embodiment;

[0034] FIG. 10 is a schematic diagram of determining a first predicted movement direction of the first robot in the influence area information in an embodiment;

[0035] FIG. 11 is a schematic diagram of a task management system in an embodiment;

[0036] FIG. 12 is a schematic diagram of a robot control method in a fourth embodiment;

[0037] FIG. 13 is an internal structure block diagram of a computer device in an embodiment. DETAILED DESCRIPTION

[0038] For the purpose of promoting a comprehensive understanding of the present application, the present application will be described in detail below with reference to the relevant drawings. The preferred embodiments of the present application are shown in the drawings. However, the present application can be realized in many different forms and is not limited to the embodiments described herein. On the contrary, the purpose of providing these embodiments is to make the disclosure of the present application more thorough and comprehensive.

[0039] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which the application belongs. The terminology used in the specification of the application herein is only for the purpose of describing specific embodiments and is not intended to limit the present application. The term "and / or" used herein includes any and all combinations of one or more of the associated listed items.

[0040] In an embodiment, as shown in FIG. 1, a robot control method is provided, and the present embodiment is exemplified by the method applied to a robot. It can be understood that the method can also be applied to a server, and can also be applied to a system including a robot and a server, and is realized through the interaction of the robot and the server. In the present embodiment, the method includes the following steps S102 to S106. Wherein:

[0041] Step S102, sending a passage permission request to the server before entering the waiting area and before reaching the traffic control area.

[0042] Wherein, the passage permission request is used to obtain the passage permission of the passage traffic control area, and the traffic control area represents an area that limits the number of robots passing through at the same time, and the waiting area represents an area corresponding to a passage of the traffic control area.

[0043] Simultaneous passage of multiple robots in the traffic control area can cause collision or congestion problems, and limiting the number of robots passing through at the same time helps to control the flow in the traffic control area and avoid congestion and confusion. For example, the traffic control area can represent an area corresponding to a narrow passage or a small space. For another example, in the traffic control area, the movement paths of multiple robots overlap.

[0044] The waiting area is a region set at the passage opening of the traffic management area. In the waiting area, the flow of robots entering the traffic management area is optimized, so as to avoid the situation that multiple robots enter the traffic management area at the same time, causing congestion or collision.

[0045] Optionally, in the traffic management area, only a specific number of robots are allowed to pass, for example, only one robot is allowed to pass.

[0046] Optionally, the number of waiting areas matches the number of passage openings of the traffic management area. For example, the traffic management area contains two passage openings, and the traffic management area corresponds to two waiting areas, each waiting area corresponding to a passage opening. The waiting area can also extend out of the passage opening, and the waiting point is set outside the passage opening, that is, outside the traffic management area, so that the waiting point does not occupy the position of the passage opening at all. The waiting point represents a pre-set stay position or area of the robot in the waiting area. That is, the width of the waiting area perpendicular to the opening direction of the passage opening can match the width of the passage opening, or be greater than the width of the passage opening. When the width of the waiting area is greater than the width of the passage opening, the waiting point in the waiting area can be set within the width corresponding to the passage opening, or outside the width corresponding to the passage opening.

[0047] Optionally, the length, width, area, shape and other spatial information of the waiting area can be determined by referring to the corresponding specification size of the passage opening, the passing flow of the robot, the actual environment site and other factors. Optionally, the passing permission request includes the identity of the robot, the waiting area where the robot is currently located, the traffic management area that the robot requests to enter, and the waiting area where the robot enters after passing through the traffic management area. Based on this, the passing permission request determines the departure place, destination and passing path of the robot, to ensure the passing order and safety.

[0048] Optionally, the passing permission request can also query the state information corresponding to the traffic management area. For example, querying whether the traffic management area has failed, querying whether the passing permission of the traffic management area is locked, querying the number and type of robots that lock the passing permission.

[0049] Step S104, when the passing permission returned by the server is not received, moving to the waiting point in the waiting area, repeatedly sending the passing permission request to the server until the passing permission returned by the server is received.

[0050] Optionally, after the robot moves to the waiting point in the waiting area, the robot can send the passing permission request to the server according to a pre-set frequency, for example, when the pre-set frequency is 2 seconds / time, the passing permission request is sent to the server every 2 seconds.

[0051] Optionally, the robot enters the management area from the waiting area according to a preset initial moving track. The waiting point is arranged in an area outside the initial moving track. That is, when the robot does not receive the passing right returned by the server, the robot deviates from the initial moving track and moves to the waiting point to reacquire the passing right, so as to avoid hindering the normal passing of other robots on the initial moving track.

[0052] Optionally, the waiting point is close to the passage of the management area, so as to reduce the walking time of the robot from the waiting point to the management area. The distance between the waiting point and the passage of the management area can be greater than a preset distance, so as to avoid blocking the passage when the robot stays at the waiting point.

[0053] Optionally, the number of waiting points can be dynamically set according to the real-time flow of the robots. For example, when the flow of the robots is large, the number of waiting points can be increased to alleviate the accumulation of the robots on the initial moving track. When the flow of the robots is small, the number of waiting points can be reduced to facilitate the centralized scheduling of the robots.

[0054] Optionally, different types of waiting points can be set for different types of robots. For example, the waiting point set for the robot performing an emergency task is closer to the passage of the management area. The waiting point set for the robot with low moving speed is closer to the passage of the management area.

[0055] Optionally, the passing right limits the moving direction, moving speed and staying time of the robot in the management area.

[0056] In step S106, when the passing right returned by the server is received, the passing right is locked, the robot enters the management area, and after the passing is completed, the locked passing right is unlocked.

[0057] For example, when the robot receives the passing right returned by the server, the robot enters the management area from the waiting point, or the robot returns to the initial moving track from the waiting point and enters the management area according to the initial moving track.

[0058] Optionally, the number of robots managed by the management area matches the number of robots whose passing rights are locked. For example, when the management area allows only one robot to pass, the passing right is allowed to be locked by only one robot in the same time period.

[0059] In the robot control method described above, when entering the waiting area and before reaching the traffic control area, the robot sends a request for a passage right to the server; when no passage right returned by the server is received, the robot moves to a waiting point in the waiting area, repeatedly sends a request for a passage right to the server until a passage right is received; when the passage right is received, the passage right is locked, the robot enters the traffic control area, the sub-passage right corresponding to the moved trajectory is unlocked, and after the passage ends, the locked passage right is unlocked; based on this, when the area involves limiting the number of robots that can simultaneously pass, the robot is efficiently and accurately scheduled, resource conflicts are avoided, and the overall operation efficiency is improved.

[0060] In one exemplary embodiment, after entering the traffic control area and before the passage ends, the robot can also unlock the sub-passage right corresponding to the moved trajectory in the traffic control area according to the moved trajectory in the traffic control area, and the sub-passage right represents the right to divide the passage right according to the moved trajectory.

[0061] Exemplarily, the moved trajectory of the robot in the traffic control area is divided into multiple segments, and each segment of the moved trajectory corresponds to a sub-passage right of the passage right. That is, when a certain segment of the moved trajectory needs to pass through the traffic control area, the sub-passage right corresponding to the segment of the moved trajectory needs to be obtained.

[0062] Optionally, the total moved trajectory can be divided into multiple segments of moved trajectories according to the points near each channel port in the traffic control area. As shown in FIG. 2, the robot runs with an initial motion trajectory from Q1 to Q2, which needs to pass through the traffic control area A. The traffic control area A corresponds to a first channel port, a second channel port, and a third channel port. The first channel port, the second channel port, and the third channel port correspond to a waiting area B, a waiting area D, and a waiting area C, respectively.

[0063] According to the point on the initial motion trajectory adjacent to the first passage opening and the point on the initial motion trajectory adjacent to the second passage opening, the motion trajectory in the traffic control region A is divided into a first segment of the motion trajectory. According to the point on the initial motion trajectory adjacent to the second passage opening and the point on the initial motion trajectory adjacent to the third passage opening, the motion trajectory in the traffic control region A is divided into a second segment of the motion trajectory. The first segment of the motion trajectory and the second segment of the motion trajectory can be combined into the motion trajectory of the robot in the traffic control region A. The sub-passing right of the first segment of the motion trajectory corresponds to the right of passing through the region between the first passage opening and the second passage opening, and the sub-passing right of the second segment of the motion trajectory corresponds to the right of passing through the region between the second passage opening and the third passage opening. That is, each sub-passing right corresponds to the passing right of each sub-region in the traffic control region, and each sub-region is divided according to the path passing range between each passage opening of the traffic control region.

[0064] When the robot passes through the first segment of the motion trajectory, the sub-passing right corresponding to the first segment of the motion trajectory is locked, and after the robot finishes passing through the first segment of the motion trajectory, the sub-passing right corresponding to the first segment of the motion trajectory is unlocked, thereby allowing other robots to pass through between the first passage opening and the second passage opening. Alternatively, the total motion trajectory can also be divided into multiple segments of the motion trajectory with the same distance according to the straight line distance or the cumulative distance of the total motion trajectory.

[0065] In the embodiment, the passing right is divided according to the motion trajectory to obtain the sub-passing right corresponding to each segment of the motion trajectory, so that in the case that the traffic control region corresponds to multiple passage openings, for example, in the case that the traffic control region corresponds to at least three passage openings, the passing of the robots in each segment of the motion trajectory in the traffic control region can be adaptively and efficiently scheduled synchronously and concurrently according to the locked state or the unlocked state of each sub-passing right corresponding to each segment of the motion trajectory.

[0066] In one exemplary embodiment, after the passing right request is sent to the server, the method further includes steps S108 to S112. Wherein:

[0067] In step S108, when the passing right returned by the server is not received, the priority identification information is obtained.

[0068] The priority identification information indicates the priority of the robot in the working process.

[0069] Optionally, the priority identification information can reflect a function or design purpose to which the robot belongs. For example, in a transportation scenario, robots dedicated to transportation are given a higher priority. The priority identification information can reflect an urgency of a task performed by the robot. For example, robots performing more urgent tasks are given a higher priority. Optionally, the priority identification information can reflect a power state of the robot, for example, robots with power lower than a certain alert level are given a higher priority to ensure that they can move and complete tasks.

[0070] Optionally, the priority corresponding to the robot can be dynamically configured according to actual working conditions. For example, the priority corresponding to the robot can be raised for tasks with high urgency according to an urgency of a current task assigned to the robot. For another example, the priority corresponding to the robot can be raised for tasks consuming less resources or not yet overloading resources according to a resource consumption condition of the task performed by the robot.

[0071] Optionally, the robot can obtain the priority identification information from a storage space of the terminal itself. The terminal can also send its identity identification information to the server, so that the server queries the priority identification information corresponding to the identity identification information in the database and returns it to the terminal.

[0072] In step S110, when the obtained priority identification information indicates the first priority, the robot stays in place.

[0073] In step S112, when the obtained priority identification information indicates the second priority, the robot moves to a waiting point in the waiting area.

[0074] The first priority is higher than the second priority.

[0075] For example, when the obtained priority identification information indicates the first priority, the robot stays in place without moving to the waiting point, repeatedly sends a pass permission request to the server in place until the pass permission returned by the server is received. After receiving the pass permission, the robot can directly enter the management area from the place, which can enable robots with higher priority to efficiently perform tasks with high time efficiency requirements.

[0076] Optionally, when the robot with the first priority and the robot with the second priority send pass permission requests to the server at the same time, and the management area only allows one robot to pass through in the same period, the server returns the pass permission to the robot with the first priority in priority.

[0077] Optionally, when multiple robots of the first priority send the passage permission request to the server at the same time, and the traffic control area only allows one robot to pass through in the same period, the server randomly returns the passage permission to one of the multiple robots, or comprehensively considers the starting point, destination and passage path corresponding to each of the multiple robots to generate an order of returning the passage permission to the multiple robots in sequence.

[0078] Optionally, in the material handling scenario, the robot includes an AGV (Automated Guided Vehicle) robot and a cleaning robot. The AGV robot is used to perform tasks such as transportation and storage, and the cleaning robot is used to perform tasks such as cleaning. The priority of the AGV robot is higher than that of the cleaning robot. Based on this, the movement behaviors of the cleaning robot and the AGV robot are defined differently, so that the cleaning robot and the AGV robot are adaptively and specifically scheduled in the scenario of needing to pass through a narrow passage without affecting the normal operation of the AGV robot.

[0079] In this embodiment, when the passage permission returned by the server is not received, different priorities are defined for the robots, so that different scheduling actions are performed for robots of different priorities, and the robots are adaptively and specifically scheduled.

[0080] In an exemplary embodiment, the step of sending the passage permission request to the server by the robot includes: obtaining priority identification information, determining a request sending frequency corresponding to the priority identification information, and repeatedly sending the passage permission request to the server according to the corresponding request sending frequency.

[0081] The request sending frequency indicates the number of times the robot sends the passage permission request to the server within a predetermined interval.

[0082] For example, the robot repeatedly sends the passage permission request to the server according to the corresponding request sending frequency before entering the waiting area and before reaching the traffic control area.

[0083] Optionally, when the robot of the first priority enters the waiting area and before reaching the traffic control area, if the passage permission returned by the server is not received, the robot stays in place and repeatedly sends the passage permission request to the server according to the corresponding request sending frequency.

[0084] Optionally, when the robot of the second priority enters the waiting area and before reaching the traffic control area, if the passage permission returned by the server is not received, the robot moves to a waiting point in the waiting area and repeatedly sends the passage permission request to the server according to the corresponding request sending frequency.

[0085] Optionally, different priority robots correspond to different request sending frequencies. For example, the request sending frequency corresponding to a high priority robot is greater than the request sending frequency corresponding to a low priority robot.

[0086] Optionally, different distances between the robot and the traffic control area correspond to different request sending frequencies. For example, the smaller the distance between the robot and the traffic control area, the corresponding and dynamic increase in the request sending frequency to improve the success rate of the robot receiving the traffic right.

[0087] In this embodiment, on the one hand, different request sending frequencies are set for robots corresponding to different priority identification information to improve the adaptability of robot scheduling. On the other hand, the traffic right request is repeatedly, intermittently and non-continuously sent to the server to save communication resources.

[0088] In an exemplary embodiment, in the process of sending the traffic right request to the server after the robot enters the waiting area and before reaching the traffic control area, the traffic right request can be sent to the server while entering the waiting area and moving. And / or, when the robot does not receive the traffic right returned by the server, it can continuously move to the waiting point in the waiting area. And / or, when the robot receives the traffic right returned by the server, the traffic right of the traffic control area is locked, and the robot can continuously move to the traffic control area.

[0089] Exemplarily, when the robot detects that it has entered the waiting area during movement, it triggers the behavior of sending the traffic right request to the server, and continuously sends the traffic right request to the server before moving to the traffic control area.

[0090] Exemplarily, when the robot reaches the traffic control area before receiving the traffic right returned by the server, it continuously and continuously moves to the waiting point in the waiting area.

[0091] Exemplarily, when the robot reaches the traffic control area before receiving the traffic right returned by the server, it continuously and continuously moves to the waiting point in the waiting area.

[0092] Optionally, different priority robots correspond to different moving speeds. For example, the moving speed corresponding to a high priority robot is greater than the moving speed corresponding to a low priority robot.

[0093] Optionally, different distances between the robot and the traffic control area correspond to different moving speeds. For example, the smaller the distance between the robot and the traffic control area, the corresponding and dynamic decrease in the moving speed to ensure that the robot approaches the narrow traffic control area smoothly and safely.

[0094] In this embodiment, the robot enters the waiting area, and before reaching the traffic control area, the robot determines whether the permission returned by the server is received, so as to continuously move the robot to the traffic control area or continuously move the waiting point, thereby ensuring the continuity of the movement of the robot.

[0095] In an exemplary embodiment, when the permission returned by the server is not received, the step of moving to the waiting point in the waiting area includes: obtaining target information; and when the target information satisfies a corresponding threshold condition and the permission returned by the server is not received, moving to the waiting point in the waiting area.

[0096] The target information includes at least one of position information, the number of times of sending a request, and the number of robots sending a request at the same time.

[0097] The position information represents the distance between the robot and the traffic control area; the number of times of sending a request represents the number of times of sending a permission request to the server; and the number of robots sending a request at the same time represents the number of robots sending a permission request to the server at the same time.

[0098] For example, when the distance between the robot and the traffic control area is less than or equal to the distance threshold and the permission returned by the server is not received, the robot moves to the waiting point in the waiting area.

[0099] For example, when the number of times of sending a permission request by the robot is greater than or equal to the number of times threshold and the permission returned by the server is not received, the robot moves to the waiting point in the waiting area.

[0100] For example, when the number of robots sending a permission request at the same time is greater than or equal to the number threshold and the permission returned by the server is not received, the robot moves to the waiting point in the waiting area.

[0101] In this embodiment, the threshold condition is used to accurately and efficiently determine the timing of moving the robot to the waiting point in the waiting area, thereby improving the scheduling efficiency of the robot.

[0102] In an exemplary embodiment, when the robot does not receive the permission returned by the server, the robot can perform steps S202 to S206 after moving to the waiting point in the waiting area.

[0103] In step S202, current pose information at the waiting point is obtained.

[0104] The current pose information represents position information and direction information of the robot at the current time.

[0105] The position information represents the position of the robot at the current time. For example, the position information can represent a coordinate point corresponding to the current position of the robot. The coordinate point is determined based on a preset spatial coordinate system.

[0106] The direction information represents the orientation of the robot at the current time. For example, the direction information can represent an angle corresponding to the current position of the robot. The angle is determined based on the preset spatial coordinate system.

[0107] In step S204, reference pose information is obtained, and the current pose information is matched with the reference pose information.

[0108] The reference pose information represents an optimal position and an optimal direction corresponding to the robot before moving from the waiting point to the traffic control area.

[0109] For example, the optimal position and the optimal direction corresponding to the reference pose information represent that when the robot stays in the waiting point according to the optimal position and the optimal direction, the efficiency of receiving the pass right returned by the server can be improved, or the efficiency of moving to the traffic control area after receiving the pass right can be improved.

[0110] For example, the optimal position corresponding to the reference pose information is matched with the position information of the robot, and the optimal direction corresponding to the reference pose information is matched with the direction information of the robot. The matching manner includes accurate matching and fuzzy matching. In the accurate matching, when the value corresponding to the current pose information matches the value corresponding to the reference pose information, it is considered that the matching is successful. In the fuzzy matching, when the value corresponding to the current pose information matches the range of the value corresponding to the reference pose information, it is considered that the matching is successful.

[0111] Optionally, the reference pose information can be obtained according to empirical data statistics, or can be obtained according to model output. In the process of model training, the position information and the direction information of different robots in different waiting points, and the corresponding time consumption of receiving the pass right and the time consumption of moving to the traffic control area are collected, the data correlation in the collected data is learned, and the optimal position and the optimal direction in the waiting point are obtained based on the learned data correlation in the case of optimal efficiency of receiving the pass right or optimal efficiency of moving to the traffic control area.

[0112] Step S206, when the current pose information does not match the reference pose information, adjusting the position and direction according to the reference pose information.

[0113] Exemplarily, when the current pose information does not match the reference pose information, adjusting the position and direction of the robot according to the difference between the current pose information and the reference pose information.

[0114] Optionally, updating the current pose information of the robot according to the adjusted position and direction of the robot, and matching the updated current pose information and the reference pose information again.

[0115] In this embodiment, the current pose information and the reference pose information of the robot are matched, and the position and direction of the robot are adjusted according to the matching result, thereby improving the efficiency of the robot receiving the passage permission and the efficiency of moving to the traffic control area after receiving the passage permission.

[0116] In one exemplary embodiment, as shown in FIG. 2, the robot runs in an initial motion trajectory from Q1 to Q2; wherein the initial motion trajectory needs to pass through the traffic control area A and the traffic control area E.

[0117] The traffic control area A includes three passage openings, and the three passage openings of the traffic control area A correspond to the waiting area B, the waiting area D and the waiting area C respectively, and when the robot runs in the initial motion trajectory from Q1 to Q2, it needs to pass through the waiting area B and the waiting area C, but does not need to pass through the waiting area D; wherein the waiting area B includes a distance threshold point B1 and a waiting point B2, the waiting area C includes a distance threshold point C1 and a waiting point C2, and the waiting area D includes a distance threshold point (not shown) and a waiting point D2. The passage opening of the traffic control area E corresponds to the waiting area F and the waiting area G; wherein the waiting area F includes a distance threshold point F1 and a waiting point F2, and the waiting area G includes a distance threshold point G1 and a waiting point G2.

[0118] The motion trajectory and the motion direction of the robot, and the waiting area B and the waiting area F are selected as the areas for the robot to pre-acquire the passage permission of the traffic control area A and the traffic control area E respectively.

[0119] When the cleaning robot enters the waiting area B from the Q1, a request for passing right is sent to the server. When the cleaning robot reaches the distance threshold point B1, if the passing right returned by the server has not been received, the cleaning robot moves to the waiting point B2 and repeatedly sends the request for passing right to the server until the passing right returned by the server is received, the passing right is locked, and the cleaning robot enters the traffic control area A to pass. When the cleaning robot reaches the distance threshold point B1, if the passing right returned by the server has been received, the passing right is locked, and the cleaning robot enters the traffic control area A to pass. After the cleaning robot finishes passing in the traffic control area A, and passes the distance threshold point C1 of the waiting area C, the locked passing right is unlocked.

[0120] Optionally, in the initial motion trajectory described above, the end of the passing of the robot in the traffic control area A can be represented as the completion of the path passing of the robot from the passage corresponding to the waiting area B to the passage corresponding to the waiting area C, and the robot leaves the traffic control area A from the passage corresponding to the waiting area C. Further, the robot can pass in the traffic control area A through the path corresponding to any pair of passages in the traffic control area A. Based on this, the end of the passing of the robot in the traffic control area A corresponds to the completion of the path passing of the robot between the specified passing passages: for example, when the robot is specified to pass between the passage corresponding to the waiting area B and the passage corresponding to the waiting area D, the end of the passing in the traffic control area A can be represented as the completion of the path passing between the passage corresponding to the waiting area B and the passage corresponding to the waiting area D, and the robot leaves the traffic control area A from the passage corresponding to the waiting area B or the passage corresponding to the waiting area D; for another example, when the robot is specified to pass between the passage corresponding to the waiting area D and the passage corresponding to the waiting area C, the end of the passing in the traffic control area A can be represented as the completion of the path passing between the passage corresponding to the waiting area D and the passage corresponding to the waiting area C, and the robot leaves the traffic control area A from the passage corresponding to the waiting area D or the passage corresponding to the waiting area C.

[0121] When the AGV robot enters the waiting area B from the Q1, a request for passing right is sent to the server. When the AGV robot reaches the distance threshold point B1, if the passing right returned by the server has not been received, the AGV robot stays at the distance threshold point B1 and repeatedly sends the request for passing right to the server until the passing right returned by the server is received, the passing right is locked, and the AGV robot enters the traffic control area A to pass. When the AGV robot reaches the distance threshold point B1, if the passing right returned by the server has been received, the passing right is locked, and the AGV robot enters the traffic control area A to pass. After the AGV robot finishes passing in the traffic control area A, and passes the distance threshold point C1 of the waiting area C, the locked passing right is unlocked.

[0122] Correspondingly, the cleaning robot and the AGV robot perform the same actions as described above when passing through the traffic control area E.

[0123] In an example embodiment, as shown in FIG. 3, a robot control method is provided. This embodiment takes the method applied to a terminal as an example. It can be understood that the method can also be applied to a server, and can also be applied to a system including a terminal and a server, and is realized through the interaction of the terminal and the server. The robot control method of this embodiment is used for scheduling control between different types of robots, including a first robot and a second robot. The first robot and the second robot are distinguished by aspects such as specification type, function design, or task content, and in the same application scenario, the priority of the second robot is higher than that of the first robot. In this embodiment, the method is applied to the first robot, that is, the method takes the first robot as the execution subject, and includes the following steps S302 to S306, wherein:

[0124] Step S302, obtaining a first global path, passing through a moving path segment corresponding to the first global path.

[0125] The global path represents the total moving path of the first robot, that is, the overall route obtained by the first robot according to the global path planning of the starting point and the ending point. The first global path represents the global path calculated for the first time by the first robot.

[0126] For example, the first global path includes a plurality of moving path segments. Before passing through a certain moving path segment, the first robot needs to request the server to obtain the passing right corresponding to the moving path segment, and only after receiving the passing right can the first robot pass through the moving path segment. When the first robot does not receive the passing right from the server, it can repeatedly request the server until it receives the passing right. After the first robot passes through the moving path segment, it releases the passing right corresponding to the moving path segment.

[0127] Step S304, when it is detected that the first robot occupies the target moving path segment of the second robot while passing through the current moving path segment, obtaining an avoidance area corresponding to the current moving path segment, and moving to the avoidance area to release the passing right corresponding to the current moving path segment, so that the second robot receives the passing right corresponding to the current moving path segment and passes through the current moving path segment; the priority of the second robot is higher than that of the first robot, and the avoidance area is an area that does not conflict with the target moving path segment of the second robot.

[0128] Exemplarily, the first robot occupies the target moving path segment of the second robot when passing through the current moving path segment, which can be represented as that the current moving path segment of the first robot is the moving path segment to be passed through by the second robot, or that there is an overlapping part between the current moving path segment of the first robot and the moving path segment to be passed through by the second robot. The moving path segment to be passed through by the second robot can represent the next moving path segment to be passed through by the second robot, or a group of moving path segments to be passed through by the second robot. One group of moving path segments includes a preset number of moving path segments.

[0129] Exemplarily, the avoidance area represents an area provided for the first robot to avoid the second robot when a conflict occurs during movement, so as to avoid congestion or collision. The selection of spatial information such as length, width, area, and shape of the avoidance area can refer to factors such as the specification size of the corresponding moving path segment, the traffic flow of the robot, and the actual environment site.

[0130] Optionally, the avoidance area corresponding to the current moving path segment can represent an area not involved in the target moving path segment of the second robot, or an area not involved in any moving path segment of the second robot.

[0131] Optionally, the avoidance area is provided with avoidance points, and one moving path segment of the first robot can correspond to at least one avoidance point, so that the first robot moves to the avoidance point in the corresponding avoidance area for staying.

[0132] Optionally, the avoidance area can include a plurality of avoidance points, and a plurality of first robots in the same moving path segment can move to different avoidance points in the corresponding avoidance area respectively. The number of first robots allowed to pass through simultaneously in one moving path segment can refer to the number of avoidance points in the corresponding avoidance area. For example, if n first robots are allowed to pass through simultaneously in one moving path segment, the number of avoidance points in the corresponding avoidance area needs to be greater than or equal to n.

[0133] Optionally, the conflict-free point inherent to the first robot in the factory area can be set as an avoidance point. The conflict-free point can be dynamically determined according to the real-time moving path of the first robot and the second robot, so as to be used as an avoidance point. The conflict-free point can also be obtained by the first robot through on-site sensing, observation, and calculation, and used as an avoidance point. The conflict-free point can represent a point at which the first robot does not interfere with or collide with the second robot during movement and task execution.

[0134] Optionally, the priority can reflect a function or a design purpose corresponding to the robot. For example, in a transportation scenario, a robot dedicated to transportation is given a higher priority; the priority can reflect an urgency of a task performed by the robot, for example, a robot performing a more urgent task is given a higher priority. The priority can reflect a working state of the robot, for example, a robot with a power level lower than a certain alert level is given a higher priority to ensure that the robot can move and complete the task.

[0135] Optionally, the priority corresponding to the robot can be dynamically configured according to an actual working condition. For example, the priority corresponding to the robot can be adjusted to be higher for a task with a higher urgency according to an urgency of a current task assigned to the robot. For another example, the priority corresponding to the robot can be adjusted to be higher for a task consuming less resources or not yet overloading resources according to a resource consumption condition corresponding to the task performed by the robot.

[0136] Optionally, in a material handling scenario, the first robot includes an AMR (Autonomous Mobile Robot) robot, and the second robot includes an AGV (Automated Guided Vehicle) robot. The AGV robot is a type of large material handling robot, and the AMR robot is a type of light material handling robot. The priority of the AGV robot is higher than the priority of the AMR robot. Based on this, when the AGV robot and the AMR robot collide during movement, the AMR robot with higher flexibility and stronger autonomous movement capability is moved to an avoidance area without affecting the normal operation of the AGV robot with slower speed and larger carrying capacity, so that the AGV robot and the AMR robot are adaptively and specifically scheduled while reducing the working complexity of robot scheduling.

[0137] Optionally, as shown in FIG. 4(a), the robot M is in the moving path segment AB and is expected to reach C through the moving path segment BC; the robot N is in the moving path segment BC and is expected to reach A through the moving path segment AB; the robot M requests to acquire the passing right corresponding to the moving path segment BC, and the robot N requests to acquire the passing right corresponding to the moving path segment AB, but the passing rights of the moving path segment BC and the moving path segment AB are locked by the robot N and the robot M respectively, that is, the resources requested by both parties are occupied by the other party, and a deadlock problem occurs. At this time, one of the robot M and the robot N needs to move to the avoidance area to enable the other party to pass normally. Furthermore, when the robot N is taken as the first robot in the embodiment and the robot M is taken as the second robot in the embodiment, the first robot (i.e., the robot N) occupies the target moving path segment (i.e., the moving path segment BC) of the second robot (i.e., the robot M) when passing in the current moving path segment (i.e., the moving path segment BC), and the robot N needs to avoid the robot M and release the passing right of the moving path segment BC to enable the robot M to pass through the moving path segment BC, thereby solving the deadlock problem.

[0138] Optionally, as shown in FIG. 4(b), the robot X is in the moving path segment DE and is expected to reach G through the moving path segment EF and the moving path segment FG in sequence; the robot Y is in the moving path segment FG and is expected to reach D through the moving path segment EF and the moving path segment DE in sequence; the robot X and the robot Y respectively request to acquire the passing right corresponding to the moving path segment EF, and when one of the robot X and the robot Y receives the passing right and passes in the moving path segment EF, the deadlock problem in FIG. 4(a) occurs. Therefore, in the case of FIG. 4(b), one of the robot X and the robot Y can be requested by the server to move to the avoidance area in advance to enable the other party to pass normally; or one of the robot X and the robot Y can move to the avoidance area in advance according to the resource state of each moving path segment broadcast in real time by the server to enable the other party to pass normally. Furthermore, when the robot Y is taken as the first robot in the embodiment and the robot X is taken as the second robot in the embodiment, the first robot (i.e., the robot Y) occupies the target moving path segment (i.e., the combination of the moving path segment FG and the moving path segment EF) of the second robot (i.e., the robot X) when passing in the current moving path segment (i.e., the combination of the moving path segment FG and the moving path segment EF), and the robot Y needs to avoid the robot X and release the passing right of the moving path segment FG and stop requesting the passing right of the moving path segment EF to enable the robot X to pass through the moving path segment EF and the moving path segment FG, thereby preventing the deadlock problem.

[0139] In step S306, the second global path is acquired, and the robot moves from the avoidance area to the second global path and passes in the moving path segment corresponding to the second global path.

[0140] The second global path represents a global path calculated for the first robot for the second time, i.e., a global path recalculated before leaving the avoidance area.

[0141] Exemplarily, the second global path includes a plurality of movement path segments, the first robot needs to request the server for a passage permission corresponding to a movement path segment before entering the movement path segment from the avoidance area, and can pass through the movement path segment only after receiving the passage permission; when the first robot does not receive the passage permission from the server, the first robot can repeatedly request the server until the passage permission is received; and the first robot releases the passage permission corresponding to the movement path segment after passing through the movement path segment.

[0142] Optionally, the second global path includes a plurality of movement path segments, a first movement path segment of the second global path can represent a movement path segment corresponding to the avoidance area, and a last movement path segment of the second global path can represent a last movement path segment in the first global path.

[0143] Optionally, the avoidance point and the global path can be calculated by the first robot or by the server.

[0144] In the above robot control method, when the first robot detects that the first robot occupies a target movement path segment of the second robot while passing through a current movement path segment of the original global path, the first robot moves to an avoidance area corresponding to the current movement path segment, so that the second robot with high priority passes through the current movement path segment, and the first robot obtains an updated global path in the avoidance area and moves to a movement path segment corresponding to the updated global path to pass through the movement path segment; based on this, when different types of robots collide during movement, only the robot with low priority needs to avoid the robot with high priority, and a new global path is generated for the robot with low priority, thereby reducing the change range of the control logic of the robot and the server and the working complexity of robot scheduling, improving the efficiency and adaptability of robot scheduling, and improving the overall operation efficiency and avoiding resource conflicts.

[0145] In an exemplary embodiment, the movement path segment corresponding to the first global path includes a first movement path segment, and for the robot passing through the movement path segment corresponding to the first global path, step S302 includes steps S3021 to S3023, wherein:

[0146] Step S3021, before the first robot enters and passes through the first movement path segment from a preset movement direction, the first robot sends a passage permission request corresponding to the first movement path segment to the server.

[0147] The first movement path segment can be any movement path segment in the first global path.

[0148] The first movement path segment corresponds to a request for access permission.

[0149] For example, the request for access permission sent to the server can include the identity of the robot, the movement path segment to be accessed, the entrance of the movement path segment, the exit of the movement path segment, and the direction of movement.

[0150] Optionally, the robot accessing a movement path segment can correspond to at least two different movement directions, for example, a movement path segment arranged in an east-west direction, which includes a direction from east to west and a direction from west to east, and can also include a direction from east to west and then from west to east.

[0151] Optionally, the movement direction corresponding to the movement path segment can be represented as the direction of movement in the movement path segment, or as the direction of movement when entering the movement path segment, or as the direction of movement when leaving the movement path segment, or as a combination of the direction of movement when entering the movement path segment and the direction of movement when leaving the movement path segment.

[0152] In step S3022, when the current access state of the first movement path segment in the preset movement direction meets the corresponding access condition, the robot receives the access permission corresponding to the first movement path segment from the server, and accesses the first movement path segment according to the access permission corresponding to the first movement path segment.

[0153] For example, in each round, robots in different movement directions alternately access a movement path segment in a preset number, for example, in a round, a preset number of robots in one direction access the movement path segment first, and then a preset number of robots in another direction access the movement path segment. The current access state of the movement path segment in the preset movement direction can be represented as the number of robots corresponding to the current round accessing the movement path segment in the preset movement direction; the access condition can be represented as a threshold value of the number of robots corresponding to the current round accessing the movement path segment in the preset movement direction.

[0154] Optionally, the current access state of the movement path segment in the preset movement direction meeting the corresponding access condition can be represented as the number of robots accessing the movement path segment in the preset movement direction in the current round not reaching the threshold value, or as the number of robots accessing the movement path segment in the opposite direction in the current round reaching the threshold value.

[0155] Optionally, in each preset time period, the robots in different moving directions pass through the moving path segment alternately according to a preset number. For example, in a preset time period, a preset number of robots in one direction pass through first, and then a preset number of robots in another direction pass through. The current passing state of the moving path segment in the preset moving direction can be represented as the number of robots corresponding to the preset moving direction passing through the moving path segment in the preset time period. The passing condition can be represented as a threshold value of the number of robots corresponding to the preset moving direction passing through the moving path segment in the preset time period.

[0156] Optionally, in a moving path segment, the robots in different moving directions pass through according to corresponding preset time periods. For example, in a preset time period, the robots in one direction pass through, and in the next preset time period, the robots in another direction pass through. The current passing state of the moving path segment in the preset moving direction can be represented as the time period for the robots to pass through the moving path segment in the preset moving direction. The passing condition can be represented as a threshold value of the time for the robots to pass through the moving path segment in the preset moving direction.

[0157] In step S3023, when the current passing state of the first moving path segment in the preset moving direction does not satisfy the corresponding passing condition, the first robot stays at the current position or moves to the avoidance area corresponding to the current position until the current passing state of the first moving path segment in the preset moving direction satisfies the corresponding passing condition.

[0158] Optionally, when the current passing state of the moving path segment in the preset moving direction does not satisfy the corresponding passing condition, it can be represented as that the number of robots passing through the moving path segment in the preset moving direction in the current round has reached a number threshold value, or that the number of robots passing through the moving path segment in the opposite direction in the current round has not reached a number threshold value.

[0159] Optionally, when the first robot stays at the current position or moves to the avoidance area corresponding to the current position, the first robot can repeatedly request the server to obtain the passing right of the first moving path segment, or the server can directly send the passing right of the first moving path segment to the first robot when the current passing state of the first moving path segment in the preset moving direction satisfies the corresponding passing condition.

[0160] Optionally, when it is detected that the first robot occupies the target moving path segment of the second robot while passing through the current moving path segment, the first robot moves to the avoidance area to enable the second robot to pass through the current moving path segment. At this time, when the first robot needs to return to the current moving path segment from the avoidance area, whether the first robot can be sent the passing right corresponding to the current moving path segment can be determined according to whether the current passing state of the current moving path segment in the moving direction of the first robot satisfies the corresponding passing condition.

[0161] For example, as shown in FIG. 5(a), the plurality of robots M are in the moving path segment AB and are expected to pass through the moving path segment BE and the moving path segment ED in sequence to reach D; the plurality of robots N are in the moving path segment EF and are expected to pass through the moving path segment BE and the moving path segment BC in sequence to reach C. The robots M and the robots N simultaneously request the server for the right of way of the moving path segment BE, and when the current right of way state of the moving path segment BE in the moving direction from B to E meets the corresponding right of way condition, the right of way is sent to the robots M, so that the plurality of robots M pass through the moving path segment BE in sequence and then pass through the moving path segment ED in sequence to reach D. When the current right of way state of the moving path segment BE in the moving direction from E to B meets the corresponding right of way condition, the right of way is sent to the robots N, so that the plurality of robots N pass through the moving path segment BE in sequence and then pass through the moving path segment BC in sequence to reach C.

[0162] For example, as shown in FIG. 5(b), the plurality of robots X are in the moving path segment GH and are expected to pass through the moving path segment HJ in sequence to reach J. The plurality of robots Y are in the moving path segment HI and are expected to pass through the moving path segment HJ in sequence to reach J. The robots X and the robots Y simultaneously request the server for the right of way of the moving path segment HJ, and when the current right of way state of the moving path segment HJ in the moving direction from G to H meets the corresponding right of way condition, the right of way is sent to the robots X, so that the plurality of robots X pass through the moving path segment HJ in sequence to reach J. When the current right of way state of the moving path segment HJ in the moving direction from I to H meets the corresponding right of way condition, the right of way is sent to the robots Y, so that the plurality of robots Y pass through the moving path segment HJ in sequence to reach J. Alternatively, when the robots X and the robots Y simultaneously request the server for the right of way of the moving path segment HJ, and when the current right of way state of the moving path segment HJ in the moving direction from G to H meets the corresponding right of way condition, the right of way is sent to the robots X, so that the robot X in the front passes through the moving path segment HJ to reach J, and then, when the current right of way state of the moving path segment HJ in the moving direction from I to H meets the corresponding right of way condition, the right of way is sent to the robots Y, so that the robot Y in the front passes through the moving path segment HJ to reach J. In this way, the robots X and the robots Y pass through the moving path segment HJ to reach J alternately until all the robots X and the robots Y pass through the moving path segment HJ to reach J.

[0163] Optionally, the first moving path segment in the first global path in the embodiment can be applicable to the moving path segment corresponding to the second global path and the moving path segment corresponding to any updated global path.

[0164] In this embodiment, whether the current traffic state corresponding to the movement path segment in different movement directions meets the corresponding traffic condition is judged, so as to accurately and adaptively control and optimize the flow of the robot passing through the movement path segment in different movement directions.

[0165] In one exemplary embodiment, in terms of acquiring the first global path, step S302 includes steps S3024 to S3025, wherein:

[0166] In step S3024, the task to be executed corresponding to the first robot is acquired, the candidate movement path segment is determined based on the route starting point and the route ending point corresponding to the task to be executed, and the weight corresponding to each candidate movement path segment is acquired.

[0167] The weight is used to represent the probability of conflict between the first robot and the second robot in the corresponding candidate movement path segment.

[0168] The task to be executed represents a material distribution task allocated to the first robot, and the material distribution task corresponds to a material distribution route including a route starting point and a route ending point.

[0169] The candidate movement path segment can represent all movement path segments in the factory area, or can represent movement path segments in a plurality of candidate material distribution routes preliminarily determined according to the route starting point and the route ending point corresponding to the material distribution route.

[0170] The weight corresponding to each movement path segment can represent the probability that the first robot occupies the target movement path of the second robot in the movement path segment, or can represent the probability that the first robot and the second robot simultaneously request to acquire the traffic right of the movement path segment.

[0171] Optionally, a smaller weight can be set for the movement path segment exclusively occupied by the first robot, and a larger weight can be set for the movement path segment shared by the first robot and the second robot. Furthermore, in the movement path segment shared by the first robot and the second robot, a smaller weight can be set for the movement path segment corresponding to the same movement direction of the first robot and the second robot, and a larger weight can be set for the movement path segment corresponding to different movement directions of the first robot and the second robot. For example, the weight corresponding to the movement path segment exclusively occupied by the first robot is set to 1, the weight corresponding to the movement path segment in the same movement direction of the first robot and the second robot is set to 3, and the weight corresponding to the movement path segment in different movement directions of the first robot and the second robot is set to 5.

[0172] Optionally, in the movement path segment shared by the first robot and the second robot, the weight of the movement path segment is set by referring to the factors of the route distance between the first robot and the movement path segment, whether the passing right corresponding to the movement path segment is locked, the number of first robots allowed to pass through the movement path segment at the same time, and the like, and the corresponding sub-weights of the factors are fused to comprehensively obtain the weight of the movement path segment.

[0173] Optionally, in the movement path segment shared by the first robot and the second robot, the first robot and the second robot are in the same movement direction, and the sub-weight is set to 3. When the route distance between the first robot and the movement path segment is less than 20 meters and the passing right corresponding to the movement path segment is locked, the sub-weight is set to 2. Based on this, when a movement path segment meets the above two conditions, the sub-weights corresponding to the above two conditions are multiplied and fused to obtain the weight corresponding to the movement path segment, which is 6.

[0174] In step S3025, the screened movement path segment is obtained from the candidate movement path segments according to the weights corresponding to the candidate movement path segments, and the first global path is obtained by fusing the screened movement path segment.

[0175] For example, a plurality of candidate global paths are initially determined according to the route starting point and the route ending point corresponding to the task to be performed, and the plurality of candidate global paths correspond to the same route starting point and the same route ending point. The weight of each candidate global path is obtained by fusing the weights corresponding to the movement path segments in the candidate global path. For example, in a candidate global path, the weights of the corresponding movement path segments are added and fused to obtain the weight corresponding to the candidate global path. The candidate global path with the minimum weight is selected as the first global path from the candidate global paths.

[0176] Optionally, according to the weights corresponding to the candidate movement path segments, the first global path is obtained by screening all movement path segments of the factory according to the route starting point and the route ending point corresponding to the task to be performed under the goal of minimizing the weight of the finally composed global path.

[0177] Optionally, when the first robot is at the avoidance point of the avoidance area, the avoidance point of the avoidance area can be taken as the route starting point of the updated global path, and the route ending point of the original first global path can be taken as the route ending point of the updated global path. Based on the new route starting point and the route ending point, the global path of the first robot is updated based on the weight minimization, and the updated global path is taken as the second global path.

[0178] In this embodiment, according to the material distribution task corresponding to the first robot, a corresponding weight is set for each candidate moving path segment, so as to filter in each candidate moving path segment according to the corresponding weight, thereby efficiently and adaptively obtaining the global path corresponding to the material distribution task.

[0179] In one exemplary embodiment, before the robot acquires the avoidance area corresponding to the current moving path segment when detecting that the first robot occupies the target moving path segment of the second robot when passing through the current moving path segment, the robot can also perform one of the steps S3041, S3042, S3043, wherein:

[0180] Step S3041, when receiving an avoidance request from the server, it is determined that the first robot occupies the target moving path segment of the second robot when passing through the current moving path segment; the avoidance request is used to request the first robot to avoid the passing of the second robot in the target moving path segment.

[0181] Exemplarily, the server can monitor the passing right corresponding to each moving path segment, and when detecting that the passing right corresponding to the current moving path segment is locked by the first robot, and the second robot requests to acquire the passing right corresponding to the current moving path segment, the avoidance request is sent to the first robot.

[0182] Optionally, the data monitored by the server includes: whether the passing right of a certain moving path segment is locked, the identity of the robot locking a certain passing right, the identity of the robot requesting a certain passing right, and the state information corresponding to the robot.

[0183] Optionally, the server provides a communication interface for the robot, so that the robot establishes a communication connection with the server through the communication interface; according to the established communication connection, the robot can access the corresponding monitoring data to the server, for example, querying whether the passing right of a certain moving path segment is locked, querying the identity of the robot locking a certain passing right, querying the identity of the robot requesting a certain passing right, and querying the state information of a certain robot.

[0184] Optionally, according to the established communication connection, the robot can also request the server to acquire a certain passing right and release a certain passing right.

[0185] Optionally, the state information of the robot can include position information, such as position coordinates where the robot is located, a movement path corresponding to the robot, and the like; the state information of the robot can include working performance information, such as current power corresponding to the robot, current movement speed, current load status, whether a fault occurs, and the like; and the state information of the robot can include communication performance information with the server, such as time delay from sending to receiving, data transmission rate, integrity and security of data transmission, and the like.

[0186] In step S3042, when the pass right corresponding to the next movement path segment is not received from the server within a preset period, it is determined that the first robot occupies the target movement path segment of the second robot when passing through the current movement path segment.

[0187] For example, the first robot in the current movement path segment requests the server to obtain the pass right of the next movement path segment, and when the corresponding pass right is not received within a preset period, it indicates that the first robot and the second robot have a deadlock problem, the first robot occupies the target movement path segment of the second robot when passing through the current movement path segment, and the first robot cannot enter the next movement path from the current movement path, and the second robot cannot enter the target movement path segment.

[0188] In step S3043, a query request is sent to the server, the query request is used to query the state of the pass right corresponding to the current movement path segment, and when it is queried that the second robot requests to obtain the pass right corresponding to the current movement path segment, it is determined that the first robot occupies the target movement path segment of the second robot when passing through the current movement path segment.

[0189] The state of the pass right can be represented as whether the pass right is locked, whether the pass right is requested, an identity of a robot locking the pass right, and an identity of a robot requesting the pass right.

[0190] Optionally, when the first robot in the current movement path segment requests the server to obtain the pass right of the next movement path segment, the server can also be queried about a robot requesting the pass right corresponding to the current movement path segment, or a robot requesting or locking the pass right corresponding to the next movement path segment, so as to determine whether the deadlock problem occurs. In this embodiment, the avoidance request sent by the server or the autonomous detection of the first robot is used to efficiently and accurately determine whether the first robot occupies the target movement path segment of the second robot when passing through the current movement path segment, and then efficiently perform subsequent robot scheduling.

[0191] In an example embodiment, the first global path corresponds to a first moving path segment and a second moving path segment, in which case, step S302 includes steps S3026-S3027, wherein:

[0192] Step S3026, when the second moving path segment does not correspond to an avoidance region, the permission request for passing through from the second moving path segment to the third moving path segment is sent to the server before entering the second moving path segment.

[0193] Wherein, the third moving path segment is after the second moving path segment, and there is a corresponding avoidance region.

[0194] Step S3027, until the permission for passing through from the second moving path segment to the third moving path segment is received from the server, pass through from the second moving path segment to the third moving path segment.

[0195] Wherein, the second moving path segment and the third moving path segment can be represented as any moving path segment in the first global path. The second moving path segment does not correspond to an avoidance region, and the third moving path segment corresponds to an avoidance region.

[0196] For example, among the moving path segments after the second moving path segment, the moving path segment with the smallest route distance from the second moving path segment and the corresponding avoidance region is taken as the third moving path segment.

[0197] Optionally, among the moving path segments after the second moving path segment, the moving path segment corresponding to a preset order and having a corresponding avoidance region is taken as the third moving path segment.

[0198] Optionally, the second moving path segment and the third moving path segment in the first global path in the embodiment can be applied to the moving path segments corresponding to the second global path and the moving path segments corresponding to any updated global path.

[0199] In the embodiment, in the case that the next moving path segment does not correspond to an avoidance region, a group of moving path segments to be passed through are adaptively determined to simultaneously obtain the passing permissions corresponding to the group of moving path segments and pass through, so as to avoid the problem of being unable to avoid during the passing process.

[0200] In one example embodiment, after the first global path is acquired, the method further comprises: acquiring a moving path of the second robot, according to a comparison result of the first global path of the first robot and the moving path of the second robot, taking a moving path segment in the first global path that matches the moving path of the second robot as a shared moving path segment, setting a corresponding avoidance area for each shared moving path segment, and taking an area that converges and connects multiple shared moving path segments as an intersection area.

[0201] The shared moving path segment indicates a moving path segment that is common to the first robot and the second robot.

[0202] For example, when the robot needs to move from a current moving path segment to a next moving path segment through an intersection area, the next moving path segment corresponding access right is requested before entering the intersection area. After the next moving path segment corresponding access right is acquired, the intersection area is entered, the current moving path segment corresponding access right is released, and the next moving path segment is entered and accessed.

[0203] It can be understood that the shared moving path segment and the intersection area that connects multiple shared moving path segments optimize the flow of the first robot and the second robot performing tasks in parallel. For example, an intersection area connects four shared moving path segments A, B, C, and D. Before the first robot moves from the shared moving path segment A to the shared moving path segment B through the intersection area, i.e., before the first robot enters the intersection area, the shared moving path segment B corresponding access right is requested in advance, so as to define the intersection area as a flow buffer area, to avoid the first robot blocking the access entrance of the shared moving path segment B when the shared moving path segment B corresponding access right is not acquired, and at the same time the second robot can move between the shared moving path segments A, C, and D through the intersection area.

[0204] It can be understood that the shared moving path segment and the avoidance area provide a solution to the task conflict of the first robot and the second robot. For example, when the first robot occupies the target shared moving path segment of the second robot while accessing the current shared moving path segment, the first robot can move to the avoidance area corresponding to the current shared moving path segment, so that the second robot accesses the current shared moving path segment.

[0205] Optionally, the intersection region can be provided with a corresponding avoidance region; the number of avoidance points of the avoidance region corresponding to the intersection region can refer to the number of shared moving path segments connected by the intersection region and the number of first robots allowed to pass through each shared moving path segment simultaneously. For example, one intersection region is connected to three shared moving path segments, and each shared moving path segment allows three first robots to pass through simultaneously, so the intersection region can be provided with nine avoidance points.

[0206] Optionally, the moving paths of the first robot and the second robot can be composed of discrete grid units. As shown in FIG. 6, the grid units A, B, C, D, E, F, G, H, I, and J are shared by the first robot and the second robot. Among them, the grid units A, B, and C form one moving path segment, and the avoidance region X is set for the moving path segment; the grid units D, E, and F form one moving path segment, and the avoidance region Y is set for the moving path segment; the grid units H, I, and J form one moving path segment, and the avoidance region Z is set for the moving path segment; and the grid unit G connected to the above three moving path segments is the intersection region.

[0207] Optionally, the grid unit G can also be used as a reference to expand the scope of the intersection region, for example, the grid units G, C, E, and F are used as the intersection region, thereby improving the scheduling effect of the intersection region in the robot scheduling process.

[0208] In this embodiment, according to the comparison result of the moving paths corresponding to the first robot and the second robot, the shared moving path segments shared by the first robot and the second robot, the avoidance regions corresponding to the shared moving path segments, and the intersection region connected to multiple shared moving path segments are efficiently obtained, thereby improving the scheduling capability of the first robot and the second robot performing tasks in parallel.

[0209] In one exemplary embodiment, as shown in FIG. 7, the first robot obtains a task to be executed, and calculates a global path according to the route starting point and the route ending point corresponding to the task to be executed. Among them, according to the weight corresponding to each candidate moving path segment, the screened candidate moving path segment is obtained, and the screened candidate moving path segment is used to form a global path, and the comprehensive weight corresponding to the global path is the smallest, that is, the probability of conflict between the first robot and the second robot when the first robot passes through the global path is the smallest.

[0210] In each moving path segment corresponding to the global path, it is sequentially judged whether there is an uncompleted moving path segment. When there is an uncompleted moving path segment, the server is requested to obtain the passing right corresponding to the first moving path segment in order, that is, the passing right corresponding to the next moving path segment of the first robot; when there is no uncompleted moving path segment, it indicates that the moving path segments corresponding to the global path have been completed, and the task to be executed is updated to a task that has been executed.

[0211] When the server is requested to obtain the passing right corresponding to the mobile path segment, when it is detected that the deadlock problem occurs (for example, the passing right is not received within a preset period of time, or the avoidance request is received from the server, or the passing right corresponding to the current mobile path segment is requested by inquiring the server), the avoidance point corresponding to the current position is calculated by the first robot, and the avoidance point is moved to.

[0212] The first robot at the avoidance point recalculates the global path, and in the recalculated global path, it is again sequentially determined whether there is an uncompleted mobile path segment to repeat the above steps.

[0213] In some embodiments, the passing right in steps S302 to S306 can be determined by the passing right in each embodiment of the robot control method corresponding to steps S102 to S106. Illustratively, when the current passing state of the first mobile path segment in the preset moving direction does not satisfy the corresponding passing condition, the passing right returned by the server will not be received. In this case, the priority identification information corresponding to the first robot can be obtained. When the obtained priority identification information represents the first priority, stay in place. When the obtained priority identification information represents the second priority, move to the avoidance area corresponding to the current position. Wherein, the first priority is higher than the second priority.

[0214] Optionally, when the first robot is passing in the mobile path segment corresponding to the first global path, it is detected that the first robot occupies the target mobile path segment of the second robot when passing in the current mobile path segment. At this time, the first robot can repeatedly send the passing right request to the server until the passing right returned by the server is received. In some embodiments, the first robot can obtain priority identification information, determine the request sending frequency corresponding to the priority identification information based on the priority identification information, and repeatedly send the passing right request to the server according to the request sending frequency. Optionally, for example, when the first robot still does not receive the passing right after sending the passing right request to the server multiple times, it can move to the avoidance area to reduce the possibility of increasing the probability of path conflict caused by staying in place. That is, when certain conditions are met, the first robot can move to the avoidance area. For example, the first robot can obtain target information, which includes at least one of position information, the number of times of sending requests, and the number of robots sending requests at the same time. Then analyze the target information. When the target information satisfies the corresponding threshold condition and the passing right returned by the server is not received, move to the avoidance area.

[0215] In an example embodiment, the application also provides a robot control method. The application takes the method applied to a terminal as an example for illustration. It can be understood that the method can also be applied to a server, and can also be applied to a system including a terminal and a server, and can be realized through the interaction of the terminal and the server, or the interaction between terminals. The terminal can be a computer device, such as a robot, a smart wearable device, a self-balancing vehicle, etc. It can be understood that the robot can be a delivery robot (commercial delivery robot, industrial delivery robot, AGV (Automated Guided Vehicle) robot), a guide robot, a disinfection robot, a cleaning robot, a patrol robot, etc. The server can be a standalone physical server, or a service node in a blockchain system. The service nodes in the blockchain system form a P2P (Peer To Peer) network. The P2P protocol is an application layer protocol running on the TCP (Transmission Control Protocol) protocol. In addition, the server can also be a server cluster composed of multiple physical servers, which can be a cloud server providing cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, CDN (Content Delivery Network), and big data and artificial intelligence platforms, etc. The robot and the server can be connected through Bluetooth, USB (Universal Serial Bus), or network communication connection mode. The application does not limit this.

[0216] As shown in FIG. 8, in an embodiment of the robot control method, the method is used in an application scenario where multiple robots coexist and run, and the robots with path conflicts are controlled. In this application scenario, the robots include a first robot and at least one second robot. The first robot is taken as the core object for path conflict judgment, and the potential path conflicts between each second robot and the first robot are evaluated. In this embodiment, the method is applied to the first robot, and the application also includes the following steps S802 to S810, wherein:

[0217] Step S802, when the second robot is located in the target position area of the first robot on the moving path, the second robot is taken as the target second robot to be determined in the moving direction.

[0218] The potential path conflict between each robot is evaluated by taking each robot in the same operating environment as an object of path conflict judgment. Further, the first robot is taken as the core object of path conflict judgment, and the robots other than the first robot in the same operating environment are taken as the second robots, so as to evaluate the potential path conflict between each second robot and the first robot.

[0219] Exemplarily, when the second robot is in the target orientation area, the second robot has a potential risk of path conflict with the first robot, and the movement direction of the second robot needs to be further determined to provide data reference for subsequent robot scheduling control; when the second robot is not in the target orientation area, the potential risk of path conflict between the second robot and the first robot is excluded.

[0220] Optionally, the target orientation area can represent a front area corresponding to the advancing direction of the moving path of the first robot, such as a rectangular area of a preset width corresponding to the advancing direction of the straight moving path, or an arc-shaped area of a preset width corresponding to the advancing direction of the curved moving path; the target orientation area can also represent a circular area with the first robot as the center within a preset radius.

[0221] In step S804, the first predicted movement direction corresponding to the first robot is determined according to the influence area information of the target second robot.

[0222] The influence area information is information of the target second robot in the current period of time projected on the moving path of the first robot.

[0223] The movement state information can also describe the speed, acceleration, acceleration direction, orientation, etc. of the robot.

[0224] The predicted movement state information of the target second robot in the current period of time can represent the predicted movement state information of the target second robot at each time point in the current period of time; in the case that the current period of time includes the current time point, the predicted movement state information of the target second robot in the current period of time can also represent the predicted movement state information of the target second robot at the current time point.

[0225] The influence area information indicates that, when the predicted motion state information of the target second robot is projected to the moving path of the first robot to obtain corresponding projection information, the projection information is taken as a reference to circumscribe an influence area which has an influence on the motion state information of the first robot, and coordinate points circumscribed in a map, wherein the map can represent a global map corresponding to each robot in the same operating environment, or a map corresponding to a robot coordinate system set with the first robot as a reference. The first predicted motion direction of the first robot indicates a predicted overall motion direction of the first robot in the influence area.

[0226] Exemplarily, the projection information of the predicted motion state information of the target second robot on the moving path of the first robot can indicate that the current position of the target second robot is projected to the moving path of the first robot to obtain a projection position of the target second robot on the moving path of the first robot, and the corresponding influence area is circumscribed according to the projection position.

[0227] Exemplarily, on the one hand, when the moving path of the first robot is relatively complex in the influence area, the overall motion direction of the first robot in the influence area can be predicted based on the influence area information, so as to simplify the determination of the motion direction of the first robot. On the other hand, when the motion direction of the first robot on the moving path is relatively complex, it is not convenient to directly compare the motion directions of the first robot and the target second robot, but the influence area is circumscribed by the projection information of the target second robot on the moving path of the first robot, the influence area close to the target second robot in position is adaptively obtained, and then the motion direction of the first robot in the influence area is predicted, so as to compare the motion directions of the first robot and the target second robot when they are close in position.

[0228] In step S806, the second predicted motion direction of the target second robot is determined according to the historical motion state information of the target second robot in the historical period and the predicted motion state information of the target second robot in the target period.

[0229] The historical motion state information of the target second robot in the historical period can indicate the detected motion state information of the target second robot at each time in the historical period.

[0230] The predicted motion state information of the target second robot in the target period can indicate the predicted motion state information of the target second robot at each time in the preset period, which can represent a future period not including the current time, or a current period including the current time and the future period.

[0231] The target second robot in the current second predicted motion direction can represent a predicted motion direction of the target second robot at the current time, or can represent predicted motion directions of the target second robot at each time within the current time period.

[0232] Exemplarily, during the operation of the target second robot, temporary parking or temporary deviation from the route of the target second robot can occur. In the above cases, if the detected running speed vector of the target second robot is directly used as the motion direction, there is a certain error. Therefore, the historical motion state information of the target second robot in the historical period and the predicted motion state information in the target period can be used to completely splice and display the changes of the motion state information of the target second robot in the historical period and the target period, so as to accurately predict the motion direction of the target second robot and avoid the error caused by the above cases.

[0233] In step S808, the path conflict type corresponding to the first robot and the target second robot is determined according to the angle relationship between the first predicted motion direction and the second predicted motion direction.

[0234] The path conflict type represents the type of path conflict between the robots in the motion direction of the robots.

[0235] Exemplarily, different angle intervals can be set, and each angle interval is associated with a different path conflict type. The path conflict type corresponding to the first robot and the target second robot is determined according to the angle interval in which the included angle between the first predicted motion direction and the second predicted motion direction is located.

[0236] Optionally, the path conflict type can include a reverse conflict type. For example, a pair of robots can travel in opposite directions and can collide head-on. The path conflict type can include a same direction conflict type. For example, a pair of robots can travel in the same direction and can collide in a rear-end collision. The path conflict type can include a lateral conflict type. For example, the moving paths of a pair of robots are perpendicular to each other, and a collision can occur at the intersection.

[0237] Optionally, when the second predicted motion direction of the target second robot is not predicted, the motion speed of the target second robot is zero, and the target second robot in a stationary state does not have a path conflict with the first robot.

[0238] In step S810, the matching avoidance task is performed according to the priority corresponding to the first robot and the target second robot, and the path conflict type.

[0239] Exemplarily, the path conflict type is taken as a first decision criterion for resolving the robot path conflict, and the priority of the robot is taken as a second decision criterion for resolving the robot path conflict. First, the path conflict type of the first robot and the target second robot is determined. Second, under the scenario of the determined path conflict type, the matched avoidance task is performed by the first robot and / or the target second robot according to the comparison result of the priority of the first robot and the target second robot.

[0240] Optionally, the avoidance task can represent moving the robot to a designated avoidance area to avoid the conflict. The avoidance task can also represent keeping the robot in place to wait for other robots to pass through the predicted conflict path, or to move to a designated avoidance area.

[0241] Optionally, the priority can reflect the function or design purpose corresponding to the robot. For example, in a transportation scenario, a robot dedicated to transportation is given a higher priority. The priority can reflect the urgency of the task performed by the robot. For example, a robot performing a more urgent task is given a higher priority; the priority can reflect the working state of the robot, for example, a robot with a power level lower than a certain warning level is given a higher priority to ensure that it can move and complete the task.

[0242] Optionally, the priority corresponding to the robot can be dynamically configured according to the actual working condition. For example, the priority corresponding to the robot can be adjusted higher for a task with high urgency according to the urgency of the current task assigned to the robot. For another example, the priority corresponding to the robot can be adjusted higher for a task that consumes less resources or has not overloaded resources according to the resource consumption status corresponding to the task performed by the robot.

[0243] Optionally, in a material handling scenario, the first robot and the second robot are different priority delivery robots. In other scenarios, the first robot and the second robot can also be at least one of different priority delivery robots, guide robots, cleaning robots, inspection robots, and disinfection robots.

[0244] Optionally, the first predicted motion direction of the first robot and the second predicted motion direction of the target second robot can be determined simultaneously. The first predicted motion direction of the first robot can be determined first, and then the second predicted motion direction of the target second robot can be determined, or the second predicted motion direction of the target second robot can be determined first, and then the first predicted motion direction of the first robot can be determined.

[0245] In the robot control method, firstly, the target second robot with a risk of collision with the first robot is efficiently obtained according to the positional relationship between the second robot and the first robot on the first robot moving path. Further, the first robot is adaptively obtained in a first predicted moving direction corresponding to the influence area information of the target second robot when the predicted motion state information of the target second robot in the current period is projected on the first robot moving path, and the target second robot is accurately obtained in a second predicted moving direction according to the historical motion state information of the target second robot in the historical period and the predicted motion state information in the target period. Further, the path conflict type corresponding to the first robot and the target second robot is efficiently determined according to the angle relationship between the first predicted moving direction and the second predicted moving direction, and the matched avoidance task is comprehensively determined and executed according to the priority comparison result of the first robot and the target second robot and the path conflict type. Based on this, in the scenario of multiple robots coexisting, without connecting the robots to a centralized scheduling system, the robot can analyze the detected moving direction to realize the judgment and solution of the robot path conflict, thereby efficiently, accurately and adaptively realizing the avoidance scheduling of the robot in the path conflict scenario.

[0246] In an exemplary embodiment, the first robot can further perform steps S812 to S818, wherein:

[0247] Step S812, acquiring image information collected by the first robot at different times.

[0248] Exemplarily, the image information can be acquired by a sensor arranged on the first robot, wherein the sensor can be a laser radar, a camera, a line laser sensor, an ultrasonic sensor, etc., which is not limited here.

[0249] Step S814, determining the robot marker corresponding to each image information and the position information corresponding to each robot marker according to the image features corresponding to each image information.

[0250] Exemplarily, the robot marker can represent a reflector plate arranged on the surface of the robot. The laser radar carried by the first robot scans the running environment at different times to obtain the laser point cloud image reflected by the reflector plate in the running environment. Image feature analysis is performed on the laser point cloud images at different times to identify the reflector plate corresponding to each laser point cloud image at different times and the position information corresponding to each reflector plate.

[0251] Exemplarily, the robot marker can represent the robot itself, and a camera carried by the first robot can capture the running environment at different time instants to obtain captured images at different time instants. In combination with deep learning and image recognition technology, image feature analysis is performed on the captured images at different time instants to identify the robot entities respectively corresponding to the captured images at different time instants, and the position information respectively corresponding to each robot entity.

[0252] Exemplarily, the robot marker can also be a specific structural feature or identifier on the robot body that can be recognized by a sensor. For example, a specific shape structure, a Mark code, a two-dimensional code, and the like, which are not specifically limited herein.

[0253] Exemplarily, when the robot markers respectively corresponding to different robots are the same, the robot marker needs to be matched according to the state information such as the moving position, the speed size, the speed direction, and the like. The robot marker that is matched with the state information is taken as the robot marker corresponding to the same robot. When the robot markers respectively corresponding to different robots are different, the robot to which the robot marker belongs can be directly determined according to the identified robot marker.

[0254] In step S816, the second robot corresponding to the matched robot marker is obtained according to the matched robot marker.

[0255] The matched robot marker in terms of position information can be represented as follows: based on the continuous change of the moving trajectory of the robot corresponding to the similar coordinate positions, the robot markers with similar or identical coordinate positions on the map are taken as the matched robot markers in terms of position information, i.e., as the robot markers corresponding to the same robot, so as to determine the correlation between the robot markers in terms of the position information correlation.

[0256] Further, the matched robot marker in terms of position information can also be represented as the robot marker with similar or identical coordinate positions on the map and similar detection time instants, so as to avoid mistaking the robot marker with similar coordinate positions but greatly different detection time instants as the matched robot marker in terms of position information.

[0257] Exemplarily, when the positions of a pair of robot markers are adjacent. For example, the distance between the pair of robot markers is less than or equal to a preset threshold, which represents that the pair of robot markers correspond to the same second robot. The preset threshold can represent the maximum moving distance allowed by the robot within a preset time period. For example, the maximum moving distance of the robot within a time period corresponding to a preset number of continuous image acquisition frames.

[0258] Further, when the positions of the plurality of robot markers are adjacent and can be regarded as respective points on a continuous motion trajectory, it indicates that the plurality of robot markers correspond to the same second robot. That is, the robot markers are continuously tracked through multiple images to ensure that the robot markers with matching position information meet a preset number, so as to avoid false detection.

[0259] Optionally, when a new robot marker is detected, if the new robot marker matches a detected robot marker in terms of position information, the new robot marker and the detected robot marker correspond to the same second robot. If the new robot marker does not match any detected robot marker in terms of position information, the new robot marker corresponds to a new second robot, and the parameters corresponding to the motion state information of the new second robot are initialized and set.

[0260] Optionally, when a robot marker fails to match continuously for a number of times that meets a preset number threshold, it indicates that the robot marker does not have other robot markers matching the position information, and the robot marker may be detected due to false detection. Therefore, the identification record corresponding to the robot marker needs to be removed.

[0261] Optionally, when the image information is detected according to the laser radar of the first robot, the position information of the robot marker obtained according to the image features of the image information is a first coordinate position in a radar coordinate system set according to the position and orientation of the laser radar of the first robot. The first coordinate position can be converted into a second coordinate position in a robot coordinate system set according to the first robot, according to the installation position and orientation of the laser radar. The second coordinate position can be converted into a third coordinate position in a global coordinate system set according to the global map, according to the position of the first robot in the global map. In this way, the position information of the robot marker detected by the laser radar on the first robot is converted into the global coordinate system.

[0262] In step S818, the motion state information of each second robot at different time is obtained according to the position information of the robot markers of each second robot at different time.

[0263] For example, after determining that all robot markers correspond to a second robot, the motion trajectory corresponding to the second robot is obtained by splicing and combining the position information of each robot marker. According to the motion trajectory, the motion state information of the second robot at different time is obtained.

[0264] Furthermore, based on the motion state information of the second robot at various points in the historical time period, the motion state information of the second robot at the current moment is predicted. For example, using the Kalman filter algorithm, under linear or nonlinear motion conditions, the motion state information of the second robot at the next moment is predicted based on the motion state information of the second robot at historical moments.

[0265] Optionally, the motion state information of the second robot at different times can be represented by a quadruple (Id, Pos, Vel, Time). Here, Id represents the robot identifier corresponding to the second robot, or the detection label generated by the first robot when detecting the second robot; Pos represents the position of the second robot; Vel represents the velocity vector of the second robot; and Time represents the detection time.

[0266] Optionally, taking a reflector as an example of a robot's marker, the reflector can be directly affixed or indirectly installed on the robot's vertical surface, and this surface must be made of a low-reflective and non-transparent material. The installation height of the reflector is adapted to the installation height of the LiDAR. A reflector on a robot's surface is a graphic combination consisting of at least two graphic elements. These graphic elements can represent different shapes such as rectangles, circles, ellipses, and triangles, and their size can be adjusted according to actual needs. Graphic combinations can be composed of identical or different graphic elements, and the distribution of each graphic element within the combination can be adjusted according to actual needs. For example, a side-by-side arrangement with preset spacing.

[0267] When the first robot receives a laser point cloud image, it first calculates the average and maximum reflection intensities based on the corresponding reflection intensity distribution. Then, it determines an intensity threshold based on these intensities. For example, the average of the average and maximum reflection intensities can be used as the intensity threshold. This average can represent either an arithmetic average or a weighted average. The weighting coefficients for the weighted average can be pre-configured at the robot's factory or adjusted in real-time during application. The robot then filters the laser points in the laser point cloud image based on the intensity threshold, retaining those above the threshold and removing those below or equal to it.

[0268] Furthermore, based on the distance between the graphic elements in the reflector's graphic combination, a first clustering threshold and a second clustering threshold are determined. For example, 0.5 times the distance between each graphic element is used as the first clustering threshold, and 1.5 times the distance between each graphic element is used as the second clustering threshold.

[0269] The filtered laser points are clustered according to a first clustering threshold, and a first cluster satisfying a first shape condition is selected from the resulting clusters. This first shape condition is determined based on the shape of the graphic elements. For example, the first shape condition is determined based on the aspect ratio of the individual graphic elements to filter out clusters with excessively large or small aspect ratios.

[0270] The laser points in the first cluster are clustered according to a second clustering threshold. From the resulting clusters, a second cluster satisfying a second shape condition is selected. This second shape condition is determined based on the shape of the graphic combination. For example, the second shape condition is determined based on the overall aspect ratio of the graphic combination to filter out clusters with excessively large overall aspect ratios.

[0271] Furthermore, based on the first clustering threshold, each second-class cluster is clustered into multiple sub-clusters, and the number of sub-clusters in each second-class cluster is determined. The second-class clusters are then filtered based on the number of sub-clusters to obtain point cloud clusters.

[0272] Furthermore, at least two target subclusters are selected from the subclusters of each point cloud cluster. For example, the two target subclusters with the largest number of laser points are selected. For each point cloud cluster, the ratio of the number of laser points in each of its target subclusters is determined. In a point cloud cluster, if the ratio of the number of laser points in each target subcluster does not meet a preset ratio threshold condition, the point cloud cluster is filtered out. The ratio threshold condition is used to determine whether a point cloud cluster corresponds to a robot marker based on the ratio. For example, if the ratio of the number of laser points in each target subcluster in a point cloud cluster is not within [0.5, 1.5], it indicates that the sizes of the target subclusters differ significantly and do not conform to the size characteristics of the graphic elements in the graphic combination, so the point cloud cluster needs to be filtered out.

[0273] Finally, the filtered point cloud clusters are used as the final filtered laser point cloud. The center position of each laser point in the laser point cloud on the same plane is taken as the center point of the laser point cloud. The position of the center point in the map is taken as the position of the reflector.

[0274] In this way, the position information of the robot markers (reflectors) is obtained. Then, the motion trajectory of the second robot is obtained by splicing and combining the position information corresponding to each robot marker. Based on the motion trajectory, the motion state information of the second robot at different times is obtained.

[0275] Understandably, steps S812 to S818 are used to obtain the motion state information of the second robot at different times, so as to realize the subsequent determination of the orientation relationship between the first robot and the second robot, the determination of the first predicted motion direction of the first robot, and the determination of the second predicted motion direction of the target second robot. Based on this, steps S812 to S818 are executed before step S802.

[0276] In this embodiment, image feature analysis is performed on the image information collected by the first robot at different times to efficiently identify the robot markers corresponding to each image and their position information. Furthermore, based on the robot markers matching the position information, the second robot to which each robot marker belongs is efficiently determined, thereby efficiently and accurately obtaining the motion state information of the second robot based on the position information of the robot markers.

[0277] In an exemplary embodiment, when the second robot is located in the target orientation area on the movement path of the first robot, before designating the second robot as the target second robot whose movement direction is to be determined, steps S800 to S801 are executed, wherein:

[0278] Step S800: Obtain the current first position of the first robot on the movement path, the current second position of the second robot, and the projection position of the current second position on the movement path of the first robot.

[0279] Wherein, the current first position represents the position of the first robot at the current moment; the current second position represents the position of the second robot at the current moment; and the projected position represents the position of the second robot at the current moment projected onto the movement path of the first robot.

[0280] For example, on the first robot's movement path, the point corresponding to the minimum distance between the second robot's current second position and the first robot's movement path on the target path segment is taken as the projection position of the second robot on the first robot's movement path.

[0281] For example, in each path segment of the first robot's movement path, the path segment with the smallest distance to the current second position of the second robot is taken as the target path segment, and the point corresponding to the smallest distance between the current second position of the second robot and the target path segment is taken as the projection position of the second robot on the target path segment.

[0282] Step S801: When the projected position is located at the target orientation of the current first position on the movement path, and the distance between the projected position and the current second position meets the preset threshold condition, it means that the second robot is located in the target orientation area of ​​the first robot on the movement path.

[0283] Specifically, under the premise that the second robot is at the target orientation on the movement path of the first robot (that is, under the premise that the projected position is at the target orientation on the movement path of the current first position), the preset threshold condition is used to evaluate whether there is a potential path conflict between the second robot and the first robot based on the minimum distance between their movement paths.

[0284] The preset distance threshold included in the preset threshold condition represents the upper limit threshold corresponding to the minimum distance between the movement paths of the second robot and the first robot when it is determined that there is a potential path conflict between the second robot and the first robot.

[0285] For example, if the second robot is located at the target position on the movement path of the first robot, and the distance between the projected position and the current second position meets a preset threshold condition, it means that the minimum distance between the movement paths of the second robot and the first robot is less than the preset distance threshold, and there is a potential path conflict between the second robot and the first robot.

[0286] For example, when the target orientation region represents the area in front of the first robot in the direction of movement of the movement path, the target orientation represents the direction of movement of the first robot in the movement path.

[0287] For example, the robot orientation can be determined directly based on the orientation relationship between the projected position of the second robot and the current first position of the first robot. For instance, when the projected position of the second robot is located in the forward direction of the movement path of the first robot's current first position, it can be further determined whether the second robot is located in the area in front of the first robot in the forward direction of the movement path based on the distance between the projected position of the second robot and the current second position.

[0288] For example, among the various path segments of the first robot's movement path, the path segment with the smallest distance to the second robot's current second position is taken as the target path segment. The robot's orientation relationship can be determined based on the orientation relationship between the target path segment and the first robot's current path segment. For instance, when the target path segment is located in the forward direction of the first robot's current path segment, the projection position of the second robot's current second position onto the target path segment is further determined. Based on the distance between the second robot's projection position and its current second position, it is determined whether the second robot is located in the area in front of the first robot in the forward direction of its movement path.

[0289] For example, when the target path segment is identical to the path segment currently occupied by the first robot (i.e., the target path segment and the path segment currently occupied by the first robot are the same), the projection position of the second robot's current second position onto the target path segment is further determined. When the projection position of the second robot is located in the forward direction of the first robot's current first position on the current path segment, the distance between the projection position and the current second position of the second robot is used to determine whether the second robot is located in the area ahead of the first robot in the forward direction of its movement path.

[0290] For example, as shown in Figure 9, the movement path of the first robot X includes path segments AB, BC, CD, and DE. The first robot X moves from A to E, and at the current moment, the first robot X is within path segment BC. The candidate path segments that the first robot X is currently traversing and those it is about to traverse are determined; that is, the candidate path segments include path segments BC, CD, and DE.

[0291] Optionally, the following steps can be used to explain how to determine whether the second robot is located in the area in front of the first robot in the direction of movement when the target path segment is the same as the path segment currently occupied by the first robot: As shown in Figure 9, the distances between the second robot Y and each candidate path segment are obtained, and the path segment BC corresponding to the minimum distance is taken as the target path segment of the second robot Y, that is, the target path segment is the same as the path segment currently occupied by the first robot X; the second robot Y is projected onto the path segment BC according to the minimum distance to obtain the projection position Y1; since the projection position Y1 is between the first robot X and position C, that is, the projection position Y1 is in front of the first robot X, it means that the projection position Y1 is located in the target orientation of the first robot X on the movement path; furthermore, when the distance between the second robot Y and the projection position Y1 is less than a preset distance threshold, it means that the second robot Y is located in the target orientation area of ​​the first robot X on the movement path.

[0292] Optionally, the following steps can be used to explain how to determine whether the second robot is located in the forward region corresponding to the forward direction of the first robot's current path, when the target path segment is located in the forward direction of the first robot's current path segment: As shown in Figure 9, the distances between the second robot Z and each candidate path segment are obtained, and the CD path segment corresponding to the minimum distance is taken as the target path segment of the second robot Z, that is, the target path segment is located in the forward direction of the first robot X's current path segment. The second robot Z is projected onto the CD path segment according to the minimum distance to obtain the projection position Z1. Since the CD path segment is located in front of the BC path segment where the first robot X is located, that is, the projection position Z1 is in front of the first robot X in the forward direction, it means that the projection position Z1 is located in the target orientation of the first robot X on the movement path. Further, when the distance between the second robot Z and the projection position Z1 is less than a preset distance threshold, it means that the second robot Z is located in the target orientation region of the first robot X on the movement path.

[0293] Optionally, the preset distance threshold may include the safe movement distance of the first robot and a redundancy distance; wherein, the safe movement distance of the first robot represents the minimum safe distance that the first robot must maintain from obstacles during movement. The redundancy distance represents the additional distance added to cope with unexpected situations such as sensor errors, calculation delays, and environmental changes.

[0294] In this embodiment, the projection position of the current position of the second robot on the movement path of the first robot is obtained. Then, based on the orientation relationship between the projection position of the second robot and the current position of the first robot, as well as the distance relationship between the current position of the second robot and the projection position, the second robot located in the target orientation area is accurately and multidimensionally determined.

[0295] In an exemplary embodiment, determining the first predicted motion direction corresponding to the first robot based on the influence area information of the target second robot includes steps S820 to S824, wherein:

[0296] Step S820: Project the current position of the target second robot in the current time period onto the movement path of the first robot to obtain the projection position corresponding to the current position.

[0297] For example, on the first robot's movement path, the point corresponding to the minimum distance between the second robot's current position and the first robot's movement path is taken as the projection position of the second robot on the first robot's movement path.

[0298] Step S822: Determine the influence area information corresponding to the projection position according to the preset influence range conditions. The influence area information includes the influence area corresponding to the projection position and the target position at the edge of the influence area in the first robot's movement path.

[0299] Step S824: Based on the orientational relationship between the target position and the projected position, the first predicted motion direction of the first robot is obtained.

[0300] Among them, the preset influence range condition is used to define the influence area corresponding to the projection position.

[0301] For example, based on preset influence range conditions, an influence area corresponding to the projected position is delineated with the projected position as the center. The intersection point of the first robot's movement path and the edge of the influence area in the forward direction of the movement path is taken as the target position. Based on the directional relationship between the target position and the projected position, the first predicted movement direction of the first robot is obtained. Optionally, in the forward direction of the first robot's movement path, the intersection point with the smallest or largest path distance from the projected position can be taken as the target position, or the intersection point belonging to the same path segment as the projected position can be taken as the target position.

[0302] For example, among the various path segments of the first robot's movement path, the path segment with the smallest distance to the current position of the second robot is taken as the target path segment. The first predicted movement direction of the first robot can be comprehensively determined based on the orientation relationship between the target path segment and the current path segment of the first robot, as well as based on the path segment where the intersection point is located.

[0303] For example, when the target path segment is the same as the path segment where the first robot is currently located, and there is an intersection point on the current path segment, the intersection point is taken as the target position, and the direction from the projection position of the second robot to the target position is taken as the first predicted motion direction of the first robot in the current path segment.

[0304] For example, if the target path segment is identical to the current path segment of the first robot, and there is no intersection point on the current path segment, then the subsequent path segments are traversed sequentially until the intersection point with the smallest path distance to the projected position of the second robot is found. This intersection point is taken as the target position, and the direction from the projected position of the second robot to the target position is taken as the first predicted motion direction of the first robot on the current path segment. Here, the path distance represents the distance measured along the movement path of the first robot.

[0305] For example, when the target path segment is located in the forward direction of the first robot's current path segment, and there is an intersection point on the target path segment, the intersection point is taken as the target position, and the direction from the projection position of the second robot to the target position is taken as the first predicted motion direction of the first robot on the target path segment.

[0306] For example: when the target path segment is located in the forward direction of the first robot's current path segment, and there is no intersection point on the target path segment, the path segments after the target path segment are traversed in sequence until the intersection point with the smallest path distance to the projection position of the second robot is obtained. This intersection point is taken as the target position, and the direction from the projection position of the second robot to the target position is taken as the first predicted motion direction of the first robot in the target path segment.

[0307] For example: when the target path segment is equal to the path segment where the first robot is currently located, or the target path segment is located in the forward direction of the path segment where the first robot is currently located, and there is no intersection point on the target path segment, and no intersection point is found after traversing each path segment after the target path segment, the end point of the first robot's movement path is taken as the target position, and the direction from the projection position of the second robot to the target position is taken as the first predicted movement direction of the first robot in the target path segment.

[0308] For example, as shown in Figure 10, the movement path of the first robot X includes path segments AB, BC, CD, DE, EF, and FG. The first robot X moves from A to G, and at the current moment, the first robot X is within the AB path segment. Based on the method of projecting the target second robot onto the movement path of the first robot in the previous embodiment, the projection positions Y1, Z1, M1, and N1 of the target second robots Y, Z, M, and N (not shown) onto the movement path of the first robot are obtained, respectively.

[0309] Optionally, the following steps can be used to explain how to detect the first predicted motion direction of the first robot when the target path segment is the same as the current path segment of the first robot and there is an intersection point on the current path segment: As shown in Figure 10, the projection position Y1 of the target second robot Y is located within the AB path segment, that is, the target path segment is the same as the current path segment of the first robot X, and the projection position Y1 is located between the first robot X and position B; with the projection position Y1 as the center, the corresponding influence area within a preset radius is defined. In the forward direction of the first robot X's movement path corresponding to the projection position Y1 as the starting point, the intersection points of the edge of the influence area and the AB path segment are traversed. The intersection point Y2 of the AB path segment and the edge of the influence area is taken as the target position, and the direction from the projection position Y1 to the intersection point Y2 is taken as the first predicted motion direction of the first robot X in the influence area. Specifically, the radius of the affected area can be determined based on parameters such as the length of each path segment of the first robot, the deployment direction, and the deployment distance between each path segment. This allows for the overall presentation of denser, shorter continuous path segments as affected areas, while allowing for the independent presentation of more sparser, longer path segments.

[0310] Optionally, the following steps can be used to explain how to detect the first predicted motion direction of the first robot when the target path segment is the same as the current path segment of the first robot and there is no intersection point on the current path segment: As shown in Figure 10, the projection position Z1 of the target second robot Z is located within the AB path segment, that is, the target path segment is the same as the current path segment of the first robot X, and the projection position Z1 is located between the first robot X and position B; with the projection position Z1 as the center, the corresponding influence area within a preset radius is defined. In the forward direction of the first robot X's movement path corresponding to the projection position Z1, the intersection points of the edge of the influence area and the AB path segment are traversed. When there is no intersection point on the AB path segment, the intersection points of the edge of the influence area and each path segment after the AB path segment are traversed until the intersection point Z2 with the smallest path distance to the projection position Z1 is matched on the BC path segment. The intersection point Z2 is taken as the target position, and the direction from the projection position Z1 to the intersection point Z2 is taken as the first predicted motion direction of the first robot X in the influence area.

[0311] Optionally, the following steps can be used to explain how to detect the first predicted motion direction of the first robot when the target path segment is located in the forward direction of the current path segment of the first robot and there is an intersection point on the target path segment: As shown in Figure 10, the projection position M1 of the target second robot M is located within the CD path segment, that is, the target path segment is located in the forward direction of the current path segment of the first robot X; with the projection position M1 as the center, the corresponding influence area within a preset radius is defined. In the forward direction of the first robot X's movement path corresponding to the projection position M1 as the starting point, the intersection points of the edge of the influence area and the CD path segment are traversed. The intersection point M2 of the CD path segment and the edge of the influence area is taken as the target position, and the direction from the projection position M1 to the intersection point M2 is taken as the first predicted motion direction of the first robot X in the influence area.

[0312] Furthermore, when traversing the intersection points of the edge of the affected area with each path segment, the intersection points M2, M3, and M4 with the edge of the affected area are matched in the CD, DE, and EF path segments, respectively. That is, there are multiple intersection points in the forward direction of the projection position M1. Then, the intersection point M4 that is farthest from the projection position M1 in the forward direction is taken as the target position, and the direction from the projection position M1 to the intersection point M4 (not shown in the figure) is taken as the first predicted motion direction of the first robot X in the affected area, so as to present the motion direction corresponding to each path segment in the affected area as a whole.

[0313] Optionally, the following steps can be used to explain how to detect the first predicted motion direction of the first robot when the target path segment is the same as the current path segment of the first robot, or the target path segment is located in the forward direction of the current path segment of the first robot, and there is no intersection point on the target path segment, and no intersection point is found after traversing all path segments after the target path segment: As shown in Figure 10, the projection position N1 of the target second robot N is located within the path segment FG. Then, with the projection position N1 as the center, the corresponding influence area within a preset radius is defined. In the forward direction of the first robot X's movement path corresponding to the projection position N1 as the starting point, the intersection points of the edge of the influence area and the path segment FG are traversed. When no intersection point is matched, the end point G of the movement path is taken as the target position, and the direction from the projection position N1 to the end point G is taken as the first predicted motion direction of the first robot X in the influence area.

[0314] In this embodiment, the corresponding influence area is defined based on the projection position of the target second robot on the movement path of the first robot. Then, based on the relationship between the points in the influence area and the points on the movement path, the movement direction of the first robot in the influence area is accurately predicted, which improves the reliability of the predicted movement direction of the first robot.

[0315] In an exemplary embodiment, the second predicted motion direction of the target second robot is determined based on the historical motion state information of the target second robot in a historical time period and the predicted motion state information in the target time period, including steps S826 to S830, wherein:

[0316] Step S826: Based on the historical motion state information of the target second robot in the historical period, obtain the first motion trajectory of the target second robot in the historical period.

[0317] For example, the first motion trajectory of the target second robot in the historical period is obtained by splicing together the historical motion state information detected at various moments in the historical period.

[0318] Step S828: Based on the predicted motion state information of the second target robot during the target time period, obtain the second motion trajectory of the second target robot during the target time period.

[0319] For example, the second motion trajectory of the target second robot in the future time period is obtained by splicing together the predicted motion state information obtained at each time point in the future time period.

[0320] Optionally, the target second robot, which is in linear or curvilinear motion, can fit the historical motion state information detected in the historical period according to the linear motion fitting or curvilinear motion fitting method. The fitted straight line or curve reflects the changing trend or law of the target second robot's motion state information, thereby predicting the target second robot's predicted motion state information in the future period.

[0321] Step S830: The first motion trajectory and the second motion trajectory are fused to obtain the fused motion trajectory. Based on the vector relationship between the starting point and the ending point in the fused motion trajectory, the second predicted motion direction of the target second robot is obtained.

[0322] For example, the first motion trajectory and the second motion trajectory are spliced ​​together to obtain the fused motion trajectory of the target second robot. The start point and end point of the fused motion trajectory are determined. If the vector length from the start point to the end point is less than a preset length threshold, it indicates that the target second robot has not moved a sufficient distance within a preset time period, which is equivalent to the target second robot being approximately stationary within the preset time period. Therefore, there is no second predicted motion direction for the target second robot. Here, the preset length threshold represents the lower limit of the distance that the target second robot should move within the preset time period when it is in normal working condition. For example, when the target second robot in normal working condition moves less than 0.3 meters within 6 seconds, it indicates that the target second robot has not moved a sufficient distance within the preset time period. Here, 6 seconds may include 5 seconds corresponding to the historical time period and 1 second corresponding to the target time period.

[0323] Furthermore, when the vector length from the starting point to the ending point is greater than or equal to a preset length threshold, it indicates that the target second robot has moved a sufficient distance within a preset time period, which is equivalent to the target second robot being in motion within the preset time period. Then, based on the vector direction from the starting point to the ending point, the second predicted motion direction of the target second robot is obtained.

[0324] Optionally, the vector from the starting point to the ending point can be normalized, and the unit vector obtained by the normalization process can be used as the second predicted motion direction of the target second robot.

[0325] In this embodiment, based on the first motion trajectory of the target second robot in a historical time period and the second motion trajectory in the target time period, the fused motion trajectory of the target second robot within a preset time period is obtained completely. Furthermore, based on the vector from the starting point to the ending point in the fused motion trajectory, the second predicted motion direction of the target second robot is accurately and multidimensionally determined in terms of the vector length and vector direction dimensions.

[0326] In an exemplary embodiment, the path conflict types include reverse conflict types, same-direction conflict types, and lateral conflict types. Based on the priorities of the first robot and the target second robot, and the path conflict type, a matching avoidance task is executed, including steps S832 to S836, wherein:

[0327] In step S832, when the path conflict type is a reverse conflict type, if the priority of the first robot is higher than the priority of the target second robot, the first robot stays in place until the target second robot moves to the avoidance area; if the priority of the first robot is lower than the priority of the target second robot, the first robot moves to the avoidance area so that the target second robot can pass through the predicted conflict path.

[0328] The predicted conflict path can represent the current path segment where the first robot or the target second robot is located, or it can represent the path segment where a path conflict is predicted between the first robot and the target second robot.

[0329] The avoidance zone represents a designated area that a robot will deviate from its original path to avoid path conflicts. Avoidance zones can be deployed on the global map or individually for each path segment corresponding to the robot's movement path.

[0330] Among them, the reverse conflict type refers to the conflict type when the first robot and the target second robot move in approximately opposite directions, respectively, when their respective motion directions are approximately opposite.

[0331] Optionally, the opposite direction of the first predicted motion direction of the first robot is determined. Based on this opposite direction, an approximate range of opposite directions corresponding to the first predicted motion direction is determined. For example, the direction corresponding to a preset counterclockwise rotation from this opposite direction is used as a first threshold direction, and the direction corresponding to a preset clockwise rotation from this opposite direction is used as a second threshold direction. The approximate range of opposite directions corresponding to the first predicted motion direction is determined based on the first and second threshold directions. When the second predicted motion direction of the target second robot is within this approximate range of opposite directions, it indicates that there is a reverse conflict between the first robot and the target second robot.

[0332] Optionally, the second target robot can independently detect environmental road conditions and determine whether to avoid the first robot or directly proceed along the predicted conflict path based on the detection results. Alternatively, the second target robot can also determine whether to avoid the first robot or directly proceed along the predicted conflict path based on a priority comparison with the first robot. The second target robot can also receive communication information from the server or the first robot and determine whether to avoid the first robot or directly proceed along the predicted conflict path based on the communication information.

[0333] Step S834: When the path conflict type is a same-direction conflict type, if the priority of the first robot is higher than the priority of the target second robot, the first robot stays in place. After the target second robot moves to the avoidance area, the first robot proceeds through the predicted conflict path. If the priority of the first robot is lower than the priority of the target second robot, the first robot stays in place until the target second robot proceeds through the predicted conflict path.

[0334] Among them, the same-direction conflict type refers to the conflict type when the first robot and the target second robot move along approximately the same direction of motion, provided that their respective directions of motion are approximately the same.

[0335] Optionally, based on the first predicted motion direction of the first robot, a range of approximately the same direction corresponding to the first predicted motion direction is determined. For example, the direction corresponding to the first predicted motion direction after rotating counterclockwise by a preset angle is used as the first threshold direction, and the direction corresponding to the first predicted motion direction after rotating clockwise by a preset angle is used as the second threshold direction. The range of approximately the same direction corresponding to the first predicted motion direction is determined based on the first threshold direction and the second threshold direction. When the second predicted motion direction of the target second robot is within this range of approximately the same direction, it indicates that there is a conflict in the same direction between the first robot and the target second robot.

[0336] Optionally, when the path conflict type is a same-direction conflict type, priority comparison can be omitted, and the first robot can stay in place to allow the target second robot to pass through the predicted conflict path.

[0337] Step S836: When the path conflict type is a lateral conflict type, if the priority of the first robot is higher than the priority of the target second robot, the target second robot stays in place until the first robot passes through the predicted conflict path; if the priority of the first robot is lower than the priority of the target second robot, the first robot stays in place until the target second robot passes through the predicted conflict path.

[0338] The horizontal line conflict type indicates the conflict type when the first robot and the target second robot move along approximately perpendicular motion directions, provided that their respective motion directions are approximately perpendicular.

[0339] Optionally, when the second predicted motion direction of the target second robot is neither within the range of the aforementioned approximately opposite directions nor within the range of the aforementioned approximately the same directions, it indicates that there is a lateral conflict between the first robot and the target second robot.

[0340] Optionally, when the path conflict type is a lateral conflict type, priority comparison can be omitted, and the first robot can stay in place to allow the target second robot to pass through the predicted conflict path.

[0341] Optionally, when the angle between the first predicted motion direction and the second predicted motion direction is [0°, 60°] ∪ [300°, 360°], the conflict type is a same-direction conflict. When the angle between the first predicted motion direction and the second predicted motion direction is [120°, 240°], the conflict type is a reverse-direction conflict. When the angle between the first predicted motion direction and the second predicted motion direction is (60°, 120°) ∪ (240°, 300°), the conflict type is a lateral conflict.

[0342] Optionally, when the priority of the first robot is equal to the priority of the target second robot, the first robot may avoid the target second robot, or the target second robot may avoid the first robot.

[0343] In this embodiment, for different path conflict types, corresponding priority comparison result processing methods are defined respectively. After determining the path conflict type and priority comparison result of the first robot and the target second robot, the corresponding priority comparison result processing method is adaptively selected according to the path conflict type scenario, so as to perform robot avoidance scheduling efficiently and adaptively.

[0344] In an exemplary embodiment, there are at least two target second robots. Before executing the matching avoidance task based on the priorities of the first robot and the target second robots, and the path conflict type, the method further includes steps S838 to S840, wherein:

[0345] Step S838: Sort the target second robots according to the distance between each target second robot and the first robot, and compare the priority of the first robot with the priority of each target second robot in sequence according to the sorting of the target second robots.

[0346] For example, the target second robots are sorted in ascending order of their distances to the first robot. When two target second robots are at the same distance to the first robot, the target second robot with the higher priority is matched to the earlier order.

[0347] Optionally, after comparing the priorities of the first robot and the target second robot, the corresponding avoidance scheduling is triggered only when the distance between the first robot and the target second robot meets a preset distance threshold.

[0348] Step S840: When the priority of the first robot is higher than the priority of the current target second robot, compare the priority of the first robot with the priority of the next target second robot until a target second robot with a priority higher than or equal to the priority of the first robot is found.

[0349] For example, in a reverse conflict scenario, when the priority of the first robot is higher than the priority of the current target second robot, the first robot remains in place, while the current target second robot moves to the avoidance area, and the priority of the first robot is continued to be compared with the priority of the next target second robot. Before traversing to a target second robot with a priority higher than or equal to the priority of the first robot, the first robot moves to the avoidance area after traversing the predicted conflict path corresponding to the already traversed target second robots to avoid the target second robot with a priority higher than or equal to the priority of the first robot.

[0350] For example, in a scenario involving a conflict in the same direction, when the priority of the first robot is higher than the priority of the current target second robot, the first robot remains in place, while the current target second robot moves to the avoidance area, and the priority of the first robot continues to be compared with the priority of the next target second robot. Before traversing to a target second robot with a priority higher than or equal to the priority of the first robot, the first robot, after traversing the predicted conflict path corresponding to the already traversed target second robots, remains in place to avoid the target second robot with a priority higher than or equal to the priority of the first robot.

[0351] For example, in a lateral collision scenario, when the priority of the first robot is higher than the priority of the current target second robot, both the first robot and the current target second robot remain in place, and the priority of the first robot is continued to be compared with the priority of the next target second robot. Before traversing to a target second robot with a priority higher than or equal to the priority of the first robot, the first robot, after traversing the predicted collision path corresponding to the already traversed target second robot, remains in place to avoid the target second robot with a priority higher than or equal to the priority of the first robot.

[0352] In this embodiment, on the one hand, the priority of the sorted target second robots is compared with that of the first robot. Based on the priority comparison results of each target second robot, the traversable range of the target second robots is determined, thereby improving the traversal efficiency of the target second robots. On the other hand, after the first robot avoids the high-priority target second robots, the motion state information predicted by the first robot changes with the obstacle avoidance movement. At this time, stopping the traversal of subsequent target second robots can avoid information errors caused by changes in motion state information.

[0353] In an exemplary embodiment, the avoidance area includes at least two avoidance points. The first robot moves to the avoidance area, or the target second robot moves to the avoidance area, including steps S842 to S844, wherein:

[0354] Step S842: Before the target robot moves to the avoidance area, candidate avoidance points are determined from each avoidance point based on the distance between the target robot and each avoidance point; the target robot is one of the first robot and the second target robot.

[0355] Specifically, avoidance points can be pre-deployed at fixed locations on the global map; avoidance points can also be deployed for each path segment along the robot's movement path; and avoidance points can also be deployed for the robot's exclusive path segment.

[0356] For example, the distances between the target robot and each avoidance point are obtained from the avoidance points corresponding to the current path segment where the target robot is located, or from the avoidance points corresponding to the global map where the target robot is located; the avoidance points are sorted in ascending order of distance, and the avoidance points in the specified order are selected as candidate avoidance points.

[0357] Optionally, when the distance between the target robot and the avoidance point is less than a preset distance threshold, the avoidance point is set as a candidate avoidance point.

[0358] Step S844: Obtain the movement paths of the target robot to each candidate avoidance point, and take the candidate avoidance point corresponding to the shortest movement path as the target avoidance point so that the target robot moves to the target avoidance point.

[0359] For example, the movement paths of the target robot to each candidate avoidance point are predicted, and the candidate avoidance point corresponding to the shortest movement path is taken as the target avoidance point. When the target robot is the first robot, when predicting the movement path of the first robot, it is necessary to ensure that the first robot does not conflict with the path of the target second robot when moving to the candidate avoidance point; when the target robot is the second robot, when predicting the movement path of the second robot, it is necessary to ensure that the second robot does not conflict with the path of the first robot when moving to the candidate avoidance point.

[0360] In this embodiment, firstly, candidate avoidance points are initially determined from the various avoidance points based on the distances between the target robot and each avoidance point. Secondly, target avoidance points are further determined from the candidate avoidance points based on the movement paths of the target robot to each avoidance point. Based on this, the avoidance points to be moved by the target robot are screened and determined hierarchically and accurately.

[0361] In an exemplary embodiment, performing the matching avoidance task further includes steps S846 to S852, wherein:

[0362] Step S846: Generate a target avoidance task to be executed in the avoidance task queue. When the avoidance task queue includes an existing avoidance task, replace the existing avoidance task with the target avoidance task.

[0363] For example, a target avoidance task is generated in the avoidance task queue corresponding to a robot. When the avoidance task queue includes an existing avoidance task, that is, when the first robot is executing or is about to execute the existing avoidance task, the existing avoidance task is replaced with the target avoidance task to ensure that the number of avoidance tasks in the avoidance task queue is always less than or equal to one.

[0364] Step S848: Interrupt the currently running task in the normal task queue and store the task execution status corresponding to the currently running task.

[0365] For example, the task execution state corresponding to the current running task can represent the motion state information such as position, speed, and speed direction of a robot when it is executing the current running task.

[0366] Optionally, tasks in the avoidance task queue and the normal task queue can be generated by the first robot itself based on the real-time working conditions or conflict situation, or they can be generated based on the scheduling information sent by the server.

[0367] Step S850: Execute the target avoidance task in the avoidance task queue.

[0368] Step S852: After the target avoidance task ends, resume the execution of the currently running task according to the stored task execution status, and eliminate the target avoidance task. When the currently running task is eliminated, execute the running task in the target order in the normal task queue.

[0369] For example, after completing the target avoidance task, if no new avoidance task is generated, the target avoidance task is terminated and cleared after a preset time threshold, and the interrupted currently running task is resumed according to the stored task execution status.

[0370] For example, when performing a target avoidance task, if the robot's normal task queue changes, causing the interrupted currently running task to be eliminated or reset, the target avoidance task is terminated and cleared, and the running task in the target order of the normal task queue is executed. For example, the first running task in the normal task queue is executed.

[0371] For example, as shown in Figure 11, a robot's task management system includes a normal task queue and an avoidance task queue. When the robot is in operation, the normal task queue includes at least one running task, such as running task A, running task B, and running task C executed sequentially as shown in Figure 11. When the robot is not in operation, there may be no running tasks in the normal task queue. The avoidance task queue includes at most one avoidance task. Furthermore, as shown in Figure 11, if avoidance task A already exists in the avoidance task queue, and a new avoidance task B is generated to increase the number of avoidance tasks beyond one, then avoidance task A is replaced by the newly generated avoidance task B.

[0372] When the robot is in operation, it executes each running task in the normal task queue in sequence. As shown in Figure 11, the robot is executing running task A.

[0373] If an avoidance task A already exists in the avoidance task queue, and a new avoidance task B, different from avoidance task A, is created in the creation avoidance task queue, the newly created avoidance task B must preempt the resource space of the original avoidance task A to ensure that the length of the avoidance task queue is always less than or equal to 1. That is, the number of avoidance tasks in the avoidance task queue is always less than or equal to one. When avoidance task A and avoidance task B are identical, avoidance task A can be replaced with avoidance task B, or avoidance task A can be retained and avoidance task B can be eliminated.

[0374] Before generating avoidance task B, if there is no avoidance task in the avoidance task queue, avoidance task B is generated directly in the avoidance task queue.

[0375] After interrupting task A and storing the corresponding task execution status, the robot executes avoidance task B. If the robot does not generate a new avoidance task, after a preset time threshold, avoidance task B ends and is cleared, that is, the avoidance task queue is cleared, and the interrupted task A is resumed according to the stored task execution status.

[0376] When the robot is performing avoidance task B, if the normal task queue changes, causing the interrupted running task A to be eliminated or reset, then avoidance task B will end and be cleared, that is, the avoidance task queue will be emptied, and the running task in the target order in the normal task queue will be executed. For example, the next running task corresponding to the original running task A in the normal task queue will be executed, that is, running task B.

[0377] Optionally, depending on the actual scheduling situation, the robot's corresponding avoidance task can be to make the robot wait in place or to make the robot move to the avoidance area.

[0378] In this embodiment, the normal operation and obstacle avoidance scheduling of the robot are efficiently and accurately controlled and managed through resource allocation and logical association between the normal task queue and the obstacle avoidance task queue.

[0379] In an exemplary embodiment, as shown in FIG12, the method further includes the following steps:

[0380] The first robot detects the second robot operating around it, along with its corresponding motion state information. This can be achieved by using a lidar system on the first robot to detect reflectors on the surface of the second robot, thus identifying the second robot in the operating environment. Alternatively, a camera on the first robot can be used to identify the second robot in the operating environment. A simplified central control system can also transmit the collected motion state information of each robot to the first robot, enabling the first robot to obtain the motion state information of the surrounding second robots.

[0381] The second robot, located in the area ahead of the first robot's forward direction, is designated as the target second robot. The first predicted motion direction of the first robot within the affected area and the target second robot's current second predicted motion direction are determined. Based on the angular relationship between the first and second predicted motion directions, the path conflict type between the first robot and the target second robot is determined.

[0382] In scenarios involving path conflicts, a matching avoidance task is generated based on the priority comparison between the first robot and the target second robot. The tasks to be executed for the first robot and / or the target second robot are updated based on task management in the normal task queue and the avoidance task queue. Essentially, based on the newly generated avoidance task in the avoidance task queue, the tasks to be executed for the first robot and / or the target second robot are switched between running tasks and avoidance tasks.

[0383] Based on the task to be performed, path planning is performed for the first robot and / or the target second robot; wherein, path planning includes planning motion state information such as movement path and speed. For example, the Navigation2 module of the ROS2 software system can be used for path planning. The Navigation2 module provides a series of tools and libraries to provide path planning and navigation functions for the robot. It should be understood that although the steps in the flowcharts involved in the embodiments described above are shown sequentially according to the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless explicitly stated herein, there is no strict order restriction on the execution of these steps, and these steps can be executed in other orders. Moreover, at least some steps in the flowcharts involved in the embodiments described above may include multiple steps or multiple stages. These steps or stages are not necessarily completed at the same time, but can be executed at different times, and the execution order of these steps or stages is not necessarily sequential, but can be executed alternately or in turn with other steps or at least a part of the steps or stages of other steps.

[0384] In an exemplary embodiment, a computer device is provided, which can be a terminal, such as a robot, and its internal structure diagram is shown in Figure 13. The computer device includes a processor, memory, input / output interface, communication interface, display unit, and input device. The processor, memory, and input / output interface are connected via a system bus, and the communication interface is connected to the system bus via the input / output interface. The processor of the computer device provides computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and internal memory. The non-volatile storage medium stores an operating system and computer-readable instructions. The internal memory provides an environment for the operation of the operating system and computer-readable instructions in the non-volatile storage medium. The input / output interface of the computer device is used for exchanging information between the processor and external devices. The communication interface of the computer device is used for wired or wireless communication with external terminals; wireless communication can be achieved through Wi-Fi, mobile cellular networks, NFC (Near Field Communication), or other technologies. When the computer-readable instructions are executed by the processor, a robot control method is implemented.

[0385] Those skilled in the art will understand that the structure shown in Figure 13 is merely a block diagram of a portion of the structure related to the present application and does not constitute a limitation on the computer device to which the present application is applied. Specific computer devices may include more or fewer components than those shown in the figure, or combine certain components, or have different component arrangements.

[0386] In one exemplary embodiment, a computer device is also provided, including a memory and a processor, wherein the memory stores computer-readable instructions, and the processor executes the computer-readable instructions to implement the steps described in the above method embodiments.

[0387] In one exemplary embodiment, a computer-readable storage medium is also provided, on which computer-readable instructions are stored, which, when executed by a processor, implement the steps described in the above method embodiments.

[0388] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by instructing related hardware through computer-readable instructions. These computer-readable instructions can be stored in a non-volatile computer-readable storage medium. When executed, these computer-readable instructions can include the processes of the embodiments of the above methods. Any references to memory, databases, or other media used in the embodiments provided in this application can include at least one of non-volatile and volatile memory. Non-volatile memory can 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 can include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM can take many forms, such as Static Random Access Memory (SRAM) or Dynamic Random Access Memory (DRAM). The databases involved in the embodiments provided in this application may include at least one type of relational database and non-relational database. Non-relational databases may include, but are not limited to, blockchain-based distributed databases. The processors involved in the embodiments provided in this application may be general-purpose processors, central processing units, graphics processing units, digital signal processors, programmable logic devices, quantum computing-based data processing logic devices, etc., and are not limited to these.

[0389] The technical features of the above embodiments can be combined in any way. For the sake of brevity, 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.

[0390] The embodiments described above are merely illustrative of several implementation methods of this application, and while the descriptions are relatively specific and detailed, they should not be construed as limiting the scope of the patent application. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of this application, and these all fall within the protection scope of this application. Therefore, the protection scope of this patent application should be determined by the appended claims.

Claims

A robot control method applied to a robot, the method comprising: sending a passage permission request to a server before entering a waiting area and before reaching a traffic control area; wherein the passage permission request is used to obtain a passage permission for passing through the traffic control area, the traffic control area represents an area that limits the number of robots passing through at the same time, and the waiting area represents an area corresponding to a passage of the traffic control area; when the passage permission returned by the server is not received, moving to a waiting point in the waiting area, repeatedly sending a passage permission request to the server until the passage permission returned by the server is received; and when the passage permission returned by the server is received, the passage permission is locked, and the robot enters the traffic control area to pass through, and after the passing through is completed, the locked passage permission is unlocked. The method of claim 1, wherein After the robot enters the traffic control area to pass through and before the passing through is completed, the method further comprises: According to the moving track that has passed through in the traffic control area, the sub-passing permission matched with the moving track that has passed through is unlocked, and the sub-passing permission represents the permission that the passage permission is divided according to the moving track. The method of claim 1, wherein After the passage permission request is sent to the server, the method further comprises: When the passage permission returned by the server is not received, obtaining priority identification information; When the obtained priority identification information represents a first priority, staying in place; and When the obtained priority identification information represents a second priority, moving to a waiting point in the waiting area; wherein the first priority is higher than the second priority. The method of claim 1, wherein The repeatedly sending a passage permission request to the server comprises: obtaining priority identification information; determining a request sending frequency corresponding to the priority identification information; and repeatedly sending the passage permission request to the server according to the request sending frequency. The method of claim 1, wherein The sending a passage permission request to a server before entering a waiting area and before reaching a traffic control area comprises: Entering the waiting area and sending the passage permission request to the server in the process of moving; and / or, When the passage permission returned by the server is not received, moving to a waiting point in the waiting area comprises: continuously moving to the waiting point in the waiting area; and / or, When the passage permission returned by the server is received, the passage permission is locked, and the robot enters the traffic control area to pass through, comprising: continuously moving to pass through the traffic control area. The method of claim 1, wherein When the passage permission returned by the server is not received, moving to a waiting point in the waiting area comprises: obtaining target information, the target information comprising at least one of position information, sending request times, and the number of robots sending requests at the same time; and When the target information satisfies a corresponding threshold condition and the passage permission returned by the server is not received, moving to the waiting point in the waiting area. The method of claim 1, wherein After the robot moves to the waiting point in the waiting area when the passage permission returned by the server is not received, the method further comprises: obtaining current pose information at the waiting point; the current pose information represents position information and direction information corresponding to the robot at a current time; obtaining reference pose information, and matching the current pose information with the reference pose information; the reference pose information represents an optimal position and an optimal direction corresponding to the robot before moving from the waiting point to the traffic control region; and when the current pose information does not match the reference pose information, adjusting the corresponding position and direction according to the reference pose information. A robot control method applied to a first robot, the method comprising: obtaining a first global path, and passing through a moving path segment corresponding to the first global path; when it is detected that the first robot occupies a target moving path segment of a second robot while passing through a current moving path segment, obtaining an avoidance area corresponding to the current moving path segment, and moving to the avoidance area to release a passing right corresponding to the current moving path segment, so that the second robot receives the passing right corresponding to the current moving path segment and passes through the current moving path segment; the priority of the second robot is higher than that of the first robot, and the avoidance area is an area that does not conflict with the target moving path segment of the second robot; and obtaining a second global path, moving from the avoidance area to the second global path, and passing through a moving path segment corresponding to the second global path. The method of claim 8, wherein The moving path segment corresponding to the first global path includes a first moving path segment, and the passing through the moving path segment corresponding to the first global path includes: before entering and passing through the first moving path segment from a preset moving direction, sending a passing right request corresponding to the first moving path segment to a server; when a current passing state of the first moving path segment in the preset moving direction meets a corresponding passing condition, receiving a passing right corresponding to the first moving path segment from the server, and passing through the first moving path segment according to the passing right corresponding to the first moving path segment; and when the current passing state of the first moving path segment in the preset moving direction does not meet the corresponding passing condition, staying at a current position or moving to an avoidance area corresponding to the current position until the current passing state of the first moving path segment in the preset moving direction meets the corresponding passing condition. The method of claim 8, wherein Before the obtaining of the avoidance area corresponding to the current moving path segment when it is detected that the first robot occupies the target moving path segment of the second robot while passing through the current moving path segment, the method further comprises: when a server avoidance request is received, determining that the first robot occupies the target moving path segment of the second robot while passing through the current moving path segment; the avoidance request is used to request the first robot to avoid the passing of the second robot in the target moving path segment; or when a passing right corresponding to a next moving path segment is not received from the server within a preset time period, determining that the first robot occupies the target moving path segment of the second robot while passing through the current moving path segment; or when a passing right corresponding to a next moving path segment is not received from the server within a preset time period, determining that the first robot occupies the target moving path segment of the second robot while passing through the current moving path segment; or sending a query request to the server, the query request being used to query a state of a passage permission corresponding to the current moving path segment, and when the query result is that the second robot requests to obtain the passage permission corresponding to the current moving path segment, determining that the first robot occupies a target moving path segment of the second robot when the first robot passes through the current moving path segment. The method of claim 8, wherein The moving path segment corresponding to the first global path includes a second moving path segment and a third moving path segment, and the passing through the moving path segment corresponding to the first global path includes: when the second moving path segment does not exist a corresponding avoidance area, sending a passage permission request from the second moving path segment to the third moving path segment to the server before entering the second moving path segment; the third moving path segment is behind the second moving path segment and exists a corresponding avoidance area; and until receiving the passage permission from the second moving path segment to the third moving path segment from the server, passing through from the second moving path segment to the third moving path segment. The method of claim 8, wherein After obtaining the first global path, the method further includes: obtaining a moving path of the second robot, and according to a comparison result of the first global path of the first robot and the moving path of the second robot, taking a moving path segment matching the moving path of the second robot in the first global path as a shared moving path segment, setting a corresponding avoidance area for each shared moving path segment, and taking an area converging and connecting multiple shared moving path segments as an intersection area. The method of claim 8, wherein The passage permission is determined by the robot control method in claims 1 to 7. A robot control method applied to a first robot, characterized by, The method includes: when the second robot is located in a target orientation area of the first robot on the moving path, taking the second robot as a target second robot whose moving direction is to be determined; determining a first predicted moving direction corresponding to the first robot according to influence area information of the target second robot, wherein the influence area information is information of a predicted moving state information of the target second robot in a current time period projected on the moving path of the first robot, and the first predicted moving direction is a predicted overall moving direction of the first robot in an influence area corresponding to the influence area information; determining a second predicted moving direction of the target second robot in the current time period according to historical moving state information of the target second robot in a historical time period and predicted moving state information of the target second robot in a target time period; determining a path conflict type corresponding to the first robot and the target second robot according to an angle relationship between the first predicted moving direction and the second predicted moving direction; and performing a matching avoidance task according to a priority corresponding to the first robot and the target second robot respectively and the path conflict type. The method of claim 14, wherein Before taking the second robot as a target second robot whose moving direction is to be determined when the second robot is located in a target orientation area of the first robot on the moving path, the method further includes: acquire a current first position of the first robot on a moving path, a current second position of the second robot, and a projection position of the current second position on the moving path of the first robot; and when the projection position is located at a target position of the current first position on the moving path, and a distance between the projection position and the current second position satisfies a preset threshold condition, it is indicated that the second robot is located in a target position area of the first robot on the moving path. The method of claim 14, wherein The method further includes: projecting the current position of the target second robot on the moving path of the first robot to obtain a projection position corresponding to the current position; determining, according to a preset influence range condition, influence area information corresponding to the projection position, the influence area information including an influence area corresponding to the projection position and a target position located at an edge of the influence area in the moving path of the first robot; and obtaining a first predicted moving direction of the first robot according to a positional relationship between the target position and the projection position. The method of claim 14, wherein The method further includes: obtaining a first motion trajectory of the target second robot in the historical period according to the historical motion state information of the target second robot in the historical period; obtaining a second motion trajectory of the target second robot in the target period according to the predicted motion state information of the target second robot in the target period; and fusing the first motion trajectory and the second motion trajectory to obtain a fused motion trajectory, and obtaining a second predicted moving direction of the target second robot according to a vector relationship between a starting point and an ending point in the fused motion trajectory. The method of claim 14, wherein The path conflict type includes a reverse conflict type, a same direction conflict type and a transverse conflict type, and the method further includes: when the path conflict type is the reverse conflict type, when the priority of the first robot is higher than the priority of the target second robot, the first robot stays in place until the target second robot moves to an avoidance area; and when the priority of the first robot is lower than the priority of the target second robot, the first robot moves to the avoidance area to enable the target second robot to pass through a predicted conflict path. When the path conflict type is the same direction conflict type, when the priority of the first robot is higher than the priority of the target second robot, the first robot stays in place, and after the target second robot moves to the avoidance area, the first robot passes through the predicted conflict path; when the priority of the first robot is lower than the priority of the target second robot, the first robot stays in place until the target second robot passes through the predicted conflict path. When the path conflict type is the lateral conflict type, when the priority of the first robot is higher than the priority of the target second robot, the target second robot stays in place until the first robot passes through the predicted conflict path; when the priority of the first robot is lower than the priority of the target second robot, the first robot stays in place until the target second robot passes through the predicted conflict path. The method of claim 18, wherein The target second robot is at least two, and before the matching avoidance task is performed according to the priority corresponding to the first robot and the target second robot respectively and the path conflict type, the method further comprises: According to the distance between each target second robot and the first robot, each target second robot is sorted, and the priority of the first robot and the priority of each target second robot are compared in order according to the sorting of each target second robot; and When the priority of the first robot is higher than the priority of the current target second robot, the priority of the first robot and the priority of the next target second robot are compared until a target second robot with a priority higher than or equal to the priority of the first robot is traversed. The method of claim 18, wherein The avoidance area includes at least two avoidance points, and the movement of the first robot to the avoidance area or the movement of the target second robot to the avoidance area comprises: Before the target robot moves to the avoidance area, a candidate avoidance point is determined from each avoidance point according to the distance between the target robot and each avoidance point; the target robot is one of the first robot and the target second robot; and The movement path of the target robot moving to each candidate avoidance point is obtained, and the candidate avoidance point corresponding to the minimum movement path is taken as the target avoidance point, so that the target robot moves to the target avoidance point. The method of claim 14, wherein The execution of the matching avoidance task comprises: A target avoidance task to be executed is generated in an avoidance task queue, and when the avoidance task queue includes an existing avoidance task, the existing avoidance task is replaced by the target avoidance task; The currently running task in a normal task queue is interrupted, and the task execution state corresponding to the currently running task is stored; The target avoidance task in the avoidance task queue is executed; and After the target avoidance task ends, the currently running task is resumed according to the stored task execution state, and the target avoidance task is eliminated, and when the currently running task is eliminated, a target sequence running task in the normal task queue is executed. A computer device comprising a memory and a processor, the memory storing computer readable instructions, characterized in that, The computer readable instructions, when executed by the processor, implement the steps of the method of any one of claims 1 to 7 or claims 8 to 13 or claims 14 to 21. A computer-readable storage medium having stored thereon computer-readable instructions, characterized in that, The computer readable instructions, when executed by the processor, implement the steps of the method of any one of claims 1 to 7 or claims 8 to 13 or claims 14 to 21.