Robot control methods, electronic devices and storage media

By marking and controlling the sub-paths occupied by the target robot that do not overlap with the already occupied area in the robot control method, the collision problem caused by overlapping robot travel paths is solved, and the safety and efficiency of the logistics system are improved.

CN115357017BActive Publication Date: 2026-03-10YUANLI JUHE (CHONGQING) ROBOTICS TECHNOLOGY CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-07-29
Publication Date
2026-03-10

AI Technical Summary

Technical Problem

Existing robot control methods have failed to effectively avoid collisions caused by overlapping robot paths, resulting in collisions between robots.

Method used

By determining the sub-paths to be traveled and the occupied areas in the target robot's travel path, the sub-paths that the target robot can occupy are marked, and the robot is controlled to travel on sub-paths that do not overlap with the occupied areas to avoid collisions.

Benefits of technology

This technology enables the target robot to avoid collisions with other robots during its movement, thereby improving the safety and efficiency of the logistics system.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115357017B_ABST
    Figure CN115357017B_ABST
Patent Text Reader

Abstract

This application provides a robot control method, electronic device, and storage medium. The method includes: determining whether there is at least one drivable sub-path that the target robot can occupy among the at least one drivable sub-path based on the driving area of ​​at least one drivable sub-path and at least one occupied area of ​​the target robot's driving path, wherein the at least one occupied area includes: the driving area of ​​the corresponding sub-path marked as occupied by the corresponding robot and / or the area occupied by the corresponding robot when it is stationary; if so, determining at least one target drivable sub-path from the at least one drivable sub-path that the target robot can occupy, marking each target drivable sub-path as occupied by the target robot; and controlling the target robot to drive on each target drivable sub-path.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the logistics field, and in particular to a robot control method, an electronic device and a storage medium. BACKGROUND

[0002] Currently, during warehouse management, the way of controlling robots is to plan a driving path for each robot, and control the robot to drive on the driving path. The current way of controlling robots does not consider the collision problem, for example, due to the overlapping part of the driving paths of two robots, resulting in the collision of the two robots. SUMMARY

[0003] To overcome the problems in the related art, the present application provides a robot control method, an electronic device and a storage medium.

[0004] The present application provides a robot control method, which comprises:

[0005] Based on the driving area of at least one to-be-driven sub-path of the driving path of the target robot and at least one occupied area, it is determined whether there is at least one to-be-driven sub-path that the target robot can occupy in the at least one to-be-driven sub-path, wherein the at least one occupied area comprises: a driving area of a corresponding sub-path marked as being occupied by a corresponding robot and / or an area occupied by a corresponding robot when in a stationary state;

[0006] If yes, at least one target to-be-driven sub-path is determined from the at least one to-be-driven sub-path that the target robot can occupy, and each target to-be-driven sub-path in the at least one target to-be-driven sub-path is marked as being occupied by the target robot.

[0007] The target robot is controlled to drive on each target to-be-driven sub-path.

[0008] The present application provides an electronic device, which comprises a memory, a processor and a computer program stored in the memory, wherein the processor executes the computer program to realize the above-mentioned robot control method.

[0009] The present application provides a computer readable storage medium, which stores a computer program / instruction, and the computer program / instruction is executed by a processor to realize the above-mentioned robot control method.

[0010] The present application provides a computer program product, which comprises a computer program / instruction, and the computer program / instruction is executed by a processor to realize the above-mentioned robot control method.

[0011] The robot control method provided in this application controls the target robot to travel on a target sub-path when the target robot's travel path is marked as occupied by the target robot. For any target sub-path, there is no overlap between the target sub-path and any occupied area. While the target robot is traveling on this target sub-path, other robots will not be in the travel area of ​​this target sub-path, and no collisions will occur between other robots and the target robot. Therefore, no robot collisions will occur when the target robot is traveling on any target sub-path. Attached Figure Description

[0012] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this application and, together with the description, serve to explain the principles of this application.

[0013] Figure 1 A flowchart of the robot control method provided in an embodiment of this application is shown;

[0014] Figure 2 A structural block diagram of the robot control device provided in an embodiment of this application is shown. Detailed Implementation

[0015] The present application will now be described in further detail with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative of the invention and not intended to limit it. Furthermore, it should be noted that, for ease of description, only the parts relevant to the invention are shown in the accompanying drawings.

[0016] It should be noted that, unless otherwise specified, the embodiments and descriptive information in this application can be combined with each other. The present application will now be described in detail with reference to the accompanying drawings and embodiments.

[0017] With the development of intelligent technologies such as the Internet of Things (IoT), artificial intelligence (AI), and big data, the demand for transforming and upgrading the traditional logistics industry using these technologies is becoming increasingly strong, making intelligent logistics a research hotspot in the logistics field. Intelligent logistics utilizes AI, big data, and various information sensors, RFID technology, GPS, and other IoT devices and technologies. It is widely applied to basic activities such as material transportation, warehousing, distribution, packaging, loading and unloading, and information services, enabling intelligent analysis and decision-making, automated operation, and high-efficiency optimization in material management. IoT technologies include sensing devices, RFID technology, laser infrared scanning, and infrared sensing identification. The IoT effectively connects materials in logistics to the network, enabling real-time monitoring of materials and sensing environmental data such as humidity and temperature in warehouses to ensure proper storage conditions. Big data technology can sense and collect all data in logistics, uploading it to the information platform's data layer for filtering, mining, and analysis. Ultimately, this provides precise data support for business processes such as transportation, warehousing, storage, picking, packaging, sorting, outbound, inventory, and distribution. The application of artificial intelligence in logistics can be broadly divided into two categories: 1) AI-powered intelligent equipment such as unmanned trucks, AGVs, AMRs, forklifts, shuttles, stacker cranes, unmanned delivery vehicles, drones, service robots, robotic arms, and smart terminals replace some manual labor; 2) Software systems driven by computer vision, machine learning, operations research, and other technologies or algorithms, such as transportation equipment management systems, warehouse management systems, equipment scheduling systems, and order allocation systems, improve manual efficiency. With the research and advancement of smart logistics, this technology has been applied in numerous fields, including retail and e-commerce, electronics, tobacco, pharmaceuticals, industrial manufacturing, footwear and apparel, textiles, and food.

