Robot navigation control method, electronic equipment and storage medium

By constructing the ORCA semi-plane and the masked velocity semi-plane, the real speed of the target robot in the multi-robot system is determined, and the problem of difficulty in preventing collisions, congestion and deadlock in the prior art is solved, and efficient robot cluster navigation control is achieved.

CN120029280APending Publication Date: 2025-05-23BEIJING KUANGSHI ROBOTICS TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510125315.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2024-02-04
Filing Date
2025-01-26
Publication Date
2025-05-23

AI Technical Summary

Technical Problem

The prior art is difficult to effectively prevent collisions, congestion and deadlocks in multi-robot system navigation, resulting in low operating efficiency and complex system deployment.

Method used

By obtaining the current position, speed and masking speed of the target robot, as well as the status information of other robots, the ORCA half-plane and masking speed half-plane are constructed to determine the real speed of the target robot, thereby avoiding deadlocks and congestion.

Benefits of technology

It realizes navigation control without collision, congestion and deadlock in multi-robot systems, improves the operating efficiency of the robot cluster, and adopts a fully decentralized decision-making method to simplify system deployment.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120029280A_ABST
    Figure CN120029280A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a navigation control method of a robot, electronic equipment and a storage medium. The method comprises the following steps: constructing a first ORCA half plane of a target robot relative to an obstacle; constructing a second ORCA half plane of the target robot relative to other robots; when the priority of the target robot is the first priority, the real speed at the next moment is determined according to the first ORCA half-plane and the second ORCA half-plane; and when the priority of the target robot is a second priority, constructing a masking speed half-plane of the target robot relative to other robots according to the current position, the current masking speed and the state information, and determining the real speed at the next moment according to the first ORCA half-plane, the second ORCA half-plane and the masking speed half-plane. The first priority is higher than the second priority; and determining control parameters according to the real speed. According to the embodiment of the invention, the operation efficiency of the robot cluster can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application claims priority to a Chinese patent application filed with the Chinese Patent Office on February 4, 2024, with application number 2024101620819 and invention name “Navigation control method, electronic device and storage medium for robot”, the entire contents of which are incorporated by reference in this application. Technical Field

[0002] The embodiments of the present application relate to the field of robotics technology, and in particular to a navigation control method, electronic device, and storage medium for a robot. Background Art

[0003] Multi-robot system navigation has a wide range of applications in reality, such as cargo handling in factories, picking in warehouses, drone swarm formation flying, and cluster dispatching of unmanned vehicles in parks and cities.

[0004] However, current algorithms have adopted many indirect methods to prevent robot clusters from collisions, congestion, and deadlocks. These indirect methods include: using a QR code road network to determine the trajectory of vehicles to prevent the possibility of collisions between vehicles and obstacles; physically isolating the space in which two robots move to prevent collisions; reducing the density of robots to reduce the possibility of congestion and deadlocks; using a centralized method to identify collisions, and consuming a large amount of computing resources based on the collision identification results to solve the congestion caused by collisions in real time, but the effect cannot be guaranteed.

[0005] The above-mentioned indirect processing methods not only affect the operating efficiency of robot cluster scheduling, but also put forward higher conditions for system deployment and limit the robot's motion performance. Summary of the invention

[0006] In view of the above problems, embodiments of the present application are proposed to provide a navigation control method, electronic device and storage medium for a robot that overcome the above problems or at least partially solve the above problems.

[0007] According to a first aspect of an embodiment of the present application, a navigation control method of a robot is provided, comprising:

[0008] Obtain the current position, current speed and current masking speed of the target robot, and obtain the status information of other robots in the robot cluster except the target robot, wherein the current masking speed is the masking speed at the current moment, and the masking speed is the speed that the target robot updates and tries to achieve in order to achieve a deadlock-free state;

[0009] Obtaining boundary information of obstacles around the target robot;

[0010] Constructing a first ORCA half-plane of the target robot relative to the obstacle according to the current position, the current speed and the boundary information;

[0011] Constructing a second ORCA half-plane of the target robot relative to the other robots according to the current position, the current speed and the state information;

[0012] When the priority of the target robot is the first priority, the real speed of the target robot at the next moment is determined according to the first ORCA half-plane and the second ORCA half-plane; or, when the priority of the target robot is the second priority, the masked speed half-plane of the target robot relative to other robots is constructed according to the current position, the current masked speed and the state information, and the real speed of the target robot at the next moment is determined according to the first ORCA half-plane, the second ORCA half-plane and the masked speed half-plane, wherein the first priority is higher than the second priority;

[0013] According to the actual speed, the control parameters of the target robot are determined.

[0014] According to a second aspect of an embodiment of the present application, a navigation control method of a robot is provided, comprising:

[0015] Get navigation map;

[0016] Receiving status information of other robots in the target robot cluster except the target robot based on the broadcast network, and sending the current status of the target robot to the other robots;

[0017] Determining the actual speed of the target robot at the next moment according to the navigation map, the current state and the state information;

[0018] According to the actual speed, a control parameter of the target robot is determined, and the control parameter is output to a motor of the target robot.

[0019] According to the third aspect of an embodiment of the present application, an electronic device is provided, comprising: a processor, a memory, and a computer program stored in the memory and executable on the processor, wherein when the computer program is executed by the processor, the navigation control method of the robot as described in the first aspect is implemented.

[0020] According to a fourth aspect of an embodiment of the present application, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the navigation control method of the robot as described in the first aspect is implemented.

[0021] According to a fifth aspect of an embodiment of the present application, a computer program product is provided, comprising a computer program or computer instructions, which, when executed by a processor, implements the navigation control method of the robot described in the first aspect.

[0022] The robot navigation control method, electronic device and storage medium provided in the embodiments of the present application determine, when the priority of the target robot is the first priority, the actual speed of the target robot at the next moment according to the first ORCA half-plane of the target robot relative to the obstacle and the second ORCA half-plane of the target robot relative to other robots; when the priority of the target robot is the second priority, the masked speed half-plane of the target robot relative to other robots is constructed according to the current position of the target robot, the current masked speed and the status information of other robots, and the actual speed of the target robot at the next moment is determined according to the first ORCA half-plane, the second ORCA half-plane and the masked speed half-plane. When the priority of the target robot is the first priority, there is no need to consider the constraints of the masked speed half-plane. When the priority of the target robot is the second priority, the masked speed half-plane is constructed, and when solving the true speed, the constraints of the masked speed half-plane are considered at the same time, which can avoid deadlock or congestion of the robot cluster. At the same time, the transmission of this anti-deadlock intention in the robot cluster can ensure that the system is free of congestion and deadlock, thereby improving the operating efficiency of robots in the robot cluster. It is a completely decentralized decision-making. The robot only needs to obtain the state variables of other robots through communication to make decisions, realizing the unification of motion control and path planning. There is no need for separate path planning, speed planning and motion control, and it can be completely achieved through real-time speed planning.

[0023] The above description is only an overview of the technical solution of the present application. In order to more clearly understand the technical means of the present application, it can be implemented in accordance with the contents of the specification. In order to make the above and other purposes, features and advantages of the present application more obvious and easy to understand, the specific implementation methods of the present application are listed below. BRIEF DESCRIPTION OF THE DRAWINGS

[0024] Various other advantages and benefits will become apparent to those of ordinary skill in the art by reading the following detailed description of the preferred embodiment.The accompanying drawings are only for the purpose of illustrating the preferred embodiments and are not to be considered as limiting the present application.

[0025] Figure 1 is a schematic diagram of the relationship between the velocity half-plane and the allowed velocity in an embodiment of the present application;

[0026] Figure 2 is a flowchart of a navigation control method for a robot provided in an embodiment of the present application;

[0027] Figure 3 is a schematic diagram of navigation control based on communication of each robot in a robot cluster in an embodiment of the present application;

[0028] Figure 4 is a flowchart of the steps of a navigation control method of a robot provided in an embodiment of the present application;

[0029] Figure 5 is a flowchart of the steps of a navigation control method of a robot provided in an embodiment of the present application;

[0030] Figure 6 is a schematic diagram for explaining the kinematic model of the differential gear train robot in the embodiment of the present application;

[0031] Figure 7a and Figure 7b This is an analysis diagram of the cause of the swaying phenomenon of the front of the differential gear train robot in the embodiment of the present application;

[0032] Figure 8 is a flowchart of a navigation control method for a robot provided in an embodiment of the present application;

[0033] Fig. 9 is a flowchart of the steps of a navigation control method of a robot provided in an embodiment of the present application;

[0034] Fig.10 It is a structural block diagram of a navigation control device of a robot provided in an embodiment of the present application;

[0035] Fig.11 is a structural block diagram of a navigation control device for a robot provided in an embodiment of the present application;

[0036] Fig.12 It is a structural block diagram of a navigation control device of a robot provided in an embodiment of the present application;

[0037] Fig.13 It is a structural block diagram of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0038] The exemplary embodiments of the present application will be described in more detail below with reference to the accompanying drawings. Although the exemplary embodiments of the present application are shown in the accompanying drawings, it should be understood that the present application can be implemented in various forms and should not be limited by the embodiments set forth herein. On the contrary, these embodiments are provided in order to enable a more thorough understanding of the present application and to fully convey the scope of the present application to those skilled in the art.

[0039] With the development of intelligent technologies such as the Internet of Things, artificial intelligence, and big data, the demand for using these intelligent technologies to transform and upgrade the traditional logistics industry has become increasingly strong, and intelligent logistics (Intelligent Logistics System) has become a research hotspot in the field of logistics. Intelligent logistics uses artificial intelligence, big data, and various information sensors, radio frequency identification technology, global positioning system (GPS) and other Internet of Things devices and technologies, which are widely used in basic activities such as material transportation, warehousing, distribution, packaging, loading and unloading, and information services, to achieve intelligent analysis and decision-making, automated operation, and efficient optimization management of the material management process. Internet of Things technologies include sensor equipment, RFID technology, laser infrared scanning, infrared sensing recognition, etc. The Internet of Things can effectively connect materials in logistics with the network, monitor materials in real time, and sense environmental data such as humidity and temperature in the warehouse to ensure the storage environment of materials. Through big data technology, all data in logistics can be sensed and collected, uploaded to the data layer of the information platform, and filtered, mined, and analyzed, and finally provide accurate data support for business processes (such as transportation, warehousing, storage and retrieval, picking, packaging, sorting, outbound, inventory, distribution, etc.). The application of artificial intelligence in logistics can be roughly divided into two directions: 1) AI-enabled intelligent devices such as unmanned trucks, AGVs, AMRs, forklifts, shuttles, stackers, unmanned delivery vehicles, drones, service robots, robotic arms, smart terminals, etc. to replace some manual labor; 2) Software systems such as transportation equipment management systems, warehouse management, equipment scheduling systems, and order distribution systems driven by technologies or algorithms such as computer vision, machine learning, and operations optimization to improve labor efficiency. With the research and progress of smart logistics, this technology has been applied in many fields, such as retail and e-commerce, electronic products, tobacco, medicine, industrial manufacturing, footwear, textiles, and food.

[0040] To facilitate understanding, some relevant concepts involved in the embodiments of the present application are first introduced below.

[0041] (I) Velocity Obstacle (VO)

[0042] The concept of velocity space obstacle was then proposed to apply to disc-shaped robots and static obstacles. VO makes it possible to mathematically represent the constraints of the robot in velocity space. Later, the reciprocal velocity space obstacle (RVO) appeared, which is an extension of the original VO and solves the problem of vehicle speed oscillation caused by VO. RVO makes VO stable in the face of speed changes and it is mathematically proved that RVO can completely avoid collisions between robots. Another improvement to VO is the finite-time velocity space obstacle (FVO), which allows robots to avoid other robots within a predetermined time interval. The resulting VO is a truncated cone. Compared with the original VO, FVO allows a larger solution space for velocities because it only requires robots to avoid collisions for a short time.

[0043] 2. Optimal Reciprocal Collision Avoidance (ORCA) for Multi-Robot Systems

[0044] The ORCA method is currently the most practical multi-vehicle collision avoidance framework. For the current decision vehicle, it first uses RVO and FVO to generate corresponding linear speed constraints (or ORCA half-plane constraints) for other vehicles in the system, and then solves a linear programming problem to obtain the optimal speed of the current decision vehicle. The solution process assumes that the robot is omnidirectional (Holonomic). The structure of the linear programming problem allows the solution to obtain the optimal solution through a heuristic method.

[0045] Figure 1 Schematic diagram of the relationship between the velocity half plane and the allowed velocity in the embodiment of the present application. Figure 1 As shown, an ORCA upper half plane (shaded direction) is defined by its position in velocity space and direction In order to determine the vector (v x ,v y ) belongs to the plane. First, translate the half plane to the origin of the velocity space coordinate as shown in the figure. The corresponding velocity vector changes to If the velocity vector points into the allowed velocity half-plane, then the matrix The determinant of is not greater than 0.

