Robot control method, device, computer equipment and readable storage medium

By analyzing the prediction and historical motion status information of the second robot and combining the robot priority, efficient and accurate path conflict judgment and avoidance scheduling in multi-robot scenarios are achieved, and the path scheduling efficiency and high cost in the existing technology are solved. A problem of large detection errors.

CN118625818BActive Publication Date: 2025-01-03SHENZHEN PUDU TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411112852.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-08-14
Publication Date
2025-01-03
Estimated Expiration
2044-08-14

AI Technical Summary

Technical Problem

Existing robot control methods are difficult to achieve efficient, accurate and adaptive path scheduling in multi-robot coexistence scenarios, especially failing to effectively avoid collisions and congestion, and the deployment cost is high, making it difficult to compatible with various robots, and detection caused by speed noise Error reduces scheduling accuracy.

Method used

By analyzing the orientation relationship between the second robot and the first robot, determining its movement direction based on the prediction and historical motion state information of the second robot, judging the path conflict type, and performing avoidance tasks based on the robot's priority, achieving efficient path conflict , accurately schedule, and no need to access a centralized scheduling system.

Benefits of technology

In the coexistence scenario of multiple robots, efficient, accurate and adaptable path conflict judgment and avoidance scheduling are achieved, which reduces deployment costs, improves the adaptability and accuracy of robot scheduling, and avoids the impact of speed noise errors.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118625818B_ABST
    Figure CN118625818B_ABST
Patent Text Reader

Abstract

The present application relates to a robot control method, device, computer equipment and readable storage medium. The method comprises: obtaining a target second robot whose movement direction is to be determined according to a second robot located in a target orientation area; determining a first predicted movement direction of the first robot according to the influence area information when the predicted movement state information of the target second robot in the current period is projected on the moving path of the first robot; determining a second predicted movement direction of the target second robot according to the historical movement state information of the target second robot in the historical period and the predicted movement state information in the target period; determining a path conflict type according to the first predicted movement direction and the second predicted movement direction; and performing a matching avoidance task according to the priorities and path conflict types corresponding to the first robot and the target second robot, respectively. The present method can efficiently and accurately schedule robots.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of robotics technology, and in particular to a robot control method, apparatus, computer equipment, computer-readable storage medium, and computer program product. Background Art

[0002] In the field of robotics, there are scenarios where multiple mobile robots coexist and operate together. Therefore, it is necessary to ensure that each mobile robot does not collide, get stuck, or have other problems during operation.

[0003] However, in the current robot control method, firstly, a centralized scheduling system is not deployed, and only simple avoidance and obstacle bypassing functions are realized through the robot's own obstacle avoidance function, but complex functions such as active avoidance and active waiting cannot be realized, thereby reducing the efficiency of robot scheduling; secondly, by connecting the robot to a centralized scheduling system, the robot's complex scheduling function is realized, but the deployment cost is high and it is difficult to be compatible with various robots, thereby reducing the adaptability of robot scheduling; thirdly, the robot conflict judgment is only based on the current speed direction of each mobile robot, which is easily affected by the detection error caused by speed noise, thereby reducing the accuracy of robot scheduling. Summary of the invention

[0004] Based on this, it is necessary to provide a robot control method, device, computer equipment, computer-readable storage medium and computer program product that can efficiently, accurately and adaptably schedule robots in response to the above-mentioned technical problems.

[0005] In a first aspect, the present application provides a robot control method, comprising:

[0006] If the second robot is located in the target orientation area on the moving path of the first robot, the second robot is used as the target second robot whose moving direction is to be determined;

[0007] Determining a first predicted movement direction corresponding to the first robot according to the influence area information of the target second robot, wherein the influence area information is information when the predicted movement state information of the target second robot in the current time period is projected onto the movement path of the first robot;

[0008] Determine a second predicted current motion direction of the target second robot according to historical motion state information of the target second robot in a historical period and predicted motion state information in a target period;

[0009] determining, according to an angular relationship between the first predicted motion direction and the second predicted motion direction, a path conflict type corresponding to the first robot and the target second robot;

[0010] A matching avoidance task is executed according to the priorities respectively corresponding to the first robot and the target second robot, and the path conflict type.

[0011] In a second aspect, the present application also provides a robot control device, comprising:

[0012] an orientation prediction module, configured to use the second robot as a target second robot whose movement direction is to be determined if the second robot is located in a target orientation area on the moving path of the first robot;

[0013] A first direction prediction module, configured to determine a first predicted movement direction corresponding to the first robot according to the influence area information of the target second robot, wherein the influence area information is information when the predicted movement state information of the target second robot in the current time period is projected onto the movement path of the first robot;

[0014] A second direction prediction module, used to determine the current second predicted movement direction of the target second robot according to the historical movement state information of the target second robot in the historical period and the predicted movement state information in the target period;

[0015] a conflict type prediction module, configured to determine a path conflict type corresponding to the first robot and the target second robot according to an angular relationship between the first predicted motion direction and the second predicted motion direction;

[0016] An execution module is used to execute a matched avoidance task according to the priorities respectively corresponding to the first robot and the target second robot, and the path conflict type.

[0017] In a third aspect, the present application further provides a computer device, including a memory and a processor, wherein the memory stores a computer program, and the processor implements the above steps when executing the computer program.

[0018] In a fourth aspect, the present application further provides a computer-readable storage medium having a computer program stored thereon, wherein the computer program implements the above steps when executed by a processor.

[0019] In a fifth aspect, the present application also provides a computer program product, including a computer program, which implements the above steps when executed by a processor.

[0020] The robot control method, apparatus, computer device, computer-readable storage medium and computer program product described above firstly efficiently obtain the target second robot that has a risk of conflict with the first robot based on the positional relationship between the second robot and the first robot on the moving path of the first robot; secondly, adaptively obtain the first predicted movement direction of the first robot corresponding to the influence area information based on the predicted motion state information of the target second robot in the current time period when it is projected onto the moving path of the first robot, and then accurately obtain the current second predicted movement direction of the target second robot based on the historical motion state information of the target second robot in the historical time period and the predicted motion state information in the target time period; and thirdly, efficiently determine the path conflict type corresponding to the first robot and the target second robot based on the angular relationship between the first predicted motion direction and the second predicted motion direction, and then comprehensively determine and execute the matching avoidance task based on the priority comparison result and the path conflict type between the first robot and the target second robot. Based on this, in a scenario where multiple robots are working coexisting, there is no need to connect the robots to a centralized scheduling system. The robots only need to analyze the detected motion directions to judge and resolve robot path conflicts, thereby efficiently, accurately and adaptively implementing robot avoidance scheduling in path conflict scenarios. BRIEF DESCRIPTION OF THE DRAWINGS

[0021] In order to more clearly illustrate the technical solutions in the embodiments of the present application or related technologies, the drawings required for use in the embodiments of the present application or related technical descriptions will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other related drawings can be obtained based on these drawings without paying creative work.

[0022] Figure 1 A schematic diagram of a flow chart of a robot control method in one embodiment;

[0023] Figure 2 is a schematic diagram of determining a target second robot from among the second robots in one embodiment;

[0024] Figure 3 It is a schematic diagram of determining a first predicted movement direction of a first robot corresponding to the influence area information in one embodiment;

[0025] Figure 4 is a schematic diagram of a task management system in one embodiment;

[0026] Figure 5 A schematic flow chart of a robot control method in another embodiment;

[0027] Figure 6is a structural block diagram of a robot control device in one embodiment;

[0028] Figure 7 FIG. 4 is a diagram showing the internal structure of a computer device in one embodiment. DETAILED DESCRIPTION

[0029] In order to make the purpose, technical solution and advantages of the present application more clearly understood, the present application is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and are not used to limit the present application.

[0030] In an exemplary embodiment, a robot control method is provided. This embodiment uses the method applied to a terminal as an example. It is understandable 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 implemented through the interaction between the terminal and the server, or can be implemented through the interaction between the terminal and the terminal. Among them, the terminal can be a computer device, such as a robot, a smart wearable device, a self-moving balance car, etc.; it is understandable that the robot can be a delivery robot (commercial delivery robot, industrial delivery robot, AGV (Automated Guided Vehicle, automatic navigation vehicle) robot), a guide robot, a disinfection robot, a cleaning robot, an inspection robot, and other self-moving robots, which are not specifically limited here. The server can be an independent physical server or a service node in a blockchain system. The service nodes in the blockchain system form a peer-to-peer (P2P) network. The P2P protocol is an application layer protocol running on the Transmission Control Protocol (TCP) protocol. In addition, the server can also be a server cluster composed of multiple physical servers, and can be a cloud server that provides cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, content delivery networks (CDN), and basic cloud computing services such as big data and artificial intelligence platforms. The robot and the server can be connected through Bluetooth, USB (Universal Serial Bus) or network communication connection methods, and this application does not limit this.