[0018] Figure 1 A flowchart of a robot control method provided in an embodiment of this application is shown. The method includes:

[0019] Step 101: Based on the driving area of ​​at least one sub-path to be driven and at least one occupied area of ​​the target robot's driving path, determine whether there is at least one sub-path to be driven that the target robot can occupy.

[0020] The target robot can be any robot in the warehouse where the robot control method provided in this application embodiment is applied.

[0021] Robots can include Automated Guided Vehicles (AGVs), Automated Mobile Robots (AMRs), forklifts, and more.

[0022] In this application, for any robot, a sub-path of the robot's travel path is a part of the robot's travel path, and the sub-path of the robot's travel path is obtained by dividing the robot's travel path.

[0023] For any sub-path of any robot's travel path, before the robot travels on that sub-path, that sub-path is the sub-path to be traveled in the robot's travel path.

[0024] For any sub-path of any robot's travel path, when the robot travels from the start point of the sub-path to the end point of the sub-path, the robot has completed the travel of the sub-path, and the sub-path is no longer considered as a sub-path to be traveled in the robot's travel path.

[0025] When step 101 is executed for the first time, each sub-path of the target robot's driving path is a sub-path to be driven in the target robot's driving path.

[0026] When N is greater than 1, when step 101 is executed for the Nth time, all the sub-paths to be traveled on the target robot's travel path are the parts of all the sub-paths on the target robot's travel path excluding the sub-paths that the target robot has already traveled before the Nth execution of step 101.

[0027] At least one sub-path to be driven in the target robot's driving path in step 101 can refer to all the sub-paths to be driven in the target robot's driving path when step 101 is executed.

[0028] During the time the target robot travels along its path, steps 101-103 are executed at least once. The time the target robot travels along its path can refer to the time between the start time of the target robot's journey from the beginning of the path and the time when the target robot reaches the end of the path.

[0029] In this application, the target robot can perform step 101 when one of the following conditions is met: it is in a stationary state and at least one drivable sub-path of the target robot's driving path is stored; the target robot has completed driving each target drivable sub-path it occupies and at least one drivable sub-path of the target robot's driving path is stored; or it receives an instruction instructing the target robot to perform step 101.

[0030] For any robot's travel path, the robot completes the travel path when it travels from the starting point to the ending point of the travel path.

[0031] For any sub-path of any robot's travel path, the robot completes the travel of that sub-path when it travels from the starting point to the ending point of that sub-path.

[0032] In this application, the robot's activity area can be divided into a preset number of grids, each grid having the same size. The starting point of a corresponding path in this application can be a corresponding grid, and the ending point of a corresponding path in this application can be a corresponding grid.

[0033] In this application, for any robot, while the robot is traveling on the robot's travel path, the robot performs multiple travel operations corresponding to the travel path. Through these multiple travel operations, the robot completes the travel path, that is, the robot travels from the starting point of the travel path to the ending point of the travel path.

[0034] For any given robot, before it travels along its designated path, the path can be divided into multiple sub-paths based on various driving operations. Each sub-path corresponds to one of these driving operations. For each sub-path, the robot completes its journey by executing the corresponding driving operation.

[0035] For any robot, all sub-paths of the robot's travel path can be sorted in ascending order of the distance between the starting point of each sub-path and the starting point of the travel path. The number of sub-paths of the robot's travel path is denoted as n, and the order of the sub-paths of the robot's travel path is defined as the first sub-path, the second sub-path, ..., the nth sub-path.

[0036] For any given robot, while the robot is traveling on its path, it starts from the first sub-path of the path and completes the path when it finishes traveling the last sub-path.

[0037] In this application, the robot control method provided in the embodiment of this application is applied to drive on the ground of a warehouse. A coordinate system can be established, with the origin of the coordinate system on the plane where the ground is located, and the X-axis and Y-axis of the coordinate system on the plane where the ground is located. The X-axis of the coordinate system is the horizontal coordinate axis, and the Y-axis of the coordinate system is the vertical coordinate axis.

[0038] In this application, for any robot, the type of driving operation performed by the robot may include, but is not limited to, linear driving operation and rotation operation.

[0039] A straight-line movement operation can be: the robot moves horizontally or vertically. A rotation operation can be: the robot rotates to the position corresponding to the rotational movement operation.

[0040] In this application, for any sub-path of any robot's travel path, the travel area of ​​the sub-path is polygonal.

[0041] In this application, for a robot performing a long straight-line movement operation, the robot travels from the starting point to the ending point corresponding to the long straight-line movement operation. The starting point and ending point of the long straight-line movement operation are provided by the warehouse management system of the warehouse in which the robot control method provided in this application embodiment is applied. The starting point of the long straight-line movement operation is the starting point of the sub-path corresponding to the long straight-line movement operation, and the ending point of the long straight-line movement operation is the ending point of the sub-path corresponding to the long straight-line movement operation.