[0046] There are two significant problems with the ORCA method, which makes it encounter many difficulties in practice. First, the kinematic model is missing in the solution process because the ORCA method and its solution are based on the omnidirectional assumption. However, in real applications, moving robots are basically subject to the kinematic constraints brought by their own wheel trains, which makes the ORCA solution results likely to cause collisions. Significantly increasing the radius can compensate for this problem, but this will lead to a decrease in the robot's maneuverability in narrow spaces. Second, the ORCA method does not involve the solution of deadlock and congestion of multiple vehicles. Deadlock refers to a situation where multiple robots are unable to move and cannot be corrected. In actual applications, this deadlock or congestion often occurs, and the ORCA method cannot solve this problem in a meaningful time.

[0047] (III) Concealment speed and avoidance intention

[0048] Generally, the masked velocity can be defined as the velocity that the robot updates and tries to reach in order to achieve the purpose of no deadlock, reflecting the avoidance intention. Here, it is agreed that the robots in the system can distinguish their own priorities as high priority (first priority) or normal priority (second priority). The robot will update the masked velocity according to its own priority, and the robot's actual velocity will also be affected by the masked velocity, and the masked velocity can be transmitted between robots.

[0049] (IV) Masked Cooperative Collision Avoidance Half-Plane (MCCA Half-Plane) and Masked Velocity Obstacle (MVO)

[0050] For the current decision vehicle, the update of the masked speed depends on the MVO formed by other vehicles and the current vehicle, as well as the feasible masked speed half-plane generated by the MVO, namely the MCCA half-plane.

[0051] Next, in conjunction with the accompanying drawings, a navigation control method of a robot provided in an embodiment of the present application is introduced.

[0052] Figure 2 This is a flowchart of the steps of a robot navigation control method provided by an embodiment of the present application. The robot navigation control method can freely navigate and control the robot without limiting the robot's travel network, and can ensure that each robot in the robot cluster has no collision, congestion or deadlock. The robot navigation control method can be executed by the target robot, such as Figure 2 As shown, the method may include:

[0053] Step 201, obtain the current position, current speed and current masking speed of the target robot, and obtain the status information of other robots in the robot cluster except the target robot, wherein the current masking speed is the masking speed at the current moment, and the masking speed is the speed that the target robot updates and attempts to achieve in order to achieve a deadlock-free state.

[0054] The target robot is the robot that currently needs to be navigated and controlled. The robot cluster refers to all robots in the target site or a local area of ​​the target site. The robot cluster includes the target robot and multiple other robots. The current position can be the center position of the target robot. Deadlock refers to a situation where multiple robots are unable to move and cannot get out of it. Getting out means changing the current state.

[0055] Get the current state of the target robot, which includes information such as the current position, current speed, and current cover speed. Figure 3 is a schematic diagram of navigation control based on communication of each robot in a robot cluster in an embodiment of the present application, such as Figure 3 As shown, the target robot obtains the status information of other robots at the current moment based on the communication with other robots in the robot cluster, and sends the current status of the target robot to other robots. The status information of other robots includes the position, speed, priority and other information of other robots. The target robot can communicate with other robots by wireless broadcasting, or by using 5G frequency band for vehicle-to-vehicle communication.

[0056] Step 202: Obtain boundary information of obstacles around the target robot.

[0057] The boundary information of the obstacles around the target robot is obtained based on the perception sensor. The perception sensor may include a radar and / or a camera, etc. Exemplarily, the target robot may determine the boundary information of the surrounding obstacles based on SLAM (Simultaneous Localization and Mapping), and each obstacle may be equivalent to a polygon, and the boundary information of the equivalent polygon is used as the boundary information of the obstacle.

[0058] Step 203: construct a first ORCA half-plane of the target robot relative to the obstacle according to the current position, the current speed and the boundary information.

[0059] The first ORCA half-plane represents the allowed speed range of the target robot relative to the obstacle.

[0060] The speed of the obstacle can be determined as 0, and the center point and radius of the obstacle can be determined based on the boundary information of the obstacle, and the obstacle can be equivalent to an object with the center point as the center and the radius as the radius. The target robot is converted into a particle at the current position, and the obstacle is converted into a circle with a radius equal to the sum of the radius of the obstacle and the radius of the target robot; the speed of the obstacle relative to the target robot (particle) is determined to be the reverse speed of the current speed; two rays tangent to the circle of the obstacle are drawn from the particle to obtain the collision cone of the target robot relative to the obstacle. Since the speed of the obstacle is 0, the collision cone is determined as the velocity space obstacle (Velocity Obstacle, VO) of the target robot relative to the obstacle; according to the velocity space obstacle, the target robot's velocity allowable range is determined to obtain the first ORCA (Optimal Reciprocal Collision Avoidance, ORCA, a mutually beneficial avoidance method for multi-robot systems) half-plane of the target robot relative to the obstacle.

[0061] For each obstacle, the first ORCA half-plane of the target robot relative to the obstacle is constructed in the above manner.

[0062] Step 204: construct a second ORCA half-plane of the target robot relative to the other robots according to the current position, the current speed and the state information.

[0063] The second ORCA half-plane represents the allowed speed range of the target robot relative to other robots.

[0064] The target robot is converted into a particle at the current position, and other robots are converted into circles with a radius equal to the sum of the radius of the other robots and the radius of the target robot; the speed of other robots relative to the target robot (particle) is determined as the sum of the speed of other robots and the current speed; two rays tangent to the circle after the conversion of other robots are drawn from the particle to obtain a collision cone of the target robot relative to other robots, and the sum of the collision cone and the speed of other robots is determined as a speed space obstacle of the target robot relative to other robots; according to the speed space obstacle, the allowable speed range of the target robot relative to other robots is determined to obtain a second ORCA half-plane of the target robot relative to the other robots.

[0065] For each other robot, the second ORCA half-plane of the target robot relative to the other robot is constructed in the above manner.

[0066] Step 205, when the priority of the target robot is the first priority, determining the actual speed of the target robot at the next moment according to the first ORCA half-plane and the second ORCA half-plane; or, when the priority of the target robot is the second priority, constructing the masked speed half-plane of the target robot relative to other robots according to the current position, the current masked speed and the state information, and determining the actual speed of the target robot at the next moment according to the first ORCA half-plane, the second ORCA half-plane and the masked speed half-plane; wherein the first priority is higher than the second priority.

[0067] Among them, the priority of a robot represents the operation priority of the robot in all robots in the target area to achieve the purpose of deadlock-free. The higher the priority, the less need to consider the avoidance intention of other robots. The first priority can also be called a high priority, and the second priority can also be called a normal priority. The half-plane of the target robot's masking speed relative to other robots refers to the allowable range of the target robot's masking speed relative to other robots. The real speed of the target robot at the next moment refers to the determined running speed of the target robot at the next moment.

[0068] Based on the different priorities of the target robot, different methods are used to determine the real speed of the target robot at the next moment. The priority of the target robot can be preset or dynamically determined during the navigation control process.

[0069] When the priority of the target robot is the first priority, the real speed of the target robot at the next moment can be determined under the constraints of the first ORCA half-plane and the second ORCA half-plane.

[0070] When the priority of the target robot is the second priority, based on the current position of the target robot, the current masked speed and the state information of each other robot, the masked cooperative collision avoidance (MCCA) of the target robot relative to each other robot is constructed, and under the constraints of the first ORCA half-plane, the second ORCA half-plane and the masked speed half-plane, the real speed of the target robot at the next moment is determined. When the priority of the target robot is the second priority, by considering avoiding the ORCA half-plane and the masked speed half-plane of other robots when determining the real speed, mutual collision, congestion and deadlock can be avoided.

[0071] Step 206: Determine the control parameters of the target robot according to the actual speed.

[0072] Based on the obtained real speed of the target robot at the next moment, the control parameter of the target robot is determined, and the control parameter is output to the motor of the target robot, and the wheel speed of the target robot is controlled based on the control parameter so that the target robot reaches the real speed at the next moment. Exemplarily, when the target robot is a differential gear train robot, the control parameter includes the expected wheel speed of the left wheel and the expected wheel speed of the right wheel.

[0073] The robot navigation control method provided in this embodiment determines the actual speed of the target robot at the next moment according to the first ORCA half-plane of the target robot relative to the obstacle and the second ORCA half-plane of the target robot relative to other robots when the priority of the target robot is the first priority; when the priority of the target robot is the second priority, the masking speed half-plane of the target robot relative to other robots is constructed according to the current position of the target robot, the current masking speed and the status information of other robots, and the actual speed of the target robot at the next moment is determined according to the first ORCA half-plane, the second ORCA half-plane and the masking speed half-plane. When the priority of the target robot is the first priority, there is no need to consider the constraints of the masked speed half-plane. When the priority of the target robot is the second priority, the masked speed half-plane is constructed, and when solving the true speed, the constraints of the masked speed half-plane are considered at the same time, which can avoid deadlock or congestion of the robot cluster. At the same time, the transmission of this anti-deadlock intention in the robot cluster can ensure that the system is free of congestion and deadlock, thereby improving the operating efficiency of robots in the robot cluster. It is a completely decentralized decision-making. The robot only needs to obtain the state variables of other robots through communication to make decisions, realizing the unification of motion control and path planning. There is no need for separate path planning, speed planning and motion control, and it can be completely achieved through real-time speed planning.

[0074] Figure 4 This is a flowchart of the steps of a robot navigation control method provided by an embodiment of the present application. The robot navigation control method can freely navigate and control the robot without limiting the robot's travel network, and can ensure that each robot in the robot cluster has no collision, congestion or deadlock. The robot navigation control method can be executed by the target robot, such as Figure 4 As shown, the method may include:

[0075] Step 41, obtaining the status information of each robot in the target area at the current moment, wherein the status information includes: position information, running speed and masking speed; the masking speed is the speed that the robot attempts to achieve in order to achieve the purpose of deadlock-free.

[0076] The target area may be a target site or a local area in the target site. All robots in the target area may be referred to as a robot cluster. The position information may include the center position and boundary information of the robot.

[0077] Reference Figure 3 , each robot in the target area can communicate with each other to obtain the current state information of other robots, and can also send its own current state information to other robots. The state information can include position information, running speed and cover speed, and can also include priority information.

[0078] Step 42 , obtaining a first allowable operating range of the target robot to be controlled relative to obstacles and a second allowable operating range relative to other robots when the target robot to be controlled operates at the operating speed.

[0079] The boundary information of obstacles around the target robot can be obtained by referring to the above embodiment. The running speed of the target robot is the current speed of the target robot described in the above embodiment.

[0080] The first allowable operating range refers to the allowable speed range of the target robot relative to the obstacle, that is, the first ORCA half-plane described in the above embodiment. The specific determination process can refer to the above embodiment and will not be repeated here.

[0081] The second allowable operating range refers to the allowable speed range of the target robot relative to other robots, that is, the second ORCA half-plane described in the above embodiment. The specific determination process can refer to the above embodiment and will not be repeated here.

[0082] Step 43, obtaining the priority of the target robot.

[0083] Among them, the priority of a robot represents the operation priority of the robot among all robots in the target area in order to achieve the purpose of deadlock-free. The higher the priority, the less it needs to consider the avoidance intention of other robots.

[0084] The priority of the target robot can be preset or determined dynamically during the navigation control process.

[0085] Step 44, when the priority of the target robot is the first priority, the running speed of the target robot at the next moment is determined based on the first allowed operating range and the second allowed operating range; when the priority of the target robot is the second priority, the running speed of the target robot at the next moment is determined based on the first allowed operating range, the second allowed operating range and the allowed range of the masking speed of the target robot relative to other robots determined based on the masking speed.

[0086] Among them, the allowable range of the masking speed of the target robot relative to other robots refers to the allowable range of the masking speed of the target robot relative to other robots, that is, the masking speed half-plane described in the above embodiments.

[0087] When the priority of the target robot is the first priority, the running speed of the target robot at the next moment can be determined under the constraints of the first allowable running range and the second allowable running range.

[0088] When the priority of the target robot is the second priority, based on the position information, masking speed of the target robot, and the status information of each other robot, determine the allowable range of the masking speed of the target robot relative to each other robot. Under the constraints of the first allowable running range, the second allowable running range, and the allowable range of the masking speed, determine the running speed of the target robot at the next moment. By considering the allowable running range and the allowable range of the masking speed of other robots when determining the running speed at the next moment when the priority of the target robot is the second priority, mutual collision, congestion, and deadlock can be avoided.

[0089] Step 45, determine the control parameters of the target robot according to the running speed of the target robot at the next moment.

[0090] Based on the obtained running speed of the target robot at the next moment, determine the control parameters of the target robot, and output the control parameters to the motor of the target robot. Control the wheel speed of the target robot based on the control parameters so that the target robot reaches the running speed at the next moment. Exemplarily, when the target robot is a differential wheel train robot, the control parameters include the expected wheel speed of the left wheel and the expected wheel speed of the right wheel.