[0031] like Figure 1As shown, in an embodiment, a robot control method is used to schedule and control robots with path conflicts in an application scenario where multiple robots coexist and run; in this application scenario, the robots include a first robot and at least one second robot, and the first robot is used 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 includes the following steps S102 to S110, wherein:

[0032] Step S102: If the second robot is located in the target orientation area on the moving path of the first robot, the second robot is used as the target second robot whose moving direction is to be determined.

[0033] Among them, each robot in the same operating environment is taken as an object of path conflict judgment to evaluate the potential path conflict between each robot; further, the core object of path conflict judgment is taken as the first robot, and the robots other than the first robot in the same operating environment are taken as the second robots to evaluate the potential path conflict between each second robot and the first robot. Among them, the target orientation area represents the area where the path conflict between the first robot and the second robot is predicted to occur when the first robot is moving on the moving path.

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

[0035] Optionally, the target orientation area may represent the front area corresponding to the forward direction of the first robot in the moving path, such as a rectangular area of ​​a preset width corresponding to the forward direction of a straight moving path, or an arc area of ​​a preset width corresponding to the forward direction of a curved moving path; the target orientation area may also represent a circular area within a preset radius with the first robot as the center.

[0036] Step S104, determining a first predicted movement direction corresponding to the first robot according to the influence area information of the target second robot, wherein the influence area information is information when the predicted movement state information of the target second robot in the current time period is projected onto the moving path of the first robot.

[0037] The motion state information refers to information describing the motion state of the robot, such as the position, speed direction, etc. The motion state information can also describe the running state of the robot, such as the speed, acceleration, acceleration direction, and orientation, etc.

[0038] Among them, the predicted motion state information of the target second robot in the current time period can represent the predicted motion state information of the target second robot at each moment in the current time period; when the current time period includes the current moment, the predicted motion state information of the target second robot in the current time period can also represent the predicted motion state information of the target second robot at the current moment.

[0039] Among them, the influence area information indicates that when the predicted motion state information of the target second robot is projected onto the moving path of the first robot to obtain the corresponding projection information, the projection information is used as a reference to circle the influence area that affects the motion state information of the first robot, and the coordinate points of the influence area circled in the map, wherein the map can represent the global map corresponding to each robot in the same operating environment, or it can represent the map corresponding to the robot coordinate system set with the first robot as the reference; the first predicted motion direction of the first robot represents the predicted overall motion direction of the first robot corresponding to the influence area.

[0040] Exemplarily, the projection information of the predicted motion state information of the target second robot on the moving path of the first robot can be represented by projecting the current position of the target second robot onto the moving path of the first robot to obtain the projection position of the target second robot on the moving path of the first robot, so as to delineate the corresponding influence area according to the projection position.

[0041] Exemplarily, on the one hand, if the movement path of the first robot in the influence area is relatively complex, the overall movement direction of the first robot in the influence area can be predicted based on the influence area information, thereby simplifying the determination of the movement direction of the first robot; on the other hand, if the movement direction of the first robot on the movement path is relatively complex, it is not convenient to directly compare the movement directions of the first robot and the target second robot. Instead, the influence area is circled out through the projection information of the target second robot on the movement path of the first robot, and the influence area that is closer to the target second robot in position is adaptively obtained, and then the movement direction of the first robot corresponding to the influence area is obtained by prediction, so as to compare the movement directions of the first robot and the target second robot when they are close in position.

[0042] Step S106, determining the current second predicted movement direction of the target second robot according to the historical movement state information of the target second robot in the historical time period and the predicted movement state information in the target time period.

[0043] The historical motion state information of the target second robot in the historical period may represent the detected motion state information of the target second robot at each moment in the historical period.

[0044] Among them, the predicted motion state information of the target second robot in the target time period may represent the predicted motion state information of the target second robot at each moment within a preset time period, and the preset time period may represent a future time period excluding the current moment, or may represent a current time period including the current moment and a future time period.

[0045] The current second predicted movement direction of the target second robot may represent the predicted movement direction of the target second robot at the current moment, or may represent the predicted movement direction of the target second robot at each moment in the current time period.

[0046] Exemplarily, during the operation of the target second robot, it may temporarily stop or temporarily deviate from its own route to avoid obstacles. In the above situation, if the detected running speed vector of the target second robot is directly used as its movement direction, there will be a certain error; therefore, based on the historical motion state information of the target second robot in the historical time period and the predicted motion state information in the target time period, the motion state information changes of the target second robot in the historical time period and the target time period can be completely spliced ​​and displayed to accurately predict the movement direction of the target second robot to avoid the errors caused by the above situation.

[0047] Step S108, determining the path conflict type corresponding to the first robot and the target second robot according to the angular relationship between the first predicted motion direction and the second predicted motion direction.

[0048] The path conflict type indicates the description of the type of path conflict predicted to occur between robots at the level of the robot's movement direction.

[0049] Exemplarily, different angle intervals can be set, and each angle interval can be associated with a different path conflict type. The path conflict type corresponding to the first robot and the target second robot can be determined based on the angle interval where the angle between the first predicted motion direction and the second predicted motion direction is located.

[0050] Optionally, the path conflict type may include a reverse conflict type, for example, a pair of robots traveling in opposite directions may have a head-on collision; the path conflict type may include a same-direction conflict type, for example, a pair of robots traveling in the same direction may have a rear-end collision; the path conflict type may include a lateral conflict type, for example, the moving paths of a pair of robots intersect vertically and a collision may occur at the intersection.

[0051] Optionally, if the second predicted movement direction of the target second robot is not predicted, it means that the movement speed of the target second robot is zero, and there is no path conflict between the target second robot in a stationary state and the first robot.

[0052] Step S110 , executing a matched avoidance task according to the priorities and path conflict types respectively corresponding to the first robot and the target second robot.

[0053] Exemplarily, the path conflict type is used as the first judgment criterion for resolving the robot path conflict, and the robot priority is used as the second judgment criterion for resolving the robot path conflict; first, the path conflict type of the first robot and the target second robot is determined; secondly, in the scenario of the determined path conflict type, according to the priority comparison result of the first robot and the target second robot, the first robot and / or the target second robot performs a matching avoidance task.

[0054] Optionally, the avoidance task may mean moving the robot to a designated avoidance area to avoid conflict; the avoidance task may also mean keeping the robot in place to wait for other robots to pass through the predicted conflict path, or wait for other robots to move to the designated avoidance area.

[0055] Optionally, the priority may reflect the corresponding function or design purpose of the robot. For example, in a transportation scenario, a robot dedicated to transportation is given a higher priority; the priority may 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 may reflect the working status of the robot. For example, a robot whose battery power is below a certain warning level is given a higher priority to ensure that it can act and complete the task.

[0056] Optionally, the priority level of the robot can be dynamically configured according to the actual working conditions: for example, according to the urgency of the current task assigned to the robot, the priority level of the robot can be increased for tasks with high urgency; for another example, according to the resource consumption status of the task performed by the robot, the priority level of the robot can be increased for tasks that consume less resources or have not yet overloaded resources.

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

[0058] Optionally, the first predicted movement direction of the first robot and the second predicted movement direction of the target second robot may be determined simultaneously; or the first predicted movement direction of the first robot may be determined first and then the second predicted movement direction of the target second robot may be determined, or the second predicted movement direction of the target second robot may be determined first and then the first predicted movement direction of the first robot may be determined.

[0059] In the above robot control method, first, according to the positional relationship between the second robot and the first robot on the moving path of the first robot, the target second robot with a conflict risk with the first robot is efficiently obtained; second, according to the influence area information when the predicted motion state information of the target second robot in the current period is projected on the moving path of the first robot, the first predicted motion direction corresponding to the first robot in the influence area information is adaptively obtained, and then 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, the current second predicted motion direction of the target second robot is accurately obtained; third, according to the angle relationship between the first predicted motion direction and the second predicted motion direction, the path conflict type corresponding to the first robot and the target second robot is efficiently determined, and then according to the priority comparison result and path conflict type of the first robot and the target second robot, the matching avoidance task is comprehensively determined and executed. Based on this, in the scenario where multiple robots coexist, there is no need to connect the robot to the centralized scheduling system, and only the robot analyzes the detected motion direction to realize the judgment and resolution of the robot path conflict, thereby efficiently, accurately and adaptively realizing the avoidance scheduling of the robot in the path conflict scenario.