[0042] The shape of the driving area of ​​the sub-path corresponding to the long straight movement driving operation can be a rectangle, with the horizontal side of the rectangle parallel to the X-axis of the coordinate system and the vertical side of the rectangle parallel to the Y-axis of the coordinate system.

[0043] For a sub-path corresponding to a long straight-line movement operation performed by a robot, the shape of the travel area of ​​the sub-path can be a rectangle. If the robot travels in a horizontal direction on the sub-path, the starting point of the sub-path is on one vertical side of the rectangle, and the ending point of the sub-path is on the other vertical side of the rectangle. The length of the rectangle is the distance between the starting point and the ending point of the sub-path. The width of the rectangle is: the Y-axis coordinate value of the point with the largest Y-axis coordinate value on the Y-axis of the coordinate system when the robot is traveling on the sub-path minus the Y-axis coordinate value of the point with the smallest Y-axis coordinate value on the Y-axis of the coordinate system when the robot is traveling on the sub-path.

[0044] If the robot travels in a vertical direction on the sub-path, the starting point of the sub-path is on one horizontal side of the rectangle, and the ending point of the sub-path is on the other horizontal side of the rectangle. The width of the rectangle is the distance between the starting point and the ending point of the sub-path, and the length of the rectangle is the X-axis coordinate value of the point with the largest X-axis coordinate value on the coordinate system when the robot is traveling on the sub-path minus the X-axis coordinate value of the point with the smallest X-axis coordinate value on the coordinate system when the robot is traveling on the sub-path.

[0045] In this application, for a rotational driving operation performed by a robot, the robot rotates at the rotational position corresponding to the rotational driving operation. Through this rotational driving operation, the robot's driving direction can be changed from one of the horizontal and vertical directions to the other of the horizontal and vertical directions. The rotational position corresponding to the rotational driving operation is provided by the warehouse management system of the warehouse in which the robot control method provided in the embodiments of this application is applied.

[0046] The shape of a sub-path corresponding to a rotational driving operation performed by a robot can be a circle. The rotational driving operation is as follows: the robot rotates at the rotational position corresponding to the rotational driving operation. The center of the circle can be the rotational position corresponding to the rotational driving operation. The diameter of the circle can be the length of the diagonal of the rectangle surrounding the robot. The outermost points of the robot in each direction are all on the corresponding sides of the rectangle surrounding the robot.

[0047] In this application, for any robot, when the robot is stationary, a rectangle surrounding the robot and a circle associated with the rectangle surrounding the robot can be determined. The outermost points of the robot in each direction lie on the corresponding edges of the rectangle surrounding the robot. The center point of the circle associated with the rectangle surrounding the robot is the center point of the rectangle surrounding the robot, and the diameter of the circle associated with the rectangle surrounding the robot can be the length of the rectangle surrounding the robot. Six points where the rectangle and the circle intersect are determined, and connecting these six points yields a hexagon, which represents the shape of the area occupied by the robot when it is stationary.

[0048] At least one occupied area in step 101 includes: the travel area of ​​the corresponding sub-path marked as occupied by the corresponding robot and / or the area occupied by the corresponding robot when it is stationary.

[0049] Each travel area of ​​a corresponding sub-path marked as occupied by the corresponding robot is considered an occupied area, and each area occupied by the corresponding robot when it is stationary is also considered an occupied area.

[0050] At least one occupied area in step 101 can refer to all occupied areas when step 101 is executed.

[0051] In this application, based on the driving area of ​​at least one sub-path to be driven and at least one occupied area of ​​the driving path of the target robot, it is determined whether there is at least one sub-path to be driven that the target robot can occupy.

[0052] For any target robot that can occupy a traversable sub-path, there is no overlap between the traversable sub-path and any one of the occupied areas in at least one occupied area.

[0053] For any two regions, if the two regions have an overlapping portion, the overlapping portion refers to the part that belongs to both one of the two regions and the other of the two regions.

[0054] In this application, if the number of waiting sub-paths of the target robot's driving path is one when step 101 is executed, then it is determined whether the target robot can occupy a waiting sub-path.

[0055] If step 101 is executed and there are multiple sub-paths to be driven on the target robot's driving path, then the multiple sub-paths to be driven on the robot's driving path can be ordered according to the distance between the starting point of the sub-path to be driven and the starting point of the driving path, from smallest to largest.

[0056] Based on the order of the multiple drivable sub-paths, it is sequentially determined whether each sub-path can be occupied by the target robot, until it is determined that the target robot cannot occupy a corresponding sub-path. First, it is determined whether the target robot can occupy the first drivable sub-path defined by the order of the multiple drivable sub-paths. If it is determined that the target robot can occupy the first drivable sub-path defined by the order of the multiple drivable sub-paths, then it is determined whether the target robot can occupy the second drivable sub-path defined by the order of the multiple drivable sub-paths, and so on.

[0057] In this application, determining whether a target robot can occupy any sub-path of its travel path can include: determining whether the sub-path is marked as occupied by another robot; if the sub-path is marked as occupied by another robot, determining that the target robot cannot occupy the sub-path; if the sub-path is not marked as occupied by another robot, determining whether each of at least one occupied area overlaps with the travel area of ​​the sub-path; if the sub-path does not overlap with any occupied area, determining that the target robot can occupy the sub-path; if there is an occupied area that overlaps with the sub-path, determining that the target robot cannot occupy the sub-path.

[0058] The target robot can be any robot in the warehouse where the robot control method provided in this application embodiment is applied. Other robots are relative to the target robot. Robots in the warehouse that are not the target robot are other robots.