[0091] The robot navigation control method provided in this embodiment, when the priority of the target robot is the first priority, determines the running speed of the target robot at the next moment according to the first allowable running range of the target robot relative to the obstacle and the second allowable running range of the target robot relative to other robots; determines the running speed of the target robot at the next moment according to the first allowable running range, the second allowable running range and the masking speed. When the priority of the target robot is the first priority, it is not necessary to consider the constraint of the allowable range of the masking speed, and when the priority of the target robot is the second priority, it is simultaneously considered the allowable range of the masking speed and the constraints of the first allowable running range and the second allowable running range, so as to avoid causing deadlock or congestion of the robot in the target area, and at the same time, the transmission of this anti-deadlock intention in all robots in the target area can ensure that the system is free of congestion and deadlock, thereby improving the operating efficiency of the robot in the target area, and it is a completely decentralized decision-making, the robot only needs to obtain the state variables of other robots through communication to make decisions, realizes the unification of motion control and path planning, does not require separate path planning, speed planning and motion control, and can be completely realized through real-time speed planning.

[0092] On the basis of the above technical solution, the priority of the target robot is determined by the following process: determining the priority of the target robot according to the decision information of the target robot performing the current task.

[0093] The decision information may include the number of consecutive decisions of the target robot as a robot of the first priority, and may also include the number of consecutive decisions of the target robot being prohibited from becoming a robot of the first priority. A decision refers to the determination of a priority and control parameters. The current task is the task currently being executed by the target robot.

[0094] When the target robot performs the current task, the current priority of the target robot is determined based on the priority of each historical decision. When determining the priority of the target robot, if it is to become the first priority, it is necessary to consider whether there is a conflict with other first-priority robots. If there is a conflict, it is not allowed to become the first priority, that is, the priority of the target robot is determined to be the second priority, so as to avoid congestion or deadlock between high-priority robots.

[0095] In one embodiment of the present application, the decision information includes taboo steps and cumulative scores, wherein the taboo steps are the number of decisions that prohibit the robot from becoming the first priority under the current task, and the cumulative score is the number of decisions that accumulate as the first priority robot under the current task;

[0096] Determining the priority of the target robot according to the decision information of the target robot performing the current task includes:

[0097] When the target robot arrives at the destination, determining the priority of the target robot to be the second priority, setting the taboo step number to the initialization taboo step length, and setting the accumulated score to the initialization score;

[0098] When the target robot has not reached the destination, if the taboo step number of the target robot is greater than the taboo step number threshold, determining the priority of the target robot to be the second priority, and reducing the taboo step number of the target robot by a first target value;

[0099] When the taboo step number of the target robot is less than or equal to the taboo step number threshold, if there is a masked speed space obstacle between the target robot and other first robots of the first priority, the priority of the target robot is determined to be the second priority, and the taboo step number of the target robot is set to the initialization taboo step number;

[0100] If there is no speed space obstacle between the target robot and other first-priority first robots, the priority of the target robot is determined to be the first priority, and the accumulated score of the target robot is increased by a second target value.

[0101] The masked speed space obstacle refers to an obstacle in the masked speed space, which may cause the robot to collide or deadlock. The masked speed space obstacle between the target robot and the first robot means that the target robot and the first robot are obstacles to each other in the masked speed space.

[0102] If the target robot has currently reached the destination, it is determined that the target robot has completed the current task. At this time, the priority of the target robot is determined to be the second priority, the taboo step number of the target robot is set to the initialization taboo step length, and the cumulative score of the target robot is set to the initialization score. The initialization score is generally 0, and the initialization taboo step number can be an integer value greater than 0.

[0103] When the target robot has not reached the destination, first determine whether the target robot's taboo step number is greater than the taboo step number threshold. If the target robot's taboo step number is greater than the taboo step number threshold, it means that the target robot, as the second priority robot, has not yet reached the required number of decisions. At this time, the priority of the target robot is determined to be the second priority, and the target robot's taboo step number is reduced by the first target value. In order to simplify the processing, the taboo step number threshold can be set to 0, and the first target value can be set to 1. When the target robot's taboo step number is less than or equal to the taboo step number threshold, determine again whether the target robot has a masked speed space obstacle with other first priority first robots. If the target robot has a masked speed space obstacle with other first priority first robots, Speed ​​space obstacles are eliminated. If the priority of the target robot is set to the first priority at this time, it is possible to collide with or deadlock with other first-priority first robots, so the priority of the target robot is determined to be the second priority, and the number of taboo steps of the target robot is set to the initialization number of taboo steps; there is no speed space obstacle between the target robot and other first-priority first robots, which means that if the priority of the target robot is determined to be the first priority, the target robot will not collide with other first-priority first robots, so the priority of the target robot can be determined to be the first priority at this time, and the cumulative score of the target robot is increased by the second target value. In order to simplify the processing, the second target value can be 1.

[0104] Based on the two parameters of taboo steps and cumulative scores, the target robot can determine its own appropriate priority, realize decentralized priority self-determination, and ensure that there are no two high-priority robots that may contain conflicts in the set of high-priority robots.

[0105] On the basis of the above technical solution, before determining that the priority of the target robot is the second priority if there is a masked speed space obstacle between the target robot and other first robots of the first priority, the method further includes:

[0106] Determine, according to the current masking speed and the state information of the first robot, a masking speed spatial obstacle of the target robot relative to the first robot;

[0107] When the current masking speed belongs to the masking speed space obstacle of the target robot relative to the first robot, if the dot product of the current masking speed and the masking speed of the first robot is less than the target value, and the taboo step number of the target robot is less than the taboo step number of the first robot, it is determined that there is a masking speed space obstacle between the target robot and the first robot.

[0108] The current masking speed is the masking speed of the target robot at the current moment. The target value may be, for example, 0. The masking speed space obstacle is a set of masking speeds. When the masking speed of the target robot is within the set of masking speeds, it will collide or deadlock with the first robot.

[0109] According to the current camouflage speed of the target robot and the speed in the state information of the first robot, the camouflage speed space obstacle of the target robot relative to the first robot is determined. The camouflage speed space obstacle is determined in the same manner as the speed space obstacle (VO), except that the speed space obstacle is determined based on the speed of the target robot, while the camouflage speed space obstacle is determined based on the camouflage speed of the target robot.

[0110] When the current masking speed belongs to the masking speed space obstacle of the target robot relative to the first robot, it means that the current masking speed falls within the range of the masking speed space obstacle of the target robot relative to the first robot. At this time, if the dot product of the current masking speed of the target robot and the masking speed of the first robot is less than 0, and the taboo step number of the target robot is less than the taboo step number of the first robot, it is determined that there is a masking speed space obstacle between the target robot and the first robot.

[0111] In summary, the algorithm for the target robot to determine its own priority can be described as follows:

[0112] Algorithm 1: For the target robot A i Specifying Priorities

[0113] Algorithm input: R: all robots A i : Target robot

[0114] Algorithm output: A i Updated Priority

[0115] 1. Initialization: accumulate the scores Taboo steps Set to 0;

[0116] 2. Judgment:

[0117] a) If A i Arrival at destination:

[0118] ⅰ. A i The priority is set to the second priority and the accumulated score is reset And taboo steps

[0119] b) Otherwise:

[0120] ⅰ. If

[0121] 1. A i The priority is set to the second priority, and the number of taboo steps is updated:

[0122] ii. Otherwise:

[0123] 1. If there are other first-priority first-robot A j ,satisfy belong as well as as well as

[0124] a) Will A i Set the priority of Let η be;

[0125] 2. Otherwise:

[0126] b) A i The priority is set to the first priority.

[0127] Among them, η is the initialization taboo step size, Indicates the target robot A i The current masking speed, Indicates the first robot A j The masking speed, Indicates the target robot A i Relative to the first robot A j For a robot that has just been decided as the second priority, its taboo step number is initialized to η and it is not allowed to be considered as the first priority robot before the taboo step number reaches 0. The target robot is A i The number of decisions that the robot with the first priority has made under the current task represents a cumulative importance indicator. The number of taboo steps and the cumulative score will be reset to zero when the robot starts the next task.

[0128] This priority determination algorithm is a decentralized priority self-determination method that does not require centralized decision-making, ensuring that there are no two first-priority robots that may conflict in the first-priority robot set.

[0129] On the basis of the above technical solution, determining the real speed of the target robot at the next moment according to the first ORCA half-plane, the second ORCA half-plane and the masked speed half-plane includes:

[0130] Determine the intersection of all the first ORCA half-planes as a first ORCA half-plane set;

[0131] Determine the intersection of all the second ORCA half-planes and all the first ORCA half-planes as a second ORCA half-plane set;

[0132] Determine the intersection of all the masked velocity half-planes and all the first ORCA half-planes as a masked velocity half-plane set;

[0133] The actual speed of the target robot at the next moment is determined according to the first ORCA half-plane set, the second ORCA half-plane set and the masked speed half-plane set.

[0134] The first ORCA half-plane of the target robot relative to each obstacle is obtained by finding the intersection, and the first ORCA half-plane set is obtained; the second ORCA half-plane of the target robot relative to each other robot and the first ORCA half-plane of the target robot relative to each obstacle are obtained by finding the intersection, and the second ORCA half-plane set is obtained; the masked speed half-plane of the target robot relative to each other robot and the first ORCA half-plane of the target robot relative to each obstacle are obtained by finding the intersection, and the masked speed half-plane set is obtained; under the constraints of the first ORCA half-plane set, the second ORCA half-plane set and the masked speed half-plane set, the real speed of the target robot at the next moment is determined. By finding the intersection of each half-plane, it is convenient to determine the real speed under the constraints of each half-plane set.

[0135] On the basis of the above technical solution, the step of determining the running speed of the target robot at the next moment based on the first allowable running range, the second allowable running range and the allowable range of the cover speed of the target robot relative to other robots determined based on the cover speed includes:

[0136] Determining the permissible range of the target robot's camouflage speed relative to each other robot according to the camouflage speed of the target robot and the status information of each other robot;

[0137] Determine an intersection of all the first allowed operating ranges as a first allowed operating range set;

[0138] Determine an intersection of all the second allowable operating ranges and all the first allowable operating ranges as a second allowable operating range set;

[0139] Determine the intersection of all the masking speed allowable ranges and all the first allowable operating ranges as a masking speed allowable range set;

[0140] The running speed of the target robot at the next moment is determined according to the first allowed running range set, the second allowed running range set and the masking speed allowed range set.

[0141] Based on the position information of the target robot, the masking speed, and the state information of each of the other robots, an allowable range of the masking speed of the target robot relative to each of the other robots is determined.

[0142] The first allowable operating range of the target robot relative to each obstacle is obtained by finding the intersection, and the first allowable operating range set is obtained; the second allowable operating range of the target robot relative to each other robot and the first allowable operating range of the target robot relative to each obstacle are obtained by finding the intersection, and the second allowable operating range set is obtained; the masking speed allowable range set is obtained by finding the intersection of the target robot relative to each other robot and the first allowable operating range of the target robot relative to each obstacle; the operating speed of the target robot at the next moment is determined under the constraints of the first allowable operating range set, the second allowable operating range set and the masking speed allowable range set. By finding the intersection of each allowable range, it is convenient to determine the operating speed at the next moment under the constraints of each allowable range set.

[0143] Figure 5 1 is a flowchart of a navigation control method for a robot provided in an embodiment of the present application. In this embodiment, based on the above embodiment, the target robot is a differential gear robot, and the priority of the target robot is the second priority as an example for explanation. Figure 5 As shown, the method may include:

[0144] Step 401, obtaining the current position, current speed and current camouflage speed of the target robot, and obtaining the status information of other robots in the robot cluster except the target robot.

[0145] Step 402: Obtain boundary information of obstacles around the target robot.

[0146] Step 403, based on the current position, the position at the target distance from the actual center of the target robot in the current orientation of the target robot is determined as the instantaneous equivalent rotation center of the target robot, and the target distance is the minimum distance to obtain a fully controllable speed.

[0147] The position of the actual center can be determined based on the current position of the target robot. The current position of the target robot is the position information of the target robot at the current moment.

[0148] Figure 6 Schematic diagram of the kinematic model of the differential gear train robot in the embodiment of the present application. Figure 6 As shown in the figure, for a differential wheel robot, the left and right wheel speeds are independently controlled by their respective servo motors, r represents the wheel radius, and L represents the distance between the left and right wheels. The actual center c of the robot a The speed of is always perpendicular to the wheel axis, which makes the speed of this point not completely free and controllable. In order to obtain a completely controllable speed, the kinematic equivalent method can be used to translate the instantaneous equivalent rotation center from the actual center along the perpendicular line of the wheel axis to c e The radius of the robot is converted into R+D, where R represents the radius of the robot and D represents the target distance. The instantaneous center of rotation (ICR) is introduced here to facilitate the calculation of the robot's angular velocity ω.

[0149] Step 404: construct a first ORCA half-plane of the target robot relative to the obstacle according to the current position, the current speed and the boundary information.