[0060] In an exemplary embodiment, the method further includes steps S202 to S208, wherein:

[0061] Step S202: acquiring image information collected by the first robot at different times.

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

[0063] Step S204, determining the robot markers corresponding to the respective image information and the position information corresponding to the respective robot markers according to the image features corresponding to the respective image information.

[0064] Exemplarily, the robot marker may represent a reflector provided on the surface of the robot. The laser radar carried by the first robot scans the operating environment at different times to obtain laser point cloud images reflected by the reflector in the operating environment. Image feature analysis is performed on the laser point cloud images at different times to identify the reflectors corresponding to the laser point cloud images at different times and the position information corresponding to each reflector.

[0065] Exemplarily, the robot marker can represent the robot itself. The camera carried by the first robot can photograph the operating environment at different times to obtain images taken at different times. By combining deep learning and image recognition technology, image feature analysis is performed on the images taken at different times to identify the robot entities corresponding to the images taken at different times and the position information corresponding to each robot entity.

[0066] Exemplarily, the robot marker may also be a specific structural feature or logo on the robot body that can be recognized by a sensor, such as a structure of a specific shape, a Mark code, a QR code, etc., which is not specifically limited here.

[0067] Exemplarily, if the robot markers corresponding to different robots are the same, it is necessary to use the status information corresponding to the robot markers, such as the moving position, speed, speed direction and other status information, as the robot markers corresponding to the same robot; if the robot markers corresponding to different robots are different, the robot to which the robot marker belongs can be directly determined based on the identified robot marker.

[0068] Step S206, obtaining a second robot corresponding to the matching robot marker according to the position information of the matching robot marker.

[0069] Among them, the robot markers with matching position information can be represented as robot markers with similar or identical coordinate positions on the map based on the continuous changes of the robot's moving trajectory corresponding to similar coordinate positions, that is, as robot markers corresponding to the same robot, so as to determine the correlation between robot markers at the level of position information correlation.

[0070] Furthermore, robot markers with matching position information can also be represented as robot markers with similar or identical coordinate positions on the map and similar detection times, so as to avoid mistaking robot markers with very different detection times but similar coordinate positions as robot markers with matching position information.

[0071] Exemplarily, if the positions of a pair of robot markers are adjacent to each other, for example, the distance between the pair of robot markers is less than or equal to a preset threshold, it indicates that the pair of robot markers correspond to the same second robot; wherein, the preset threshold may represent the maximum movement distance allowed by the robot within a preset time period, for example, the maximum movement distance corresponding to the robot within a time period corresponding to a preset number of consecutive image acquisition frames.

[0072] Furthermore, if the positions of multiple robot markers are adjacent and can be regarded as points on a continuous motion trajectory, it means that the multiple robot markers correspond to the same second robot; that is, it is equivalent to continuously tracking the robot markers through multiple frames of images to ensure that the number of robot markers with matching position information meets a preset number to avoid false detection.

[0073] Optionally, when a new robot marker is detected, if the new robot marker matches an already detected robot marker at the level of position information, the new robot marker and the already detected robot marker are corresponded to the same second robot; if the new robot marker does not match any already detected robot marker at the level of position information, the new robot marker is corresponded to a new second robot, and the parameters corresponding to the motion state information of the new second robot are initialized.

[0074] Optionally, if the number of consecutive matching failures of an existing robot marker meets a preset threshold, it means that there is no other robot marker whose position information matches the existing robot marker, and the existing robot marker may be erroneously detected due to a false detection problem. Therefore, the identification record corresponding to the existing robot marker needs to be deleted.

[0075] Optionally, in the case where the image information is detected by the laser radar of the first robot, the position information of the robot marker obtained according to the image features corresponding to the image information is a first coordinate position in the radar coordinate system set based on the position and orientation of the laser radar of the first robot; the first coordinate position can be converted to a second coordinate position in the robot coordinate system set based on the first robot according to the installation position and orientation of the laser radar; the second position coordinate can be converted to a third coordinate position in the global coordinate system set based on 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 to the global coordinate system.

[0076] Step S208, obtaining the motion state information of each second robot at different times according to the position information of the robot markers of each second robot at different times.

[0077] Exemplarily, after all robot markers corresponding to a second robot are determined, the motion trajectory corresponding to the second robot is obtained by splicing and combining the position information corresponding to each robot marker, and the motion state information of the second robot at different times is obtained based on the motion trajectory.

[0078] Furthermore, based on the motion state information of the second robot at each moment in the historical period, the motion state information of the second robot at the current moment is predicted. For example, through the Kalman filtering algorithm, in a linear or nonlinear motion state, the motion state information of the second robot at the historical moments is predicted.

[0079] Optionally, the motion state information of the second robot at different times can be represented in the form of a four-tuple (Id, Pos, Vel, Time), where Id represents the robot identifier corresponding to the second robot, or the detection label generated when the first robot detects 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.

[0080] Optionally, taking the robot marker as a reflector as an example, the reflector can be directly pasted or indirectly installed on the vertical surface of the robot, and the surface is a weak reflective material and a non-transparent material; the installation height of the reflector is compatible with the installation height of the laser radar; the reflector on the surface of a robot is a graphic combination composed of at least two graphic elements. Among them, the graphic elements can represent elements of different shapes such as rectangles, circles, ellipses, triangles, etc., and the size of the graphic elements can be adjusted according to actual needs; the graphic combination can be composed of the same graphic elements or different graphic elements, and the distribution position of each graphic element in the graphic combination can be adjusted according to actual needs, for example, a distribution method of arranging side by side according to a preset spacing.

[0081] When the first robot receives the laser point cloud image, it first calculates the average reflection intensity and the maximum reflection intensity according to the reflection intensity distribution corresponding to the laser point cloud image, and determines the intensity threshold according to the average reflection intensity and the maximum reflection intensity. For example, the average of the average reflection intensity and the maximum reflection intensity is used as the intensity threshold, wherein the average value may represent a value obtained by arithmetic mean processing, or may represent a value obtained by weighted average processing, and the weighting coefficient corresponding to the weighted average processing may be pre-configured when the robot leaves the factory, or may be adjusted in real time during the application of the robot; the laser points in the laser point cloud image are filtered according to the intensity threshold, that is, the laser points above the intensity threshold are retained, and the laser points below or equal to the intensity threshold are filtered out.

[0082] Furthermore, the first clustering threshold and the second clustering threshold are determined according to the distance between each graphic element in the graphic combination of the reflector. For example, 0.5 times the spacing between each graphic element is used as the first clustering threshold, and 1.5 times the spacing between each graphic element is used as the second clustering threshold.

[0083] 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 clusters obtained by clustering; wherein the first shape condition is determined based on the shape of the graphic element, for example, the first shape condition is determined based on a monomer aspect ratio feature of the shape of the graphic element to filter out clusters whose monomer aspect ratio features are too large or too small.

[0084] The laser points in the first cluster are clustered according to a second clustering threshold, and a second cluster satisfying a second shape condition is selected from the clusters obtained by clustering; wherein the 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 feature of the shape of the graphic combination to filter out clusters with an overall aspect ratio feature that is too large.

[0085] Furthermore, according to the first clustering threshold, each second cluster is clustered into a plurality of subclusters, and the number of subclusters in each second cluster is determined; and the second clusters are filtered based on the number of subclusters in the second clusters to obtain point cloud clusters.

[0086] 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 of its various target subclusters is determined; in a point cloud cluster, if the ratio of the number of laser points of each target subclusters does not meet a preset ratio threshold condition, the point cloud cluster is filtered out, wherein the ratio threshold condition is used to determine whether the point cloud cluster corresponds to a robot marker based on the ratio; for example, if in a point cloud cluster, the ratio of the number of laser points of each target subclusters is not in [0.5, 1.5], it means that the size of each target subclusters is quite different, which does not meet the size characteristics of each graphic element in the graphic combination, and the point cloud cluster needs to be filtered out.

[0087] Finally, the filtered point cloud cluster is used as the final screened laser point cloud, the center position of each laser point of the laser point cloud on the same plane is used as the corresponding center point of the laser point cloud, and the corresponding position of the center point in the map is used as the position of the reflector.

[0088] In this way, the position information of the robot marker (reflector) is obtained, and then the motion trajectory corresponding to 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.

