Robot control method, device and data processing method and device
By requesting a pass permission from the server when the robot detects a control road entrance and deciding whether to pass according to the road entrance status, the collision and blockage problems caused by the robot's detection blind spots are solved, and the pass efficiency of the road entrance is improved.
Patent Information
- Application Number
- CN202110920908.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-08-11
- Publication Date
- 2025-08-08
- Estimated Expiration
- 2041-08-11
AI Technical Summary
In the logistics and warehousing environment, the problems of road intersection collisions and traffic jamming caused by detection of blind spots are difficult to effectively solve. The existing methods to improve the visual ability of robots are costly and have limited results.
When the robot detects the control road entrance, it initiates a pass request to the server. The server decides whether to issue a pass permit instruction based on the movement direction and queue status of the robot in the road entrance. If the permission instruction is not received, the movement will be suspended until the permission is obtained.
This greatly reduces the collision and traffic jam caused by robots in the road entrance due to detection blind spots, and improves the traffic efficiency of the road entrance entrance.
Smart Images

Figure CN115890646B_ABST
Abstract
Description
Technical Field
[0001] The embodiments of the present application relate to the field of robot control technology, and in particular, to a robot control method and device, and a data processing method and device. Background Art
[0002] With the rise and development of e-commerce, the logistics industry has grown rapidly. To reduce labor costs, robots are often used to handle cargo in logistics warehousing environments. However, logistics warehousing environments are often complex, with numerous shelves and objects stacked on the floor. This makes robot collisions more likely to occur in scenarios where robots of different brands coexist. This is especially true when robots pass through transport intersections, resulting in a higher probability of collisions or obstructions.
[0003] In the prior art, to address the problem of robots easily colliding at intersections, the robot's sensors or visual capabilities are usually enhanced to avoid obstacles (such as shelves or other robots).
[0004] However, in actual environments, robots often have some blind spots in detection, and improving the robot's visual ability to avoid obstacles often requires higher R&D costs, and it cannot completely avoid the problem of robots colliding at intersections. Summary of the Invention
[0005] The embodiments of the present application provide a robot control method and device, as well as a data processing method and device, which can greatly reduce the problem of robot collision or traffic congestion at the intersection due to detection blind spots of robots.
[0006] In a first aspect, an embodiment of the present application provides a robot control method, comprising:
[0007] When the target robot is detected moving to a controlled crossing, a crossing passage request is initiated to the server. The server is configured to determine whether to issue a notification permission instruction to the target robot based on the movement direction of the passing robots in the controlled crossing, the queue status of the queuing robots, and the movement direction of the target robot;
[0008] If a notification permission instruction is received from the server, the target robot is controlled to pass through the control crossing;
[0009] If the notification permission instruction is not received, the target robot is controlled to pause moving until the notification permission instruction is received.
[0010] Optionally, before initiating the crossing pass request to the server, the method further includes:
[0011] The target robot is controlled to move according to the planned path of the target robot, and during the movement of the target robot, it is determined whether the target robot passes through a controlled intersection based on the planned path and a pre-established environment map.
[0012] Optionally, during the movement of the target robot, determining whether the target robot passes through a controlled intersection based on the planned path and a pre-established environment map includes:
[0013] During the movement of the target robot, obtaining positioning information of the target robot;
[0014] Determining whether the target robot has entered a pre-demarcated crossing resource application area based on the positioning information, the planned path, and a pre-established environment map;
[0015] If it is determined that the target robot has entered the crossing resource application area, it is determined that the target robot has passed through the controlled crossing.
[0016] Optionally, during the movement of the target robot, before determining whether the target robot passes through a controlled crossing based on the planned path and a pre-established environment map, the method further includes:
[0017] The first crossing control information is determined from a pre-established environmental map, wherein the first crossing control information includes a plurality of controlled crossings divided by the server and a controlled crossing area and a crossing resource application area corresponding to each controlled crossing, and the controlled crossing area is ≤ the crossing resource application area.
[0018] Optionally, during the movement of the target robot, before determining whether the target robot passes through a controlled crossing based on the planned path and a pre-established environment map, the method further includes:
[0019] Determining whether second road crossing control information is received within the broadcast range, the second road crossing control information including multiple controlled road crossings updated by the server and a controlled road crossing area and a road crossing resource application area corresponding to each controlled road crossing, and the controlled road crossing area ≤ the road crossing resource application area ≤ the broadcast range;
[0020] If the second crossing control information is received, the step of obtaining the positioning information of the target robot during the movement of the target robot is continued.
[0021] Optionally, it also includes:
[0022] If the notified permission instruction is received, the positioning information and moving direction of the target robot are synchronized to the server in real time while the target robot is controlled to pass through the controlled crossing.
[0023] Optionally, it also includes:
[0024] If a queuing instruction sent by the server is received, the queuing instruction carries the estimated passing time of the target robot. Based on the task completion deadline of the target robot and the estimated passing time, the target robot is controlled to pause moving until the notification permission instruction is received or the planned path is updated.
[0025] Optionally, it also includes:
[0026] If a queuing instruction sent by the server is received, the queuing instruction carries the current queuing order of the target robot, and an estimated passage time of the target robot is calculated;
[0027] Based on the task completion time limit of the target robot and the estimated travel time, the target robot is controlled to suspend movement until the notification permission instruction is received or the planned path is updated.
[0028] Optionally, the controlling the target robot to pause moving until receiving the notification permission instruction or updating the planned path based on the task completion time limit of the target robot and the estimated travel time includes:
[0029] Determine the exit queue time threshold based on the target robot's task completion time limit and planned path;
[0030] If the estimated travel time is greater than the crossing queue time threshold, controlling the target robot to update the planned path; or
[0031] If the estimated travel time is less than the crossing queue time threshold, the target robot is controlled to pause moving until the notification permission instruction is received.
[0032] In a second aspect, an embodiment of the present application provides a data processing method, including:
[0033] receiving a crossing passage request sent by a target robot moving to a controlled crossing, the crossing passage request carrying a moving direction of the target robot;
[0034] Determining whether to issue a notification permission instruction to the target robot based on the movement direction of the passing robot in the controlled intersection, the queue status of the queuing robot, and the movement direction of the target robot;
[0035] If there are no passing robots or queuing robots in the controlled crossing or the moving direction of the passing robot is the same as that of the target robot, issuing a notification permission instruction to the target robot so that the target robot passes through the controlled crossing upon receiving the notification permission instruction;
[0036] If the moving direction of the robot passing through the controlled intersection is different from the moving direction of the target robot, it is prohibited to issue a notification permission instruction to the target robot, so that when the target robot does not receive the notification permission instruction, it will suspend movement until it receives the notification permission instruction.
[0037] Optionally, before receiving the crossing passage request sent by the target robot when it moves to the controlled crossing, the method further includes:
[0038] In a pre-established environmental map, multiple controlled crossings and a controlled crossing area corresponding to each controlled crossing and a crossing resource application area corresponding to each controlled crossing area are divided, and the controlled crossing area is ≤ the crossing resource application area, so that the target robot can determine that it has entered the pre-divided crossing resource application area based on the positioning information, the planned path and the pre-established environmental map, and after determining that it has passed the controlled crossing, it initiates a crossing passage request to the server.
[0039] Optionally, before receiving the crossing passage request sent by the target robot when it moves to the controlled crossing, the method further includes:
[0040] The controlled crossings and the controlled crossing areas, crossing resource application areas, and broadcast areas corresponding to each controlled crossing are updated based on the width of each crossing, the busyness of each crossing, the width of the roads near each crossing, and the layout near each crossing.
[0041] Optionally, it also includes:
[0042] The second crossing control information is broadcast within the broadcast range through a broadcast signal, wherein the second crossing control information includes multiple updated controlled crossings and a controlled crossing area corresponding to each controlled crossing, and the controlled crossing area ≤ the crossing resource application area ≤ the broadcast range, so that the target robot can determine that it has entered the pre-divided crossing resource application area based on the positioning information, the planned path and the pre-established environmental map, and after determining that it has passed the controlled crossing, initiate a crossing passage request to the server.
[0043] Optionally, it also includes:
[0044] After issuing a notification permission instruction to the target robot, while the target robot passes through the controlled crossing, the positioning information and moving direction of the target robot are obtained in real time by calling a camera set at the controlled crossing.
[0045] Optionally, after prohibiting the issuance of the notification permission instruction to the target robot if the moving direction of the robot passing through the controlled crossing is different from the moving direction of the target robot, the method further includes:
[0046] A queuing instruction is sent to the target robot, wherein the queuing instruction carries the estimated travel time of the target robot, so that the target robot pauses moving based on the task completion time limit and the estimated travel time until the notification permission instruction is received or the planned path is updated.
[0047] Optionally, after prohibiting the issuance of the notification permission instruction to the target robot if the moving direction of the robot passing through the controlled crossing is different from the moving direction of the target robot, the method further includes:
[0048] A queuing instruction is sent to the target robot, wherein the queuing instruction carries the current queuing order of the target robot, so that the target robot calculates the estimated passage time of the target robot, and based on the task completion time limit and the estimated passage time, suspends movement until the notification permission instruction is received or the planned path is updated.
[0049] Optionally, it also includes:
[0050] If the target robot pauses moving until receiving the notification permission instruction, the target robot is determined as a queuing robot in the controlled intersection, so that the target robot queues in a queue to wait for obtaining the notification permission instruction.
[0051] Optionally, it also includes:
[0052] If all the passing robots in the controlled crossing have passed the crossing, a permission instruction will be issued to the queuing robot with the highest priority in the queue. The longer the queuing time of the queuing robot, the higher the priority of the queuing robot. The queuing time includes the time spent queuing at each controlled crossing in the path planning of the queuing robot.
[0053] Optionally, it also includes: controlling the physical traffic lights of the controlled intersection according to the traffic conditions of the controlled intersection.
[0054] In a third aspect, an embodiment of the present application provides a robot control device, comprising:
[0055] A first sending module is configured to initiate a crossing passage request to a server when detecting that a target robot has moved to a controlled crossing. The server is configured to determine whether to issue a notification permission instruction to the target robot based on the movement direction of the robots passing through the controlled crossing, the queue status of the queuing robots, and the movement direction of the target robot;
[0056] The first control module is used to control the target robot to pass through the controlled crossing if a notification permission instruction is received from the server; if the notification permission instruction is not received, control the target robot to pause moving until the notification permission instruction is received.
[0057] In a fourth aspect, an embodiment of the present application provides a data processing device, including:
[0058] A second receiving module is configured to receive a crossing passage request sent by a target robot when the target robot moves to a controlled crossing, wherein the crossing passage request carries a moving direction of the target robot;
[0059] A second determination module is configured to determine whether to issue a notification permission instruction to the target robot based on the movement direction of the passing robot in the controlled intersection, the queue status of the queuing robot, and the movement direction of the target robot;
[0060] The second sending module is used to issue a notification permission instruction to the target robot if there is no passing robot and queuing robot in the controlled crossing or the moving direction of the passing robot is the same as the moving direction of the target robot, so that the target robot passes through the controlled crossing when receiving the notification permission instruction; if the moving direction of the passing robot in the controlled crossing is different from the moving direction of the target robot, it is prohibited to issue a notification permission instruction to the target robot, so that when the target robot does not receive the notification permission instruction, it suspends movement until it receives the notification permission instruction.
[0061] In a fifth aspect, an embodiment of the present application provides a robot, which includes a processing component and a storage component; the storage component stores one or more computer instructions; the one or more computer instructions are used to be called and executed by the processing component to implement the robot control method as described above.
[0062] In a sixth aspect, an embodiment of the present application provides a computing device comprising a processing component and a storage component; the storage component stores one or more computer instructions; the one or more computer instructions are used to be called and executed by the processing component to implement the robot control method and the data processing method as described above.
[0063] In a seventh aspect, an embodiment of the present application provides a computer storage medium storing a computer program. When the computer program is executed by a computer, the robot control method and the data processing method described above are implemented.
[0064] The functions can be implemented by hardware or by hardware executing corresponding software. The hardware or software includes one or more modules corresponding to the functions.
[0065] In an embodiment of the present application, when it is detected that the target robot moves to a controlled crossing, a crossing passage request is initiated to the server. The server is used to determine whether to issue a notification permission instruction to the target robot based on the moving direction of the passing robots in the controlled crossing, the queue status of the queuing robots, and the moving direction of the target robot; if the notification permission instruction is received from the server, the target robot is controlled to pass through the controlled crossing; if the notification permission instruction is not received, the target robot is controlled to pause moving until the notification permission instruction is received, which can greatly reduce the collision or traffic jam caused by the robots at the crossing due to detection blind spots.
[0066] These and other aspects of the present application will become more readily apparent from the description of the following embodiments. BRIEF DESCRIPTION OF THE DRAWINGS
[0067] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, a brief introduction will be given below to the drawings required for use in the embodiments or the description of the prior art. Obviously, the drawings described below are some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.
[0068] Figure 1 A schematic diagram of the structure of a robot control system provided in an embodiment of the present application;
[0069] Figure 2 A schematic diagram of the structure of another robot control system provided in an embodiment of the present application;
[0070] Figure 3 A flowchart of a robot control method provided in an embodiment of the present application;
[0071] Figure 4 A flowchart of another robot control method provided in an embodiment of the present application;
[0072] Figure 5 A schematic diagram of the control crossing area and broadcast range provided in an embodiment of the present application;
[0073] Figure 6Schematic diagram of the control crossing area, crossing resource application area, and broadcast range provided in the embodiment of the present application;
[0074] Figure 7 A schematic diagram of a robot passing through a non-controlled intersection provided in an embodiment of the present application;
[0075] Figure 8 A flowchart of a data processing method provided in an embodiment of the present application;
[0076] Figure 9 Schematic diagram of the control crossing area, crossing resource application area, and broadcast range provided in the embodiment of the present application;
[0077] Figure 10 A schematic diagram of a robot control scenario provided in an embodiment of the present application;
[0078] Figure 11 A schematic diagram of another robot control scenario provided in an embodiment of the present application;
[0079] Figure 12 A schematic diagram of another robot control scenario provided in an embodiment of the present application;
[0080] Figure 13 A schematic diagram of another robot control scenario provided in an embodiment of the present application;
[0081] Figure 14 A schematic diagram of another robot control scenario provided in an embodiment of the present application;
[0082] Figure 15 A schematic diagram of another robot control scenario provided in an embodiment of the present application;
[0083] Figure 16 A schematic diagram of another robot control scenario provided in an embodiment of the present application;
[0084] Figure 17 A schematic diagram of another robot control scenario provided in an embodiment of the present application;
[0085] Figure 18 A flowchart of the interaction between a robot and a server provided in an embodiment of the present application;
[0086] Figure 19 A schematic structural diagram of a robot control device provided in an embodiment of the present application;
[0087] Figure 20 A schematic diagram of the structure of a data processing device provided in an embodiment of the present application;
[0088] Figure 21A schematic diagram of the structure of a computing device provided in an embodiment of the present application;
[0089] Figure 22 A schematic diagram of the structure of another computing device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0090] In order to enable those skilled in the art to better understand the solution of the present application, the technical solution in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application.
[0091] In some of the processes described in the specification and claims of this application and the above-mentioned figures, multiple operations that appear in a specific order are included, but it should be clearly understood that these operations may not be executed in the order in which they appear in this document or may be executed in parallel. The serial numbers of the operations, such as 101, 102, etc., are only used to distinguish between different operations, and the serial numbers themselves do not represent any order of execution. In addition, these processes may include more or fewer operations, and these operations may be executed in sequence or in parallel. It should be noted that the descriptions of "first", "second", etc. in this document are used to distinguish different messages, devices, modules, etc., and do not represent a sequential order, nor do they limit "first" and "second" to being different types.
[0092] The following will be combined with the drawings in the embodiments of this application to clearly and completely describe the technical solutions in the embodiments of this application. Obviously, the embodiments described are only part of the embodiments of this application, not all of the embodiments. Based on the embodiments in this application, all other embodiments obtained by those skilled in the art without making creative efforts are within the scope of protection of this application.
[0093] Figure 1 This is a schematic diagram of the structure of a robot control system provided in an embodiment of the present application. The system includes a robot 11 and a server 12. The robot 11 also includes a control component 111, which is a controller provided on the robot 11. In this system, the robot 11 is only an example. In actual applications, the robot control process is the interaction process between multiple robots and the server 12.
[0094] In this system, each step of the robot control method is executed by the control component 111 in the robot 11 .
[0095] Specifically, in this embodiment, taking the robot 11 including the target robot as an example, when the control component 111 detects that the target robot moves to the controlled crossing, it initiates a crossing passage request to the server 12.
[0096] The server 12 determines whether to issue a notification permission instruction to the target robot based on the movement direction of the passing robot in the controlled intersection, the queue status of the queuing robot, and the movement direction of the target robot;
[0097] If the control component 111 receives the notification permission instruction from the server 12, it controls the target robot to pass through the controlled crossing; if it does not receive the notification permission instruction, it controls the target robot to pause moving until it receives the notification permission instruction.
[0098] Further, Figure 2 This is a schematic diagram of another robot control system provided in an embodiment of the present application, wherein the system includes a robot 21 (equivalent to Figure 1 The robot 11 in the control server 22 and the server 23 (equivalent to Figure 1 The server 12).
[0099] In this system, each step of the robot control method is executed by the control server 22. Figure 1 The difference between robot control systems is that Figure 2 The robot control system integrates the control components of multiple robots into an external control server 22, thereby controlling the multiple robots through the control server 22.
[0100] Specifically, in this embodiment, taking the robot 21 including the target robot as an example, when the control server 22 detects that the target robot moves to the controlled crossing, it initiates a crossing passage request to the server 23. At this time, since the control server 22 can control multiple target robots, as an optional solution, the ID of the target robot that needs to pass through the crossing can be carried when sending the crossing passage request.
[0101] The server 23 determines whether to issue a notification permission instruction to the target robot based on the movement direction of the passing robot in the controlled intersection, the queue status of the queuing robot, and the movement direction of the target robot;
[0102] If the control server 22 receives the notification permission instruction from the server 12, the notification permission instruction carries the ID of the target robot, so that the control server 22 controls the target robot corresponding to the ID to pass through the controlled intersection; if the notification permission instruction is not received, the target robot corresponding to the ID is controlled to pause moving until the notification permission instruction is received.
[0103] It should be noted that, in addition to the above Figure 1 and Figure 2In addition to the robot control system, other systems may also be included. For example, other equipment may be added as needed to make the robot control system more complete. Solutions for controlling crossing traffic by interacting between the robot and the server are all within the scope of protection of this application.
[0104] Based on the above system, the server can control the issuance of pass permit instructions to the target robot based on the status of the robots in the intersection, so that robots with different moving directions will not pass through the intersection at the same time, greatly reducing the collision or traffic jam caused by detection blind spots of robots at the intersection.
[0105] Figure 3 A flowchart of a robot control method provided in an embodiment of the present application is shown in FIG. Figure 3 As shown, the method includes:
[0106] 101. When it is detected that the target robot moves to a controlled crossing, a crossing passage request is initiated to the server. The server is used to determine whether to issue a notification permission instruction to the target robot based on the moving direction of the passing robots in the controlled crossing, the queue status of the queuing robots, and the moving direction of the target robot.
[0107] In this step, multiple robots operate in aisles in the warehouse, and the intersection of the aisles constitutes a crossing, wherein the crossing may include a controlled crossing and an uncontrolled crossing. The present application is directed to executing the robot control method at the controlled crossing. How to divide the crossings into controlled crossings and uncontrolled crossings can be set according to the warehouse environment. For example, the present application regards crossings that are relatively narrow or where robot collision accidents often occur as controlled crossings, and crossings that are relatively wide or where robot collision accidents do not occur as uncontrolled crossings. In addition, it can also include dividing controlled crossings and uncontrolled crossings by other conditions, which the present application does not limit.
[0108] In an embodiment of the present application, as an optional solution, a method for detecting whether the target robot has moved to a controlled crossing can control the movement of the target robot according to the planned path of the target robot, and during the movement of the target robot, determine whether the target robot has passed the controlled crossing based on the planned path and a pre-established environmental map.
[0109] Among them, the planned path of the target robot can be a planned path generated by the target robot's own processor based on the set starting point, end point and environment map, or the server can generate a planned path for each target robot and then send the planned path to each target robot separately. This application does not limit this.
[0110] There are many ways to construct an environment map currently, which will not be described in detail in this application. For example, an environment map can be constructed using simultaneous localization and mapping (SLAM) technology.
[0111] In practical applications, the environment map can be stored in a storage system that can be used by the robot, or can be stored in Figure 2 Before starting the robot control process, the server needs to mark multiple control crossings and corresponding control crossing areas on the environment map. After starting the robot control process, the robot determines the planned path of the robot based on the environment map and the starting and ending points of the target robot, and detects whether the planned path passes through the control crossing area. If it does, it is determined that the robot will pass through the control crossing area.
[0112] In the embodiment of the present application, the server may determine whether to issue a notification permission instruction to the target robot based on the movement direction of the passing robot in the controlled intersection, the queue status of the queuing robot, and the movement direction of the target robot, including the following scenarios:
[0113] As a possible scenario, when there are no passing robots and queuing robots in the controlled intersection or the moving direction of the passing robot is the same as the moving direction of the target robot, a notification permission instruction is issued to the target robot.
[0114] As another possible scenario, when the moving direction of the robot passing through the controlled intersection is different from the moving direction of the target robot, it is prohibited to issue a notification permission instruction to the target robot.
[0115] 102. If a notification permission instruction is received from the server, control the target robot to pass through the control crossing.
[0116] In an embodiment of the present application, as an optional solution, a method of controlling the target robot to pass through a controlled crossing may be to assign the target robot a driving speed so that it passes through the controlled crossing at the driving speed.
[0117] It should be noted that if the controlled crossing includes a passing robot, the driving speed of the target robot can be set to be the same as or lower than the driving speed of the passing robot. The purpose of this setting is to avoid collision accidents between the target robot and the passing robot.
[0118] 103. If the notification permission instruction is not received, control the target robot to pause moving until the notification permission instruction is received.
[0119] In an embodiment of the present application, as an optional solution, the target robot can be controlled to pause its movement by setting its travel speed to 0 until the target robot receives a notification permission instruction, and then continuing to execute step 102 to control the target robot to pass through the controlled intersection.
[0120] Further, in Figure 3 Based on this, this application provides a more specific robot control method. Figure 4 This is a flow chart of another robot control method provided in an embodiment of the present application, such as Figure 4 As shown, the method includes:
[0121] 201. Control the movement of the target robot according to the planned path of the target robot, and during the movement of the target robot, determine whether the target robot passes through a controlled intersection based on the planned path and a pre-established environment map.
[0122] In this step, the pre-established environment map can be sent from the server to the target robot.
[0123] In the embodiment of the present application, as a possible implementation, step 201 may specifically include:
[0124] 2011. Determine the first checkpoint control information from a pre-established environmental map, wherein the first checkpoint control information includes multiple control checkpoints divided by the server and a control checkpoint area and a checkpoint resource application area corresponding to each control checkpoint, and the control checkpoint area is ≤ the checkpoint resource application area.
[0125] In an embodiment of the present application, before determining the first crossing control information from a pre-established environmental map, the server needs to divide the pre-established environmental map into multiple controlled crossings and a controlled crossing area corresponding to each controlled crossing and a crossing resource application area corresponding to each controlled crossing area, and the controlled crossing area ≤ the crossing resource application area, and divide the multiple controlled crossings and the controlled crossing area corresponding to each controlled crossing and the crossing resource application area corresponding to each controlled crossing area into the first crossing control information, and send the first crossing control information together with the environmental map to the target robot.
[0126] 2012. During the movement of the target robot, obtain positioning information of the target robot.
[0127] In this step, the positioning information may be coordinate information in a coordinate system established based on the environment map, so that the current position of the target robot can be accurately reflected according to the coordinate information.
[0128] In an embodiment of the present application, as a possible implementation scheme, the method of obtaining the positioning information of the target robot can be to obtain the positioning information through the positioning module of the target robot itself, or the server can use a camera on the path to shoot the target robot in real time to obtain the positioning information of the target robot. In addition, other methods of obtaining the positioning information of the target robot can also be included, and this application does not limit this.
[0129] 2013. Determine whether the target robot has entered a pre-demarcated crossing resource application area based on the positioning information, the planned path, and a pre-established environment map.
[0130] In the embodiment of the present application, the control crossing area ≤ the crossing resource application area ≤ the broadcast range. Figure 6 As shown, the controlled crossing area 3 ≤ crossing resource application area 2 ≤ broadcast range 1.
[0131] 2014. If it is determined that the target robot has entered the crossing resource application area, it is determined that the target robot has passed through the controlled crossing.
[0132] In the embodiment of the present application, based on the division rules of the crossing resource application area and the control crossing area in step 2013, the target robot knows that after entering the crossing resource application area, it will pass through the control crossing area. Figure 6 As shown, when the target robot A travels to the crossing resource application area 2, it is determined that the target robot will pass through the controlled crossing area 3.
[0133] In the embodiment of the present application, as another possible implementation, step 201 may specifically include:
[0134] 2011'. Determine whether the second checkpoint control information is received within the broadcast range, wherein the second checkpoint control information includes multiple control checkpoints updated by the server and the control checkpoint area and checkpoint resource application area corresponding to each control checkpoint, and the control checkpoint area ≤ the checkpoint resource application area ≤ the broadcast range.
[0135] In this step, the control crossing area is less than or equal to the broadcast range. Figure 5 As shown, the control crossing area 3 is smaller than the broadcast range 1. Figure 5This is merely an example. In practice, the broadcast range typically covers the entire environment map, such that after target robot A enters broadcast range 1, it can receive information about the controlled intersections contained in the environment map, as well as the controlled intersection areas corresponding to each controlled intersection. For example, after target robot A enters broadcast range 1, in addition to receiving information about controlled intersection areas including controlled intersection area 3, it also receives information about other controlled intersection areas (not shown in the figure).
[0136] In an embodiment of the present application, before determining the first crossing control information from a pre-established environmental map, the server needs to update the controlled crossings and the controlled crossing areas, crossing resource application areas, and broadcast areas corresponding to each controlled crossing based on the width of each crossing, the busyness of each crossing, the width of the road near each crossing, and the layout near each crossing, and use the updated controlled crossings and the controlled crossing areas, crossing resource application areas, and broadcast areas corresponding to each controlled crossing as the second crossing control information, and send the second crossing control information to the target robot via broadcast information.
[0137] It should be noted that the difference from the first crossing control information mentioned above is that the controlled crossings in the first crossing control information are pre-divided controlled crossings, which can be understood as static controlled crossings and need to be pre-divided by the server. The controlled crossings in the second crossing control information are dynamically updated controlled crossings, which require the server to comprehensively determine them in real time or periodically based on the situation of each crossing. For example, a crossing was not originally a divided controlled crossing, but because the crossing was narrow and busy, the server updated the crossing to a controlled crossing. For example, a crossing was originally a divided controlled crossing, but because there were more robot tasks recently, more robots passed through the controlled crossing, increasing the busy Chengdu of the controlled crossing. Therefore, the server can appropriately increase the controlled crossing area of the crossing.
[0138] 2012′. If the second checkpoint control information is received, the positioning information of the target robot is obtained during the movement of the target robot.
[0139] In the embodiment of the present application, the execution process of this step can refer to the above-mentioned step 2012.
[0140] 2013'. Determine whether the target robot has entered a pre-divided crossing resource application area based on the positioning information, the planned path, and a pre-established environment map.
[0141] In the embodiment of the present application, the execution process of this step can refer to the above-mentioned step 2013.
[0142] 2014′. If it is determined that the target robot has entered the crossing resource application area, it is determined that the target robot has passed through the controlled crossing.
[0143] In the embodiment of the present application, the execution process of this step can refer to the above-mentioned step 2014.
[0144] 202. When it is detected that the target robot moves to a controlled crossing, a crossing passage request is initiated to the server. The server is used to determine whether to issue a notification permission instruction to the target robot based on the moving direction of the passing robots in the controlled crossing, the queue status of the queuing robots, and the moving direction of the target robot.
[0145] In the embodiment of the present application, the execution process of this step can refer to the above-mentioned step 101, and the embodiment of the present application will not be repeated here.
[0146] 203. If a notification permission instruction is received from the server, control the target robot to pass through the control crossing.
[0147] In the embodiment of the present application, the execution process of this step can refer to the above-mentioned step 102, and the embodiment of the present application will not be repeated here.
[0148] It should be noted that the road crossings may include controlled road crossings and non-controlled road crossings. Usually, non-controlled road crossings are relatively spacious or the number of robots passing through them is relatively small. Therefore, for non-controlled road crossings, such as Figure 7 As shown, target robot A can pass through the uncontrolled intersection directly without obtaining a pass permit instruction and avoid collisions based on its own collision avoidance function. In other words, the embodiment of the present application only controls the intersections that require control, thereby improving the robot's passage efficiency.
[0149] 204. While controlling the target robot to pass through the controlled crossing, synchronize the positioning information and movement direction of the target robot to the server in real time.
[0150] In this step, the positioning information of the target robot can be determined by referring to the solution described in the above step 2012, and this step will not be repeated. As for the moving direction of the target robot, the moving direction of the target robot can be determined according to the planned path of the target robot.
[0151] In an embodiment of the present application, the positioning information and moving direction of the target robot are synchronized to the server in real time, so that the server can monitor the passage status of the robot in the controlled crossing area in real time, so as to release crossing resources and improve the passage efficiency of the robot.
[0152] 205. If the notification permission instruction is not received, control the target robot to pause moving until the notification permission instruction is received.
[0153] In the embodiment of the present application, the execution process of this step can refer to the above-mentioned step 103, and the embodiment of the present application will not be repeated here.
[0154] Furthermore, the method further comprises:
[0155] 206. If a queuing instruction is received from the server, the queuing instruction carries the estimated travel time of the target robot. Based on the task completion time limit of the target robot and the estimated travel time, the target robot is controlled to suspend movement until the notification permission instruction is received or the planned path is updated.
[0156] In this step, if the server determines that the moving direction of the robot passing through the controlled intersection is different from the moving direction of the target robot, it is prohibited to issue a notification permission instruction to the target robot, and a queuing instruction is issued to the target robot to arrange the target robot to queue. However, the target robot can choose whether to accept the queuing instruction. If it accepts, it will wait in the queue until it obtains the notification permission instruction. If it does not accept, the planned path of the target robot will be replanned.
[0157] As another optional solution, step 206 may also be that if a queuing instruction sent by the server is received, the queuing instruction carries the current queuing order of the target robot, and the estimated passage time of the target robot is calculated; based on the task completion time limit of the target robot and the estimated passage time, the target robot is controlled to pause moving until the notification permission instruction is received or the planned path is updated.
[0158] The difference from the solution in step 206 above is that the queuing instruction sent by the server only carries the current queue order of the target robot, and the target robot is required to calculate its estimated transit time independently (e.g., through edge computing). It should be noted that the above two solutions are only examples, and other solutions may also be included. For example, the queuing instruction does not carry any information, and the target robot is directly controlled to pause movement until it receives the notification permission instruction or updates the planned path.
[0159] In the above two solutions, the process of “controlling the target robot to pause moving until receiving the notification permission instruction or updating the planned path based on the task completion time limit of the target robot and the estimated travel time” may include:
[0160] 2061. Determine a queue time threshold for an exit based on the task completion time limit and the planned path of the target robot.
[0161] In this step, for example, the target robot's task completion time limit is 5 minutes, and according to the planned path, it is determined that the target robot will not pass through the controlled crossing again after passing through the controlled crossing, and it is estimated that it will take 3 minutes to travel, then the exit queuing time threshold is determined to be 2 minutes.
[0162] 2062. If the estimated travel time is greater than the crossing queue time threshold, control the target robot to update the planned path.
[0163] In this step, the target robot may update the planned path by replanning the path by itself, or the server may replan the path for the target robot, which is not limited in this embodiment of the present application.
[0164] 2063. If the estimated travel time is less than the crossing queue time threshold, control the target robot to pause moving until receiving the notification permission instruction.
[0165] Figure 8 This is a flow chart of a data processing method provided in an embodiment of the present application, which is executed by the server, such as Figure 8 As shown, the method includes:
[0166] 301. In a pre-established environmental map, multiple controlled crossings and a controlled crossing area corresponding to each controlled crossing and a crossing resource application area corresponding to each controlled crossing area are divided, and the controlled crossing area is ≤ the crossing resource application area, so that the target robot determines that it has entered the pre-divided crossing resource application area based on the positioning information, the planned path and the pre-established environmental map, and after determining that it has passed the controlled crossing, it initiates a crossing passage request to the server.
[0167] In an embodiment of the present application, the server needs to divide a plurality of controlled crossings and a controlled crossing area corresponding to each controlled crossing and a crossing resource application area corresponding to each controlled crossing area in a pre-established environmental map, and the controlled crossing area ≤ the crossing resource application area, and divide the plurality of controlled crossings and the controlled crossing area corresponding to each controlled crossing and the crossing resource application area corresponding to each controlled crossing area as the first crossing control information, and send the first crossing control information together with the environmental map to the target robot.
[0168] 302. Update the controlled crossings and the controlled crossing areas, crossing resource application areas, and broadcast areas corresponding to each controlled crossing based on the width of each crossing, the busyness of each crossing, the width of the roads near each crossing, and the layout near each crossing.
[0169] In this step, it is first necessary to determine the controlled crossings and controlled crossing areas based on the width of each crossing, the busyness of each crossing, the width of the road near each crossing, and the layout near each crossing. For example, when the controlled crossing is wider, the area where the roads intersect is larger, and the controlled crossing area is also larger. The crossing resource application area is usually determined by the busyness of the controlled crossing, the width of the road near the controlled crossing, and the layout near the controlled crossing. For example, when the busyness of the controlled crossing is large and the width of the road near the controlled crossing is narrow, the crossing resource application area is also large. This is because the controlled crossing is more busy, that is, there are a large number of target robots about to enter the controlled crossing. These target robots need to initiate a crossing pass request before entering the control area. Otherwise, if the crossing resource application area is small, it may cause the target robot to be congested outside the crossing resource application area. The broadcast range can usually cover the entire environment map, or cover multiple roads.
[0170] It should be noted that this application does not specifically limit the size of the controlled crossing area, the size of the crossing resource application area, and the size of the broadcast area. In actual applications, the controlled crossing area, the crossing resource application area, and the broadcast area can be reasonably divided according to demand and based on the width of the controlled crossing, the busyness of the controlled crossing, the width of the road near the controlled crossing, and the layout near the controlled crossing.
[0171] In the embodiment of the present application, for example, Figure 9 As shown, at a certain road intersection, a controlled crossing area 3, a crossing resource application area 2 and a broadcast range 1 are divided, and the controlled crossing area 3 ≤ the crossing resource application area 2 ≤ the broadcast range 1.
[0172] It should be noted that the purpose of dividing the broadcast range is to enable the target robot to know the information of the controlled crossings in the environmental map or the required path in the planned path, as well as the controlled crossing areas corresponding to each controlled crossing. The purpose of dividing the crossing resource application area is to enable the target robot to initiate a crossing pass request to the server in advance when passing through the crossing resource application area, to avoid initiating a crossing pass request when entering the controlled crossing area, thereby causing congestion in the controlled crossing area. The purpose of dividing the controlled crossing is to reduce the problem of robot collisions or traffic congestion at the controlled crossing due to detection blind spots of the target robot.
[0173] In addition, this application only provides examples of dividing the control crossing area 3, the crossing resource application area 2 and the broadcast range 1. In actual applications, more areas can be refined according to needs to ensure the passage efficiency of the target robot.
[0174] 303. Broadcast the second crossing control information within the broadcast range through a broadcast signal, wherein the second crossing control information includes multiple updated controlled crossings and a controlled crossing area corresponding to each controlled crossing, and the controlled crossing area ≤ the crossing resource application area ≤ the broadcast range, so that the target robot can determine that it has entered the pre-divided crossing resource application area based on the positioning information, the planned path and the pre-established environmental map, and initiate a crossing passage request to the server after determining that it has passed the controlled crossing.
[0175] In an embodiment of the present application, the target robot includes a signal receiving device for receiving the broadcast signal sent by the server. By sending the broadcast signal to the target robot, the target robot can obtain information about multiple controlled crossings and the controlled crossing area corresponding to each controlled crossing, so as to determine whether the planned driving path will pass through the controlled crossing. If it passes through the controlled crossing, a crossing pass request is initiated in advance before entering the controlled crossing area.
[0176] It should be noted that the controlled crossing in the second crossing control information sent by the broadcast signal is usually a new controlled crossing determined by the server based on the current width of each crossing, the busyness of each crossing, the width of the road near each crossing, and the layout near each crossing. It may be the same as or different from the controlled crossing divided in the environmental map.
[0177] 304. Receive a crossing passage request sent by a target robot when the target robot moves to a controlled crossing, where the crossing passage request carries the moving direction of the target robot.
[0178] In this step, the moving direction of the target robot is usually determined by the planned path.
[0179] In the embodiment of the present application, for example, the moving direction includes moving from left to right, or moving from bottom to top. Figure 5-Figure 7 The moving direction of the target robot A is from left to right.
[0180] 305. Determine whether to issue a notification permission instruction to the target robot based on the movement direction of the passing robot in the controlled intersection, the queue status of the queuing robot, and the movement direction of the target robot.
[0181] In this step, both the transit robots and the queuing robots are actually robots in the warehouse environment. They are simply named transit robots or queuing robots to distinguish their status. For example, when a target robot is passing through a controlled intersection, it is a transit robot. If a target robot is waiting to enter a controlled intersection, it is a queuing robot.
[0182] In this embodiment of the present application, before determining whether to issue a notification permission command to a target robot, it is necessary to consider whether the target robot's movement direction conflicts with the movement direction of the robots currently passing through the controlled crossing. For example, if the target robot moves from left to right, while the robots currently passing through the controlled crossing move from bottom to top, a collision accident may occur between the target robot and the passing robots.
[0183] Furthermore, it is also necessary to consider whether there are any queueing robots in the current controlled intersection, as well as the queue status of the queueing robots. For example, if the target robot's movement direction conflicts with the movement direction of the robots currently passing through the controlled intersection, the target robot needs to enter a waiting state, that is, the target robot is now a queueing robot. If there are other queueing robots in the queue at this time, it is necessary to determine the priority of the queueing robots and issue the pass instructions to the robot with the highest priority in turn. The purpose of this is to avoid the problem of issuing pass instructions to all queueing robots after all the robots passing through the controlled intersection have passed, which may cause robot congestion or collision.
[0184] 306. If there is no passing robot or queuing robot in the controlled crossing or the moving direction of the passing robot is the same as the moving direction of the target robot, issue a notification permission instruction to the target robot so that the target robot passes through the controlled crossing when receiving the notification permission instruction.
[0185] In the embodiment of the present application, as a possible scenario, for example, Figure 10 As shown, in this scenario, there are no passing robots or queuing robots in the controlled crossing area 3. At this time, after the target robot A enters the crossing resource application area 2, it initiates a crossing passage request to the server. In response to the request, the server issues a notification permission instruction to the target robot A, so that the target machine A can directly pass through the controlled crossing area 3 when receiving the notification permission instruction.
[0186] For example, as another possible implementation scenario, Figure 11 As shown in the figure, in this scenario, the controlled crossing area 3 includes a passing robot B and no queued robots. At this time, after the target robot A enters the crossing resource application area 2, it initiates a crossing passage request to the server. The request carries the movement direction of the target robot A. The server needs to determine whether the movement direction of the passing robot B is the same as the movement direction of the target robot A. If they are, the server responds to the request and issues a notification permission instruction to the target robot A. Upon receiving the notification permission instruction, the target robot A follows the passing robot B through the controlled crossing area 3. The movement speed of the target robot A can be the same as that of the passing robot B.
[0187] It should be noted that the target robot, queuing robot, and passing robot are named for the convenience of distinction. In fact, a passing robot can also be a target robot. For example, when controlling the passing robot B, Figure 1 The control unit in the Figure 2 For the control server in the process, the passing robot B is the target robot, and the other robots except robot B can be regarded as passing robots or queuing robots for the convenience of distinction. In fact, each robot is a target robot.
[0188] 307. While the target robot passes through the controlled crossing, the positioning information and moving direction of the target robot are acquired in real time by calling a camera provided at the controlled crossing.
[0189] In an embodiment of the present application, the positioning information and movement direction of the target robot are obtained in real time by calling the camera set at the controlled crossing, so that the server can monitor the passage status of the robot in the controlled crossing area in real time, so as to release crossing resources and improve the passage efficiency of the robot.
[0190] For example, Figure 12 As shown, by setting up a camera 4 in the controlled crossing area 3, the passing status of the passing robot B and the target robot A can be monitored through the camera 4. If the target robot A also passes through the controlled crossing area 3 and there is no other robot behind the target robot A, the passable moving direction of the crossing can be modified from bottom to top to left to right (i.e., releasing the crossing resources). At this time, the queuing robot C that wants to go from left to right can obtain the pass permission instruction to pass through the controlled crossing area 3.
[0191] 308. If the moving direction of the robot passing through the controlled intersection is different from the moving direction of the target robot, it is prohibited to issue a notification permission instruction to the target robot, so that when the target robot does not receive the notification permission instruction, it will suspend movement until it receives the notification permission instruction.
[0192] In the embodiment of the present application, as a possible scenario, for example, Figure 13 As shown, in this scenario, the controlled crossing area 3 includes the passing robot B, the passing robot C and the target robot A. At this time, the permitted movement direction in the controlled crossing area is from bottom to top, while the movement direction of the target robot A is from left to right. The movement directions of the two conflict. If a notification permission instruction A is issued to the target robot, it may cause a collision accident between the target robot A and the passing robots B and C. Therefore, it is necessary to prohibit the issuance of a notification permission instruction to the target robot A.
[0193] 309. Send a queuing instruction to the target robot, wherein the queuing instruction carries the estimated travel time of the target robot, so that the target robot pauses moving based on the task completion time limit and the estimated travel time until receiving the notification permission instruction or updating the planned path.
[0194] In an embodiment of the present application, a queuing instruction is sent to the target robot, and the queuing instruction carries the estimated passing time of the target robot, so that the target robot can flexibly control whether to queue or detour according to its own task completion time limit and estimated passing time, thereby improving the robot's crossing efficiency.
[0195] As another optional solution, step 309 may also be to send a queuing instruction to the target robot, wherein the queuing instruction carries the current queuing order of the target robot, so that the target robot calculates the estimated passage time of the target robot, and based on the task completion time limit and the estimated passage time, suspends movement until receiving the notification permission instruction or updating the planned path.
[0196] The difference from the above scheme is that this scheme sends the current queue order of the target robot to the target robot, and the target robot calculates the estimated passage time by itself (such as calculating the estimated passage time through edge computing), and then flexibly controls whether to queue or detour according to the task completion deadline and the estimated passage time, thereby improving the robot's crossing efficiency.
[0197] 310. If the target robot pauses moving until receiving the notification permission instruction, the target robot is determined as a queuing robot in the controlled intersection, so that the target robot queues in a queue to wait for obtaining the notification permission instruction.
[0198] In an embodiment of the present application, a queuing instruction is sent to the target robot. If the target robot A queues and pauses moving until it obtains a pass permission instruction and then passes through the controlled crossing area 3, that is, the target robot A at this time is a queuing robot.
[0199] 311. If all the passing robots in the controlled crossing have passed the crossing, a permission instruction will be issued to the queuing robot with the highest priority in the queuing queue.
[0200] In this step, the longer the queuing time of the queuing robot is, the higher the priority of the queuing robot is. The queuing time includes the time it takes to queue at each controlled intersection within the path planning of the queuing robot.
[0201] In the embodiment of the present application, as a possible scenario, for example, Figure 14As shown, this scenario includes the passing robot B, the passing robot C, the queuing robot D, and the target robot A (the target robot A is also a queuing robot at this time). Since the moving direction of the passing robot C is the same as that of the passing robot B, the passing robot C can follow behind the passing robot B through the controlled crossing area 3, while the moving directions of the queuing robot D and the target robot A are different from those of the passing robot B and the passing robot C, so they enter the queuing queue.
[0202] like Figure 15 As shown in the figure, if both passing robots B and C pass through controlled crossing area 3, the server needs to determine the priority of queueing robot D and target robot A. Assume that target robot A has entered the queue at multiple other controlled crossings and waited for a total of 5 minutes, while queueing robot D has waited for a total of 2 minutes at multiple other controlled crossings. Although queueing robot D has arrived in controlled crossing area 3 before target robot A, target robot A still has a higher priority than queueing robot D. Therefore, the server needs to issue a pass command to target robot A, allowing it to bypass queueing robot D and pass through controlled crossing area 3 first, while queueing robot D follows target robot A through controlled crossing area 3.
[0203] It should be noted that the purpose of setting the priority of the queuing robots is to flexibly adjust the queuing time of each robot to avoid large differences in the queuing times of the robots, which would lead to low robot transportation efficiency.
[0204] In an embodiment of the present application, the method further includes: controlling the physical traffic light of the controlled intersection according to the traffic conditions of the controlled intersection.
[0205] In this step, considering that the warehouse environment is usually a scenario where people and robots coexist, or robots of multiple brands coexist, physical traffic lights are set up to facilitate robots of other brands and pedestrians who want to pass through a certain controlled intersection to determine whether to pass based on the display of the physical traffic lights.
[0206] There are many ways to display a physical traffic light, including traffic light display, direction icon display, etc. For traffic light display, for example, when a red light is displayed from bottom to top and a green light is displayed from left to right, it means that pedestrians or robots are prohibited from passing in the direction of movement from bottom to top, and pedestrians or robots are allowed to pass in the direction of movement from left to right. Figure 16 As shown, when the physical traffic light 5 displays "↑" from bottom to top and "×" from left to right, it indicates that pedestrians or robots are allowed to pass in the moving direction from bottom to top, and pedestrians or robots are prohibited from passing in the moving direction from left to right.
[0207] For the above steps 301-309, this application provides Figure 16 and Figure 17 Schematic diagram of the actual application scenario, for example, Figure 16 As shown, the scene includes robots B, C, D, and A. At this time, the physical traffic light 5 displays "↑" from bottom to top and "×" from left to right. The movement directions of robots B and C are the same as the movement directions permitted by the physical traffic light. At this time, robots B and C pass through the controlled crossing area 3 as passing robots. Camera 4 constantly captures the passage of robots B and C. Robots B and C can also synchronize their positioning information and movement directions to the server in real time. Since the movement directions of robots A and D are different from the movement directions permitted by the physical traffic light, they both enter the queue to wait for the server to issue a pass permit instruction.
[0208] like Figure 17 As shown, when the server detects that both robot B and robot C have passed through the controlled crossing area 3, it adjusts the display status of the physical signal light so that the physical signal light 5 displays "×" from bottom to top and "↑" from left to right. That is to say, the pass permit resource from left to right has been released, and robots or pedestrians in this moving direction can pass. At this time, the server needs to determine the priority of robot A and robot D. Assuming that the priority of robot A is higher at this time, the server will give priority to issuing a pass permit instruction to robot A so that robot A can pass through the controlled crossing area 3 after receiving the pass permit instruction.
[0209] Figure 18 A flowchart of the interaction between a robot and a server provided in an embodiment of the present application is shown as follows: Figure 18 As shown:
[0210] 401. Control the target robot to move according to the planned path of the target robot, and during the movement of the target robot, determine whether the target robot passes through a controlled intersection based on the planned path and a pre-established environment map.
[0211] 402. When the target robot moves to the controlled crossing, it initiates a crossing pass request to the server.
[0212] 403. Determine whether to issue a notification permission instruction to the target robot based on the movement direction of the passing robot in the controlled intersection, the queue status of the queuing robot, and the movement direction of the target robot.
[0213] 404. If a notification permission instruction is received from the server, control the target robot to pass through the controlled crossing.
[0214] 405. If the notification permission instruction is not received, control the target robot to pause moving until the notification permission instruction is received.
[0215] In the embodiments of the present application, the execution process of the same steps can be referred to the above embodiments, and this application will not repeat it again.
[0216] Figure 19 A schematic diagram of the structure of a robot control device provided in an embodiment of the present application is shown in FIG. Figure 19 As shown, the device includes:
[0217] The first sending module 51 is configured to initiate a crossing passage request to a server upon detecting that the target robot has moved to a controlled crossing. The server is configured to determine whether to issue a notification permission instruction to the target robot based on the movement direction of the robots passing through the controlled crossing, the queue status of the queuing robots, and the movement direction of the target robot.
[0218] The first control module 52 is configured to control the target robot to pass through the controlled crossing if a notification permission instruction is received from the server; and to control the target robot to pause moving until the notification permission instruction is received if the notification permission instruction is not received.
[0219] Optionally, in the embodiment of the present application, the device further includes:
[0220] The first detection module 53 is used to control the movement of the target robot according to the planned path of the target robot, and to determine whether the target robot passes through a controlled crossing based on the planned path and a pre-established environment map during the movement of the target robot.
[0221] Optionally, in an embodiment of the present application, the first detection module 53 of the device is specifically used to obtain the positioning information of the target robot during the movement of the target robot; determine whether the target robot has entered the pre-divided crossing resource application area based on the positioning information, the planned path and the pre-established environmental map; if it is determined that the target robot has entered the crossing resource application area, it is determined that the target robot has passed through the controlled crossing.
[0222] Optionally, in the embodiment of the present application, the device further includes:
[0223] The first determination module 54 is used to determine the first crossing control information from a pre-established environmental map, wherein the first crossing control information includes multiple controlled crossings divided by the server and a controlled crossing area and a crossing resource application area corresponding to each controlled crossing, and the controlled crossing area is ≤ the crossing resource application area.
[0224] Optionally, in the embodiment of the present application, the device further includes:
[0225] The first judgment module 55 is used to determine whether the second crossing control information is received within the broadcast range, and the second crossing control information includes multiple controlled crossings updated by the server and the controlled crossing area and crossing resource application area corresponding to each controlled crossing, and the controlled crossing area ≤ the crossing resource application area ≤ the broadcast range; if the second crossing control information is received, the first detection module 53 continues to execute the step of obtaining the positioning information of the target robot during the movement of the target robot.
[0226] Optionally, in the embodiment of the present application, the device further includes:
[0227] The first control module 52 is further configured to synchronize the positioning information and movement direction of the target robot to the server in real time while controlling the target robot to pass through the controlled crossing if the notified permission instruction is received.
[0228] Optionally, in the embodiment of the present application, the device further includes:
[0229] The first control module 52 is also used to control the target robot to pause moving until receiving the notification permission instruction or updating the planned path, if a queuing instruction sent by the server is received, the queuing instruction carries the estimated passing time of the target robot, based on the task completion deadline of the target robot and the estimated passing time.
[0230] Optionally, in the embodiment of the present application, the device further includes:
[0231] The first control module 52 is also used to control the target robot to pause moving until receiving the notification permission instruction or updating the planned path, if a queuing instruction sent by the server is received, the queuing instruction carries the current queuing order of the target robot, based on the task completion deadline of the target robot and the estimated travel time.
[0232] Optionally, in an embodiment of the present application, the first control module 52 of the device is specifically used to determine the exit queuing time threshold based on the task completion time limit and planned path of the target robot; if the estimated passage time is greater than the exit queuing time threshold, control the target robot to update the planned path; or, if the estimated passage time is less than the exit queuing time threshold, control the target robot to pause moving until the notification permission instruction is received. Figure 19 The robot control device can perform Figure 3 and Figure 4The implementation principle and technical effects of the robot control method described in the illustrated embodiment will not be elaborated here. The specific manner in which each module and unit performs operations in the robot control device in the above embodiment has been described in detail in the embodiment of the method and will not be elaborated here.
[0233] Figure 20 A structural diagram of a data processing device provided in an embodiment of the present application is shown in FIG. Figure 20 As shown, the device includes:
[0234] The second receiving module 61 is configured to receive a crossing pass request sent by a target robot when the target robot moves to a controlled crossing, wherein the crossing pass request carries the moving direction of the target robot;
[0235] A second determining module 62 is configured to determine whether to issue a notification permission instruction to the target robot based on the movement direction of the passing robot in the controlled intersection, the queue status of the queuing robot, and the movement direction of the target robot;
[0236] The second sending module 63 is used to issue a notification permission instruction to the target robot if there is no passing robot and queuing robot in the controlled crossing or the moving direction of the passing robot is the same as the moving direction of the target robot, so that the target robot passes through the controlled crossing when receiving the notification permission instruction; if the moving direction of the passing robot in the controlled crossing is different from the moving direction of the target robot, it is prohibited to issue a notification permission instruction to the target robot, so that when the target robot does not receive the notification permission instruction, it suspends movement until it receives the notification permission instruction.
[0237] Optionally, in the embodiment of the present application, the device further includes:
[0238] The second division module 64 is used to divide a plurality of controlled crossings and a controlled crossing area corresponding to each controlled crossing and a crossing resource application area corresponding to each controlled crossing area in a pre-established environmental map, and the controlled crossing area ≤ the crossing resource application area, so that the target robot can determine that it has entered the pre-divided crossing resource application area based on the positioning information, the planned path and the pre-established environmental map, and after determining that it has passed the controlled crossing, initiate a crossing passage request to the server.
[0239] Optionally, in the embodiment of the present application, the device further includes:
[0240] The second update module 65 is used to update the controlled crossings and the controlled crossing areas, crossing resource application areas, and broadcast areas corresponding to each controlled crossing based on the width of each crossing, the busyness of each crossing, the width of the roads near each crossing, and the layout near each crossing.
[0241] Optionally, in the embodiment of the present application, the device further includes:
[0242] The second broadcast module 66 is used to broadcast the second crossing control information to the broadcast range through a broadcast signal, and the second crossing control information includes multiple updated controlled crossings and the controlled crossing area corresponding to each controlled crossing, and the controlled crossing area ≤ the crossing resource application area ≤ the broadcast range, so that the target robot can determine that it has entered the pre-divided crossing resource application area based on the positioning information, the planned path and the pre-established environmental map, and after determining that it has passed the controlled crossing, it initiates a crossing passage request to the server.
[0243] Optionally, in the embodiment of the present application, the device further includes:
[0244] The second acquisition module 67 is used to obtain the positioning information and movement direction of the target robot in real time by calling the camera set at the control crossing after issuing a notification permission instruction to the target robot while the target robot passes through the control crossing.
[0245] Optionally, in an embodiment of the present application, the second sending module 63 of the device is also used to send a queuing instruction to the target robot, and the queuing instruction carries the estimated passing time of the target robot, so that the target robot suspends movement based on the task completion deadline and the estimated passing time until it receives the notification permission instruction or updates the planned path.
[0246] Optionally, in an embodiment of the present application, the second sending module 63 of the device is also used to send a queuing instruction to the target robot, and the queuing instruction carries the current queuing order of the target robot, so that the target robot suspends movement based on the task completion time limit and the estimated passage time until it receives the notification permission instruction or updates the planned path.
[0247] Optionally, in the embodiment of the present application, the device further includes:
[0248] The second determination module 62 is also used to determine the target robot as a queuing robot in the controlled intersection if the target robot pauses moving until receiving the notification permission instruction, so that the target robot queues in the queue to wait for obtaining the notification permission instruction.
[0249] Optionally, in the embodiment of the present application, the device further includes:
[0250] The second control module 68 is used to control the physical traffic lights of the controlled intersection according to the traffic conditions of the controlled intersection.
[0251] Figure 20 The data processing device can execute Figure 8 The implementation principle and technical effects of the data processing method described in the illustrated embodiment will not be described in detail. The specific manner in which each module and unit performs operations in the data processing device in the above embodiment has been described in detail in the embodiment of the method, and will not be elaborated here.
[0252] In one possible design, Figure 21 The control device of the embodiment shown can be implemented as a computing device. In practical applications, the computing device can be implemented as the central node mentioned above, such as Figure 21 As shown in , the computing device may include a storage component 701 and a processing component 702;
[0253] The storage component 701 stores one or more computer instructions, wherein the one or more computer instructions are called and executed by the processing component 702 to implement Figure 3 and Figure 4 The robot control method shown.
[0254] The processing component 702 may include one or more processors to execute computer instructions to complete all or part of the steps in the above method. Of course, the processing component may also be implemented as one or more application-specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), controllers, microcontrollers, microprocessors, or other electronic components to perform the above robot control method.
[0255] The storage component 701 is configured to store various types of data to support operations at the terminal. The storage component can be implemented by any type of volatile or non-volatile memory device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic memory, flash memory, magnetic disk, or optical disk.
[0256] In addition, the embodiment of the present application also provides a computing device. In practical applications, the computing device can be implemented as the data node mentioned above, such as Figure 22 As shown in , the computing device may include a storage component 801 and a processing component 802;
[0257] The storage component 801 stores one or more computer instructions, wherein the one or more computer instructions are called and executed by the processing component 802 to implement Figure 8 The data processing method shown.
[0258] Of course, a computing device may also include other components, such as input / output interfaces and communication components. The input / output interface provides an interface between the processing component and peripheral interface modules, such as output devices and input devices. The communication component is configured to facilitate wired or wireless communication between the computing device and other devices.
[0259] The embodiment of the present application further provides a robot, which includes a processing component and a storage component; the storage component stores one or more computer instructions; the one or more computer instructions are used to be called and executed by the processing component to implement the above Figure 3 and Figure 4 The robot control method shown.
[0260] It should be noted that in addition to processing components and storage components, the robot must also include some other components, such as walking components, display components, storage components (used to accommodate items in logistics scenarios), etc.
[0261] In addition, the present invention also provides a computer-readable storage medium storing a computer program, which can achieve the above-mentioned Figure 3 and Figure 4 The robot control method shown;
[0262] The present application also provides a computer program product, including a computer program, which implements the above-mentioned Figure 3 and Figure 4 The robot control method shown;
[0263] The present application also provides a computer-readable storage medium storing a computer program, which can achieve the above-mentioned Figure 8 The data processing method shown;
[0264] The present application also provides a computer program product, including a computer program, which implements the above-mentioned Figure 8 The data processing method shown;
[0265] The present application also provides a computer-readable storage medium storing a computer program, which can achieve the above-mentioned Figure 4 The data access methods shown;
[0266] The present application also provides a computer program product, including a computer program, which implements the above-mentioned Figure 4 The data access method shown.
[0267] It should be noted that the computing device described above can be either hardware or software. When the computing device is hardware, it can be implemented as a distributed cluster consisting of multiple servers or terminal devices, or as a single server or a single terminal device. When the computing device is software, it can be installed in the hardware devices listed above. It can be implemented as multiple software or software modules, for example, to provide distributed services, or as a single software or software module. No specific limitations are given here.
[0268] Those skilled in the art will clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and units described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.
[0269] The device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units, i.e., they may be located in one location or distributed across multiple network units. Some or all of the modules may be selected based on actual needs to achieve the objectives of the present embodiment. Persons of ordinary skill in the art will be able to understand and implement the present invention without inventive effort.
[0270] Through the description of the above embodiments, those skilled in the art can clearly understand that each embodiment can be implemented by means of software plus a necessary general hardware platform, or of course, by hardware. Based on this understanding, the essence of the above technical solution or the part that contributes to the existing technology can be embodied in the form of a software product. The computer software product can be stored in a computer-readable storage medium, such as ROM / RAM, a magnetic disk, an optical disk, etc., and includes a number of instructions for enabling a computer device (which can be a personal computer, a server, or a network device, etc.) to execute the methods described in each embodiment or certain parts of the embodiments.
[0271] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present application, rather than to limit them. Although the present application has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some of the technical features therein. However, these modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the embodiments of the present application.
Claims
1. A robot control method, characterized in that: include: When the target robot is detected moving to a controlled crossing, a crossing passage request is initiated to the server. The server is configured to determine whether to issue a notification permission instruction to the target robot based on the movement direction of the passing robots in the controlled crossing, the queue status of the queuing robots, and the movement direction of the target robot; If a notification permission instruction is received from the server, the target robot is controlled to pass through the control crossing; If the notification permission instruction is not received, controlling the target robot to pause moving until the notification permission instruction is received; If a queuing instruction is received from the server, a queuing time threshold for the exit is determined based on the task completion time limit and the planned path of the target robot; If the estimated passing time is greater than the crossing queuing time threshold, the target robot is controlled to update the planned path; or, if the estimated passing time is less than the crossing queuing time threshold, the target robot is controlled to pause moving until the notification permission instruction is received, wherein the queuing instruction carries the estimated passing time of the target robot, or the queuing instruction carries the current queuing order of the target robot, so as to calculate the estimated passing time of the target robot.
2. The method according to claim 1, characterized in that Before initiating the crossing pass request to the server, the method further includes: The target robot is controlled to move according to the planned path of the target robot, and during the movement of the target robot, it is determined whether the target robot passes through a controlled intersection based on the planned path and a pre-established environment map.
3. The method according to claim 2, characterized in that During the movement of the target robot, determining whether the target robot passes through a controlled crossing based on the planned path and a pre-established environment map includes: During the movement of the target robot, obtaining positioning information of the target robot; Determining whether the target robot has entered a pre-demarcated crossing resource application area based on the positioning information, the planned path, and a pre-established environment map; If it is determined that the target robot has entered the crossing resource application area, it is determined that the target robot has passed through the controlled crossing.
4. The method according to claim 3, characterized in that During the movement of the target robot, before determining whether the target robot passes through a controlled crossing based on the planned path and a pre-established environment map, the method further includes: The first crossing control information is determined from a pre-established environmental map, wherein the first crossing control information includes a plurality of controlled crossings divided by the server and a controlled crossing area and a crossing resource application area corresponding to each controlled crossing, and the controlled crossing area is ≤ the crossing resource application area.
5. The method according to claim 3, characterized in that During the movement of the target robot, before determining whether the target robot passes through a controlled crossing based on the planned path and a pre-established environment map, the method further includes: Determining whether second road crossing control information is received within the broadcast range, the second road crossing control information including multiple controlled road crossings updated by the server and a controlled road crossing area and a road crossing resource application area corresponding to each controlled road crossing, and the controlled road crossing area ≤ the road crossing resource application area ≤ the broadcast range; If the second crossing control information is received, the step of obtaining the positioning information of the target robot during the movement of the target robot is continued.
6. The method according to claim 1, characterized in that Also includes: If the notified permission instruction is received, the positioning information and moving direction of the target robot are synchronized to the server in real time while the target robot is controlled to pass through the controlled crossing.
7. A data processing method, characterized in that: include: receiving a crossing passage request sent by a target robot when it moves to a controlled crossing, the crossing passage request carrying a moving direction of the target robot; Determining whether to issue a notification permission instruction to the target robot based on the movement direction of the passing robot in the controlled intersection, the queue status of the queuing robot, and the movement direction of the target robot; If there are no passing robots or queuing robots in the controlled crossing or the moving direction of the passing robot is the same as that of the target robot, issuing a notification permission instruction to the target robot so that the target robot passes through the controlled crossing upon receiving the notification permission instruction; If the moving direction of the robot passing through the controlled crossing is different from the moving direction of the target robot, prohibiting the issuance of a notification permission instruction to the target robot, so that the target robot will suspend movement until it receives the notification permission instruction if it has not received the notification permission instruction; Sending a queuing instruction to the target robot, wherein the queuing instruction carries an estimated travel time of the target robot, so that the target robot determines a queuing time threshold for the exit based on the target robot's task completion time limit and the planned path; If the estimated passing time is greater than the crossing queue time threshold, the target robot is controlled to update the planned path; or, if the estimated passing time is less than the crossing queue time threshold, the target robot is controlled to pause moving until the notification permission instruction is received.
8. The method according to claim 7, characterized in that Before receiving the crossing passage request sent by the target robot moving to the controlled crossing, the method further includes: In a pre-established environmental map, multiple controlled crossings and a controlled crossing area corresponding to each controlled crossing and a crossing resource application area corresponding to each controlled crossing area are divided, and the controlled crossing area is ≤ the crossing resource application area, so that the target robot can determine that it has entered the pre-divided crossing resource application area based on positioning information, planned path and the pre-established environmental map, and after determining that it has passed the controlled crossing, it initiates a crossing passage request to the server.
9. The method according to claim 7, characterized in that Before receiving the crossing passage request sent by the target robot moving to the controlled crossing, the method further includes: The controlled crossings and their corresponding controlled crossing areas, crossing resource application areas, and broadcast ranges are updated based on the width of each crossing, the busyness of each crossing, the width of the roads near each crossing, and the layout near each crossing.
10. The method according to claim 9, characterized in that Also includes: The second crossing control information is broadcast within the broadcast range through a broadcast signal, and the second crossing control information includes multiple updated controlled crossings and a controlled crossing area corresponding to each controlled crossing, and the controlled crossing area ≤ the crossing resource application area ≤ the broadcast range, so that the target robot can determine that it has entered the pre-divided crossing resource application area based on positioning information, planned path and a pre-established environmental map, and after determining that it has passed the controlled crossing, initiate a crossing passage request to the server.
11. The method according to claim 7, characterized in that Also includes: After issuing a notification permission instruction to the target robot, while the target robot passes through the controlled crossing, the positioning information and moving direction of the target robot are obtained in real time by calling a camera set at the controlled crossing.
12. The method according to claim 7, characterized in that Also includes: If the target robot pauses moving until receiving the notification permission instruction, the target robot is determined as a queuing robot in the controlled intersection, so that the target robot queues in a queue to wait for obtaining the notification permission instruction.
13. The method according to claim 12, characterized in that Also includes: If all the passing robots in the controlled crossing have passed the crossing, a permission instruction will be issued to the queuing robot with the highest priority in the queue. The longer the queuing time of the queuing robot, the higher the priority of the queuing robot. The queuing time includes the time spent queuing at each controlled crossing in the path planning of the queuing robot.
14. The method according to any one of claims 7 to 13, characterized in that: Also includes: According to the traffic conditions of the controlled crossing, the physical traffic lights of the controlled crossing are controlled.
15. A robot control device, characterized in that: include: A first sending module is configured to initiate a crossing passage request to a server when detecting that a target robot has moved to a controlled crossing. The server is configured to determine whether to issue a notification permission instruction to the target robot based on the movement direction of the robots passing through the controlled crossing, the queue status of the queuing robots, and the movement direction of the target robot; a first control module, configured to control the target robot to pass through the controlled crossing if a notification permission instruction is received from the server; control the target robot to pause moving until the notification permission instruction is received if the notification permission instruction is not received; and determine a crossing queuing time threshold based on the target robot's task completion time limit and planned path if a queuing instruction is received from the server; If the estimated passing time is greater than the crossing queuing time threshold, the target robot is controlled to update the planned path; or, if the estimated passing time is less than the crossing queuing time threshold, the target robot is controlled to pause moving until the notification permission instruction is received, wherein the queuing instruction carries the estimated passing time of the target robot, or the queuing instruction carries the current queuing order of the target robot, so as to calculate the estimated passing time of the target robot.
16. A data processing device, characterized in that: include: A second receiving module is configured to receive a crossing passage request sent by a target robot when the target robot moves to a controlled crossing, wherein the crossing passage request carries a moving direction of the target robot; A second determination module is configured to determine whether to issue a notification permission instruction to the target robot based on the movement direction of the passing robot in the controlled intersection, the queue status of the queuing robot, and the movement direction of the target robot; A second sending module is configured to, if there is no passing robot and queuing robot in the controlled crossing or the moving direction of the passing robot is the same as that of the target robot, issue a notification permission instruction to the target robot, so that the target robot passes through the controlled crossing upon receiving the notification permission instruction; if the moving direction of the passing robot in the controlled crossing is different from that of the target robot, prohibit the issuance of the notification permission instruction to the target robot, so that when the target robot does not receive the notification permission instruction, it pauses its movement until it receives the notification permission instruction, and send a queuing instruction to the target robot, wherein the queuing instruction carries an estimated passing time of the target robot, so that the target robot determines a queuing time threshold for the exit based on the task completion time limit and the planned path of the target robot; If the estimated passing time is greater than the crossing queue time threshold, the target robot is controlled to update the planned path; or, if the estimated passing time is less than the crossing queue time threshold, the target robot is controlled to pause moving until the notification permission instruction is received.
17. A robot, characterized in that: The robot includes a processing component and a storage component; the storage component stores one or more computer instructions; the one or more computer instructions are used to be called and executed by the processing component to implement the robot control method according to any one of claims 1 to 6.
18. A computing device, characterized in that It includes a processing component and a storage component; the storage component stores one or more computer instructions; the one or more computer instructions are used to be called and executed by the processing component to implement the robot control method according to any one of claims 1 to 6 and the data processing method according to any one of claims 7 to 14.
19. A computer storage medium, characterized in that A computer program is stored, and when the computer program is executed by a computer, the robot control method according to any one of claims 1 to 6 or the data processing method according to any one of claims 7 to 14 is implemented.
Citation Information
Patent Citations
Method and server for robot queuing management
CN105488892A
Mobile robot scheduling system and method
CN113093763A