[0150] Step 405: construct a second ORCA half-plane of the target robot relative to the other robots according to the current position, the current speed and the state information.

[0151] Step 406 , when the priority of the target robot is the second priority, constructing a masking speed half-plane of the target robot relative to other robots according to the current position, the current masking speed and the state information.

[0152] Step 407: determine the intersection of all the first ORCA half-planes as a first ORCA half-plane set.

[0153] Step 408: Determine the intersection of all the second ORCA half-planes and all the first ORCA half-planes as a second ORCA half-plane set.

[0154] Step 409: Determine the intersection of all the masked velocity half-planes and all the first ORCA half-planes as a masked velocity half-plane set.

[0155] Step 410: Determine the actual speed of the target robot at the next moment according to the first ORCA half-plane set, the second ORCA half-plane set and the masked speed half-plane set.

[0156] In one embodiment of the present application, determining the actual speed of the target robot at the next moment according to the first ORCA half-plane set, the second ORCA half-plane set and the masked speed half-plane set includes:

[0157] Determining a half-plane constraint condition of the target robot according to the first ORCA half-plane set, the second ORCA half-plane set, and the masked velocity half-plane set;

[0158] Under the half-plane constraint, the kinematic constraint and the angular control constraint of the differential gear train robot, based on the objective function, determining the speed of the instantaneous equivalent rotation center of the target robot at the next moment;

[0159] According to the speed of the instantaneous equivalent rotation center at the next moment, the real speed of the target robot at the next moment is determined.

[0160] Generate half-plane constraints including the first ORCA half-plane set, the second ORCA half-plane set and the masked speed half-plane set; solve the objective function about the speed of the instantaneous equivalent rotation center under the half-plane constraints, the kinematic constraints of the differential gear robot and the angular control constraints; determine the value of the speed when the objective function is minimum as the speed of the instantaneous equivalent rotation center of the target robot at the next moment; based on the relationship between the instantaneous equivalent rotation center and the actual center of the target robot, convert the speed of the instantaneous equivalent rotation center at the next moment to obtain the real speed of the target robot at the next moment.

[0161] In one embodiment of the present application, determining the running speed of the target robot at the next moment according to the first allowed running range set, the second allowed running range set and the masking speed allowed range set includes:

[0162] Determining a half-plane constraint condition of the target robot according to the first allowable operating range set, the second allowable operating range set, and the masking speed allowable range set;

[0163] Under the half-plane constraint, the kinematic constraint and the angular control constraint of the differential gear train robot, based on the objective function, determining the speed of the instantaneous equivalent rotation center of the target robot at the next moment;

[0164] According to the speed of the instantaneous equivalent rotation center at the next moment, the running speed of the target robot at the next moment is determined.

[0165] Generate a half-plane constraint condition including a first allowable operating range set, a second allowable operating range set and a masked speed allowable range set; solve the objective function about the speed of the instantaneous equivalent rotation center under the half-plane constraint condition, the kinematic constraint condition of the differential gear robot and the angular control constraint condition; determine the value of the speed when the objective function is minimum as the speed of the instantaneous equivalent rotation center of the target robot at the next moment; based on the relationship between the instantaneous equivalent rotation center and the actual center of the target robot, convert the speed of the instantaneous equivalent rotation center at the next moment to obtain the running speed of the target robot at the next moment.

[0166] In one embodiment of the present application, the objective function is expressed as follows:

[0167]

[0168] Wherein, v represents the velocity of the instantaneous equivalent rotation center at the next moment, v pref represents the global expected speed of the instantaneous equivalent rotation center, O represents the first ORCA half-plane set (i.e., the first allowable operating range set), R represents the second ORCA half-plane set (i.e., the second allowable operating range set), M represents the masked speed half-plane set (i.e., the masked speed allowable range set), δ i represents the constraint auxiliary variable of the first ORCA half plane (i.e., the first allowed operating range) corresponding to the i-th obstacle, δ j represents the constraint auxiliary variable of the second ORCA half plane (i.e., the second allowable operating range) corresponding to the jth obstacle, δ k represents the constraint auxiliary variable of the masked velocity half plane (i.e., the allowed range of masked velocity) corresponding to the kth obstacle, δ ω represents redundant variables, α 1 , α 2 , α 3 , α 4 , α 5 represents the weight coefficient, α 2 ,α 3 ,α 4 >>α 1 >0;

[0169] The half-plane constraint is expressed as follows:

[0170]

[0171] Among them, v x represents the horizontal axis component of the velocity of the instantaneous equivalent rotation center at the next moment, v y The vertical axis component of the velocity of the instantaneous equivalent rotation center at the next moment, δ ζrepresents the constraint auxiliary variable of the half plane ζ, ζ represents the union of O, R, and M, represents the position of O, R, and M in the velocity space, Indicates the directions of O, R, and M in velocity space.

[0172] In the above formula, v=(v x ,v y ),δ i , δ j , δ k , δ ω , δ ζ is a variable. ω are redundant variables that need to be solved.

[0173] From the objective function formula, we can see that the objective function consists of two parts. The first part is the velocity v of the robot’s instantaneous equivalent rotation center = (v x ,v y ) and v pref The second part is the violation of the half plane, that is, the plane redundant variables. The solution to this problem should be to minimize the violation of the velocity half plane and shorten v = (v x ,v y ) and v pref distance, which requires α 2 ,α 3 ,α 4 >>α 1 > 0. Weight coefficient α 1 , α 2 , α 3 , α 4 , α 5 is a predetermined value, and the weight coefficient α 5 It does not affect collision and deadlock, but mainly affects the degree of oscillation and the first four coefficients α 1 , α 2 , α 3 , α 4 It doesn't matter. pref It can be the global expected speed of the target robot at the instantaneous equivalent rotation center obtained by converting the global expected speed of the target robot.

[0174] In one embodiment of the present application, the kinematic constraint is expressed as follows:

[0175]

[0176] |v l |,|v r |≤v max (1e)

[0177]

[0178] Among them, v x represents the horizontal axis component of the velocity of the instantaneous equivalent rotation center at the next moment, v y represents the vertical axis component of the velocity of the instantaneous equivalent rotation center at the next moment, θ represents the current orientation of the target robot, L represents the distance between the left and right wheels of the target robot, D represents the distance between the equivalent rotation center of the target robot and the actual center, and v l represents the target robot's left wheel linear velocity at the next moment, v r represents the linear velocity of the right wheel of the target robot at the next moment, ω represents the angular velocity of the instantaneous equivalent rotation center of the target robot, and v max represents the maximum wheel speed of the target robot, represents the current left wheel linear speed of the target robot, represents the current right wheel linear speed of the target robot, a max represents the maximum acceleration of the target robot, and Δt represents the time step between the next moment and the current moment.

[0179] In the above formula, v=(v x ,v y ),v l 、v r is a variable.

[0180] The above constraints (1b) to (1f) are the kinematic constraints of the differential gear robot, among which (1b) to (1d) are the forward kinematic models; (1e) and (1f) set the maximum speed and acceleration.

[0181] In one embodiment of the present application, the angle control constraint is expressed as follows:

[0182]

[0183] Where, ω represents the angular velocity of the instantaneous equivalent rotation center of the target robot, a max represents the maximum acceleration of the target robot, L represents the distance between the left and right wheels of the target robot, θ represents the current orientation of the target robot, represents the omnidirectional solution obtained based on the objective function under the half-plane constraint, express The direction of v w represents the velocity component of the velocity perpendicular to the instantaneous orientation of the target robot at the next moment, T represents the fastest time for the current angular velocity of the target robot to decrease to 0, θ′ represents the angle between the current orientation and the omnidirectional solution, δω Represents a redundant variable.

[0184] In the above formula of angle control constraint, θ′ is the current orientation and omnidirectional solution The angle between is the angle that must be rotated with maximum angular acceleration within time T in order to eliminate oscillation.

[0185] The above objective function, half-plane constraints, kinematic constraints and angular control constraints together constitute the quadratic programming model of the speed of the instantaneous equivalent rotation center of the differential gear robot.

[0186] In actual use, if the model defined above does not consider the angular control constraint (1g), the front of the vehicle may sway. The reasons for this phenomenon include the small value of D and the small acceleration of the differential gear robot relative to the maximum speed. In this case, the robot can be said to have poor maneuverability. For robots with poor maneuverability, angular control needs to be introduced to improve the robot's maneuverability.

[0187] Figure 7a and Figure 7b FIG. 1 is an analysis diagram of the cause of the swaying phenomenon of the differential gear train robot in the embodiment of the present application. Figure 7a and Figure 7b As shown, It refers to the omnidirectional solution obtained by solving the quadratic programming problem by considering only the half-plane constraint (1a). A differential gear robot cannot reach instantaneous However, it will gradually approach this speed according to the kinematic constraints. At any time, the instantaneous equivalent rotation center c e The speed can be decomposed into where v ω Perpendicular to the robot's instantaneous orientation and |v ω ∣=ωD. When Very close to If the robot still has a large angular velocity, the robot's head will pass through and exceed And starts to oscillate. In practical applications, this oscillation occurs in two environments. First, let us consider a differential gear robot in a completely open environment. speed The angle between it and its component v is A smaller D value will result in When the two are close to overlap, Δα is very small. If the angular velocity is still very high, the front of the vehicle will oscillate. pref is constantly changing. If the newly solved omnidirectional velocity If it is very close to the current speed direction, the angular velocity cannot be reduced in time, causing the front of the vehicle to oscillate.

[0188] The embodiments of the present application can constrain the angular velocity to drop to 0 quickly through the angular control constraint condition, thereby avoiding the front oscillation of the vehicle caused by the failure to reduce the angular velocity in time; it provides an effective method to suppress the head deviation phenomenon caused by the difficulty of decelerating after high-speed operation or accelerating after low-speed operation of heavy-load robots. Traditionally, these robots have to reduce the maximum speed and motion performance to ensure safety and collision-free, but this problem can be avoided through the angular control constraint condition.

[0189] Step 411, determining the control parameters of the target robot according to the actual speed.

[0190] Among them, the true speed is the running speed of the target robot at the next moment.

[0191] The robot navigation control method provided in this embodiment can obtain a fully controllable speed through the instantaneous equivalent rotation center when the target robot is a differential gear robot, and can be solved by quadratic programming by combining the kinematic model of the differential gear robot, and the target distance between the instantaneous equivalent rotation center and the actual center is small, which can ensure that the robot cluster has no collision without almost increasing the effective radius of the robot. The robot cluster refers to all robots in the target area.

[0192] It should be noted that the above embodiment is described by taking the priority of the target robot as the second priority as an example. When the priority of the target robot is the first priority, the quadratic programming model of the speed of the instantaneous equivalent rotation center of the robot is similar to the quadratic programming model of the robot of the second priority, except that the relevant items of the masked speed half-plane set are not included in the objective function and the half-plane constraint condition (1a), that is, when the priority of the target robot is the first priority, the objective function can be expressed as: The half-plane constraint can be expressed as: ζ∈O∪R,δ ζ ≥0, all parameters are the same as above and will not be repeated here.

[0193] Figure 8 1 is a flowchart of a navigation control method for a robot provided in an embodiment of the present application. Based on the above embodiment, this embodiment takes the priority of the target robot as the second priority as an example to focus on the construction process of the masked speed half plane (i.e., the masked speed allowable range). Figure 8 As shown, the method may include:

[0194] Step 701, obtaining the current position, current speed and current camouflage speed of the target robot, and obtaining the status information of other robots in the robot cluster except the target robot.

[0195] Step 702: Obtain boundary information of obstacles around the target robot.

[0196] Step 703: construct a first ORCA half-plane of the target robot relative to the obstacle according to the current position, the current speed and the boundary information.

[0197] Step 704: construct a second ORCA half-plane of the target robot relative to the other robots according to the current position, the current speed and the state information.

[0198] Step 705, when the priority of the target robot is the second priority, determine the spatial obstacle of the target robot's masking speed relative to the other robots according to the current position, the current masking speed, and the position and speed in the state information.

[0199] When the priority of the target robot is the second priority, the target robot's masked speed space obstacle relative to each other robot is determined according to the state information of the target robot and the state information of each other robot. Specifically, when determining the masked speed space obstacle of the target robot relative to one of the other robots, the target robot is converted into a particle at the current position (the position information of the target robot at the current moment), and the other robots are converted into circles whose radius is the sum of the radius of the other robots and the radius of the target robot; the speed of the other robots relative to the target robot (particle) is determined to be the sum of the speed of the other robots and the current masked speed (the masked speed of the target robot at the current moment); two rays tangent to the circle after the conversion of the other robots are drawn from the particle to obtain the collision cone of the target robot relative to the other robots, and the sum of the collision cone and the speed of the other robots is determined as the masked speed space obstacle of the target robot relative to the other robots.

[0200] Step 706: construct a masking speed half-plane of the target robot relative to other robots according to the current masking speed and the masking speed space obstacle.