[0089] It can be understood that steps S202 to S208 are used to obtain the motion state information of the second robot at different times, so as to subsequently determine the orientation relationship between the first robot and the second robot, determine the first predicted motion direction of the first robot, and determine the second predicted motion direction of the target second robot. Based on this, steps S202 to S208 are executed before step S102.

[0090] In this embodiment, image feature analysis is performed on image information collected by the first robot at different times to efficiently identify robot markers corresponding to each image information and the position information of the robot markers; further, based on the robot markers that match the position information, the second robots to which each robot marker belongs are efficiently determined, thereby efficiently and accurately obtaining the motion state information corresponding to the second robot based on the position information of the robot markers.

[0091] In an exemplary embodiment, if the second robot is located in the target orientation area on the moving path of the first robot, the second robot is taken as the target second robot whose moving direction is to be determined, and the method further includes steps S302 to S304, wherein:

[0092] Step S302: Acquire the current first position of the first robot on the moving path, the current second position of the second robot, and the projection position of the current second position on the moving path of the first robot.

[0093] Among them, 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 moving path of the first robot.

[0094] Exemplarily, on the moving path of the first robot, a point corresponding to the minimum distance between the current second position of the second robot and the moving path of the first robot on the target path segment is used as the projection position of the second robot on the moving path of the first robot.

[0095] Exemplarily, among the various path segments of the first robot's moving path, the path segment with the shortest distance from the second robot's current second position is used as the target path segment, and the point on the target path segment corresponding to the shortest distance between the second robot's current second position and the target path segment is used as the projection position of the second robot on the target path segment.

[0096] Step S304: If the projection position is located at the target position of the current first position on the moving path, and the distance between the projection position and the current second position meets a preset threshold condition, it means that the second robot is located at the target position area on the moving path of the first robot.

[0097] Among them, under the premise that the second robot is at the target position on the moving path of the first robot (that is, corresponding to the premise that the projection position is at the target position of the current first position on the moving path), 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 the moving paths of the second robot and the first robot.

[0098] The preset distance threshold included in the preset threshold condition represents an upper threshold corresponding to the minimum distance between the moving paths of the second robot and the first robot when determining that there is a potential path conflict between the second robot and the first robot.

[0099] Exemplarily, under the premise that the second robot is at the target position on the moving path of the first robot, if the distance between the projected position and the current second position meets the preset threshold condition, it means that the minimum distance between the moving 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.

[0100] Exemplarily, if the target orientation area represents a front area corresponding to the advancing direction of the first robot on the moving path, then the target orientation represents the advancing direction of the first robot on the moving path.

[0101] Exemplarily, the robot orientation relationship can be determined directly based on the orientation relationship between the projection position of the second robot and the current first position of the first robot. For example, if the projection position of the second robot is located in the forward direction of the moving path of the current first position of the first robot, then it is further determined based on the distance between the projection position of the second robot and the current second position whether the second robot is located in the front area corresponding to the forward direction of the moving path of the first robot.

[0102] Exemplarily, among the various path segments of the first robot's moving path, the path segment with the shortest distance to the current second position of the second robot is taken as the target path segment, and the robot orientation relationship can be determined based on the orientation relationship between the target path segment and the current path segment of the first robot. For example, if the target path segment is located in the forward direction of the path segment currently located by the first robot, the projection position of the current second position of the second robot on the target path segment is further determined, and based on the distance between the projection position of the second robot and the current second position, it is determined whether the second robot is located in the front area corresponding to the forward direction of the moving path of the first robot.

[0103] Another example: if the target path segment is equal to the current path segment of the first robot, that is, the target path segment and the current path segment of the first robot are the same path segment, then the projection position of the current second position of the second robot on the target path segment is further determined; if the projection position of the second robot is located in the forward direction of the current first position of the first robot in the current path segment, then further based on the distance between the projection position of the second robot and the current second position, it is determined whether the second robot is located in the front area corresponding to the forward direction of the first robot in the moving path.

[0104] For example, Figure 2 As shown, the moving path of the first robot X includes the AB path segment, the BC path segment, the CD path segment and the DE path segment. The first robot X moves from the direction of A to E, and the first robot X is currently in the BC path segment. The candidate path segments that the first robot X is passing through and to be passed through are determined, that is, the candidate path segments include the BC path segment, the CD path segment and the DE path segment.

[0105] Optionally, the following steps may be referred to to explain how to determine whether the second robot is located in the front area corresponding to the forward direction of the moving path of the first robot when the target path segment is equal to the path segment currently located by the first robot: Figure 2 As shown, the distances between the second robot Y and each candidate path segment are obtained, and the BC path segment corresponding to the minimum distance is used as the target path segment of the second robot Y, that is, the target path segment is equivalent to the path segment currently located by the first robot X; the second robot Y is projected onto the BC path segment according to the minimum distance to obtain the projection position Y1; since the projection position Y1 is between the first robot X and the 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 at the target position of the first robot X on the moving path; further, if the distance between the second robot Y and the projection position Y1 is less than the preset distance threshold, it means that the second robot Y is located in the target position area of ​​the first robot X on the moving path.

[0106] Optionally, the following steps may be referred to to explain how to determine whether the second robot is located in the front area corresponding to the forward direction of the first robot in the moving path when the target path segment is located in the forward direction of the path segment currently located by the first robot: Figure 2As shown, 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 used as the target path segment of the second robot Z, that is, the target path segment is located in the forward direction of the path segment currently located by the first robot X; 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 located 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 moving path; further, if the distance between the second robot Z and the projection position Z1 is less than the preset distance threshold, it means that the second robot Z is located in the target orientation area of ​​the first robot X on the moving path.

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

[0108] In this embodiment, the projection position of the current position of the second robot on the moving path of the first robot is obtained, and 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 multi-dimensionally determined.

[0109] In an exemplary embodiment, determining a first predicted movement direction corresponding to the first robot according to the influence area information of the target second robot includes steps S402 to S406, wherein:

[0110] Step S402: Project the current position of the target second robot in the current period onto the moving path of the first robot to obtain a projection position corresponding to the current position.

[0111] Exemplarily, on the moving path of the first robot, a point corresponding to the minimum distance between the current position of the second robot and the moving path of the first robot is used as the projection position of the second robot on the moving path of the first robot.

[0112] Step S404, determining the influence area information corresponding to the projection position according to the preset influence range condition, the influence area information including the influence area corresponding to the projection position and the target position at the edge of the influence area in the moving path of the first robot.

[0113] Step S406, obtaining a first predicted movement direction of the first robot according to the azimuth relationship between the target position and the projection position.

[0114] The preset influence range condition is used to define the influence area corresponding to the projection position.

[0115] Exemplarily, according to the preset influence range condition, the influence area corresponding to the projection position is circled with the projection position as the center, and the intersection position of the first robot's moving path and the edge of the influence area in the forward direction of the moving path is taken as the target position, so as to obtain the first predicted movement direction of the first robot according to the directional relationship between the target position and the projection position. Optionally, in the forward direction of the first robot's moving path, the intersection position with the minimum or maximum path distance with the projection position can be taken as the target position, and the intersection position belonging to the same path segment as the projection position can also be taken as the target position.

[0116] Exemplarily, among the various path segments of the first robot's moving path, the path segment with the shortest distance to the current position of the second robot is taken as the target path segment, and the first predicted movement direction of the first robot can be comprehensively judged based on the orientation relationship between the target path segment and the current path segment of the first robot, and also based on the path segment where the above-mentioned intersection position is located.

[0117] For example: If the target path segment is equal to the current path segment of the first robot, and there is an intersection position on the current path segment, the intersection position is used as the target position, and the direction from the projection position of the second robot to the target position is used as the first predicted movement direction of the first robot in the current path segment.

[0118] Another example: if the target path segment is equal to the path segment currently located by the first robot, and there is no intersection position on the current path segment, then the path segments after the current path segment are traversed in order until the intersection position with the smallest path distance with the projection position of the second robot is obtained, and the intersection position is used as the target position, and the direction from the projection position of the second robot to the target position is used as the first predicted movement direction of the first robot in the current path segment. Among them, the path distance represents the distance measured along the moving path of the first robot.

[0119] Another example: if the target path segment is located in the forward direction of the path segment currently located by the first robot, and there is an intersection position on the target path segment, then the intersection position is used as the target position, and the direction from the projection position of the second robot to the target position is used as the first predicted movement direction of the first robot in the target path segment.