[0059] Step 102: Determine at least one target drivable sub-path from at least one drivable sub-path that the target robot can occupy, and mark each target drivable sub-path as occupied by the target robot.

[0060] In this application, if the number of traversable sub-paths that the target robot can occupy is one, then the one traversable sub-path that the target robot can occupy is taken as a target traversable sub-path.

[0061] If there are multiple sub-paths that the target robot can occupy, each sub-path that the target robot can occupy can be considered as a target sub-path.

[0062] In this application, after determining at least one target drivable sub-path from at least one drivable sub-path that the target robot can occupy, the target robot occupies each of the at least one target drivable sub-paths.

[0063] For any sub-path of any robot's travel path, when that sub-path is marked as occupied by that robot, other robots cannot occupy that sub-path.

[0064] For any sub-path of any robot's travel path, when the sub-path is marked as occupied by the robot, the robot can travel on the sub-path. After the robot has traveled the sub-path, the marking that the sub-path is occupied by the robot is removed.

[0065] In this application, each of the at least one target drivable sub-paths is marked as being occupied by the target robot.

[0066] For each of the at least one target drivable sub-paths identified, after the target drivable sub-path is marked as occupied by the target robot and before the mark of the target drivable sub-path being occupied by the robot is removed, the target drivable sub-path is regarded as an occupied area.

[0067] In this application, when it is determined that the target robot cannot occupy at least one traversable sub-path, if the target robot is in a stationary state, then the target robot remains stationary. When it is determined that the target robot cannot occupy at least one traversable sub-path, if the target robot is traveling on the corresponding sub-path, then when the target robot has traveled through the last sub-path of all occupied sub-paths, the target robot stops traveling and remains stationary.

[0068] Step 103: Control the target robot to travel on each target sub-path to be traveled.

[0069] In this application, controlling the target robot to travel on each target sub-path to be traveled may include: if a target sub-path to be traveled is determined, when the target robot is stationary or when the target robot has traveled through each sub-path it occupied before controlling the target robot to travel on each target sub-path to be traveled, sending an instruction for the travel operation corresponding to the target sub-path to be traveled to the target robot, so as to trigger the target robot to execute the travel operation corresponding to the target sub-path to be traveled, and travel through the target sub-path to be traveled.

[0070] Controlling the target robot to travel on each target sub-path may include: if multiple target sub-paths are determined, sorting the multiple target sub-paths according to the distance between the starting point of the target sub-path and the starting point of the target robot's travel path from smallest to largest, to obtain the order of the target sub-paths; and controlling the target robot to travel on each target sub-path in turn according to the order of the target sub-paths.

[0071] Controlling the target robot to travel sequentially on each target sub-path according to the order of the target sub-paths to be traveled can include: for the first target sub-path to be traveled as defined by the order of the target sub-paths to be traveled, when the target robot is in a stationary state or when the target robot has completed traveling on any sub-path it occupied before controlling the target robot to travel on the first target sub-path to be traveled, sending a driving operation instruction corresponding to the first target sub-path to be traveled to the target robot, so as to trigger the target robot to execute the driving operation corresponding to the first target sub-path to be traveled, and complete traveling on the first target sub-path to be traveled.

[0072] The target sub-paths to be driven, which are defined in the order of the target sub-paths to be driven, are identified as other target sub-paths to be driven.

[0073] Controlling the target robot to travel sequentially on each target sub-path according to the order of the target sub-paths to be traveled can include: for each other target sub-path to be traveled, when the target robot has completed the previous target sub-path to be traveled, sending the target robot a driving operation instruction corresponding to the other target sub-path to be traveled, so as to trigger the target robot to execute the driving operation corresponding to the other target sub-path to be traveled, and complete the other target sub-path to be traveled.

[0074] In this application, when a target robot's travel path is marked as occupied by the target robot, the target robot is controlled to travel on that target sub-path. For any target sub-path, there is no overlap between that sub-path and any occupied area. While the target robot is traveling on that sub-path, other robots will not be within its travel area, and collisions with the target robot will not occur. Therefore, no robot collisions will occur when the target robot is traveling on any target sub-path.

[0075] In some embodiments, when multiple target sub-paths to be driven are determined, the occupied length of the multiple target sub-paths to be driven is greater than the minimum occupied length threshold and the occupied length of the target sub-paths to be driven is less than the maximum occupied length threshold. The occupied length of the multiple target sub-paths to be driven is the sum of the lengths of the multiple target sub-paths to be driven.

[0076] In this application, multiple drivable sub-paths that the target robot can occupy can be sorted according to the distance between the starting point of the drivable sub-path and the starting point of the driving path, from smallest to largest, to obtain the order of these multiple drivable sub-paths. Following this order, drivable sub-paths are selected sequentially until the sum of the lengths of all selected drivable sub-paths exceeds a minimum occupation length threshold and the length of all selected drivable sub-paths is less than a maximum occupation length threshold. The length of all selected drivable sub-paths is the sum of the lengths of each individual drivable sub-path among all selected drivable sub-paths. The number of drivable sub-paths included in the selected drivable sub-paths is multiple, and each selected drivable sub-path is defined as a target drivable sub-path.

[0077] If the length of the multiple target sub-paths to be traveled is too short, the target robot can travel a short distance to complete each target sub-path, requiring step 101 to be executed again, thus reducing the target robot's work efficiency. If the length of the multiple target sub-paths to be traveled is too long, the target robot will occupy multiple target sub-paths for a long time, and other robots will wait for the target robot to complete each target sub-path for a long time, resulting in a decrease in overall work efficiency.