[0201] According to the masking speed space obstacle, the masking speed allowable range of the target robot relative to each other robot is determined respectively, and the masking speed half plane of the target robot relative to the other robots is obtained.

[0202] In one embodiment of the present application, constructing a masking speed half-plane of the target robot relative to other robots according to the current masking speed and the masking speed space obstacle includes:

[0203] According to the current masking speed and the masking speed space obstacle, the masking speed half plane (masking speed allowable range) of the target robot relative to each other robot is constructed according to the following formulas:

[0204]

[0205] Wherein, B represents the target robot, C represents the other robots, τ represents the time length during which the target robot does not collide with other robots, and R represents the set of all robots in the robot cluster (i.e., all robots in the target area). represents the masked velocity half plane of the target robot B relative to the other robots C, v m represents the current masking speed (i.e., the masking speed of the target robot at the current moment), represents the current omnidirectional speed of the target robot, u m Indicates from The velocity space vector formed by the nearest boundary point, represents the masked speed space obstacle of the target robot relative to the other robots, Indicates the current omnidirectional speed of other robots, n m Indicates the direction along the velocity space vector The external unit direction vector. τ represents the length of time that the target robot does not collide with other robots. It is a fixed value, that is, in each decision (determining the speed and control parameters of the target robot), it is necessary to consider that the target robot will not collide with other robots within τ time. The length of τ is much longer than the length of time between two adjacent decisions.

[0206] For the second priority target robot B, its velocity space obstacle VO and the resulting second ORCA half-plane for other robots C are given by As for the masked speed space obstacle, the target robot B is relatively close to the masked speed space obstacle of other robots C. is Construct, vector u m is from The velocity space vector formed by the nearest boundary point, n m It is the unit direction vector pointing outside the MVO along its unit direction. When the priority of the target robot is the first priority, there is no need to generate the masking speed half-plane. For the second priority target robot, when solving its masking speed and true speed (the running speed at the next moment), it is necessary to consider avoiding the ORCA and MCCA planes of other robots, and the true speed and masking speed determined in this way will cause other robots to be affected by the masking speed of the target robot when making decisions. In addition, the masking speed of the first priority robot does not need to consider the avoidance intention of the second priority robot, which makes the speed decision space of the first priority robot larger and easier to correct from the deadlock scenario.

[0207] Step 707: Determine the actual speed of the target robot at the next moment according to the first ORCA half-plane, the second ORCA half-plane and the masked speed half-plane.

[0208] Step 708: Determine the control parameters of the target robot according to the actual speed.

[0209] This embodiment determines the masked speed half-plane of the target robot relative to other robots when the priority of the target robot is the second priority, and determines the real speed of the target robot through the constraint of the masked speed half-plane, so that the decision-making process of the real speed can take into account avoiding other robots, thereby avoiding problems such as deadlock, congestion, and collision in the robot cluster; the robot can display beneficial group intelligent behaviors in narrow environments, such as narrow alleys, and can perform parking to give way, detours, three-point turns, zipper passage, etc., so that the robot cluster will not encounter congestion and deadlock when passing through narrow environments.

[0210] On the basis of the above technical solution, the method further comprises:

[0211] When the priority of the target robot is the first priority, determining the masking speed of the target robot at the next moment according to the first ORCA half-plane; or

[0212] When the priority of the target robot is the second priority, the masking speed of the target robot at the next moment is determined according to the first ORCA half-plane and the masking speed half-plane.

[0213] When the priority of the target robot is the first priority, after determining the first ORCA half-plane (i.e., the first allowed operating range), since the target robot is required to actively avoid obstacles, the target robot's hiding speed at the next moment can be determined based on the first ORCA half-plane, which is used for decision-making at the next moment to avoid obstacles. Moreover, each robot will not conflict with other first-priority robots when becoming a first-priority robot, thus ensuring that all first-priority robots will not collide.

[0214] When the priority of the target robot is the second priority, after determining the first ORCA half-plane (first allowable operating range) and the masking speed half-plane (masking speed allowable range), since the target robot needs to actively avoid obstacles and other robots, it is necessary to determine the masking speed of the target robot at the next moment based on the first ORCA half-plane and the masking speed half-plane, which is used for decision-making at the next moment to avoid obstacles and other robots.

[0215] On the basis of the above technical solution, determining the masking speed of the target robot at the next moment according to the first ORCA half-plane includes:

[0216] According to the first ORCA half plane, the masking speed of the target robot at the next moment is determined according to the following formula:

[0217]

[0218] in, represents the hiding speed of the target robot at the next moment when the priority of the target robot is the first priority, represents the intersection of all the first ORCA half-planes (the first allowed operating range), represents the first ORCA half plane, τ represents the time length for which the target robot does not collide with other robots, O represents the set of all obstacles, represents the global desired velocity of the target robot.

[0219] A robot cluster is a collection of all robots represents the set of robots with the second priority, and Represents the first priority set of robots.

[0220] The priority of target robot A is the first priority, that is, When , the hiding speed of the target robot A at the next moment is determined according to the above formula.

[0221] On the basis of the above technical solution, determining the masking speed of the target robot at the next moment according to the first ORCA half-plane and the masking speed half-plane includes:

[0222] According to the first ORCA half-plane (i.e., the first allowable operating range) and the masking speed half-plane (i.e., the allowable range of the masking speed), the masking speed of the target robot at the next moment is determined according to the following formula:

[0223]

[0224] in, represents the hiding speed of the target robot at the next moment when the priority of the target robot is the second priority, represents the intersection of all the first ORCA half-planes, represents the intersection of all the masked velocity half-planes, represents the intersection of all the masked velocity half-planes and all the first ORCA half-planes, τ represents the time length during which the target robot does not collide with other robots, R represents the set of all robots in all the robot clusters (i.e., all robots in the target area), represents the global desired velocity of the target robot.

[0225] The priority of the target robot B is the second priority, that is, When , the hiding speed of the target robot B at the next moment is determined according to the above formula.

[0226] The solution of the masking speed depends on the quadratic programming model introduced above. For the first-priority robot, the omnidirectional speed is solved only under the premise of the ORCA half-plane containing other robots and obstacles, which is the masking speed of the first-priority robot. For the second-priority robot, the MCCA half-plane set of all other robots needs to be added to solve the omnidirectional speed, which is the masking speed of the second-priority robot.

[0227] The navigation control method of the robot provided in the embodiment of the present application can be described by the following MCCA algorithm flow:

[0228] Algorithm 2: MCCA

[0229] Algorithm input: R: all robots O: all obstacles

[0230] Algorithm output: Each robot A i Control input

[0231] 1. Initialization;

[0232] 2. Start loop: For each A i ∈R:

[0233] a) Observation A i The current position and speed of

[0234] b) Observe obstacle boundaries;

[0235] c) From any A j≠i ∈R receives status information;

[0236] d) Execute Algorithm 1;

[0237] e) Build

[0238] f) For any A j≠i ∈R:

[0239] ⅰ. Construction

[0240] ii. If A i Belong to the second priority robot, then build

[0241] g) According to Building a collection

[0242] h) Based on Building a collection

[0243] i) Get the global expected speed

[0244] j) Using full QP (Quadratic Programming) to solve the masking speed

[0245] k) Using non-holonomic QP to solve for true velocity and control input

[0246] Among them, complete QP refers to not considering kinematic constraints, and non-complete QP refers to considering kinematic constraints.

[0247] The robot navigation control method provided in the embodiment of the present application ensures fully distributed and decentralized decision-making on the camouflage speed, true speed and priority of each robot, minimizing the information broadcast in the system; the method relies on real-time mapping technologies such as SLAM, and can be applied to scenarios where point cloud maps have been obtained, or real-time mapping scenarios where there are no maps at all. It can also be applied to scenarios where multi-robot clusters perform search and rescue, reconnaissance, etc., which cannot be pre-mapped and have a large number of dynamic obstacles, and can ensure that there are no collisions, congestion, or deadlocks.

[0248] Fig. 9 is a flowchart of the steps of a robot navigation control method provided in an embodiment of the present application. The robot navigation control method can be executed by a target robot, such as Fig. 9 As shown, the method may include:

[0249] Step 801, obtain a navigation map.

[0250] In one embodiment of the present application, the obtaining of the navigation map includes:

[0251] directly obtain the navigation map; or

[0252] The boundary information of obstacles around the target robot is acquired through sensors, and the navigation map is constructed according to the boundary information.

[0253] The target robot can directly obtain the navigation map that has been established; or, when the navigation map has not been established, it can also obtain the boundary information of obstacles around the target robot through sensors such as radar, camera, odometer, etc., and use SLAM technology to build a navigation map in real time based on the boundary information of the obstacles.

[0254] Step 802: receiving status information of other robots in the robot cluster except the target robot based on the broadcast network, and sending the current status of the target robot to the other robots.

[0255] The broadcast network is a transmission medium or communication channel connecting multiple sites, and messages sent by any site will be received by all other sites. In the implementation of this application, each robot is a site in the broadcast network. The state information includes: position information, running speed and cover speed; the cover speed is the speed that the robot tries to achieve in order to achieve the purpose of deadlock-free.

[0256] A robot cluster refers to all robots present in a target site or a local area of ​​the target site. The target site or the local area of ​​the target site may also be referred to as a target area. The robot cluster includes a target robot and a plurality of other robots. The status information of other robots includes information such as the position, speed, priority, etc. of other robots. The current state of the target robot includes the current position, current speed, and current transformation speed.

[0257] Step 803: Determine the actual speed of the target robot at the next moment according to the navigation map, the current state and the state information.

[0258] According to the boundary information of obstacles in the navigation map, the current state of the target robot (state information of the target robot) and the state information of other robots, speed planning is performed according to steps 203 to 205 in the above embodiment to determine the actual speed (running speed) of the target robot at the next moment.

[0259] Step 804: Determine control parameters of the target robot according to the actual speed, and output the control parameters to the motor of the target robot.

[0260] Based on the obtained real speed of the target robot at the next moment, the control parameter of the target robot is determined, and the control parameter is output to the motor of the target robot, and the wheel speed of the target robot is controlled based on the control parameter so that the target robot reaches the real speed at the next moment. Exemplarily, when the target robot is a differential gear train robot, the control parameter includes the expected wheel speed of the left wheel and the expected wheel speed of the right wheel.

[0261] The robot navigation control method provided in this embodiment controls the robot based on Figure 3 The robot is controlled in the manner shown, that is, communicating with other robots in the robot cluster through a broadcast network, receiving status information of other robots, and sending its own current status to other robots, planning the speed of the robot based on a navigation map built in advance or in real time, determining control parameters based on the actual speed obtained by planning, and controlling the wheel speed of the robot based on the control parameters.

[0262] The robot navigation control method provided in the present embodiment communicates with other robots in the robot cluster based on a broadcast network to receive status information of other robots, and then based on the acquired navigation map, the current status of the target robot and the status information of other robots, can determine the actual speed of the target robot at the next moment, and according to the actual speed, determine the control parameters of the target robot, and output the control parameters to the motor of the target robot, so that the motor drives the wheels of the robot based on the control parameters, so that the robot reaches the actual speed at the next moment. There is no need for a unified control system to control the movement of each robot in the robot cluster, but the speed can be determined based on the communication between each robot, and the movement of the robot is controlled based on the speed. It is a completely decentralized decision-making, which realizes the unification of motion control and path planning, does not require separate path planning, speed planning and motion control, and can be completely achieved through real-time speed planning.

[0263] It should be noted that, for the method embodiments, for the sake of simplicity, they are all expressed as a series of action combinations, but those skilled in the art should be aware that the embodiments of the present application are not limited by the described order of actions, because according to the embodiments of the present application, certain steps can be performed in other orders or simultaneously. Secondly, those skilled in the art should also be aware that the embodiments described in the specification are all preferred embodiments, and the actions involved are not necessarily required by the embodiments of the present application.

[0264] Fig.10 is a structural block diagram of a navigation control device for a robot provided in an embodiment of the present application, such as Fig.10 As shown, the navigation control device of the robot may include:

[0265] The robot state acquisition module 901 is used to acquire the current position, current speed and current masking speed of the target robot, and acquire the state information of other robots in the robot cluster except the target robot, wherein the current masking speed is the masking speed at the current moment, and the masking speed is the speed that the target robot updates and tries to achieve in order to achieve a deadlock-free state;

[0266] The obstacle information acquisition module 902 is used to obtain the boundary information of obstacles around the target robot;

[0267] An obstacle ORCA construction module 903 is used to construct a first ORCA half-plane of the target robot relative to the obstacle according to the current position, the current speed and the boundary information;

[0268] A robot ORCA construction module 904 is used to construct a second ORCA half-plane of the target robot relative to the other robots according to the current position, the current speed and the state information;