[0120] Another example: if the target path segment is located in the forward direction of the path segment currently located by the first robot, and there is no intersection position on the target path segment, then the path segments after the target path segment are traversed in sequence until the intersection position with the smallest path distance with the projection position of the second robot is obtained, and the intersection position is used as the target position, and the direction from the projection position of the second robot to the target position is used as the first predicted movement direction of the first robot in the target path segment.

[0121] Another example: if the target path segment is equal to the path segment currently located by the first robot, or the target path segment is located in the forward direction of the path segment currently located by the first robot, and there is no intersection position on the target path segment, and the intersection position is still not obtained after traversing each path segment after the target path segment, then the end position of the first robot in the moving 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.

[0122] For example, Figure 3 As shown, the moving path of the first robot X includes the AB path segment, the BC path segment, the CD path segment, the DE path segment, the EF path segment and the FG path segment. The first robot X moves from the direction of A to G, and the first robot X is currently in the AB path segment. According to the method of projecting the target second robot onto the moving 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) projected onto the moving path of the first robot are obtained respectively.

[0123] Optionally, the following steps may be referred to to explain how to detect and obtain the first predicted movement direction of the first robot when the target path segment is equal to the current path segment of the first robot and there is an intersection position on the current path segment: Figure 3As shown, the projection position Y1 of the target second robot Y is located in the AB path segment, that is, the target path segment is equivalent to the path segment currently located by 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 of the circle, the corresponding influence area within the preset radius is defined, and in the forward direction of the moving path of the first robot X corresponding to the projection position Y1 as the starting point, the intersection position of the edge of the influence area and the AB path segment is traversed, and the intersection position 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 position Y2 is taken as the first predicted movement direction of the first robot X in the influence area. Among them, the radius corresponding to the influence area can be determined according to the parameters such as the length of each path segment of the first robot, the layout direction, and the layout distance between each path segment, so that the denser and shorter continuous path segments are presented as a whole in the form of an influence area, and the more sparse and longer path segments are presented independently.

[0124] Optionally, the following steps may be referred to to explain how to detect and obtain the first predicted movement direction of the first robot when the target path segment is equal to the current path segment of the first robot and there is no intersection position on the current path segment: Figure 3 As shown, the projection position Z1 of the target second robot Z is located in the AB path segment, that is, the target path segment is equivalent to the path segment where the first robot X is currently located, and the projection position Z1 is located between the first robot X and the position B; with the projection position Z1 as the center of the circle, the corresponding influence area within the preset radius is defined, and in the forward direction of the moving path of the first robot X corresponding to the projection position Z1 as the starting point, the intersection position of the edge of the influence area and the AB path segment is traversed. If there is no intersection position in the AB path segment, the intersection position of the edge of the influence area and each path segment after the AB path segment is traversed until the intersection position Z2 with the smallest path distance with the projection position Z1 is matched on the BC path segment, and the intersection position Z2 is used as the target position, and the direction from the projection position Z1 to the intersection position Z2 is used as the first predicted movement direction of the first robot X in the influence area.

[0125] Optionally, the following steps may be referred to to explain how to detect and obtain the first predicted movement direction of the first robot when the target path segment is located in the forward direction of the path segment currently located by the first robot and there is an intersection position on the target path segment: Figure 3As shown, the projection position M1 of the target second robot M is located in the CD path segment, that is, the target path segment is located in the forward direction of the path segment currently located by the first robot X; with the projection position M1 as the center of the circle, the corresponding influence area within the preset radius is defined, and in the forward direction of the moving path of the first robot X corresponding to the projection position M1 as the starting point, the intersection position of the edge of the influence area and the CD path segment is traversed, and the intersection position 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 position M2 is taken as the first predicted movement direction of the first robot X in the influence area.

[0126] Further, if the intersection positions of the edge of the influence area and each path segment are traversed, the intersection positions M2, M3, and M4 with the edge of the influence area are matched in the CD path segment, the DE path segment, and the EF path segment, respectively, that is, there are multiple intersection positions in the forward direction of the projection position M1, then the intersection position M4 farthest from the projection position M1 in the forward direction is used as the target position, and the direction from the projection position M1 to the intersection position M4 (not shown in the figure) is used as the first predicted movement direction of the first robot X corresponding to the influence area, so as to present the movement directions corresponding to each path segment in the influence area as a whole.

[0127] Optionally, the following steps may be referred to to explain how to detect and obtain the first predicted movement direction of the first robot when the target path segment is equal to the path segment currently located by the first robot, or the target path segment is located in the forward direction of the path segment currently located by the first robot, and there is no intersection position on the target path segment, and after traversing each path segment after the target path segment, the intersection position is still not obtained: Figure 3 As shown, the projection position N1 of the target second robot N is located in the FG path segment, then the projection position N1 is used as the center of the circle to define the corresponding influence area within the preset radius, and in the forward direction of the moving path of the first robot X corresponding to the projection position N1 as the starting point, the intersection position of the edge of the influence area and the FG path segment is traversed. If the intersection position is not matched, the end position G of the moving path is used as the target position, and the direction from the projection position N1 to the end position G is used as the first predicted movement direction of the first robot X in the influence area.

[0128] In this embodiment, the corresponding influence area is defined based on the projection position of the target second robot on the moving path of the first robot, so that the movement direction of the first robot in the influence area is accurately predicted based on the relationship between the points in the influence area and the points on the moving path, thereby improving the reliability of the predicted movement direction of the first robot.

[0129] In an exemplary embodiment, 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, determining the current second predicted motion direction of the target second robot includes steps S502 to S506, wherein:

[0130] Step S502: 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.

[0131] Exemplarily, based on historical motion state information detected by the target second robot at various moments in the historical period, the first motion trajectory corresponding to the target second robot in the historical period is spliced ​​to obtain.

[0132] Step S504, obtaining a second motion trajectory of the target second robot in the target time period according to the predicted motion state information of the target second robot in the target time period.

[0133] Exemplarily, the second motion trajectory of the target second robot in the future period is spliced ​​based on the predicted motion state information of the target second robot predicted at each moment in the future period.

[0134] Optionally, the target second robot in linear motion or curved motion can be fitted with historical motion state information of the target second robot detected in historical time periods according to the linear motion fitting method or the curved motion fitting method. The fitted straight line or curve reflects the changing trend or law of the motion state information of the target second robot, thereby predicting the motion state information of the target second robot in the future time period.

[0135] Step S506: The first motion trajectory and the second motion trajectory are fused to obtain a fused motion trajectory, and a second predicted motion direction of the target second robot is obtained according to a vector relationship between a starting point and an end point in the fused motion trajectory.

[0136] Exemplarily, the first motion trajectory and the second motion trajectory are spliced ​​to obtain the fused motion trajectory of the target second robot; the starting point and the end point of the fused motion trajectory are determined, and if the vector length from the starting point to the end point is less than the preset length threshold, it means that the target second robot has not moved a sufficient distance within the preset time period, which is equivalent to the target second robot being approximately in a stationary state within the preset time period, and the second predicted motion direction of the target second robot does not exist. The preset length threshold represents the lower limit threshold of the distance that the target second robot in normal working state should move within the preset time period; for example, if the moving distance of the target second robot in normal working state within 6 seconds is less than 0.3 meters, it means that the target second robot has not moved a sufficient distance within the preset time period; wherein 6 seconds may include 5 seconds corresponding to the historical time period and 1 second corresponding to the target time period.

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

[0138] Optionally, the vector from the starting point to the end point may be normalized, and the unit vector obtained by the normalization process is used as the second predicted movement direction of the target second robot.

[0139] In this embodiment, based on the first motion trajectory of the target second robot in the historical period and the second motion trajectory in the target period, the fused motion trajectory of the target second robot in the preset period is completely obtained; further, based on the vector from the starting point to the end point in the fused motion trajectory, the second predicted motion direction of the target second robot is accurately and multi-dimensionally determined in the dimensions of vector length and vector direction.

[0140] In an exemplary embodiment, the path conflict types include reverse conflict types, same-direction conflict types, and lateral conflict types. According to the priorities corresponding to the first robot and the target second robot, and the path conflict types, a matching avoidance task is performed, including steps S602 to S606, wherein:

[0141] Step S602, 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 where it is 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 to allow the target second robot to pass the predicted conflict path.

[0142] The predicted conflict path may represent the current path segment where the first robot or the target second robot is located, or may represent the path segment where the first robot and the target second robot are predicted to have a path conflict.

[0143] The avoidance area can be a designated area that the robot enters to avoid the path conflict by deviating from the original moving path. The avoidance area can be deployed in the global map or for each path segment corresponding to the robot's moving path.