[0078] In this application, when multiple target sub-paths to be driven are determined, the occupied length of the multiple target sub-paths to be driven can be greater than the minimum occupied length threshold and the occupied length of the target sub-paths to be driven can be less than the maximum occupied length threshold. The occupied length of the multiple target sub-paths to be driven is neither too small nor too large, so as to avoid the reduction of work efficiency.

[0079] In some embodiments, determining whether at least one sub-path of the target robot can occupy at least one sub-path of the target robot's driving path, based on the driving area of ​​the sub-path to be driven and at least one occupied area, includes: determining whether there is an occupied area in the at least one occupied area that overlaps with the driving area of ​​the sub-path to be driven; if not, marking the sub-path to be driven as to be submitted for occupation by the target robot; determining whether the sub-path to be driven is marked as to be submitted for occupation by other robots; if yes, when the target robot is selected from the target robot and the other robots, determining that the target robot can occupy the sub-path to be driven; if no, determining that the target robot can occupy the sub-path to be driven.

[0080] For any one of the at least one sub-paths to be traveled in the travel path, determining that the target robot can occupy the sub-path to be traveled may include: determining whether there is an occupied area in at least one occupied area that overlaps with the travel area of ​​the sub-path to be traveled; if it is determined that there is no occupied area in at least one occupied area that overlaps with the travel area of ​​the sub-path to be traveled, marking the sub-path to be traveled as to be submitted for occupation by the target robot; determining whether the sub-path to be traveled is marked as to be submitted for occupation by other robots; if the sub-path to be traveled is marked as to be submitted for occupation by other robots, when the target robot is selected from the target robot and the other robots, determining that the target robot can occupy the sub-path to be traveled; if the sub-path to be traveled is not marked as to be submitted for occupation by other robots, determining that the target robot can occupy the sub-path to be traveled.

[0081] For any one of the at least one sub-paths to be driven in the driving path, if it is determined that the sub-path to be driven is marked as to be submitted for occupation by another robot, a robot is randomly selected from the target robot and the other robot. If the randomly selected robot is the target robot, it is determined that the target robot can occupy the sub-path to be driven. If the randomly selected robot is the other robot, it is determined that the other robot can occupy the sub-path to be driven.

[0082] For any one of the at least one sub-paths to be driven in the driving path, the sub-path to be driven is marked as to be submitted for occupation by another robot. Similarly, the sub-path to be driven is marked as to be submitted for occupation by the target robot. In a control process for the other robot, if it is determined that there is no occupied area in the corresponding at least one occupied area that overlaps with the driving area of ​​the sub-path to be driven, the sub-path to be driven is marked as to be submitted for occupation by the other robot.

[0083] In this application, for any one of the at least one sub-paths to be driven in the driving path, after determining whether the target robot can occupy the sub-path or not, the mark of the target robot being submitted for occupation is canceled. If the sub-path to be driven is marked as being submitted for occupation by another robot, the mark of the other robot being submitted for occupation of the sub-path is canceled.

[0084] In this application, for any sub-path of any robot's travel path, when the sub-path is marked as to be occupied by the corresponding robot, the travel area of ​​the sub-path can be regarded as an occupied area, and at least one occupied area in step 101 may include the travel area of ​​the sub-path.

[0085] This application addresses the issue of two robots vying for a designated sub-path, meaning that two robots simultaneously or nearly simultaneously determine that they can occupy the same sub-path. When two robots simultaneously or nearly simultaneously determine that they can occupy the same sub-path, only one robot can occupy that sub-path.

[0086] In this application, when it is determined that there is no occupied area overlapping with the driving area of ​​the sub-path to be driven in at least one occupied area, the sub-path to be driven is marked as to be submitted for occupation by the target robot. Based on whether the sub-path to be driven is marked as to be submitted for occupation by other robots, it is determined whether the target robot or other robots can occupy the sub-path to be driven. This solves the problem of two robots competing for the sub-path to be driven efficiently without the need for a mutex lock.

[0087] In some embodiments, for any one of the at least one drivable sub-paths of the target robot's drivability path, determining whether there is an occupied area in at least one occupied region that overlaps with the drivability area of ​​the drivable sub-path includes: based on the shape information of the drivability area of ​​the drivability area and the shape information of each occupied area in the at least one occupied region in the shape information database, determining whether there is an occupied area in the at least one occupied region that has a shape intersecting with the shape of the drivability area of ​​the drivability sub-path; if yes, determining that there is an occupied area in the at least one occupied region that overlaps with the drivability area of ​​the drivability sub-path; if no, determining that there is no occupied area in the at least one occupied region that overlaps with the drivability area of ​​the drivability sub-path.

[0088] In this application, a shape information database can be used to store the shape information of each occupied area. For any occupied area, the shape information of the occupied area is used to determine the occupied area. The shape information of the occupied area may include the following items or a part of the following items: the position of the center point of the shape of the occupied area, the length of each side of the shape of the occupied area, the type of the shape of the occupied area, and the position of the point used to obtain the shape of the occupied area.

[0089] For any one of the at least one drivable sub-paths in the target robot's drivability path, the shape information of the drivability area of ​​the drivability area is used to determine the shape of the drivability area of ​​the drivability area. The shape information of the drivability area of ​​the drivability area may include the following items or a part of the following items: the position of the center point of the shape of the drivability area of ​​the drivability area, the length of each side of the shape of the drivability area of ​​the drivability area, the type of the shape of the drivability area of ​​the drivability area, and the position of the point used to obtain the shape of the drivability area of ​​the drivability area.