[0269] a real speed determination module 905, for determining the real speed of the target robot at the next moment according to the first ORCA half-plane and the second ORCA half-plane when the priority of the target robot is the first priority; or, for constructing the masked speed half-plane of the target robot relative to other robots according to the current position, the current masked speed and the state information when the priority of the target robot is the second priority, and determining the real speed of the target robot at the next moment according to the first ORCA half-plane, the second ORCA half-plane and the masked speed half-plane, wherein the first priority is higher than the second priority;

[0270] The control parameter determination module 906 is used to determine the control parameters of the target robot according to the actual speed.

[0271] Optionally, the device further comprises:

[0272] The priority determination module is used to determine the priority of the target robot according to the decision information of the target robot performing the current task.

[0273] Optionally, the decision information includes taboo steps and cumulative scores, wherein the taboo steps are the number of decisions that prohibit the robot from becoming the first priority, and the cumulative score is the number of decisions that accumulate as the first priority robot under the current task;

[0274] The priority determination module comprises:

[0275] a first priority determination unit, configured to determine, when the target robot arrives at a destination, that the priority of the target robot is the second priority, and to set the number of taboo steps as an initialization taboo step length, and to set the accumulated score as an initialization score;

[0276] A second priority determination unit is configured to, when the target robot has not reached the destination, determine that the priority of the target robot is the second priority and reduce the taboo step number of the target robot by a first target value if the taboo step number of the target robot is greater than a taboo step number threshold;

[0277] A third priority determination unit is used for determining the priority of the target robot as the second priority and setting the taboo step number of the target robot as the initialization taboo step number when the taboo step number of the target robot is less than or equal to the taboo step number threshold and if there is a masked speed space obstacle between the target robot and other first robots of the first priority;

[0278] The fourth priority determination unit is used to determine the priority of the target robot as the first priority if there is no masked speed space obstacle between the target robot and other first robots of the first priority, and increase the accumulated score of the target robot by a second target value.

[0279] Optionally, the priority determination module further includes:

[0280] a concealed speed space obstacle determination unit, configured to determine a concealed speed space obstacle of the target robot relative to the first robot according to the current concealed speed and the state information of the first robot;

[0281] A masking speed space obstacle determination unit is used to determine that there is a masking speed space obstacle between the target robot and the first robot when the current masking speed belongs to the masking speed space obstacle of the target robot relative to the first robot, if the dot product of the current masking speed and the masking speed of the first robot is less than 0, and the taboo step number of the target robot is less than the taboo step number of the first robot.

[0282] Optionally, the real speed determination module includes:

[0283] A first ORCA set determining unit, configured to determine an intersection of all the first ORCA half-planes as a first ORCA half-plane set;

[0284] A second ORCA set determining unit, configured to determine an intersection of all the second ORCA half-planes and all the first ORCA half-planes as a second ORCA half-plane set;

[0285] an MCCA set determining unit, configured to determine an intersection of all the masked velocity half-planes and all the first ORCA half-planes as a masked velocity half-plane set;

[0286] A real speed determination unit is used to determine the real speed of the target robot at a next moment according to the first ORCA half-plane set, the second ORCA half-plane set and the masked speed half-plane set.

[0287] Optionally, the target robot is a differential gear train robot;

[0288] The device also includes:

[0289] The equivalent center determination module is used to determine the position of the target robot at a target distance from the actual center of the target robot in the current orientation of the target robot according to the current position as the instantaneous equivalent rotation center of the target robot, and the target distance is the minimum distance to obtain a fully controllable speed.

[0290] Optionally, the real speed determination unit is specifically used for:

[0291] Determining a half-plane constraint condition of the target robot according to the first ORCA half-plane set, the second ORCA half-plane set, and the masked velocity half-plane set;

[0292] Under the half-plane constraint, the kinematic constraint and the angular control constraint of the differential gear train robot, based on the objective function, determining the speed of the instantaneous equivalent rotation center of the target robot at the next moment;

[0293] Determine the true velocity of the target robot at the next moment according to the velocity of the instantaneous equivalent rotation center at the next moment.

[0294] Optionally, the objective function is expressed as follows:

[0295]

[0296] where v represents the velocity of the instantaneous equivalent rotation center at the next moment, v pref represents the global desired velocity of the instantaneous equivalent rotation center, O represents the first set of ORCA half-planes, R represents the second set of ORCA half-planes, M represents the set of masked velocity half-planes, δ i represents the constraint auxiliary variable of the first ORCA half-plane corresponding to the i-th obstacle, δ j represents the constraint auxiliary variable of the second ORCA half-plane corresponding to the j-th obstacle, δ k represents the constraint auxiliary variable of the masked velocity half-plane corresponding to the k-th obstacle, δ ω represents a redundant variable, α 1 , α 2 , α 3 , α 4 , α 5 represents a weight coefficient, α 2 , α 3 , α 4 >> α 1 > 0;

[0297] The half-plane constraint conditions are expressed as follows:

[0298]

[0299] where v x represents the horizontal axis component of the velocity of the instantaneous equivalent rotation center at the next moment, v y represents the vertical axis component of the velocity of the instantaneous equivalent rotation center at the next moment, δ ζ represents the constraint auxiliary variable of the half-plane ζ, ζ represents the union of O, R, and M, represents the position of O, R, and M in the velocity space, represents the direction of O, R, and M in the velocity space.

[0300] Optionally, the kinematic constraint conditions are expressed as follows:

[0301]

[0302] |v l |, |v r | ≤ v max

[0303]

[0304] Among them, v x represents the horizontal axis component of the velocity of the instantaneous equivalent rotation center at the next moment, v y represents the vertical axis component of the velocity of the instantaneous equivalent rotation center at the next moment, θ represents the current orientation of the target robot, L represents the distance between the left and right wheels of the target robot, D represents the distance between the equivalent rotation center of the target robot and the actual center, and v l represents the target robot's left wheel linear velocity at the next moment, v r represents the linear velocity of the right wheel of the target robot at the next moment, ω represents the angular velocity of the instantaneous equivalent rotation center of the target robot, and v max represents the maximum wheel speed of the target robot, represents the current left wheel linear speed of the target robot, represents the current right wheel linear speed of the target robot, a max represents the maximum acceleration of the target robot, and Δt represents the time step between the next moment and the current moment.

[0305] Optionally, the angle control constraint condition is expressed as follows:

[0306]

[0307] Where, ω represents the angular velocity of the instantaneous equivalent rotation center of the target robot, a max represents the maximum acceleration of the target robot, L represents the distance between the left and right wheels of the target robot, θ represents the current orientation of the target robot, represents the omnidirectional solution obtained based on the objective function under the half-plane constraint, express The direction of v w represents the velocity component of the velocity perpendicular to the instantaneous orientation of the target robot at the next moment, T represents the fastest time for the current angular velocity of the target robot to decrease to 0, θ′ represents the angle between the current orientation and the omnidirectional solution, δ ω Represents a redundant variable.

[0308] Optionally, the real speed determination module includes:

[0309] An MVO determination unit, configured to determine a masking speed space obstacle of the target robot relative to the other robots according to a current position, the current masking speed, and the position and speed in the state information;

[0310] The MCCA half-plane determination unit is used to construct a masking speed half-plane of the target robot relative to other robots according to the current masking speed and the masking speed space obstacle.

[0311] Optionally, the MCCA half-plane determining unit is specifically used for:

[0312] According to the current masking speed and the masking speed space obstacle, the masking speed half-plane of the target robot relative to other robots is constructed according to the following formula:

[0313]

[0314] Wherein, B represents the target robot, C represents the other robots, τ represents the time length during which the target robot does not collide with the other robots, and R represents the set of all robots in the robot cluster. represents the masked velocity half plane of the target robot B relative to the other robots C, v m represents the current masking speed, represents the current omnidirectional speed of the target robot, u m Indicates from arrive The velocity space vector formed by the nearest boundary point, represents the masked speed space obstacle of the target robot relative to the other robots, Indicates the current omnidirectional speed of other robots, n m Indicates the direction along the velocity space vector The exterior unit direction vector.

[0315] Optionally, the device further comprises:

[0316] a first masking speed determining module, configured to determine, when the priority of the target robot is the first priority, the masking speed of the target robot at a next moment according to the first ORCA half-plane; or

[0317] The second masking speed determining module is used to determine the masking speed of the target robot at a next moment according to the first ORCA half-plane and the masking speed half-plane when the priority of the target robot is the second priority.

[0318] Optionally, the first masking speed determining module is specifically configured to:

[0319] According to the first ORCA half plane, the masking speed of the target robot at the next moment is determined according to the following formula:

[0320]

[0321] in, represents the hiding speed of the target robot at the next moment when the priority of the target robot is the first priority, represents the intersection of all the first ORCA half-planes, represents the first ORCA half plane, τ represents the time length for which the target robot does not collide with other robots, O represents the set of all obstacles, represents the global desired velocity of the target robot.

[0322] Optionally, the second masking speed determining module is specifically configured to:

[0323] According to the first ORCA half-plane and the masking speed half-plane, the masking speed of the target robot at the next moment is determined according to the following formula:

[0324]

[0325] in, represents the hiding speed of the target robot at the next moment when the priority of the target robot is the second priority, represents the intersection of all the first ORCA half-planes, represents the intersection of all the masked velocity half-planes, represents the intersection of all the masked velocity half-planes and all the first ORCA half-planes, τ represents the time length during which the target robot does not collide with other robots, R represents the set of all robots in all the robot clusters, represents the global desired velocity of the target robot.

[0326] For the specific implementation process of the functions corresponding to each module and unit in the device provided in the embodiment of the present application, please refer to Figures 2 to 8 The method embodiment shown here will not repeat the specific implementation process of the functions corresponding to each module and unit of the device.

[0327] The robot navigation control device provided in this embodiment determines the real speed of the target robot at the next moment according to the first ORCA half-plane of the target robot relative to the obstacle and the second ORCA half-plane of the target robot relative to other robots when the priority of the target robot is the first priority; when the priority of the target robot is the second priority, the masked speed half-plane of the target robot relative to other robots is constructed according to the current position of the target robot, the current masked speed and the status information of other robots, and the real speed of the target robot at the next moment is determined according to the first ORCA half-plane, the second ORCA half-plane and the masked speed half-plane. When the priority of the target robot is the first priority, there is no need to consider the constraints of the masked speed half-plane. When the priority of the target robot is the second priority, the masked speed half-plane is constructed, and when solving the true speed, the constraints of the masked speed half-plane are considered at the same time, which can avoid deadlock or congestion of the robot cluster. At the same time, the transmission of this anti-deadlock intention in the robot cluster can ensure that the system is free of congestion and deadlock, thereby improving the operating efficiency of robots in the robot cluster. It is a completely decentralized decision-making. The robot only needs to obtain the state variables of other robots through communication to make decisions, realizing the unification of motion control and path planning. There is no need for separate path planning, speed planning and motion control, and it can be completely achieved through real-time speed planning.

[0328] Fig.11 is a structural block diagram of a navigation control device for a robot provided in an embodiment of the present application, such as Fig.11 As shown, the navigation control device of the robot may include:

[0329] The state information acquisition module 111 is used to acquire the state information of each robot in the target area at the current moment, wherein the state information includes: position information, running speed and cover speed; the cover speed is the speed that the robot tries to achieve in order to achieve the purpose of deadlock-free;

[0330] An operating range acquisition module 112, used to acquire a first allowable operating range of the target robot to be controlled relative to obstacles and a second allowable operating range relative to other robots when the target robot to be controlled runs at the operating speed;

[0331] A priority acquisition module 113, used to acquire the priority of the target robot;

[0332] The running speed determination module 114 is used to determine the running speed of the target robot at the next moment based on the first allowed running range and the second allowed running range when the priority of the target robot is the first priority; and to determine the running speed of the target robot at the next moment based on the first allowed running range, the second allowed running range and the allowed range of the masking speed of the target robot relative to other robots determined based on the masking speed when the priority of the target robot is the second priority; wherein the first priority is higher than the second priority;

[0333] The control parameter determination module 115 is used to determine the control parameters of the target robot according to the running speed of the target robot at the next moment.

[0334] Optionally, the priority acquisition module includes:

[0335] A first priority determination unit is used to determine, when the target robot arrives at the destination, that the priority of the target robot is the second priority, and to set the taboo step number as the initialization taboo step length, and to set the cumulative score as the initialization score, wherein the taboo step number is the number of decisions that prohibit the robot from becoming the first priority under the current task, and the cumulative score is the number of decisions that are accumulated as the first priority robot under the current task;

[0336] A second priority determination unit is configured to, when the target robot has not reached the destination, determine that the priority of the target robot is the second priority and reduce the taboo step number of the target robot by a first target value if the taboo step number of the target robot is greater than a taboo step number threshold;

[0337] A third priority determination unit is used for determining the priority of the target robot as the second priority and setting the taboo step number of the target robot as the initialization taboo step number when the taboo step number of the target robot is less than or equal to the taboo step number threshold and if there is a masked speed space obstacle between the target robot and other first robots of the first priority; wherein the masked speed space obstacle refers to an obstacle in the masked speed space, which may cause the robot to collide or deadlock;