[0144] The reverse conflict type indicates a conflict type corresponding to when the first robot and the target second robot move in approximately opposite directions of motion, respectively, when the movement directions corresponding to the first robot and the target second robot are approximately opposite.

[0145] Optionally, the opposite direction of the first predicted motion direction of the first robot is determined, and the approximate opposite direction range corresponding to the first predicted motion direction is determined based on the opposite direction, for example, the direction corresponding to the preset angle after the counterclockwise rotation of the opposite direction is used as the first threshold direction, and the direction corresponding to the preset angle after the clockwise rotation of the opposite direction is used as the second threshold direction, and the approximate opposite direction range corresponding to the first predicted motion direction is determined according to the first threshold direction and the second threshold direction. If the second predicted motion direction of the target second robot is within the approximate opposite direction range, it indicates that there is a reverse conflict between the first robot and the target second robot.

[0146] Optionally, the target second robot can detect the environmental road conditions by itself, and determine whether to avoid the first robot or directly pass through the predicted conflict path based on the detection results; the target second robot can also determine whether to avoid the first robot or directly pass through the predicted conflict path based on the priority comparison result with the first robot; the target second robot can also receive communication information from the server or the first robot, and determine whether to avoid the first robot or directly pass through the predicted conflict path based on the communication information.

[0147] Step S604, 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 where it is, and after the target second robot moves to the avoidance area, the first robot passes 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 where it is until the target second robot passes the predicted conflict path.

[0148] The same-direction conflict type indicates a conflict type corresponding to when the first robot and the target second robot move along approximately the same direction of motion, when the movement directions corresponding to the first robot and the target second robot are approximately the same.

[0149] Optionally, the first predicted motion direction of the first robot is used as a reference to determine the approximate same direction range corresponding to the first predicted motion direction, 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, and the approximate same direction range corresponding to the first predicted motion direction is determined according to the first threshold direction and the second threshold direction. If the second predicted motion direction of the target second robot is within the approximate same direction range, it indicates that there is a same-direction conflict between the first robot and the target second robot.

[0150] Optionally, when the path conflict type is a same-direction conflict type, there is no need to perform a priority comparison, and the first robot can directly stay where it is, so that the target second robot can pass through the predicted conflict path.

[0151] Step S606, 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 where it is until the first robot passes 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 where it is until the target second robot passes the predicted conflict path.

[0152] The horizontal line conflict type indicates the conflict type corresponding to when the first robot and the target second robot move along approximately vertical movement directions respectively, when the movement directions corresponding to the first robot and the target second robot are approximately vertical.

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

[0154] Optionally, when the path conflict type is a lateral conflict type, there is no need to perform a priority comparison, and the first robot can directly stay in place to allow the target second robot to pass the predicted conflict path.

[0155] Optionally, if the angle between the first predicted motion direction and the second predicted motion direction is in [0°, 60°] ∪ [300°, 360°], it indicates that the conflict type is a same-direction conflict type; if the angle between the first predicted motion direction and the second predicted motion direction is in [120°, 240°], it indicates that the conflict type is a reverse conflict type; if the angle between the first predicted motion direction and the second predicted motion direction is in (60°, 120°) ∪ (240°, 300°), it indicates that the conflict type is a lateral conflict type.

[0156] Optionally, if the priority of the first robot is equal to the priority of the target second robot, the first robot may give way to the target second robot, or the target second robot may give way to the first robot.

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

[0158] In an exemplary embodiment, there are at least two target second robots. According to the priorities and path conflict types respectively corresponding to the first robot and the target second robot, before executing the matched avoidance task, the method further includes steps S702 to S704, wherein:

[0159] Step S702: sorting the target second robots according to their distances from the first robot, and comparing the priority of the first robot with the priority of the target second robots in order according to the sorting of the target second robots.

[0160] Exemplarily, according to the distance between each target second robot and the first robot, each target second robot is sorted in order from small to large; if the distances between two target second robots and the first robot are the same, the target second robot with a higher priority can be matched with an earlier order.

[0161] Optionally, after the first robot and the target second robot are compared in priority, the corresponding avoidance scheduling is triggered until the distance between the first robot and the target second robot meets a preset distance threshold.

[0162] Step S704: If the priority of the first robot is higher than the priority of the current target second robot, the priority of the first robot is compared 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.

[0163] Exemplarily, in a reverse conflict type scenario, if the priority of the first robot is higher than the priority of the current target second robot, the first robot stays where it is, the current target second robot moves to the avoidance area, and continues to compare the priority of the first robot with the priority of the next target second robot; before traversing to the target second robot whose priority is higher than or equal to the priority of the first robot, the first robot moves to the avoidance area to avoid the target second robot whose priority is higher than or equal to the priority of the first robot after passing through the predicted conflict path corresponding to the traversed target second robot.

[0164] Exemplarily, in a scenario of a same-direction conflict type, if the priority of the first robot is higher than the priority of the current target second robot, the first robot stays where it is, the current target second robot moves to the avoidance area, and continues to compare the priority of the first robot with the priority of the next target second robot; before traversing to the target second robot whose priority is higher than or equal to the priority of the first robot, the first robot stays where it is to avoid the target second robot whose priority is higher than or equal to the priority of the first robot after passing through the predicted conflict path corresponding to the traversed target second robot.

[0165] Exemplarily, in a lateral conflict type scenario, if the priority of the first robot is higher than the priority of the current target second robot, the first robot and the current target second robot stay where they are and continue to compare the priority of the first robot with the priority of the next target second robot; before traversing to the target second robot whose priority is higher than or equal to the priority of the first robot, the first robot stays where it is to avoid the target second robot whose priority is higher than or equal to the priority of the first robot after passing through the predicted conflict path corresponding to the traversed target second robot.

[0166] In this embodiment, on the one hand, the priorities of the sorted target second robots are compared with those of the first robot respectively, and the traversable range of the target second robots is determined according to the priority comparison results corresponding to each target second robot, so as to improve the traversal efficiency of the target second robots; on the other hand, after the first robot avoids the high-priority target second robot, the motion state information predicted by the first robot changes with the obstacle avoidance movement. At this time, the traversal of the subsequent target second robots is stopped, so as to avoid information errors caused by changes in the motion state information.

[0167] 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 S802 to S804, wherein:

[0168] Step S802, 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.

[0169] Among them, avoidance points at fixed positions can be pre-deployed on the global map; corresponding avoidance points can be deployed for each path segment of the robot's moving path; corresponding avoidance points can also be deployed for the current robot's exclusive path segment.

[0170] Exemplarily, in the avoidance points corresponding to the current path segment where the target robot is located, or in the avoidance points corresponding to the global map where the target robot is located, the distances between the target robot and each avoidance point are obtained; the avoidance points are sorted according to the distance from small to large, and the avoidance points in the specified order are used as candidate avoidance points.

[0171] Optionally, if the distance between the target robot and the avoidance point is less than a preset distance threshold, the avoidance point is used as a candidate avoidance point.

[0172] Step S804, obtaining the moving paths of the target robot to each candidate avoidance point respectively, and taking the candidate avoidance point corresponding to the minimum moving path as the target avoidance point, so that the target robot moves to the target avoidance point.

[0173] Exemplarily, the moving paths of the target robot to each candidate avoidance point are predicted, and the candidate avoidance point corresponding to the minimum moving path is used as the target avoidance point; when the target robot is the first robot, when predicting the moving path of the first robot, it is necessary to ensure that when the first robot moves to the candidate avoidance point, there is no path conflict with the target second robot; when the target robot is the target second robot, when predicting the moving path of the target second robot, it is necessary to ensure that when the target second robot moves to the candidate avoidance point, there is no path conflict with the first robot.

[0174] In this embodiment, first, candidate avoidance points are preliminarily determined from various avoidance points based on the distances between the target robot and each avoidance point. Secondly, the target avoidance point is further determined from the candidate avoidance points based on the moving 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.

[0175] In an exemplary embodiment, executing the matching avoidance task further includes steps S902 to S908, wherein:

[0176] Step S902: Generate a target avoidance task to be executed in the avoidance task queue. If the avoidance task queue includes an existing avoidance task, replace the existing avoidance task with the target avoidance task.

[0177] Exemplarily, a target avoidance task to be executed is generated in an avoidance task queue corresponding to a robot. If the avoidance task queue includes an existing avoidance task, that is, 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.

[0178] Step S904, interrupting the currently running task in the normal task queue, and storing the task execution status corresponding to the currently running task.

[0179] Exemplarily, the task execution status corresponding to the currently running task may represent the motion status information such as the position, speed, speed direction, etc. corresponding to a robot when executing the currently running task.