[0090] For any two regions, if the shapes of the two regions intersect, then the two regions have an overlapping portion.

[0091] For any one of the at least one sub-paths to be driven in the target robot's driving path, the shape of the sub-path to be driven can be determined based on the shape information of the sub-path to be driven, and the shape of each of the at least one occupied area can be determined based on the shape information of each of the at least one occupied area.

[0092] For any one of the at least one drivable sub-paths in the target robot's drivability path, based on the shape of the drivable sub-path and the shape of each of the at least one occupied areas, it can be determined whether there exists an occupied area in the at least one occupied area that has a shape intersecting with the shape of the drivability area of ​​the drivable sub-path. If there exists an occupied area in the at least one occupied area that has a shape intersecting with the shape of the drivability area of ​​the drivable sub-path, it can be determined that there exists an occupied area in the at least one occupied area that overlaps with the drivability area of ​​the drivable sub-path. If there does not exist an occupied area in the at least one occupied area that has a shape intersecting with the shape of the drivability area of ​​the drivable sub-path, it is proven that there does not exist an occupied area in the at least one occupied area that overlaps with the drivability area of ​​the drivable sub-path.

[0093] In this application, when determining whether there is an occupied area in at least one occupied area that overlaps with the driving area of ​​the sub-path to be driven, it is only necessary to determine whether the shape of each occupied area in at least one occupied area intersects with the shape of the driving area of ​​the sub-path to be driven. Thus, it is possible to quickly determine whether there is an occupied area in at least one occupied area that overlaps with the driving area of ​​the sub-path to be driven.

[0094] In some embodiments, the method further includes: for any determined target sub-path to be driven, when the target robot has completed driving the target sub-path to be driven and there is a conflicting robot corresponding to the target sub-path to be driven, sending a wake-up command to the conflicting robot corresponding to the target sub-path to be driven, wherein the conflicting robot corresponding to the target sub-path to be driven cannot occupy the corresponding sub-path because the driving area of ​​the target sub-path to be driven overlaps with the driving area of ​​the corresponding sub-path of the other driving path of the conflicting robot, and the wake-up command is used to trigger the conflicting robot corresponding to the target sub-path to drive to determine whether there is at least one sub-path to be driven that the conflicting robot can occupy in at least one sub-path to be driven in the other driving path.

[0095] For any given target sub-path to be traveled, the travel path of the conflicting robot corresponding to that target sub-path is called the other travel path of the conflicting robot corresponding to that target sub-path.

[0096] For any given target sub-path to be driven, if the conflicting robot corresponding to the target sub-path determines whether there is at least one sub-path that it can occupy among at least one other driving path, and determines that the driving area of ​​the target sub-path overlaps with the driving area of ​​the corresponding sub-path of the other driving path of the conflicting robot corresponding to the target sub-path, and the conflicting robot corresponding to the target sub-path cannot occupy the corresponding sub-path, then during the time between the time the conflicting robot determines that it cannot occupy the corresponding sub-path and the time it receives the wake-up command, the conflicting robot corresponding to the target sub-path will not determine whether there is at least one sub-path that it can occupy among at least one other driving path of the conflicting robot corresponding to the target sub-path.

[0097] When the target robot has completed the target sub-path to be driven and there is a conflicting robot corresponding to the target sub-path to be driven, a wake-up command is sent to the conflicting robot corresponding to the target sub-path to be driven. The conflicting robot corresponding to the target sub-path to be driven then determines whether there is at least one sub-path to be driven that the conflicting robot corresponding to the target sub-path can occupy in at least one of the other driving paths of the conflicting robot corresponding to the target sub-path to be driven.

[0098] In this application, when the target robot has completed the target sub-path to be driven and there is a conflicting robot corresponding to the target sub-path to be driven, a wake-up command is sent to the conflicting robot corresponding to the target sub-path to be driven. This triggers the conflicting robot to determine whether there is at least one sub-path to be driven that the conflicting robot can occupy in at least one other driving path. Thus, the conflicting robot corresponding to the target sub-path to be driven is promptly notified that it can continue to seize other sub-paths to be driven in the other driving paths corresponding to the conflicting robot.

[0099] In some embodiments, the method further includes: when the target robot receives an instruction instructing the target robot to complete each target traversable sub-path and there is at least one traversable sub-path of the target robot's traversal path, the target robot determines whether there is at least one traversable sub-path that the target robot can occupy among the at least one traversable sub-path.

[0100] When the target robot has completed each target sub-path, it can receive an instruction from the target robot instructing it to complete each target sub-path.

[0101] When the target robot has completed each target sub-path to be driven, if there is at least one target sub-path to be driven in the target robot's driving path, the at least one target sub-path to be driven in the existing driving path is after the last target sub-path to be driven in all the target sub-paths to be driven determined in step 102.

[0102] When the target robot receives an instruction to complete each target sub-path to be driven and there is at least one sub-path to be driven in the target robot's driving path, the target robot determines whether there is at least one sub-path to be driven that the target robot can occupy.

[0103] The process of determining whether there is at least one sub-path that the target robot can occupy among the at least one sub-path to be driven is the same as the process in step 101. The process of determining whether there is at least one sub-path that the target robot can occupy among the at least one sub-path to be driven refers to the process in step 101. The at least one sub-path to be driven is equivalent to the at least one sub-path to be driven in step 101.