[0338] The fourth priority determination unit is used to determine the priority of the target robot as the first priority if there is no masked speed space obstacle between the target robot and other first robots of the first priority, and increase the accumulated score of the target robot by a second target value.

[0339] Optionally, the priority acquisition module further includes:

[0340] a concealed speed space obstacle determination unit, configured to determine a concealed speed space obstacle of the target robot relative to the first robot according to the concealed speed of the target robot and the state information of the first robot;

[0341] The masking speed space obstacle determination unit is used to determine that there is a masking speed space obstacle between the target robot and the first robot when the masking speed of the target robot belongs to the masking speed space obstacle of the target robot relative to the first robot, if the dot product of the masking speed of the target robot and the masking speed of the first robot is less than a target value, and the taboo step number of the target robot is less than the taboo step number of the first robot.

[0342] Optionally, the running speed determination module includes:

[0343] a concealment speed allowable range determining unit, for determining the concealment speed allowable range of the target robot relative to each other robot according to the concealment speed of the target robot and the status information of each other robot;

[0344] a first allowed range set determining unit, configured to determine an intersection of all the first allowed operating ranges as a first allowed operating range set;

[0345] a second allowed range set determining unit, configured to determine an intersection of all the second allowed operating ranges and all the first allowed operating ranges as a second allowed operating range set;

[0346] a masking speed allowable range set determining unit, configured to determine an intersection of all the masking speed allowable ranges and all the first allowable operating ranges as a masking speed allowable range set;

[0347] The running speed determining unit is used to determine the running speed of the target robot at the next moment according to the first allowed running range set, the second allowed running range set and the masked speed allowed range set.

[0348] Optionally, the target robot is a differential gear train robot;

[0349] The device also includes:

[0350] an equivalent center determination module, for determining, according to the position information of the target robot, a position at a target distance from the actual center of the target robot in the current orientation of the target robot as the instantaneous equivalent rotation center of the target robot, wherein the target distance is a minimum distance for obtaining a fully controllable speed;

[0351] The running speed determination unit is specifically used for:

[0352] Determining a half-plane constraint condition of the target robot according to the first allowable operating range set, the second allowable operating range set, and the masking speed allowable range set;

[0353] Under the half-plane constraint, the kinematic constraint and the angular control constraint of the differential gear train robot, based on the objective function, determining the speed of the instantaneous equivalent rotation center of the target robot at the next moment;

[0354] According to the speed of the instantaneous equivalent rotation center at the next moment, the running speed of the target robot at the next moment is determined.

[0355] Optionally, the objective function is expressed as follows:

[0356]

[0357] Wherein, v represents the velocity of the instantaneous equivalent rotation center at the next moment, v pref represents the global expected speed of the instantaneous equivalent rotation center, O represents the first allowable operating range set, R represents the second allowable operating range set, M represents the masking speed allowable range set, δ i represents the constraint auxiliary variable of the first allowed operating range corresponding to the i-th obstacle, δ j The constraint auxiliary variable representing the second allowable operating range corresponding to the jth obstacle, δ k The auxiliary variable that represents the allowed range of masking speed corresponding to the kth obstacle, δ ω represents redundant variables, α 1 , α 2 , α 3 , α 4 , α 5 represents the weight coefficient, α 2 ,α 3 ,α 4 >>α 1 >0;

[0358] The half-plane constraint is expressed as follows:

[0359]

[0360] Among them, v x represents the horizontal axis component of the velocity of the instantaneous equivalent rotation center at the next moment, v y The vertical axis component of the velocity of the instantaneous equivalent rotation center at the next moment, δ ζ represents the constraint auxiliary variable of the half plane ζ, ζ represents the union of O, R, and M, represents the position of O, R, and M in the velocity space, Indicates the directions of O, R, and M in velocity space.

[0361] Optionally, the kinematic constraint condition is expressed as follows:

[0362]

[0363] |v l |,|v r |≤v max

[0364]

[0365] Among them, v x represents the horizontal axis component of the velocity of the instantaneous equivalent rotation center at the next moment, v y represents the vertical axis component of the velocity of the instantaneous equivalent rotation center at the next moment, θ represents the current orientation of the target robot, L represents the distance between the left and right wheels of the target robot, D represents the distance between the equivalent rotation center of the target robot and the actual center, and v l represents the target robot's left wheel linear velocity at the next moment, v r represents the linear velocity of the right wheel of the target robot at the next moment, ω represents the angular velocity of the instantaneous equivalent rotation center of the target robot, and v max represents the maximum wheel speed of the target robot, represents the current left wheel linear speed of the target robot, represents the current right wheel linear speed of the target robot, a max represents the maximum acceleration of the target robot, and Δt represents the time step between the next moment and the current moment.

[0366] Optionally, the angle control constraint condition is expressed as follows:

[0367]

[0368]

[0369] Where, ω represents the angular velocity of the instantaneous equivalent rotation center of the target robot, a max represents the maximum acceleration of the target robot, L represents the distance between the left and right wheels of the target robot, θ represents the current orientation of the target robot, represents the omnidirectional solution obtained based on the objective function under the half-plane constraint, express The direction of v wrepresents the velocity component of the velocity perpendicular to the instantaneous orientation of the target robot at the next moment, T represents the fastest time for the current angular velocity of the target robot to decrease to 0, θ′ represents the angle between the current orientation and the omnidirectional solution, δ ω Represents a redundant variable.

[0370] Optionally, the masking speed allowable range determining unit includes:

[0371] a masked speed space obstacle determination subunit, configured to determine the masked speed space obstacles of the target robot relative to each of the other robots, respectively, based on the state information of the target robot and the state information of each of the other robots;

[0372] The masking speed allowable range determination subunit is used to determine the masking speed allowable range of the target robot relative to each other robot according to the masking speed of the target robot and the masking speed space obstacle.

[0373] Optionally, the masking speed allowable range determination subunit is specifically used for:

[0374] According to the camouflage speed of the target robot and the camouflage speed space obstacle, the permissible range of the camouflage speed of the target robot relative to each other robot is determined according to the following formulas:

[0375]

[0376] Wherein, B represents the target robot, C represents the other robots, τ represents the time length during which the target robot does not collide with the other robots, and R represents the set of all robots in the target area. represents the permissible range of the target robot B’s speed relative to other robots C, v m represents the hiding speed of the target robot, represents the current omnidirectional speed of the target robot, u m Indicates from The velocity space vector formed by the nearest boundary point, represents the masked speed space obstacle of the target robot relative to the other robots, Indicates the current omnidirectional speed of other robots, n m Indicates the direction along the velocity space vector The exterior unit direction vector.

[0377] Optionally, the device further comprises:

[0378] a first masking speed determining module, configured to determine the masking speed of the target robot at a next moment according to the first allowed operating range when the priority of the target robot is the first priority; or

[0379] The second masking speed determining module is used to determine the masking speed of the target robot at the next moment according to the first allowable operating range and the masking speed allowable range when the priority of the target robot is the second priority.

[0380] Optionally, the first masking speed determining module is specifically used to:

[0381] According to the first allowed operating range, the hiding speed of the target robot at the next moment is determined according to the following formula:

[0382]

[0383] in, represents the hiding speed of the target robot at the next moment when the priority of the target robot is the first priority, represents the intersection of all the first allowed operating ranges, represents the first allowed operating range, τ represents the time length during which the target robot does not collide with other robots, O represents the set of all obstacles, represents the global desired velocity of the target robot.

[0384] Optionally, the second masking speed determining module is specifically configured to:

[0385] According to the first allowable operating range and the allowable range of the masking speed, the masking speed of the target robot at the next moment is determined according to the following formula:

[0386]

[0387] in, represents the hiding speed of the target robot at the next moment when the priority of the target robot is the second priority, represents the intersection of all the first allowed operating ranges, represents the intersection of all the allowed ranges of masking speeds, represents the intersection of all the masking speed allowable ranges and all the first allowable operating ranges, τ represents the time length for which the target robot does not collide with other robots, R represents the set of all robots in all the target areas, represents the global desired velocity of the target robot.

[0388] The robot navigation control device provided in this embodiment, when the priority of the target robot is the first priority, determines the running speed of the target robot at the next moment according to the first allowable running range of the target robot relative to the obstacle and the second allowable running range of the target robot relative to other robots; determines the running speed of the target robot at the next moment according to the first allowable running range, the second allowable running range and the masking speed. When the priority of the target robot is the first priority, it is not necessary to consider the constraint of the allowable running range of the masking speed, and when the priority of the target robot is the second priority, it is simultaneously considered the allowable running range of the masking speed and the constraints of the first allowable running range and the second allowable running range, so as to avoid causing deadlock or congestion of the robot in the target area, and at the same time, the transmission of this anti-deadlock intention in all robots in the target area can ensure that the system is free of congestion and deadlock, thereby improving the operating efficiency of the robot in the target area, and it is a completely decentralized decision-making, the robot only needs to obtain the state variables of other robots through communication to make decisions, realizes the unification of motion control and path planning, does not require separate path planning, speed planning and motion control, and can be completely realized through real-time speed planning.

[0389] Fig.12 is a structural block diagram of a navigation control device for a robot provided in an embodiment of the present application, such as Fig.12 As shown, the navigation control device of the robot may include:

[0390] A navigation map acquisition module 1001 is used to acquire a navigation map;

[0391] The communication module 1002 is used to receive the status information of other robots in the robot cluster except the target robot based on the broadcast network, and send the current status of the target robot to the other robots;

[0392] A speed determination module 1003 is used to determine the real speed of the target robot at the next moment according to the navigation map, the current state and the state information;

[0393] The robot control module 1004 is used to determine the control parameters of the target robot according to the actual speed, and output the control parameters to the motor of the target robot.

[0394] Alternatively, the robot's navigation control device may include:

[0395] A navigation map acquisition module 1001 is used to acquire a navigation map;

[0396] The communication module 1002 is used to receive the status information of other robots in the target area except the target robot based on the broadcast network, and send the status information of the target robot to the other robots; the status information includes: position information, running speed and cover speed; the cover speed is the speed that the robot tries to achieve in order to achieve the purpose of deadlock-free;

[0397] The speed determination module 1003 is used to determine the running speed of the target robot at the next moment according to the navigation map and the status information of each robot;

[0398] The robot control module 1004 is used to determine the control parameters of the target robot according to the running speed of the target robot at the next moment, and output the control parameters to the motor of the target robot.

[0399] Optionally, the navigation map acquisition module is specifically used to:

[0400] directly obtain the navigation map; or

[0401] The boundary information of obstacles around the target robot is obtained through sensors, and the navigation map is constructed according to the boundary information.

[0402] For the specific implementation process of the functions corresponding to each module and unit in the device provided in the embodiment of the present application, please refer to Fig. 9 The method embodiment shown here will not repeat the specific implementation process of the functions corresponding to each module and unit of the device.

[0403] The robot control device provided in the present embodiment communicates with other robots in the robot cluster based on a broadcast network to receive status information of other robots, and then based on the acquired navigation map, the current status of the target robot and the status information of other robots, can determine the actual speed of the target robot at the next moment, and according to the actual speed, determine the control parameters of the target robot, and output the control parameters to the motor of the target robot, so that the motor drives the wheels of the robot based on the control parameters, so that the robot reaches the actual speed at the next moment. There is no need for a unified control system to control the movement of each robot in the robot cluster, but the speed can be determined based on the communication between each robot, and the movement of the robot is controlled based on the speed. It is a completely decentralized decision-making, which realizes the unification of motion control and path planning. There is no need for separate path planning, speed planning and motion control, and it can be completely achieved through real-time speed planning.

[0404] As for the device embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and the relevant parts can be referred to the partial description of the method embodiment.

[0405] Fig.13 is a structural block diagram of an electronic device provided in an embodiment of the present application, and the electronic device may be a robot, such as Fig.13 As shown, the electronic device 1100 may include one or more processors 1110 and one or more memories 1120 connected to the processors 1110. The electronic device 1100 may also include an input interface 1130 and an output interface 1140 for communicating with another device or system. The program code executed by the processor 1110 may be stored in the memory 1120.

[0406] The processor 1110 in the electronic device 1100 calls the program code stored in the memory 1120 to execute the navigation control method of the robot in the above embodiment.

[0407] According to one embodiment of the present application, a computer-readable storage medium is also provided, and the computer-readable storage medium includes but is not limited to a disk storage, a CD-ROM, an optical storage, etc., and a computer program is stored on the computer-readable storage medium, and when the computer program is executed by a processor, the navigation control method of the robot described in the aforementioned embodiment is implemented.

[0408] According to one embodiment of the present application, a computer program product is also provided, including a computer program or computer instructions, which, when executed by a processor, implements the navigation control method of the robot described in the above embodiment.

[0409] The various embodiments in this specification are described in a progressive manner, and each embodiment focuses on the differences from other embodiments. The same or similar parts between the various embodiments can be referenced to each other.