[0180] Optionally, the tasks in the avoidance task queue and the normal task queue may be generated by the first robot itself according to the real-time working status or conflict status, or may be generated according to the scheduling information sent by the server.

[0181] Step S906, executing the target avoidance task in the avoidance task queue.

[0182] Step S908, after the target avoidance task is completed, the current running task is resumed according to the stored task execution status, and the target avoidance task is eliminated. If the current running task is eliminated, the running task in the target order in the normal task queue is executed.

[0183] Exemplarily, after completing the target avoidance task, if no new avoidance task is generated, the target avoidance task is ended and cleared after a preset time threshold, and the interrupted current running task is resumed according to the stored task execution status.

[0184] Exemplarily, when executing a target avoidance task, if the normal task queue of the robot changes, causing the interrupted current running task to be eliminated or reset, the target avoidance task is terminated and cleared, and the running tasks in the target order in the normal task queue are executed, for example, the first running task in the normal task queue is executed.

[0185] For example, Figure 4 As shown, a robot's task management system includes a normal task queue and an avoidance task queue; when the robot is in a working state, the normal task queue includes at least one running task, such as Figure 4 The running tasks A, B and C are executed in sequence. 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. Figure 4 As shown, when there is already an avoidance task A in the avoidance task queue, a new avoidance task B is generated so that the number of avoidance tasks is greater than one, and the avoidance task A is replaced by the newly generated avoidance task B.

[0186] When the robot is in working state, it executes each running task in the normal task queue in sequence, such as Figure 4 As shown, the robot is executing task A.

[0187] When there is already an avoidance task A in the avoidance task queue, if a new avoidance task B different from avoidance task A is generated in the avoidance task queue, the newly generated avoidance task B needs to occupy 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. If avoidance task A and avoidance task B are the same, avoidance task A can be replaced by avoidance task B, or avoidance task A can be retained and avoidance task B can be eliminated.

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

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

[0190] If the normal task queue of the robot changes when executing avoidance task B, causing the interrupted running task A to be eliminated or reset, then the avoidance task B is terminated and cleared, that is, the avoidance task queue is cleared, and the running tasks in the target order in the normal task queue are executed, for example, the next running task corresponding to the original running task A in the normal task queue, that is, running task B, is executed.

[0191] Optionally, according to actual scheduling conditions, the avoidance task corresponding to the robot may be to make the robot wait in place, or to make the robot move to an avoidance area.

[0192] In this embodiment, the normal operation and 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 avoidance task queue.

[0193] In an exemplary embodiment, Figure 5 As shown, the method comprises the following steps:

[0194] The first robot detects the second robot running around the first robot and the corresponding motion state information of the second robot; the reflector on the surface of the second robot can be detected by the laser radar configured by the first robot, so as to detect the second robot in the operating environment; the second robot in the operating environment can also be identified by the camera configured by the first robot; the collected motion state information of each robot can also be sent to the first robot through a simple central control system, so that the first robot can obtain the motion state information of the second robot running around.

[0195] A second robot located in the front area in the forward direction of the first robot is taken as the target second robot; a first predicted movement direction corresponding to the impact area information of the first robot and a current second predicted movement direction of the target second robot are determined; and a path conflict type between the first robot and the target second robot is determined based on the angular relationship between the first predicted movement direction and the second predicted movement direction.

[0196] In the scenario of the path conflict type, a matching avoidance task is generated based on the priority comparison result of the first robot and the target second robot; based on the task management in the normal task queue and the avoidance task queue, the to-be-executed tasks of the first robot and / or the target second robot are updated; that is, according to the newly generated avoidance task in the avoidance task queue, the to-be-executed tasks corresponding to the first robot and / or the target second robot are switched between the running tasks and the avoidance tasks.

[0197] Based on the task to be performed, path planning is performed for the first robot and / or the target second robot; wherein the track planning includes planning the movement path, speed and other motion state information. 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 the robot with path planning and navigation functions.

[0198] It should be understood that, although the various steps in the flowcharts involved in the above-mentioned embodiments are displayed in sequence according to the indication of the arrows, these steps are not necessarily executed in sequence according to the order indicated by the arrows. Unless there is a clear explanation in this article, the execution of these steps does not have a strict order restriction, and these steps can be executed in other orders. Moreover, at least a part of the steps in the flowcharts involved in the above-mentioned embodiments can include multiple steps or multiple stages, and these steps or stages are not necessarily executed at the same time, but can be executed at different times, and the execution order of these steps or stages is not necessarily to be carried out in sequence, but can be executed in turn or alternately with other steps or at least a part of the steps or stages in other steps.

[0199] Based on the same inventive concept, the embodiment of the present application also provides a robot control device for implementing the robot control method involved above. The implementation solution provided by the device to solve the problem is similar to the implementation solution recorded in the above method, so the specific limitations in one or more robot control device embodiments provided below can refer to the limitations of the robot control method above, and will not be repeated here.

[0200] In an exemplary embodiment, Figure 6 As shown, a robot control device is provided, including: an orientation prediction module 602, a first direction prediction module 604, a second direction prediction module 606, a conflict type prediction module 608 and an execution module 610, wherein:

[0201] The orientation prediction module 602 is used to use the second robot as a target second robot whose movement direction is to be determined if the second robot is located in a target orientation area on the moving path of the first robot;

[0202] A first direction prediction module 604 is used to determine a first predicted movement direction corresponding to the first robot according to the influence area information of the target second robot, wherein the influence area information is information when the predicted movement state information of the target second robot in the current period is projected onto the movement path of the first robot;

[0203] A second direction prediction module 606, for determining a current second predicted movement direction of the target second robot according to historical movement state information of the target second robot in the historical period and predicted movement state information in the target period;

[0204] A conflict type prediction module 608, for determining a path conflict type corresponding to the first robot and the target second robot according to an angular relationship between the first predicted motion direction and the second predicted motion direction;

[0205] The execution module 610 is used to execute the matching avoidance task according to the priorities and path conflict types respectively corresponding to the first robot and the target second robot.

[0206] In an exemplary embodiment, the device also includes a motion state detection module, which is used to: obtain image information collected by the first robot at different times; determine the robot markers corresponding to each image information and the position information corresponding to each robot marker according to the image features corresponding to each image information; obtain the second robot corresponding to the matching robot marker according to the robot marker matching the position information; obtain the motion state information of each second robot at different times according to the position information of the robot markers of each second robot at different times.

[0207] In an exemplary embodiment, the orientation prediction module 602 is also used to: obtain the current first position of the first robot on the moving path, the current second position of the second robot, and the projection position of the current second position on the moving path of the first robot; if the projection position is located at the target orientation of the current first position on the moving path, and the distance between the projection position and the current second position meets the preset threshold condition, it indicates that the second robot is located in the target orientation area of ​​the first robot on the moving path.

[0208] In an exemplary embodiment, the first direction prediction module 604 is also used to: project the current position of the target second robot in the current time period onto the moving path of the first robot to obtain the projection position corresponding to the current position; determine the influence area information corresponding to the projection position according to a preset influence range condition, 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 moving path of the first robot; obtain the first predicted movement direction of the first robot according to the azimuth relationship between the target position and the projection position.

[0209] In an exemplary embodiment, the second direction prediction module 606 is also used to: obtain the first motion trajectory of the target second robot in the historical period based on the historical motion state information of the target second robot in the historical period; obtain the second motion trajectory of the target second robot in the target period based on the predicted motion state information of the target second robot in the target period; fuse the first motion trajectory and the second motion trajectory to obtain a fused motion trajectory, and obtain the second predicted motion direction of the target second robot based on the vector relationship between the starting point and the end point in the fused motion trajectory.

[0210] In an exemplary embodiment, the execution module 610 is also used for: 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 to allow the target second robot to pass the predicted conflict path; 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, and after the target second robot moves to the avoidance area, the first robot passes 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 the predicted conflict path; 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 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 the predicted conflict path.

[0211] In an exemplary embodiment, the execution module 610 is also used to: sort each target second robot 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 each target second robot; if 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 the target second robot with a priority higher than or equal to the priority of the first robot is traversed.

[0212] In an exemplary embodiment, the execution module 610 is also used to: determine candidate avoidance points 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 target second robot; obtain the moving path of the target robot to each candidate avoidance point, take the candidate avoidance point corresponding to the minimum moving path as the target avoidance point, and the target robot moves to the target avoidance point.