[0104] In this application, when the target robot receives an instruction instructing it to complete each target sub-path to be traversed and at least one sub-path to be traversed exists in the target robot's traversal path, the target robot determines whether there is at least one sub-path to be traversed that it can occupy. Therefore, when the target robot has completed each target sub-path to be traversed and at least one sub-path to be traversed exists in the target robot's traversal path, the target robot promptly continues to preemptively occupy the remaining sub-paths in its traversal path.

[0105] In some embodiments, the method further includes: when it is detected that the target robot has completed each target drivable sub-path and there is at least one drivable sub-path of the target robot's drivable path, the target robot determines whether there is at least one drivable sub-path that the target robot can occupy among the at least one drivable sub-path.

[0106] When the target robot has completed each target sub-path to be driven, if there is at least one sub-path to be driven in the target robot's driving path, the at least one sub-path to be driven in the existing driving path is after the last sub-path to be driven in all the target sub-paths to be driven determined in step 102.

[0107] In this application, starting from the moment the target robot arrives at the starting point of the last target sub-path determined in step 102, it can detect at preset time intervals whether the target robot has completed the last target sub-path. If the target robot is detected to have completed the last target sub-path, then the target robot has completed each target sub-path.

[0108] When it is detected that the target robot has completed each target traversable sub-path and there is at least one traversable sub-path of the target robot's traversal path, the target robot determines whether there is at least one traversable sub-path that the target robot can occupy.

[0109] In this application, when it is detected that the target robot has completed each target traversable sub-path and there is at least one traversable sub-path in the target robot's travel path, the target robot determines whether there is at least one traversable sub-path that the target robot can occupy. Therefore, when the target robot has completed each target traversable sub-path and there is at least one traversable sub-path in the target robot's travel path, the target robot promptly continues to preemptively occupy traversable sub-paths in the target robot's travel path.

[0110] Please refer toFigure 2 The diagram illustrates a structural block diagram of a robot control device provided in an embodiment of this application. The robot control device includes: a first determining unit 201, a second determining unit 202, and a control unit 203.

[0111] The first determining unit 201 is configured to determine whether there is at least one drivable sub-path that the target robot can occupy, based on the drivable area of ​​at least one drivable sub-path and at least one occupied area of ​​the drivable sub-path of the target robot's drivable path. The at least one occupied area includes: the drivable area of ​​the corresponding sub-path marked as occupied by the corresponding robot and / or the area occupied by the corresponding robot when it is stationary.

[0112] The second determining unit 202 is configured to, if so, determine at least one target drivable sub-path from at least one drivable sub-path that the target robot can occupy, and mark each target drivable sub-path as occupied by the target robot;

[0113] The control unit 203 is configured to control the target robot to travel on each target sub-path to be traveled.

[0114] In some embodiments, when multiple target sub-paths to be driven are determined, the occupied length of the multiple target sub-paths to be driven is greater than the minimum occupied length threshold and the occupied length is less than the maximum occupied length threshold, and the occupied length is the sum of the lengths of the multiple target sub-paths to be driven.

[0115] In some embodiments, the first determining unit 201 is configured to, when determining that there is no occupied area overlapping with the driving area of ​​the sub-path to be driven in the at least one occupied area, mark the sub-path to be driven as to be submitted for occupation by the target robot; determine whether the sub-path to be driven is marked as to be submitted for occupation by other robots; if yes, when the target robot is selected from the target robot and the other robots, determine that the target robot can occupy the sub-path to be driven; if no, determine that the target robot can occupy the sub-path to be driven.

[0116] In some embodiments, the first determining unit 201 is configured to determine, based on the shape information of the driving area of ​​the sub-path to be driven and the shape information of each of the at least one occupied areas in the shape information database, whether there is an occupied area with a shape that intersects with the shape of an occupied area; if so, determine that there is an occupied area in the at least one occupied area that overlaps with the driving area of ​​the sub-path to be driven; if not, determine that there is no occupied area in the at least one occupied area that overlaps with the driving area of ​​the sub-path to be driven.

[0117] In some embodiments, the robot control device further includes:

[0118] The first response unit is configured to send a wake-up command to the conflicting robot when the target robot has completed the target sub-path to be driven and there is a conflicting robot corresponding to the target sub-path to be driven. The conflicting robot is unable to occupy the corresponding sub-path because the driving area of ​​the target sub-path to be driven overlaps with the driving area of ​​the corresponding sub-path of other driving paths of the conflicting robot. The wake-up command is used to trigger the conflicting robot to determine whether there is at least one sub-path to be driven that the conflicting robot can occupy among at least one sub-path to be driven of the other driving paths.

[0119] In some embodiments, the robot control device further includes:

[0120] The second response unit is configured to, when receiving an instruction from the target robot instructing the target robot to complete each of the target traversable sub-paths and when there is at least one traversable sub-path among the at least one traversable sub-path, determine whether there is at least one traversable sub-path that the target robot can occupy.

[0121] In some embodiments, the robot control device further includes:

[0122] The third response unit is configured to, when it is detected that the target robot has completed each target traversable sub-path and there is at least one traversable sub-path of the traversable path, determine whether there is at least one traversable sub-path that the target robot can occupy among the at least one traversable sub-path.

[0123] Each functional module or unit in the image processing apparatus of this application embodiment is used to execute the steps of the robot control method described above, and specific details can be found in the relevant content of the method described above.

[0124] This application also provides a computer-readable storage medium storing a computer program / instructions thereon, which, when executed by a processor, implements the above-described robot control method.

[0125] This application also provides a computer program product, including a computer program / instructions, which, when executed by a processor, implements the above-described robot control method.