[0410] Those skilled in the art will appreciate that the embodiments of the present application can be provided as methods, devices, or computer program products. Therefore, the present application can adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment in combination with software and hardware. Moreover, the present application can adopt the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0411] The embodiments of the present application are described with reference to the flowcharts and / or block diagrams of the methods, terminal devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing terminal device to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing terminal device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.

[0412] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing terminal device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce a manufactured product including an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.

[0413] These computer program instructions can also be loaded onto a computer or other programmable data processing terminal device so that a series of operating steps are executed on the computer or other programmable terminal device to produce a computer-implemented process, thereby providing instructions for executing on the computer or other programmable terminal device to implement the process. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes.

[0414] Although the preferred embodiments of the present application have been described, those skilled in the art may make additional changes and modifications to these embodiments once they have learned the basic creative concept. Therefore, the appended claims are intended to be interpreted as including the preferred embodiments and all changes and modifications that fall within the scope of the embodiments of the present application.

[0415] Finally, it should be noted that, in this article, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or terminal device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or terminal device. In the absence of further restrictions, the elements defined by the sentence "comprise a ..." do not exclude the existence of other identical elements in the process, method, article or terminal device including the elements.

[0416] The above is a detailed introduction to the navigation control method, electronic device and storage medium of a robot provided by the present application. Specific examples are used in this article to illustrate the principles and implementation methods of the present application. The description of the above embodiments is only used to help understand the method of the present application and its core idea; at the same time, for general technical personnel in this field, according to the idea of ​​the present application, there will be changes in the specific implementation method and application scope. In summary, the content of this specification should not be understood as a limitation on the present application.

Claims

1. A navigation control method for a robot, characterized in that: include: Acquire the status information of each robot in the target area at the current moment, wherein the status information includes: position information, running speed and cover speed; the cover speed is the speed that the robot tries to achieve in order to achieve the purpose of deadlock-free; Obtaining a first allowable operating range relative to obstacles and a second allowable operating range relative to other robots of the target robot to be controlled when the target robot runs at the running speed; Obtaining the priority of the target robot; When the priority of the target robot is the first priority, the running speed of the target robot at the next moment is determined based on the first allowed running range and the second allowed running range; when the priority of the target robot is the second priority, the running speed of the target robot at the next moment is determined based on the first allowed running range, the second allowed running range and the allowed range of the masking speed of the target robot relative to other robots determined based on the masking speed; wherein the first priority is higher than the second priority; The control parameters of the target robot are determined according to the running speed of the target robot at the next moment.

2. The method according to claim 1, characterized in that The obtaining the priority of the target robot comprises: When the target robot arrives at the destination, the priority of the target robot is determined to be the second priority, and the taboo step number is set as the initialization taboo step length, and the cumulative score is set as the initialization score, the taboo step number is the number of decisions that prohibit the robot from becoming the first priority under the current task, and the cumulative score is the number of decisions that are accumulated as the first priority robot under the current task; When the target robot has not reached the destination, if the taboo step number of the target robot is greater than the taboo step number threshold, determining the priority of the target robot to be the second priority, and reducing the taboo step number of the target robot by a first target value; When the taboo step number of the target robot is less than or equal to the taboo step number threshold, if there is a masked speed space obstacle between the target robot and other first robots of the first priority, the priority of the target robot is determined to be the second priority, and the taboo step number of the target robot is set to the initialization taboo step number; wherein the masked speed space obstacle refers to an obstacle in the masked speed space, which may cause the robot to collide or deadlock; If there is no speed space obstacle between the target robot and other first-priority first robots, the priority of the target robot is determined to be the first priority, and the accumulated score of the target robot is increased by a second target value.

3. The method according to claim 2, characterized in that Before determining that the priority of the target robot is the second priority if there is a masked speed space obstacle between the target robot and other first robots of the first priority, the method further includes: Determine a spatial obstacle of the target robot's concealment speed relative to the first robot according to the concealment speed of the target robot and the state information of the first robot; When the masking speed of the target robot belongs to the masking speed space obstacle of the target robot relative to the first robot, if the dot product of the masking speed of the target robot and the masking speed of the first robot is less than the target value, and the taboo step number of the target robot is less than the taboo step number of the first robot, it is determined that there is a masking speed space obstacle between the target robot and the first robot.

4. The method according to any one of claims 1 to 3, characterized in that: The determining the running speed of the target robot at the next moment based on the first allowed running range, the second allowed running range and the allowed range of the covering speed of the target robot relative to other robots determined based on the covering speed includes: Determining the permissible range of the target robot's camouflage speed relative to each other robot according to the camouflage speed of the target robot and the status information of each other robot; Determine an intersection of all the first allowed operating ranges as a first allowed operating range set; Determine an intersection of all the second allowable operating ranges and all the first allowable operating ranges as a second allowable operating range set; Determine the intersection of all the masking speed allowable ranges and all the first allowable operating ranges as a masking speed allowable range set; The running speed of the target robot at the next moment is determined according to the first allowed running range set, the second allowed running range set and the masking speed allowed range set.

5. The method according to claim 4, characterized in that The target robot is a differential gear train robot; Before acquiring the first allowable operating range of the target robot to be controlled relative to obstacles and the second allowable operating range relative to other robots when the target robot to be controlled runs at the operating speed, the method further includes: According to the position information of the target robot, a position at a target distance from the actual center of the target robot in the current orientation of the target robot is determined as the instantaneous equivalent rotation center of the target robot, wherein the target distance is a minimum distance to obtain a fully controllable speed; The step of determining the running speed of the target robot at the next moment according to the first allowed running range set, the second allowed running range set and the masked speed allowed range set comprises: Determining a half-plane constraint condition of the target robot according to the first allowable operating range set, the second allowable operating range set, and the masking speed allowable range set; Under the half-plane constraint, the kinematic constraint and the angular control constraint of the differential gear train robot, based on the objective function, determining the speed of the instantaneous equivalent rotation center of the target robot at the next moment; According to the speed of the instantaneous equivalent rotation center at the next moment, the running speed of the target robot at the next moment is determined.

6. The method according to claim 5, characterized in that The objective function is expressed as follows: Wherein, v represents the velocity of the instantaneous equivalent rotation center at the next moment, v pref represents the global expected speed of the instantaneous equivalent rotation center, O represents the first allowable operating range set, R represents the second allowable operating range set, M represents the masking speed allowable range set, δ i represents the constraint auxiliary variable of the first allowed operating range corresponding to the i-th obstacle, δ j The constraint auxiliary variable representing the second allowable operating range corresponding to the jth obstacle, δ k The auxiliary variable that represents the allowed range of masking speed corresponding to the kth obstacle, δ ω represents redundant variables, α1, α2, α3, α4, α5 represent weight coefficients, α2, α3, α4>>α1>0; The half-plane constraint is expressed as follows: Among them, v x represents the horizontal axis component of the velocity of the instantaneous equivalent rotation center at the next moment, v y The vertical axis component of the velocity of the instantaneous equivalent rotation center at the next moment, δ ζ represents the constraint auxiliary variable of the half plane ζ, ζ represents the union of O, R, and M, represents the position of O, R, and M in the velocity space, Indicates the directions of O, R, and M in velocity space.

7. The method according to claim 5, characterized in that The kinematic constraints are expressed as follows: |v l |,|v r |≤v max Among them, v x represents the horizontal axis component of the velocity of the instantaneous equivalent rotation center at the next moment, v y represents the vertical axis component of the velocity of the instantaneous equivalent rotation center at the next moment, θ represents the current orientation of the target robot, L represents the distance between the left and right wheels of the target robot, D represents the distance between the equivalent rotation center of the target robot and the actual center, and v l represents the left wheel linear velocity of the target robot at the next moment, v r represents the linear velocity of the right wheel of the target robot at the next moment, ω represents the angular velocity of the instantaneous equivalent rotation center of the target robot, and v max represents the maximum wheel speed of the target robot, represents the current left wheel linear speed of the target robot, represents the current right wheel linear speed of the target robot, a max represents the maximum acceleration of the target robot, and Δt represents the time step between the next moment and the current moment.

8. The method according to claim 5, characterized in that The angle control constraint is expressed as follows: Where, ω represents the angular velocity of the instantaneous equivalent rotation center of the target robot, a max represents the maximum acceleration of the target robot, L represents the distance between the left and right wheels of the target robot, θ represents the current orientation of the target robot, represents the omnidirectional solution obtained based on the objective function under the half-plane constraint, express The direction of v w represents the velocity component of the velocity perpendicular to the instantaneous orientation of the target robot at the next moment, T represents the fastest time for the current angular velocity of the target robot to decrease to 0, θ ′ represents the angle between the current orientation and the omnidirectional solution, δ ω Represents a redundant variable.

9. The method according to claim 4, characterized in that The step of determining the permissible range of the target robot's camouflage speed relative to each other robot based on the camouflage speed of the target robot and the status information of each other robot comprises: According to the state information of the target robot and the state information of each other robot, respectively determine the obscured speed space obstacle of the target robot relative to each other robot; According to the masking speed of the target robot and the masking speed spatial obstacle, the permissible range of the masking speed of the target robot relative to each other robot is determined respectively.

10. The method according to claim 9, characterized in that The step of determining the permissible range of the target robot's camouflage speed relative to each of the other robots according to the camouflage speed of the target robot and the camouflage speed space obstacle comprises: According to the camouflage speed of the target robot and the camouflage speed space obstacle, the permissible range of the camouflage speed of the target robot relative to each other robot is determined according to the following formulas: Wherein, B represents the target robot, C represents the other robots, τ represents the time length during which the target robot does not collide with the other robots, and R represents the set of all robots in the target area. represents the permissible range of the target robot B’s speed relative to other robots C, v m represents the hiding speed of the target robot, represents the current omnidirectional speed of the target robot, u m Indicates from arrive The velocity space vector formed by the nearest boundary point, represents the masked speed space obstacle of the target robot relative to the other robots, Indicates the current omnidirectional speed of other robots, n m Indicates the direction along the velocity space vector The exterior unit direction vector.

11. The method according to any one of claims 1 to 3, characterized in that: Also includes: When the priority of the target robot is the first priority, determining the hiding speed of the target robot at the next moment according to the first allowed operating range; or When the priority of the target robot is the second priority, the concealment speed of the target robot at the next moment is determined according to the first allowable operating range and the concealment speed allowable range.

12. The method according to claim 11, characterized in that The step of determining the hiding speed of the target robot at the next moment according to the first allowed operating range includes: According to the first allowed operating range, the hiding speed of the target robot at the next moment is determined according to the following formula: in, represents the hiding speed of the target robot at the next moment when the priority of the target robot is the first priority, represents the intersection of all the first allowed operating ranges, represents the first allowed operating range, τ represents the time length for which the target robot does not collide with other robots, O represents the set of all obstacles, represents the global desired velocity of the target robot.

13. The method according to claim 11, characterized in that The step of determining the hiding speed of the target robot at the next moment according to the first allowable operating range and the hiding speed allowable range includes: According to the first allowable operating range and the allowable range of the masking speed, the masking speed of the target robot at the next moment is determined according to the following formula: in, represents the hiding speed of the target robot at the next moment when the priority of the target robot is the second priority, represents the intersection of all the first allowed operating ranges, represents the intersection of all the allowed ranges of masking speeds, represents the intersection of all the masking speed allowable ranges and all the first allowable operating ranges, τ represents the length of time that the target robot does not collide with other robots, R represents the set of all robots in all the target areas, represents the global desired velocity of the target robot.

14. A navigation control method for a robot, characterized in that: include: Get navigation map; Receive status information of other robots in a target area except a target robot based on a broadcast network, and send the status information of the target robot to the other robots; The state information includes: position information, running speed and cover speed; the cover speed is the speed that the robot tries to reach in order to achieve the purpose of no deadlock; Determine the running speed of the target robot at the next moment according to the navigation map and the status information of each robot; According to the running speed of the target robot at the next moment, the control parameters of the target robot are determined, and the control parameters are output to the motor of the target robot.

15. The method according to claim 14, characterized in that The obtaining of the navigation map comprises: directly obtain the navigation map; or The boundary information of obstacles around the target robot is obtained through sensors, and the navigation map is constructed according to the boundary information.

16. An electronic device, characterized in that: include: A processor, a memory, and a computer program stored in the memory and executable on the processor, wherein the computer program, when executed by the processor, implements the navigation control method of the robot as described in any one of claims 1 to 13 or implements the navigation control method of the robot as described in any one of claims 14 to 15.

17. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the navigation control method of the robot as described in any one of claims 1-13 or the navigation control method of the robot as described in any one of claims 14-15 is implemented.

18. A computer program product, characterized in that It comprises a computer program or a computer instruction, which, when executed by a processor, implements the navigation control method of the robot as described in any one of claims 1 to 13 or implements the navigation control method of the robot as described in any one of claims 14-15.