[0213] In an exemplary embodiment, the execution module 610 is also used to: generate a target avoidance task to be executed in the avoidance task queue, and if the avoidance task queue includes an existing avoidance task, replace the existing avoidance task with the target avoidance task; interrupt the current running task in the normal task queue, and store the task execution status corresponding to the current running task; execute the target avoidance task in the avoidance task queue; after the target avoidance task is completed, resume execution of the current running task according to the stored task execution status, and eliminate the target avoidance task. If the current running task is eliminated, execute the running task in the target order in the normal task queue.

[0214] Each module in the above robot control device can be implemented in whole or in part by software, hardware or a combination thereof. Each module can be embedded in or independent of a processor in a computer device in the form of hardware, or can be stored in a memory in a computer device in the form of software, so that the processor can call and execute operations corresponding to each module.

[0215] In an exemplary embodiment, a computer device is provided. The computer device may be a terminal, and its internal structure diagram may be as shown in FIG. Figure 7As shown. The computer device includes a processor, a memory, an input / output interface, a communication interface, a display unit and an input device. The processor, the memory and the input / output interface are connected through a system bus, and the communication interface, the display unit and the input device are connected to the system bus through the input / output interface. The processor of the computer device is used to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system and a computer program. The internal memory provides an environment for the operation of the operating system and the computer program in the non-volatile storage medium. The input / output interface of the computer device is used to exchange information between the processor and an external device. The communication interface of the computer device is used to communicate with an external terminal in a wired or wireless manner, and the wireless manner can be implemented through WIFI, a mobile cellular network, near field communication (NFC) or other technologies. When the computer program is executed by the processor, a robot control method is implemented. The display unit of the computer device is used to form a visually visible picture, which can be a display screen, a projection device or a virtual reality imaging device. The display screen can be a liquid crystal display screen or an electronic ink display screen, and the input device of the computer device can be a touch layer covering the display screen, or a button, trackball or touchpad set on the computer device shell, or an external keyboard, touchpad or mouse.

[0216] Those skilled in the art will understand that Figure 7 The structure shown in the figure is only a block diagram of a part of the structure related to the solution of the present application, and does not constitute a limitation on the computer device to which the solution of the present application is applied. The specific computer device may include more or fewer components than those shown in the figure, or combine certain components, or have a different arrangement of components.

[0217] In an exemplary embodiment, a computer device is provided, including a memory and a processor, wherein a computer program is stored in the memory, and the processor implements the steps in the above-mentioned method embodiments when executing the computer program.

[0218] In one embodiment, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the steps in the above-mentioned method embodiments are implemented.

[0219] In one embodiment, a computer program product is provided, including a computer program, which implements the steps in the above method embodiments when executed by a processor.

[0220] A person of ordinary skill in the art can understand that all or part of the processes in the above-mentioned embodiment method can be completed by instructing the relevant hardware through a computer program, and the computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to the memory, database or other medium used in the embodiments provided in the present application can include at least one of non-volatile memory 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. As an illustration and not limitation, RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM). The database involved in each embodiment provided in this application may include at least one of a relational database and a non-relational database. Non-relational databases may include distributed databases based on blockchains, etc., but are not limited to this. The processor involved in each embodiment provided in this application may be a general-purpose processor, a central processing unit, a graphics processor, a digital signal processor, a programmable logic device, a data processing logic device based on quantum computing, an artificial intelligence (AI) processor, etc., but are not limited to this.

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

[0222] The above-described embodiments only express several implementation methods of the present application, and the descriptions thereof are relatively specific and detailed, but they cannot be understood as limiting the scope of the present application. It should be pointed out that, for a person of ordinary skill in the art, several variations and improvements can be made without departing from the concept of the present application, and these all belong to the protection scope of the present application. Therefore, the protection scope of the present application shall be subject to the attached claims.

Claims

1. A robot control method, characterized in that: Applied to a first robot, the method comprises: If the second robot is located in the target orientation area on the moving path of the first robot, the second robot is used as the target second robot whose moving direction is to be determined; Determining a first predicted movement direction corresponding to the first robot according to the influence area information of the target second robot, wherein the influence area information is information when the predicted movement state information of the target second robot in the current time period is projected onto the movement path of the first robot, and the first predicted movement direction is the predicted overall movement direction corresponding to the influence area of ​​the first robot in the influence area information; Determine a second predicted current motion direction of the target second robot according to historical motion state information of the target second robot in a historical period and predicted motion state information in a target period; determining, according to an angular relationship between the first predicted motion direction and the second predicted motion direction, a path conflict type corresponding to the first robot and the target second robot; A matching avoidance task is executed according to the priorities respectively corresponding to the first robot and the target second robot, and the path conflict type.

2. The method according to claim 1, characterized in that The method further comprises: Acquire image information collected by the first robot at different times; Determine the robot markers corresponding to the respective image information and the position information corresponding to the respective robot markers according to the image features corresponding to the respective image information; According to the robot marker that matches the position information, a second robot corresponding to the matched robot marker is obtained; According to the position information of the robot markers of each second robot at different times, the motion state information of each second robot at different times is obtained.

3. The method according to claim 1, characterized in that If the second robot is located in the target orientation area of ​​the first robot on the moving path, before taking the second robot as the target second robot to determine the moving direction, 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; If the projection position is located at the target position of the current first position on the moving path, and the distance between the projection position and the current second position meets a preset threshold condition, it means that the second robot is located at the target position area of ​​the first robot on the moving path.

4. The method according to claim 1, characterized in that: The determining, according to the influence area information of the target second robot, a first predicted movement direction corresponding to the first robot includes: Projecting the current position of the target second robot in the current time period onto the moving path of the first robot to obtain a projection position corresponding to the current position; Determine, according to a preset influence range condition, influence area information corresponding to the projection position, the influence area information including the influence area corresponding to the projection position and a target position at the edge of the influence area in the moving path of the first robot; A first predicted movement direction of the first robot is obtained according to the azimuth relationship between the target position and the projection position.

5. The method according to claim 1, characterized in that: The determining the current second predicted movement direction of the target second robot according to the historical movement state information of the target second robot in the historical time period and the predicted movement state information in the target time period comprises: 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 time period according to the predicted motion state information of the target second robot in the target time period; The first motion trajectory and the second motion trajectory are fused to obtain a fused motion trajectory, and a second predicted motion direction of the target second robot is obtained according to a vector relationship between a starting point and an end point in the fused motion trajectory.

6. The method according to claim 1, characterized in that The path conflict types include reverse conflict types, same-direction conflict types, and lateral conflict types. The matching avoidance task is performed according to the priorities respectively corresponding to the first robot and the target second robot and the path conflict types, including: 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 to allow the target second robot to pass the predicted conflict path; 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 where it is, and after the target second robot moves to the avoidance area, the first robot passes 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 where it is until the target second robot passes the predicted conflict path; 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 where it is until the first robot passes 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 where it is until the target second robot passes the predicted conflict path.

7. The method according to claim 6, characterized in that There are at least two target second robots, and before executing the matching avoidance task according to the priorities respectively corresponding to the first robot and the target second robot and the path conflict type, the method further includes: Sorting each target second robot according to the distance between each target second robot and the first robot, and comparing the priority of the first robot with the priority of each target second robot in sequence according to the ranking of each target second robot; If the priority of the first robot is higher than the priority of the current target second robot, the priority of the first robot is compared 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.

8. The method according to claim 6, characterized in that The avoidance area includes at least two avoidance points, and the first robot moves to the avoidance area, or the target second robot moves to the avoidance area, including: 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; The moving paths of the target robot to each candidate avoidance point are obtained, and the candidate avoidance point corresponding to the minimum moving path is used as the target avoidance point, so that the target robot moves to the target avoidance point.

9. The method according to claim 1, characterized in that: The execution of the matching avoidance task includes: Generate a target avoidance task to be executed in the avoidance task queue, and if the avoidance task queue includes an existing avoidance task, replace the existing avoidance task with the target avoidance task; Interrupt the currently running task in the normal task queue and store the task execution status corresponding to the currently running task; Executing the target avoidance task in the avoidance task queue; After the target avoidance task is completed, the current running task is resumed according to the stored task execution status, and the target avoidance task is eliminated. If the current running task is eliminated, the running task in the target order in the normal task queue is executed.

10. A computer device comprising a memory and a processor, wherein the memory stores a computer program, characterized in that: When the processor executes the computer program, the steps of the method according to any one of claims 1 to 9 are implemented.

Citation Information

Patent Citations

  • Transporting system and transporting method

    CN111483741A

  • Robot avoidance method and device and electronic equipment

    CN117055557A