[0126] Other embodiments of this application will readily occur to those skilled in the art upon consideration of the specification and practice of the invention disclosed herein. This application is intended to cover any variations, uses, or adaptations of this application that follow the general principles of this application and include common knowledge or customary technical methods in the art not disclosed herein. The specification and examples are to be considered exemplary only, and the true scope and spirit of this application are indicated by the following claims.

[0127] It should be understood that this application is not limited to the precise structure described above and shown in the accompanying drawings, and various modifications and changes can be made without departing from its scope. The scope of this application is limited only by the appended claims.

Claims

1. A robot control method characterized by, The method comprises: determining whether there is at least one to-be-traveled sub-path that can be occupied by the target robot in at least one to-be-traveled sub-path of a travel path of the target robot based on a travel region and at least one occupied region of the at least one to-be-traveled sub-path, wherein the at least one occupied region comprises a travel region of a corresponding sub-path marked as being occupied by a corresponding robot and / or a region occupied by the corresponding robot when the corresponding robot is in a stationary state; if yes, determining at least one target to-be-traveled sub-path from the at least one to-be-traveled sub-path that can be occupied by the target robot, marking each target to-be-traveled sub-path as being occupied by the target robot; controlling the target robot to travel on each target to-be-traveled sub-path; The method further comprises: when it is determined that there is no occupied region that overlaps with the travel region of the to-be-traveled sub-path in the at least one occupied region, marking the to-be-traveled sub-path as being to-be-occupied by the target robot; if it is determined that the to-be-traveled sub-path is marked as being to-be-occupied by other robots, selecting the target robot or the other robots to occupy the to-be-traveled sub-path; when the target robot travels through the target to-be-traveled sub-path and there is a conflict robot corresponding to the target to-be-traveled sub-path, sending a wake-up instruction to the conflict robot to inform the conflict robot to continue to occupy a to-be-traveled sub-path in other travel paths of the conflict robot corresponding to the target to-be-traveled sub-path; when a plurality of target to-be-traveled sub-paths are determined, the occupation length of the plurality of target to-be-traveled sub-paths is greater than a minimum occupation length threshold and the occupation length is less than a maximum occupation length threshold, and the occupation length is a sum of lengths of the plurality of target to-be-traveled sub-paths.

2. The method of claim 1, wherein, Determining whether there is at least one to-be-traveled sub-path that can be occupied by the target robot in at least one to-be-traveled sub-path of a travel path of the target robot based on a travel region and at least one occupied region of the to-be-traveled sub-path comprises: determining whether there is an occupied region that overlaps with the travel region of the to-be-traveled sub-path in the at least one occupied region; if no, marking the to-be-traveled sub-path as being to-be-occupied by the target robot; determining whether the to-be-traveled sub-path is marked as being to-be-occupied by other robots; if yes, when the target robot is selected from the target robot and the other robots, determining that the target robot can occupy the to-be-traveled sub-path; if no, determining that the target robot can occupy the to-be-traveled sub-path.

3. The method of claim 2, wherein, Determining whether there is an occupied region that overlaps with the travel region of the to-be-traveled sub-path in the at least one occupied region comprises: determining, based on the shape information of the travel region of the to-be-traveled sub-path and the shape information of each of the at least one occupied region in the shape information database, whether there is an occupied region in the at least one occupied region that has a shape intersecting with the shape of the travel region of the to-be-traveled sub-path; if yes, determining that there is an occupied region in the at least one occupied region that has an overlapping part with the travel region of the to-be-traveled sub-path; if no, determining that there is no occupied region in the at least one occupied region that has an overlapping part with the travel region of the to-be-traveled sub-path.

4. The method according to any one of claims 1 to 3, characterized in that, The method further comprises: when the target robot travels the target to-be-traveled sub-path and there is a conflict robot corresponding to the target to-be-traveled sub-path, sending a wake-up instruction to the conflict robot, wherein the conflict robot cannot occupy a corresponding sub-path of other travel paths of the conflict robot due to an overlapping part between the travel region of the target to-be-traveled sub-path and the travel region of the corresponding sub-path, and the wake-up instruction is used to trigger the conflict robot to determine whether there is at least one to-be-traveled sub-path of the at least one to-be-traveled sub-path of the other travel paths that the conflict robot can occupy.

5. The method of claim 4, wherein, The method further comprises: when receiving an instruction from the target robot indicating that the target robot travels each target to-be-traveled sub-path and there is at least one to-be-traveled sub-path of the travel paths, determining, by the target robot, whether there is at least one to-be-traveled sub-path of the at least one to-be-traveled sub-path that the target robot can occupy.

6. The method of claim 4, wherein, The method further comprises: when detecting that the target robot travels each target to-be-traveled sub-path and there is at least one to-be-traveled sub-path of the travel paths, determining, by the target robot, whether there is at least one to-be-traveled sub-path of the at least one to-be-traveled sub-path that the target robot can occupy.

7. An electronic device comprising: A memory, a processor, and a computer program stored on the memory, wherein the processor executes the computer program to implement the method of any one of claims 1-6.

8. A computer readable storage medium having stored thereon computer programs / instructions, characterized in that, The computer program / instruction is executed by the processor to implement the method of any one of claims 1-6.

9. A computer program product comprising computer programs / instructions, characterized in that, The computer program / instruction is executed by the processor to implement the method of any one of claims 1-6.

Citation Information

Patent Citations

  • Robot path scheduling method and device, server and storage medium

    CN110531773A

  • Unmanned vehicle control method and device, storage medium, electronic equipment and unmanned vehicle

    CN111966092A