WO2019242652A1 - 机器人调度、机器人路径的控制方法、服务器和存储介质 - Google Patents
机器人调度、机器人路径的控制方法、服务器和存储介质 Download PDFInfo
- Publication number
- WO2019242652A1 WO2019242652A1 PCT/CN2019/091920 CN2019091920W WO2019242652A1 WO 2019242652 A1 WO2019242652 A1 WO 2019242652A1 CN 2019091920 W CN2019091920 W CN 2019091920W WO 2019242652 A1 WO2019242652 A1 WO 2019242652A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- robot
- state
- path
- area
- sub
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 99
- 238000003860 storage Methods 0.000 title claims abstract description 49
- 230000004044 response Effects 0.000 claims abstract description 39
- 230000033001 locomotion Effects 0.000 claims description 26
- 238000004590 computer program Methods 0.000 claims description 9
- 230000008569 process Effects 0.000 claims description 3
- 230000001960 triggered effect Effects 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 25
- 230000006870 function Effects 0.000 description 14
- 230000003287 optical effect Effects 0.000 description 14
- 238000012423 maintenance Methods 0.000 description 12
- 238000004891 communication Methods 0.000 description 8
- 239000013307 optical fiber Substances 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 238000003491 array Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 4
- 230000001133 acceleration Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 230000000644 propagated effect Effects 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 230000007306 turnover Effects 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/0011—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots associated with a remote control arrangement
- G05D1/0044—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots associated with a remote control arrangement by providing the operator with a computer generated representation of the environment of the vehicle, e.g. virtual reality, maps
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1661—Programme controls characterised by programming, planning systems for manipulators characterised by task planning, object-oriented languages
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
- B25J9/1666—Avoiding collision or forbidden zones
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1679—Programme controls characterised by the tasks executed
- B25J9/1682—Dual arm manipulator; Coordination of several manipulators
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/0214—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory in accordance with safety or protection criteria, e.g. avoiding hazardous areas
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0287—Control of position or course in two dimensions specially adapted to land vehicles involving a plurality of land vehicles, e.g. fleet or convoy travelling
- G05D1/0291—Fleet control
- G05D1/0297—Fleet control by controlling means in a control room
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
- G06Q10/047—Optimisation of routes or paths, e.g. travelling salesman problem
Definitions
- the embodiments of the present application relate to robot technology, for example, to a robot scheduling, a robot path control method, a server, and a storage medium.
- the development of robotics has brought new technologies and innovations to the logistics industry. Using robots to replace a large number of workers can realize automation in the field of logistics, reduce labor costs, and promote the improvement of productivity.
- the robotic picking system in related technologies transforms the traditional "person-to-goods" cargo picking mode into a "cargo-to-person” cargo picking mode by moving the robot to a preset worker position, breaking the traditional cargo picking mode. Mode to effectively improve work efficiency.
- the related technology is to stop the operation of the robot in a certain area, but it may affect the operation of other areas or the entire area.
- the movement method of the robot in the related technology cannot meet the business requirements of a variety of upstream systems and the processing requirements of emergencies, and it cannot realize that the operation and maintenance personnel can enter the warehouse safely and quickly to restore the production order without affecting the production.
- a warehouse is a place for centralized storage of materials. In the event of a fire, the economic losses are huge, the social impact is great, and the consequences are serious. Therefore, it is of great significance to do a good job of fire safety in the warehouse, ensure the safety of stored materials, and reduce hidden fire hazards.
- the present application provides a robot scheduling, a robot path control method, a server, and a storage medium to solve at least one of the above problems.
- An embodiment of the present application provides a robot scheduling method, and the method includes:
- the working state includes: an idle state and a non-idle state
- the robot When the working state of the robot is idle and the current position is outside a preset target range, the robot is dispatched from the current position to the target range.
- a target path, a target path, a target path, and a target path Embodiments of the present application further provide a server, including:
- At least one processor At least one processor
- a memory connected in communication with the at least one processor; wherein,
- the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor, so that the at least one processor can execute the method according to any one of the foregoing embodiments.
- An embodiment of the present application further provides a storage medium storing computer-executable instructions, where the computer-executable instructions are used to execute the method according to any one of the foregoing embodiments.
- An embodiment of the present application proposes a robot scheduling method, a server, and a storage medium.
- a working state of the robot and a current position of the robot are determined.
- the working state includes: an idle state and a non-idle state.
- the robot can be dispatched from the current position to the target range. That is to say, in the technical solution proposed in the embodiment of the present application, when the working state of the robot is idle and the current position is outside a preset target range, the robot can be dispatched to a specified area to collect, and the robot can be automatically realized Scheduling to designated areas can reduce operation and maintenance costs and improve work efficiency.
- An embodiment of the present application provides a method for controlling a robot path, including:
- the robot When it is detected that the current sub-region and the next sub-region are both in an unlocked state, the robot is guided to move according to the path.
- An embodiment of the present application further provides a server, where the server includes:
- One or more processors are One or more processors;
- Memory set to store one or more programs
- the one or more processors When the one or more programs are executed by the one or more processors, the one or more processors implement the method for controlling a robot path as described above.
- An embodiment of the present application further provides a computer-readable storage medium on which a computer program is stored.
- the program is executed by a processor, the method for controlling a robot path as described above is implemented.
- the working state of the current sub-area where the robot is located is determined. If it is detected that the current sub-area is in an unlocked state and the next sub-area is in a locked state, it is restarted. Plan a path for the robot to avoid the next sub-area, and guide the robot to move according to the re-planned path.
- the technical solution provided in the embodiments of the present application can adjust the path in real time according to the working state of the sub-area during the movement of the robot, and can more flexibly control the motion path of the robot and improve the control efficiency.
- An embodiment of the present application provides a robot scheduling method, including:
- the robot In response to the fire signal, in a case where the robot is in a moving state and a next sub-area is in a preset fire passage area in the navigation path of the robot, the robot is controlled to move to the next sub-area And continue to move according to the navigation path until the next sub-area is not in the preset fire passage area.
- An embodiment of the present application further provides a server, where the server includes:
- One or more processors are One or more processors;
- Memory set to store one or more programs
- the one or more processors implement the robot scheduling method as described above.
- An embodiment of the present application further provides a computer-readable storage medium on which a computer program is stored.
- the program is executed by a processor, the robot scheduling method described above is implemented.
- the robot by receiving a fire signal, in response to the fire signal, if the robot is in a moving state and the next sub-area in the navigation path of the robot is in a preset fire passage area, the robot is controlled to move to the next One sub-area continues to move according to the navigation path, and stops moving until the next sub-area is not in the preset fire passage area.
- the technical solution provided in the embodiment of the present application can avoid the problems caused by the time delay error or the sudden braking for the robot in a moving state, and improve the efficiency of the robot leaving the fire passage.
- FIG. 1 is a schematic structural diagram of a robot scheduling system in an embodiment
- FIG. 2 is a flowchart of a robot scheduling method in an embodiment
- FIG. 3 is a flowchart of another robot scheduling method in an embodiment
- FIG. 4 is a schematic diagram of the distribution of robots in a target range in an embodiment
- FIG. 5 is a schematic structural diagram of a robot scheduling device according to an embodiment
- FIG. 6 is a schematic structural diagram of a server according to an embodiment
- FIG. 7 is a flowchart of a method for controlling a path of a robot in an embodiment
- FIG. 8 is a flowchart of another method for controlling a robot path in an embodiment
- FIG. 9 is a schematic diagram of a locked sub-area in a map operation interface according to an embodiment
- FIG. 10 is a schematic structural diagram of a robot path control device according to an embodiment
- FIG. 11 is a schematic structural diagram of another server in an embodiment
- FIG. 12 is a schematic diagram of a system structure of a cargo picking system according to an embodiment
- FIG. 13 is a flowchart of a robot scheduling method in an embodiment
- FIG. 14 is a schematic diagram of a fire passage area in an embodiment
- FIG. 15 is a schematic structural diagram of a robot scheduling device according to an embodiment
- FIG. 16 is a schematic structural diagram of another server in an embodiment.
- FIG. 1 is a schematic structural diagram of a robot scheduling system according to an embodiment.
- the robot scheduling system generally includes an operation terminal. 101, a server 102, and at least one robot 103.
- the server 102 establishes communication links with the operation terminal 101 and the robot 103, respectively.
- the operation terminal 101 is configured to receive the operation information input by the staff. For example, the user can input the operation information on the operation terminal through the human-computer interaction interface to realize the robot in the warehouse 103. Scheduling control.
- the server 102 is configured to generate a work instruction and send it to the robot 103 according to the operation information received by the operation terminal 101 and the actual situation in the warehouse, and the robot 103 is configured to complete a work task corresponding to the work instruction according to the received work instruction.
- FIG. 2 is a flowchart of a robot scheduling method according to an embodiment. This embodiment is applicable to the case of scheduling robots.
- the method may be executed by a robot scheduling device. As shown in FIG. 2, the robot scheduling method may include The following steps:
- Step 110 Determine a working state and a current position of the robot, where the working state includes an idle state and a non-idle state.
- the method before determining the working state and current position of the robot, the method further includes receiving a scheduling instruction; determining the working state and current position of the robot includes: in response to the scheduling instruction, determining the working state of the robot located in the work area and current position.
- the robot refers to a target robot.
- the target robot refers to any robot in the warehouse but not in the target area.
- the target robot may be the number of a robot entered by the operator at the operation end, and the numbered robot is the target robot at this time.
- the server traverses all the robots in the warehouse, and determines the robot currently inquired by the server as the target robot.
- determining the working state of the robot may be implemented by the following methods: judging whether the robot has a task to be executed or a task being executed; and in response to the robot having no task to be executed and a judgment result of the task being executed To determine that the working state of the robot is an idle state; and in response to a determination result that the robot has a task to be executed or a task that is being executed, determine that the working state of the robot is a non-idle state.
- the task to be executed refers to the work instruction that the receiving server has sent. Because the robot is performing the task, the task corresponding to the work instruction cannot be executed immediately, and the task that will be executed after the currently executing task is executed. Instructions, on the way to the task.
- the method of determining the current position of the robot may adopt different technical solutions according to the working environment of the robot or the main tasks of the robot.
- An embodiment of the present application provides a method for determining a current position of a robot according to a two-dimensional code.
- the two-dimensional codes with different coordinate values are sequentially covered on the ground of the robot work area in advance, that is, the ground of the robot work area is evenly divided into cells with the same side length, and each cell is sequentially used with two-dimensional codes with different coordinate values. Perform coverage.
- the coordinate value corresponding to each two-dimensional code corresponds to the position of the two-dimensional code on the ground.
- the robot obtains a two-dimensional code corresponding to the current position, and further determines the current position of the robot according to the coordinate values corresponding to the obtained two-dimensional code.
- Step 120 When the working state of the robot is idle and the current position is outside a preset target range, dispatch the robot from the current position to the target range.
- the shape of the target range is rectangular, and the target range is determined by a preset starting position, width, and height.
- the preset target range refers to a vacant area on the warehouse floor, which can be set at any time according to the position of the robot in the warehouse. That is, when a worker enters a collection command on the operation side, the server looks for a free area in the warehouse. In one embodiment, the free area is preferentially selected in an area closer to the workbench of the worker. Exemplarily, the selection of a preset target range is implemented by the following command.
- the working state of the robot is determined, and when the working state of the robot is idle, the robot is dispatched from the current position to the target range.
- the number of robots is greater than the number of robots in the target range, re-determine the new target range, and dispatch the robots from the current position when the robot's working state is idle and the current position is outside the preset target range Within the new target range.
- the embodiment of the present application provides a robot scheduling method.
- the method first determines the working state of the robot and the current position of the robot; the working states include: idle state and non-idle state; when the working state of the robot is idle and the current position is outside a preset target range, the robot can be removed from The current position is dispatched within the target range. That is to say, in the technical solution proposed in the embodiment of the present application, when the working state of the robot is idle and the current position is outside a preset target range, the target robot can be dispatched to a specified area and can be automatically collected. Robots are dispatched to a designated area, which can reduce operation and maintenance costs and improve work efficiency.
- FIG. 3 is a flowchart of another robot scheduling method in an embodiment. Based on the above embodiment, this embodiment describes the feature “scheduling a robot from a current position to a target range”, as shown in FIG. 3. As shown, the robot scheduling method may include the following steps:
- Step S210 Determine a working state and a current position of the robot; wherein, the working state includes an idle state and a non-idle state.
- Step S220 if the working state of the robot is idle and the current position is outside the preset target range, determine the target position of the robot within the target range.
- the target range is divided into at least one cell, and the target position of the robot is determined in units of cells; wherein the target range is determined by the starting position of the target range and the scheduling conditions.
- the target position of the target robot is determined within the target range.
- the target position refers to a position where the robot stays within the target range.
- This embodiment provides a method for distributing positions when a robot gathers within a target range.
- FIG. 4 is a schematic diagram of the distribution of robots in a target range in an embodiment. As shown in FIG. 4, the circle 301 represents the position where the robot stays when it gathers within the target range, the dotted rectangle 302 represents the position of the shelf in the warehouse, and the blank cell 303 represents the passage left by the robot in the warehouse yard.
- This embodiment shows only one case, and does not limit the position of the articles in the warehouse.
- a path must be formed between the blank cells 303 to provide the robot with a running channel.
- the circles 301 can be arranged horizontally or vertically, and the shape of the target range is not limited, as long as the robots in the idle state are gathered in a free area.
- the determination of the target position of the robot within the target range includes: determining the planned position of the robot within the target range; determining whether the planned position of the robot satisfies a preset scheduling condition; and in response to the planned position of the robot meeting the scheduling condition, the robot The planned position is determined as the target position of the robot.
- the planned position of the robot refers to a position that the server arbitrarily selects within the target range. It can also be a position selected as required based on the starting point of the target range.
- the preset scheduling condition is that when the robot stays at the planned position, it does not affect the operation of other robots. When the robot needs to run, it does not need to adjust the position of other robots, and the robot can come out quickly.
- the preset scheduling conditions include: when the robot is arranged vertically, the horizontally adjacent cells of the planned position of the robot are idle; and when the robot is arranged horizontally, the planned position of the robot is longitudinal Adjacent cells are idle.
- the planned position of the robot When the planned position of the robot satisfies the scheduling conditions, the planned position of the robot is determined as the target position of the robot.
- the target positions of the robots that meet the scheduling conditions are spaced one position apart, that is, the target positions of the robots that meet the scheduling conditions are spaced one cell apart.
- the coordinates from left to right of the cell in FIG. 4 are marked as (1,1), (1,2), (1,3), (1,4), ( 1,5), (1,6), (1,7), (1,8), (1,9), (1,10), mark the cells in Figure 4 from bottom to top as (1,1), (2,1), (3,1), (4,1), (5,1), (6,1), (7,1), (8,1), (9 , 1), (10,1), (11,1).
- the cell with a coordinate value of (1,1) is not the target position of another robot other than the current robot, determine whether the cell with a coordinate value of (1,1) is Path cells that need to be traversed when other robots are running.
- the cell with the coordinate value (1,1) is not a path cell that other robots need to travel when running, the cell with the coordinate value (1,1) is taken as the target position of the current robot.
- the cell with the coordinate value (1,1) is a path cell that other robots need to travel when running, it means that the current planned position is unreasonable, and another position in the site is selected as the planned position again.
- the planned position corresponding to the next robot may be selected by a cell spaced from the cell with a coordinate value of (1,1). Position, that is, the cell with coordinate value (1,3) or (3,1) as the planned position.
- Step S230 Calculate the best path between the current position and the target position.
- an initialization path map needs to be established in advance, and the initialization path is designed for a condition without any cargo.
- the initialized path map consists of a number of horizontal and vertical line segments, which form a sequence of robot walking. The robot can walk back and forth in the left-right or up-down direction on the ground without any obstacles.
- the shortest path between the current position and the target position is determined as the planned path of the robot. Determine whether the running path of other robots except the current robot overlaps with the planned path of the current robot. When the running path of other robots other than the current robot does not overlap with the planned path of the current robot, Use the shortest path between the current position and the target position as the best path for the current robot.
- the time from the current robot to the overlapping cell and the time from other robots to the overlapping cell are calculated.
- the time from the robot to each overlapping cell is not the same as the time from the other robot to the corresponding overlapping cell, the shortest path between the current position and the target position is taken as the best path of the current robot.
- Step S240 The robot is dispatched from the current position to the target position according to the best path.
- the solution of the best path is sent to the robot, so that the robot travels from the current position to the target position according to the best path to complete the collection of the robot.
- An embodiment of the present application provides a robot scheduling method.
- a working state of a robot and a current position of a target robot are determined.
- the working states include: an idle state and a non-idle state; when the current position of the robot is outside a preset target range.
- the working state is idle, the target position of the robot is determined within the target range; the optimal path between the current position and the target position is calculated; the robot is dispatched from the current position to the target position according to the optimal path.
- the robot when the current position of the robot is outside the preset target range and the working state is idle, the robot can be dispatched to a specified area for collection, which can automatically realize Robots are dispatched to a designated area, which can reduce operation and maintenance costs and improve work efficiency.
- FIG. 5 is a schematic structural diagram of a robot scheduling device according to an embodiment. This embodiment is applicable to a case of scheduling robots. As shown in FIG. 5, the robot scheduling device may include the following parts: a determining module 410 and a scheduling module 420.
- the determining module 410 is configured to determine a working state and a current position of the robot, wherein the working state includes an idle state and a non-idle state.
- the apparatus further includes a receiving module configured to receive a scheduling instruction.
- the determining module 410 is configured to determine a working state and a current position of a robot located in a working area in response to the scheduling instruction.
- the scheduling module 420 is configured to schedule the robot from the current position to the target range when the working state of the robot is idle and the current position is outside the preset target range.
- the determination module 410 includes: a determination sub-module (not shown in FIG. 5) and a determination sub-module (not shown in FIG. 5); wherein the determination sub-module is configured to determine whether there is a robot to be executed The task or task being performed.
- the determination submodule 4102 is configured to determine the working state of the robot as an idle state in response to the determination result that the robot does not have a task to be executed and the task being executed; and in response to the determination result that the robot has a task to be executed or a task that is being executed , Determine that the working state of the robot is not idle.
- the scheduling module 420 includes a calculation sub-module (not shown in FIG. 5) and a scheduling sub-module (not shown in FIG. 5); wherein, the calculation sub-module 4201 is set to be in a working state of the robot as If the current position is idle and the current position is outside the preset target range, the target position of the robot is determined within the target range; the optimal path between the current position and the target position is calculated.
- the dispatching sub-module 4202 is configured to dispatch the robot from the current position to the target position according to the best path.
- the calculation sub-module is set to determine the target position of the robot within the target range by: determining the planned position of the robot within the target range; determining whether the planned position of the robot meets a preset scheduling condition, and When the planned position of the target robot meets the scheduling conditions, the planned position of the robot is determined as the target position of the robot.
- the target range is divided into at least one cell, and a target position of the robot is determined in units of cells; wherein the target range is determined by a start position of the target range and the scheduling condition. determine.
- the shape of the target range is rectangular, and the target range is determined by a preset starting position, width, and height.
- the preset scheduling conditions include: in a case where the robots are arranged vertically, horizontally adjacent cells at a planned position of the robots are idle; and when the robots are arranged horizontally In the case, the vertically adjacent cells of the planned position of the robot are in an idle state.
- the device further includes: if the number of robots is greater than the number of robots accommodated in the target range, re-determining a new target range, and when the working state of the robot is idle and the current position is at When the preset target range is outside, the robot is dispatched from the current position to the new target range.
- the embodiment of the present application provides a robot scheduling device.
- the robot scheduling device is configured to perform the following operations: first determine the working state of the robot and the current position of the robot; wherein the working states include: idle state and non-idle state; when the working state of the robot is idle and the current position is at a preset target When out of range, the robot can be dispatched from the current position to the target range. That is to say, in the technical solution proposed in the embodiment of the present application, when the working state of the robot is idle and the current position is outside a preset target range, the robot can be dispatched to a specified area to collect, and the robot can be automatically realized Scheduling to designated areas can reduce operation and maintenance costs and improve work efficiency.
- the robot scheduling device provided by the embodiment of the present application can execute the robot scheduling method provided by any embodiment of the present application, and has corresponding function modules and beneficial effects of the execution method.
- FIG. 6 is a schematic structural diagram of a server according to an embodiment.
- FIG. 6 shows a block diagram of an exemplary server 512 suitable for use in implementing embodiments of the present application.
- the server 512 shown in FIG. 6 is merely an example, and should not impose any limitation on the functions and scope of use of the embodiments of the present application.
- the server 512 is expressed in the form of a general-purpose device.
- the components of the server 512 may include, but are not limited to, one or more processors or processors 515, a system memory 528, and a bus 518 connecting different system components (including the system memory 528 and the processor 515).
- the bus 518 represents one or more of several types of bus structures, including a memory bus or a memory controller, a peripheral bus, a graphics acceleration port, a processor, or a local area bus using any of a variety of bus structures.
- these architectures include, but are not limited to, the Industry Standard Architecture (ISA) bus, the Micro Channel Architecture (MCA) bus, the enhanced ISA bus, and the Video Electronics Standards Association.
- VESA local bus and Peripheral Component Interconnect (PCI) bus.
- the server 512 includes a variety of computer system-readable media. These media can be any available media that can be accessed by the server 512, including volatile and non-volatile media, removable and non-removable media.
- the system memory 528 may include a computer system readable medium in the form of volatile memory, such as a Random Access Memory (RAM) 530 and / or a cache memory 532.
- the server 512 may include other removable / non-removable, volatile / nonvolatile computer system storage media.
- the storage system 534 may be used to read and write non-removable, non-volatile magnetic media (not shown in FIG. 6 and is commonly referred to as a "hard drive").
- a disk drive for reading and writing to a removable non-volatile disk for example, a “floppy disk”
- a read-only storage for a removable non-volatile disk for example, a compact disk
- each drive may be connected to the bus 518 through one or more data medium interfaces.
- the system memory 528 may include at least one program product having a set (eg, at least one) of program modules configured to perform the functions of any embodiment of the present application.
- a program / utility tool 550 having a set (at least one) of program modules 552 may be stored in, for example, system memory 528.
- Such program modules 552 include, but are not limited to, an operating system, one or more applications, other Program modules and program data, each of these examples or some combination may include an implementation of a network environment.
- the program module 552 generally performs functions and / or methods in the embodiments described in the present invention.
- the server 512 may also communicate with one or more external devices 514 (such as a keyboard, pointing device, display 525, etc.), and may also communicate with one or more devices that enable a user to interact with the server 512, and / or with the
- the server 512 can communicate with any device (such as a network card, modem, etc.) that is in communication with one or more other computing devices. This communication can be performed through an input / output (I / O) interface 522.
- the server 512 can also communicate with one or more networks (such as a local area network (LAN), a wide area network (WAN), and / or a public network, such as the Internet) through the network adapter 520. As shown in FIG.
- the network adapter 520 communicates with other modules of the server 512 through the bus 518. It should be understood that although not shown in FIG. 6, other hardware and / or software modules may be used in conjunction with the server 512, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, and disk arrays (Redundant Arrays of Independent Drives (RAID) systems, tape drives, and data backup storage systems.
- RAID Redundant Arrays of Independent Drives
- the processor 515 executes a variety of functional applications and data processing by running a program stored in the system memory 528, for example, to implement the robot scheduling method provided in the embodiment of the present application: determining a working state and a current position of the robot; among which, the working state Including: idle state and non-idle state; when the working state of the robot is idle and the current position is outside the preset target range, the robot is dispatched from the current position to the target range.
- An embodiment of the present application provides a server.
- the server first determines the working state and current position of the robot; the working states include: idle state and non-idle state; when the working state of the target robot is idle and the current position is outside the preset target range, the robot can be moved from the current The position is dispatched within the target range. That is to say, in the technical solution proposed in the embodiment of the present application, when the working state of the robot is idle and the current position is outside a preset target range, the robot can be dispatched to a specified area to collect, and the robot can be automatically realized Scheduling to designated areas can reduce operation and maintenance costs and improve work efficiency.
- the embodiment of the present application further provides a computer-readable storage medium on which a computer program is stored.
- the robot scheduling method provided by all embodiments of the present application is implemented: determining the working state and current position of the robot Among them, the working state includes: an idle state and a non-idle state; when the working state of the robot is idle and the current position is outside a preset target range, the robot is dispatched from the current position to the target range.
- the computer storage medium in the embodiments of the present application may adopt any combination of one or more computer-readable media.
- the computer-readable medium may be a computer-readable signal medium or a computer-readable storage medium.
- the computer-readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. Examples (non-exhaustive list) of computer-readable storage media include: electrical connections with one or more wires, portable computer disks, hard disks, RAM, read-only memory (ROM), erasable Erasable Programmable Read Only Memory (EPROM) or flash memory, optical fiber, portable CD-ROM, optical storage device, magnetic storage device, or any suitable combination of the foregoing.
- a computer-readable storage medium may be any tangible medium that contains or stores a program that can be used by or in combination with an instruction execution system, apparatus, or device.
- the computer-readable signal medium may include a data signal transmitted in baseband or transmitted as part of a carrier wave, and the computer-readable signal medium carries a computer-readable program code. Such a propagated data signal may take many forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the foregoing.
- the computer-readable signal medium may also be any computer-readable medium other than a computer-readable storage medium, and the computer-readable medium may send, propagate, or transmit a program for use by or in connection with an instruction execution system, apparatus, or device. .
- the program code contained on the computer-readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wire, optical fiber cable, radio frequency (RF), etc., or any suitable combination of the foregoing.
- RF radio frequency
- the computer program code for performing the operations of this application may be written in one or more programming languages or a combination of programming languages, the programming languages including object-oriented programming languages—such as Java, Smalltalk, C ++, It also includes regular procedural programming languages—such as "C" or similar programming languages.
- the program code can be executed entirely on the user's computer, partly on the user's computer, as an independent software package, partly on the user's computer, partly on a remote computer, or entirely on a remote computer or server.
- the remote computer can be connected to the user's computer through any kind of network, including a LAN or WAN, or it can be connected to an external computer (such as using an Internet service provider to connect over the Internet).
- FIG. 7 is a flowchart of a method for controlling a robot path according to an embodiment. This embodiment is applicable to the case of robot control.
- the method may be executed by a control device for a robot path.
- the device may use software and / or hardware.
- the method is implemented, for example, the device may be configured in a server.
- This method can be used for path control in any navigation mode, such as two-dimensional code navigation or instant positioning and map construction (Simultaneous Localization And Mapping (SLAM) navigation).
- the method may include the following steps:
- Step 710 During the movement of the robot according to the planned path, determine the working state of the current sub-region in which the robot is located.
- the sub-region may be a cell.
- the working area of the robot on the map is divided into a plurality of sub-areas as required, and the working states of each sub-area may include: an unlocked state and a locked state, and the two working states may be switched as required.
- the unlocked sub-area indicates that the sub-area is in a normal state and allows the robot to move through it;
- the locked-state sub-area indicates that the sub-area refuses all robots to enter and move, including the planned path (the path includes the sub- Area) robots and robots that have not yet done path planning.
- the state of the cells in the work area is determined, so that the cells whose work status is locked are not on the planned path.
- the robot scheduling system can plan the route according to the destination in advance. During the path planning for the robot, it will obtain the sub-area where the current working state is locked and the sub-area marked as an obstacle. According to the index of the sub-area on the map, An obstacle matrix table may be initialized, and if the currently traversed sub-region is marked in the obstacle matrix table, the sub-region is skipped.
- the sub-area marked as an obstacle may be a sub-area such as a sub-area in which a building pillar is located, which is fixed in the work area and does not allow the robot to move.
- the method further includes: in response to a work state setting operation, setting a work state of at least one sub-region specified by the work state setting operation to a state specified by the work state setting operation.
- the working state of the sub-region in response to an operation of setting a control according to the working state of any sub-region, is set to a specified state, or in response to an operation of inputting the coordinates of any sub-region, the The working status of the subarea is set to the specified status.
- the robot dispatching system can obtain the coordinates of any sub-region input from the outside through the standard interface, and set the working state of the sub-region to a specified state.
- the interface format may be: ⁇ cellPoints: [ ⁇ x: 15.5, y: 16.5 ⁇ , ⁇ x: 16.5, y: 16.5 ⁇ ] instruction: LOCK_SHELF ⁇ , which represents 15.5, ordinate 1.5, and horizontal The coordinates of the two to-be-locked subregions with coordinates 16.5 and ordinate 16.5.
- the robot dispatching system can also set the working state setting control corresponding to each sub-area in advance, and set the working state of the sub-area to a specified state.
- One sub-area corresponds to one working-state setting control, or multiple sub-areas correspond to one work.
- it can be set by the map root label mapareas.
- the root label may define multiple regions, each region has a unique id, the starting point of the region is composed of attributes x, y, and w and h represent the size of the rectangle. .
- the working state setting control may be set in a hardware or software manner. When the working state setting control is pressed, a sub-region corresponding to the working state setting control will be set to a specified state.
- the method may further include: when a driving obstacle is detected in the route, setting the sub-region where the driving obstacle exists to a locked state.
- the driving obstacle may include obstacles that affect robot movement, such as robot failure, robot accident, and cargo drop. Different driving obstacles have different sub-areas that need to be locked. For example, if the driving obstacle is a robot failure, you can change The sub-region where the robot is located and the adjacent 8 sub-regions are set to the locked state. If the traveling obstacle is a cargo drop, the sub-region where the cargo falls and the adjacent 24 sub-regions can be set to the locked state.
- Step 720 When it is detected that the current sub-area is in a locked state, control the robot to stop moving.
- the path scheduling module stops allocating the sub-area to the robot and controls the robot to stop moving.
- Step 730 When it is detected that the current sub-area is unlocked and the next sub-area is locked, re-plan the path for the robot to avoid the next sub-area, and guide the robot to re- Planned path moves.
- the path scheduling module detects that the next sub-area is locked when assigning the sub-area to the robot according to the path, then the sub-area is not allocated for the robot. And the robot scheduling system can re-plan the path for the robot, and control the robot to move according to the re-planned path to avoid the locked sub-area, and guide the robot to move according to the re-planned path.
- re-planning the path for the robot to avoid the next sub-region may include: the robot scheduling system may use the sub-region where the robot is currently located as the starting point, the original end point as the end point, and avoid the locked sub-region. Area, recalculate the loss of multiple paths, use the path with the least loss as the re-planned path, and control the robot to move according to the re-planned path.
- Step 740 When it is detected that the current sub-region and the next sub-region are both in an unlocked state, guide the robot to move according to the path.
- the path scheduling module allocates sub-regions to the robot according to the planned path, and guides the robot to move according to the path.
- a full-field lock button may also be provided, and the full-field lock button may be set in a software or hardware manner.
- all robots in the work area are controlled to stop moving, and the path scheduling module stops allocating sub-areas to all robots.
- the working state of the current sub-area where the robot is located is determined. If it is detected that the current sub-area is unlocked and the next sub-area is locked, Then re-plan the path for the robot to avoid the next sub-area, and guide the robot to move according to the re-planned path. Since the working state of the sub-area in the path can be dynamically modified in real time, the technical solution provided in this embodiment can adjust the path in real time according to the state of the sub-area during the movement of the robot, which can more flexibly control the movement path of the robot and improve control efficiency.
- the method further includes: when it is detected that the current sub-region is in a buffer state and the next sub-region is in a locked state, re-planning for the robot Path to avoid the next sub-region and guide the robot to move according to the re-planned path; when it is detected that the current sub-region and the next sub-region are both in a buffer state, the current sub-region is in an unlocked state, and In a case where the next sub-region is in a buffer state or the current sub-region is in a buffer state and the next sub-region is in an unlocked state, the robot is guided to move according to the path.
- re-plan a path for the robot to avoid the next sub-area when it is detected that the current sub-area is in an unlocked state and the next sub-area is in a locked state, re-plan a path for the robot to avoid the next sub-area, and guide the The robot moves according to the re-planned path, including: if it is detected that the current sub-region is unlocked and the next sub-region is locked, determining whether the next sub-region is still locked after a preset length of time State; in response to the judgment result that the next sub-area is still locked after a preset length of time, re-plan the path for the robot to avoid the next sub-area, and guide the robot based on the re-planned The path moves.
- FIG. 8 is a flowchart of another method for controlling a robot path in an embodiment. Based on the foregoing embodiment, this embodiment describes a method for controlling a robot path. The method in this embodiment may include the following steps:
- Step 810 During the movement of the robot according to the planned path, determine a working state of a current sub-area in which the robot is located.
- FIG. 9 is a schematic diagram of a locked sub-region in the map operation interface according to an embodiment.
- the sub-region can be selected and saved in the map operation interface, that is, the information of the sub-region to be locked is obtained.
- coordinate. Select "Lock” in the right menu in Figure 9 and select and save the left working area. After saving, the selected sub-area will change color or add a mark to distinguish it.
- the sub-area marked by oblique lines in Figure 9 is selected and locked.
- Sub-area, the circle in Figure 9 represents the robot. If the right menu in FIG. 9 selects “lock” or “unlock”, when selecting in the left working area, the selected sub-region is the sub-region to be locked or the sub-region to be unlocked.
- the state attributes of the sub-region may include unlocking, locking, and buffering.
- the coordinates of the sub-region to be locked are obtained.
- the status attribute of the locked subarea is locked.
- the right menu in FIG. 9 selects “Lock”, and the state attribute of the selected sub-region is set to locked.
- the normalized coordinates (X, Y) can be directly entered by entering the starting point menu and the ending point menu on the right to set the starting point and ending point of the path.
- the robot scheduling system may further include a robot operation interface, a shelf operation interface, and a cell (sub-area) operation interface, which are used to control the robot, the shelf and the cell (sub-area), and the like.
- the robot scheduling system can also obtain the coordinates of any sub-region input from the outside through a standard interface, and set the working state of the sub-region to a specified state.
- the method further includes: in response to a work state setting operation, setting a work state of at least one sub-region specified by the work state setting operation to a state specified by the work state setting operation.
- the working state of the sub-region in response to an operation of setting a control according to the working state of any sub-region, is set to a specified state, or in response to an operation of inputting the coordinates of any sub-region, the The working status of the subarea is set to the specified status.
- the sub-region in which the driving obstacle is present is set to a locked state.
- Step 820 When it is detected that the current sub-area is in a locked state, control the robot to stop moving.
- Step 830 When it is detected that the current sub-area is unlocked and the next sub-area is locked, re-plan the path for the robot to avoid the next sub-area, and guide the robot to re- Planned path moves.
- the robot when it is detected that the current sub-region is in an unlocked state and the next sub-region is in a locked state, it is determined whether the next sub-region is still in a locked state after a preset length of time; In the case where the next sub-area is still locked after a preset length of time, a path is re-planned for the robot to avoid the next sub-area, and the robot is guided to move according to the re-planned path. As shown in FIG. 9, the route with the arrow represents the path re-planned by the robot, and the robot can avoid the sub-area marked by the slash (the sub-area in the locked state) according to the re-planned path.
- the preset time length can be set as required, for example, the preset time length can be set to 20s.
- Step 840 When it is detected that both the current sub-region and the next sub-region are in an unlocked state, guide the robot to move according to the path.
- Step 850 When it is detected that the current sub-region is in a buffer state and the next sub-region is in a locked state, re-plan a path for the robot to avoid the next sub-region, and guide the robot to re- Planned path moves.
- the working state may further include a buffer state.
- a sub-region of the buffer state indicates that the sub-region has no effect on a robot that has planned a path (including the sub-region in the path) and is allowed to move in the sub-region. For robots without path planning, this sub-region is not allowed to move, that is, the sub-region should be avoided during path planning.
- the sub-region in the path is in a buffer state equivalent to being in an unlocked state, that is, if it is detected that the current sub-region of the robot in the path is in a buffer state and the next sub-region In the locked state, re-plan the path for the robot to avoid the next sub-area, and guide the robot to move according to the re-planned path.
- Step 860 When it is detected that both the current sub-region and the next sub-region are in a buffer state, the current sub-region is in an unlocked state and the next sub-region is in a buffer state, or the current sub-region is in a buffer state and all the When the next sub-area is in an unlocked state, the robot is guided to move according to the path.
- a full-field lock button may also be provided, and the full-field lock button may be set in a software or hardware manner.
- the path scheduling module stops allocating sub-areas to all robots.
- a full-field lock button can be set in the map operation interface. In the event that the full-field lock button is detected to be pressed, all robots in the control area stop moving.
- the technical solution of this embodiment during the movement of the robot according to the planned path, if it is detected on the map operation interface that the current sub-area in the path is unlocked or buffered, and the next sub-area is locked, at a preset time After the length is still locked, the path is re-planned for the robot to avoid the next sub-region, and the robot is guided to move according to the re-planned path.
- the technical solution provided by this embodiment can adjust the path in real time according to the state of the sub-area during the movement of the robot, which can more flexibly control the robot's motion path and improve the control efficiency; and set a buffer state to restrict the robot that has not planned the path, and release the Plan the path of the robot and implement multiple ways to control the robot.
- FIG. 10 is a schematic structural diagram of a robot path control device according to an embodiment.
- the device may include: a status module 310 configured to determine a current sub-area where the robot is located during a movement of the robot according to a planned path. Working state; a stop module 320 configured to control the robot to stop moving when it is detected that the current subregion is in a locked state; an adjustment module 330 configured to detect that the current subregion is in an unlocked state and When the next sub-area is in a locked state, re-plan the path for the robot to avoid the next sub-area and guide the robot to move according to the re-planned path; the mobile module 340 is set to detect all When the current sub-region and the next sub-region are both in an unlocked state, the robot is guided to move according to the path.
- the device further includes a buffer module configured to: when it is detected that the current sub-region is in a buffer state and the next sub-region is in a locked state, re-plan the path for the robot to avoid The next sub-region is described, and the robot is guided to move according to the re-planned path; it is detected that the current sub-region and the next sub-region of the robot in the path are in a buffer state, and the current sub-region is unlocked In a state where the next sub-region is in a buffered state or the current sub-region is in a buffered state and the next sub-region is in an unlocked state, the robot is guided to move according to the path.
- a buffer module configured to: when it is detected that the current sub-region is in a buffer state and the next sub-region is in a locked state, re-plan the path for the robot to avoid The next sub-region is described, and the robot is guided to move according to the re-planned path; it is detected that the current sub-region and the next sub
- the apparatus further includes a setting module configured to set a working state of at least one sub-region specified by the working state setting operation to the working state setting in response to a working state setting operation. Operation specified status.
- the setting module is configured to: set a working state of the sub-area to a specified state in response to an operation of setting a control according to a working state of any sub-area, or respond to inputting any The operation of the sub-region coordinates sets the working state of the sub-region to the specified state.
- the device further includes an obstacle module, and the obstacle module is configured to set a sub-region having a driving obstacle to a locked state when a driving obstacle is detected in the path.
- the adjustment module 330 is configured to: when it is detected that the current sub-region is in an unlocked state and the next sub-region is in a locked state, determine that the next sub-region is within a preset time length Whether it is still locked in the future; in response to a judgment result that the next sub-region is still locked after a preset time length, re-plan a path for the robot to avoid the next sub-region and guide the The robot moves on a re-planned path.
- the device further includes a full-field lock module, which is configured to control all robots in the work area to stop moving in response to the full-field lock operation.
- the robot path control device provided by the embodiment of the present application can execute the robot path control method provided by any embodiment of the present application, and has the corresponding functional modules and beneficial effects of the execution method.
- FIG. 11 is a schematic structural diagram of another server in an embodiment.
- FIG. 11 shows a block diagram of an exemplary server 412 suitable for use in implementing embodiments of the present application.
- the server 412 shown in FIG. 11 is only an example, and should not impose any limitation on the functions and scope of use of the embodiments of the present application.
- the server 412 is expressed in the form of a general-purpose terminal.
- the components of the server 412 may include, but are not limited to, one or more processors 416, a memory 428, and a bus 418 connecting different system components (including the memory 428 and the processor 416).
- the bus 418 represents one or more of several types of bus structures, including a storage device bus or a storage device controller, a peripheral bus, a graphics acceleration port, a processor, or a local area bus using any of a variety of bus structures.
- these architectures include, but are not limited to, the ISA bus, MCA bus, enhanced ISA bus, VESA local bus, and PCI bus.
- the server 412 includes a variety of computer system-readable media. These media can be any available media that can be accessed by the server 412, including volatile and non-volatile media, removable and non-removable media.
- the memory 428 may include computer system readable media in the form of volatile memory, such as RAM 430 and / or cache memory 432.
- the server 412 may include other removable / non-removable, volatile / nonvolatile computer system storage media.
- the storage system 434 may be used to read and write non-removable, non-volatile magnetic media (not shown in FIG. 11 and is commonly referred to as a "hard drive").
- a disk drive for reading and writing to a removable nonvolatile disk (for example, a "floppy disk"), and a removable nonvolatile disk such as a CD-ROM, DVD-ROM may be provided. Or other optical media).
- each drive may be connected to the bus 418 through one or more data medium interfaces.
- the memory 428 may include at least one program product having a set of (eg, at least one) program modules configured to perform the functions of any embodiment of the present application.
- a program / utility tool 440 having a set (at least one) of program modules 442 may be stored in, for example, the memory 428.
- Such program modules 442 include, but are not limited to, an operating system, one or more application programs, other program modules, and program data Each of these examples, or some combination, may include an implementation of a network environment.
- the program module 442 generally performs functions and / or methods in the embodiments described in this application.
- the server 412 may also communicate with one or more external devices 414 (such as a keyboard, pointing terminal, display 424, etc.), and may also communicate with one or more terminals that enable a user to interact with the server 412, and / or with the
- the server 412 can communicate with any terminal (such as a network card, modem, etc.) that communicates with one or more other computing terminals. This communication can be performed through an input / output (I / O) interface 422.
- the server 412 may communicate with one or more networks (e.g., LAN, WAN, and / or public network, such as the Internet) through the network adapter 420. As shown in FIG. 11, the network adapter 420 communicates with other modules of the server 412 through the bus 418.
- networks e.g., LAN, WAN, and / or public network, such as the Internet
- server 412 may be used in conjunction with the server 412, including but not limited to: microcode, terminal drives, redundant processors, external disk drive arrays, RAID systems, tape drives And data backup storage systems.
- the processor 416 executes a variety of functional applications and data processing by running a program stored in the system memory 428, for example, implementing a method for controlling a robot path provided in the embodiment of the present application.
- the method includes: During the path movement, the working state of the current sub-area where the robot is located is determined; when the current sub-area is detected to be locked, the robot is stopped from moving; when it is detected that the current sub-area is unlocked When the state and the next sub-area are locked, re-plan the path for the robot to avoid the next sub-area, and guide the robot to move according to the re-planned path; upon detecting the current sub-area When both the next sub-area and the next sub-area are in an unlocked state, the robot is guided to move according to the path.
- An embodiment of the present application further provides a computer-readable storage medium on which a computer program is stored.
- the program is executed by a processor, the method for controlling a robot path as provided in the embodiment of the present application is implemented.
- the method includes: During the process of the robot moving according to the planned path, the working state of the current sub-area where the robot is located is determined; when the current sub-area is detected to be locked, the robot is controlled to stop moving; when it is detected that When the current sub-area is unlocked and the next sub-area is locked, re-plan the path for the robot to avoid the next sub-area, and guide the robot to move according to the re-planned path; upon detecting When the current sub-region and the next sub-region are both in an unlocked state, the robot is guided to move according to the path.
- the computer storage medium in the embodiments of the present application may adopt any combination of one or more computer-readable media.
- the computer-readable medium may be a computer-readable signal medium or a computer-readable storage medium.
- the computer-readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. Examples (non-exhaustive list) of computer-readable storage media include: electrical connections with one or more wires, portable computer disks, hard disks, RAM, ROM, EPROM or flash memory, optical fibers, portable CD-ROMs, optical storage devices , Magnetic storage devices, or any suitable combination of the foregoing.
- a computer-readable storage medium may be any tangible medium that contains or stores a program that can be used by or in combination with an instruction execution system, apparatus, or device.
- the computer-readable signal medium may include a data signal transmitted in baseband or transmitted as part of a carrier wave, and the computer-readable signal medium carries a computer-readable program code. Such a propagated data signal may take many forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the foregoing.
- the computer-readable signal medium may also be any computer-readable medium other than a computer-readable storage medium, and the computer-readable medium may send, propagate, or transmit a program for use by or in connection with an instruction execution system, apparatus, or device. .
- Program code embodied on a computer-readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
- Computer program code for performing the operations of the present invention may be written in one or more programming languages or a combination of programming languages, the programming languages including object-oriented programming languages such as Java, Smalltalk, C ++, It also includes regular procedural programming languages—such as "C" or similar programming languages.
- the program code can be executed entirely on the user's computer, partly on the user's computer, as an independent software package, partly on the user's computer, partly on a remote computer, or entirely on a remote computer or server.
- the remote computer can be connected to the user's computer through any kind of network, including a LAN or WAN, or it can be connected to an external computer (for example, through an Internet connection using an Internet service provider).
- the cargo picking system includes: a self-driven robot 10, a control system 20, a shelf area 30, and a picking station 40.
- the shelf area 30 is provided with a plurality of shelves 31.
- a variety of goods are placed, for example, as we see in a supermarket where a variety of goods are placed, a plurality of shelves 31 are arranged in a rack array.
- the control system 20 communicates with the self-driving robot 10 wirelessly, and a worker makes the control system 20 work through the operation platform 60.
- the self-driving robot 10 performs cargo handling tasks under the control of the control system 20.
- the control system 20 plans a movement path for the self-propelled robot 10 according to the handling task, and the self-propelled robot 10 travels along an empty space (a part of the passageway of the self-propelled robot 10) in the rack array according to the movement path.
- the working area of the self-propelled robot 10 (the work area includes at least the shelf area 30 and the area where the picking station 40 is located) is divided into a plurality of sub-areas (ie, cells) in advance. 10 Move sub-region by sub-region to form a motion trajectory.
- the self-driving robot 10 can move below the target shelf 31, lift the target shelf 31 with a lifting mechanism, and carry it to the assigned picking station 40.
- the self-driving robot 10 has a lifting mechanism and an autonomous navigation function.
- the self-driving robot 10 can travel below the target shelf 31 and use the lifting mechanism to lift the entire shelf 31 so that the shelf 31 can follow
- the lifting mechanism with a lifting function moves up and down.
- the self-driving robot 10 can travel forward according to the two-dimensional code information captured by the camera, and can travel under the shelf 31 prompted by the control system 20 according to the route determined by the control system 20.
- the self-driven robot 10 transfers the target rack 31 to the picking station 40, and the picker 41 or the picking robot picks the goods from the rack 31 at the picking station 40 and puts them in the turnover box 50 for packing.
- the control system 20 is a software system running on a server and having data storage and information processing capabilities, and can be connected to robots, hardware input systems, and other software systems by wireless or wired.
- the control system 20 may include one or more servers, which may be a centralized control architecture or a distributed computing architecture.
- the server has a processor 201 and a memory 202, and the memory 202 may have an order pool 203.
- the self-driving robot 10 needs to be quickly removed from the area where the fire passage is located to provide necessary guarantees for smooth rescue. Therefore, the present application provides a fire control scheme for the self-propelled robot 10.
- FIG. 13 is a flowchart of a robot scheduling method according to an embodiment. This embodiment is applicable to the fire control situation of a robot.
- the method may be executed by a robot scheduling device, and the device may be implemented by software and / or hardware.
- the device may be configured in a server where the control system 20 operates.
- the method may include the following steps:
- Step 1310 Receive a fire signal.
- the fire signal can be triggered by a fire emergency stop button.
- the fire emergency stop button can be set in advance and can be implemented by hardware or software.
- the hub of the fire emergency stop button (HUB) and the server use Socket communication, and the data is fixed to 34 bytes, of which 4 bytes indicate the status of the fire emergency stop button connected to the HUB.
- the first 1-8 digit channel indicates the fire emergency stop button. If the server detects that the signal comes from the first 1-8 digit channel, it can be sure that the fire signal is received.
- Socket is also called socket.
- Applications usually send requests to the network or respond to network requests through "sockets". Socket is used to establish a network connection. When the connection is successful, a socket instance will be generated at both ends of the application. , Operate this instance and complete the required session.
- the server can also obtain the fire signal transmitted externally through a standard interface.
- the instruction format transmitted by the interface can be ⁇ instruction: FIRE_STOP ⁇ .
- Step 1320 In response to the fire signal, when the robot is in a moving state and the next sub-area of the robot's navigation path is in a preset fire passage area, control the robot to move to the next One sub-area continues to move according to the navigation path, and stops moving until the next sub-area is not in the preset fire passage area.
- the navigation path is an optimal path that is planned according to the end point of the robot in advance.
- the working area of the robot on the map is divided into multiple sub-areas (or cells) in advance as required. Multiple continuous sub-areas can constitute the path of the robot's movement, so the navigation path is planned out.
- the type of the sub-area may be defined according to a business function, for example, defining a shelf sub-area or a work status sub-area.
- the setting of the fire passage area is independent of the type definition of the sub-area, that is, different types of sub-areas can be set as the fire passage area, and the sub-area where the fire passage is located or the sub-area where the fire door is located can be set.
- the normalized coordinates of the fire passage area can be enumerated by using a Comma-Separated Values (CSV) format in the map xml file. For example, ⁇ firepass> 146,9,146,10,146, 11,146,12,146,13,146,14,146,15,146,16,146,17,146,18, ...
- FIG. 14 is a schematic diagram of a fire passage area in an embodiment. As shown in FIG. 14, the sub-areas marked by diagonal lines are fire passage areas.
- the robot in response to the fire signal, in a case where the robot is in a moving state and a next sub-area of the robot's navigation path is located in a preset fire passage area, the robot is controlled to move to The next sub-area and determine whether the next sub-area is located in a preset fire aisle area; if the next sub-area is not in a preset fire aisle area, the control robot stops moving; in the next sub-area In the case where the area is located in a preset fire passage area, the control robot continues to move according to the navigation path, and stops moving when a certain sub-area on the navigation path is not in the preset fire passage area.
- the robot after receiving a fire signal, the robot is in a stopped state, and the sub-area where the robot is currently located is in a preset fire passage area, re-plan the navigation path for the robot, and control The robot moves along the re-planned navigation path to leave the preset fire passage area.
- the robot selects a tuning endpoint based on the distance between the robot and the tuning endpoint and / or the density of the robot within a predetermined area within the tuning endpoint; according to the selected tuning endpoint, the target is re-selected.
- the robot plans a navigation path, and controls the robot to move along the re-planned navigation path to the selected tune away end point.
- a sub-area with a distance of no more than 4 sub-areas and an adjacent sub-area with only one robot may be selected as the transfer end point to calculate the loss of multiple paths.
- the path with the least loss is taken as the re-planned navigation path, and the robot is controlled to move to the tune away end point according to the re-planned navigation path.
- the end point of the adjustment can also be a shelf sub-region.
- the robot may also Re-plan the navigation path for the robot and control the robot to move along the re-planned navigation path to leave the end point.
- the control in response to the fire signal, in response to the fire signal, if the robot is in a moving state and the next sub-area in the robot's navigation path is located in a preset fire passage area, the control is performed.
- the robot moves to the next sub-area and continues to move according to the navigation path, until the next sub-area is not in the preset fire passage area and stops moving.
- the device may include: a receiving module 1510 configured to receive a fire signal; and a motion control module 1520 configured to respond to the fire signal when the robot is in a moving state. And in a case where the next sub-area of the robot's navigation path is located in a preset fire passage area, controlling the robot to move to the next sub-area and continue to move according to the navigation path until the next Stop moving when the sub-area is not in the preset fire passage area.
- the device may further include a stop control module, configured to re-start the robot when the robot is in a stopped state and the sub-area where the robot is currently located in a preset fire aisle area.
- the robot plans a navigation path, and controls the robot to move along the re-planned navigation path to leave the preset fire passage area.
- the stop control module is configured to re-plan a navigation path for the robot in the following manner, and control the robot to move along the re-planned navigation path to leave the preset fire passage area: based on The distance between the robot and the tuning end point and / or the density of the robot within a predetermined area within the tuning end point selects the tuning end point for the robot; according to the selected tuning end point, re-plan the navigation path for the robot, and control The robot moves along the re-planned navigation path to the selected tune away endpoint.
- the fire signal is triggered by a fire emergency stop button or received through an external interface.
- the fire signal can be received through the emergency stop hardware system, and the fire signal is transmitted to the server through the emergency stop system controller. After the server receives the fire signal, the robot dispatch system will control all robots to stop working. , And leave the fire sub-zone.
- This embodiment can avoid the problems caused by the delay error or the sudden braking, and improve the efficiency of the robot leaving the fire passage.
- the robot scheduling device provided by the embodiment of the present application can execute the robot scheduling method provided by any embodiment of the present application, and has corresponding function modules and beneficial effects of the execution method.
- FIG. 16 is a schematic structural diagram of another server in an embodiment.
- FIG. 16 shows a block diagram of an exemplary server 612 suitable for use in implementing embodiments of the present application.
- the server 612 shown in FIG. 16 is only an example, and should not impose any limitation on the functions and scope of use of the embodiments of the present application.
- the server 612 is expressed in the form of a general server.
- the components of the server 612 may include, but are not limited to, one or more processors 616, a system memory 628, and a bus 618 connecting different system components (including the system memory 628 and the processor 616).
- the bus 618 represents one or more of several types of bus structures, including a memory bus or a memory controller, a peripheral bus, a graphics acceleration port, a processor 616, or a local area bus using any of a variety of bus structures.
- these architectures include, but are not limited to, the ISA bus, MCA bus, enhanced ISA bus, VESA local bus, and PCI bus.
- the server 612 includes a variety of computer system-readable media. These media can be any available media that can be accessed by the server 612, including volatile and non-volatile media, removable and non-removable media.
- System memory 628 may include computer system-readable media in the form of volatile memory, such as RAM 430 and / or cache memory 632.
- the server 612 may include other removable / non-removable, volatile / nonvolatile computer system storage media.
- the storage system 634 may be used to read and write non-removable, non-volatile magnetic media (not shown in FIG. 16 and is commonly referred to as a "hard drive").
- a disk drive for reading and writing to a removable non-volatile disk (such as a "floppy disk"), and a removable non-volatile optical disk (such as a CD-ROM, DVD-ROM, etc.) may be provided. Or other optical media).
- each drive may be connected to the bus 618 through one or more data medium interfaces.
- the memory 628 may include at least one program product having a set of (eg, at least one) program modules configured to perform the functions of any embodiment of the present application.
- a program / utility tool 640 having a set (at least one) of program modules 642 may be stored in, for example, the memory 628.
- Such program modules 642 include, but are not limited to, an operating system, one or more application programs, other program modules, and program data Each of these examples, or some combination, may include an implementation of a network environment.
- the program module 642 generally performs functions and / or methods in the embodiments described in this application.
- the server 612 may also communicate with one or more external devices 614 (such as a keyboard, pointing device, display 624, etc.), and may also communicate with one or more devices that enable a user to interact with the server 612, and / or with the server
- the server 612 can communicate with any device (such as a network card, modem, etc.) that is in communication with one or more other computing devices. This communication can be performed through an input / output (I / O) interface 622.
- the server 612 can also communicate with one or more networks (such as a LAN, WAN, and / or a public network, such as the Internet) through the network adapter 620. As shown in FIG.
- the network adapter 620 communicates with other modules of the server 612 through the bus 618. It should be understood that although not shown in FIG. 16, other hardware and / or software modules may be used in conjunction with the server 612, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives And data backup storage systems.
- the processor 616 executes a variety of functional applications and data processing by running a program stored in the system memory 628, for example, implementing the robot scheduling method provided in the embodiment of the present application.
- the method includes: receiving a fire protection signal; and responding to the fire protection Signal, in the case that the robot is in a moving state and the next sub-region in the navigation path of the robot is in a preset fire passage area, controlling the robot to move to the next sub-region and according to the navigation The path continues to move until the next sub-area is not in the preset fire passage area.
- the embodiment of the present application further provides a computer-readable storage medium on which a computer program is stored.
- the robot scheduling method provided by the embodiment of the present application is implemented.
- the method includes: receiving a fire signal; In response to the fire signal, in a case where the robot is in a moving state and a next sub-area is in a preset fire passage area in the navigation path of the robot, the robot is controlled to move to the next sub-area And continue to move according to the navigation path until the next sub-area is not in the preset fire passage area.
- the computer storage medium in the embodiments of the present application may adopt any combination of one or more computer-readable media.
- the computer-readable medium may be a computer-readable signal medium or a computer-readable storage medium.
- the computer-readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. Examples (non-exhaustive list) of computer-readable storage media include: electrical connections with one or more wires, portable computer disks, hard disks, RAM, ROM, EPROM or flash memory, optical fibers, portable CD-ROMs, optical storage devices , Magnetic storage devices, or any suitable combination of the foregoing.
- a computer-readable storage medium may be any tangible medium that contains or stores a program that can be used by or in combination with an instruction execution system, apparatus, or device.
- the computer-readable signal medium may include a data signal transmitted in baseband or transmitted as part of a carrier wave, and the computer-readable signal medium carries a computer-readable program code. Such a propagated data signal may take many forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the foregoing.
- the computer-readable signal medium may also be any computer-readable medium other than a computer-readable storage medium, and the computer-readable medium may send, propagate, or transmit a program for use by or in connection with an instruction execution system, apparatus, or device. .
- Program code embodied on a computer-readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
- the computer program code for performing the operations of this application may be written in one or more programming languages or a combination of programming languages, the programming languages including object-oriented programming languages—such as Java, Smalltalk, C ++, It also includes regular procedural programming languages—such as "C" or similar programming languages.
- the program code can be executed entirely on the user's computer, partly on the user's computer, as an independent software package, partly on the user's computer, partly on a remote computer, or entirely on a remote computer or server.
- the remote computer can be connected to the user's computer through any kind of network, including a LAN or WAN, or it can be connected to an external computer (for example, through an Internet connection using an Internet service provider).
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Resources & Organizations (AREA)
- Economics (AREA)
- Strategic Management (AREA)
- Remote Sensing (AREA)
- Radar, Positioning & Navigation (AREA)
- Mechanical Engineering (AREA)
- Robotics (AREA)
- Automation & Control Theory (AREA)
- Aviation & Aerospace Engineering (AREA)
- Entrepreneurship & Innovation (AREA)
- Quality & Reliability (AREA)
- General Business, Economics & Management (AREA)
- Tourism & Hospitality (AREA)
- Theoretical Computer Science (AREA)
- Operations Research (AREA)
- Marketing (AREA)
- Game Theory and Decision Science (AREA)
- Development Economics (AREA)
- Educational Administration (AREA)
- General Engineering & Computer Science (AREA)
- Manipulator (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
- Warehouses Or Storage Devices (AREA)
Abstract
Description
Claims (21)
- 一种机器人调度方法,包括:接收调度指令;响应于所述调度指令,确定位于工作区域中的机器人的工作状态和当前位置;其中,所述工作状态包括:空闲状态和非空闲状态;在所述机器人的工作状态为空闲且当前位置在预先设置的目标范围外的情况下,将所述机器人从所述当前位置调度到所述目标范围内。
- 根据权利要求1所述的方法,其中,所述确定位于工作区域中的机器人的工作状态,包括:判断位于工作区域中的机器人是否存在待执行的任务或者正在执行的任务;响应于所述机器人不存在所述待执行的任务和所述正在执行的任务的判断结果,确定所述机器人的工作状态为所述空闲状态;响应于所述机器人存在所述待执行的任务或者所述正在执行的任务的判断结果,确定所述机器人的工作状态为所述非空闲状态。
- 根据权利要求1或2所述的方法,其中,所述将所述机器人从所述当前位置调度到所述目标范围内,包括:在所述目标范围内确定所述机器人的目标位置;计算所述当前位置到所述目标位置之间的最佳路径;根据所述最佳路径将所述机器人从所述当前位置调度到所述目标位置上。
- 根据权利要求3所述的方法,其中,所述在所述目标范围内确定所述机器人的目标位置,包括:在所述目标范围内确定所述机器人的计划位置;判断所述机器人的计划位置是否满足预先设置的调度条件,响应于所述机器人的计划位置满足所述调度条件的判断结果,将所述机器人的计划位置确定为所述机器人的目标位置。
- 根据权利要求4所述的方法,其中,所述目标范围划分成至少一个单元格,以单元格为单位确定所述机器人的目标位置;其中,所述目标范围的形状为矩形,所述目标范围由预先设置的起始位置、宽度和高度确定。
- 根据权利要求5所述的方法,其中,所述预先设置的调度条件包括:在所述机器人为纵向排列的情况下,所述机器人的计划位置横向相邻的单元格为空闲状态;在所述机器人为横向排列的情况下,所述机器人的计划位置纵向相邻的单元格为空闲状态。
- 根据权利要求1所述的方法,还包括:在机器人的数量大于所述目标范围容纳机器人的数量的情况下,重新确定新的目标范围,并在所述机器人的工作状态为空闲且当前位置在预先设置的目标范围外的情况下,将所述机器人从所述当前位置调度到所述新的目标范围内。
- 一种机器人调度方法,包括:接收消防信号;响应于所述消防信号,在机器人处于移动状态,且在规划的路径中的下一个单元格位于预设的消防通道区域中的情况下,控制所述机器人移动到所述下一个单元格并依据所述规划的路径继续移动,直到下一个单元格不在所述预设的消防通道区域时停止移动。
- 根据权利要求8所述的方法,在接收消防信号之后,还包括:在所述机器人处于停止状态,且所述机器人当前所处的单元格位于所述预设的消防通道区域中的情况下,重新为所述机器人规划路径,并控制所述机器人沿重新规划的路径移动以离开所述预设的消防通道区域。
- 根据权利要求9所述的方法,其中,所述重新为所述机器人规划路径,并控制所述机器人沿重新规划的路径移动以离开所述预设的消防通道区域,包括:基于所述机器人与调离终点之间的距离和调离终点所在预定区域范围内的机器人密度中的至少之一为所述机器人选择调离终点;根据选择的调离终点重新为所述机器人规划路径,控制所述机器人沿重新规划的路径移动到所述选择的调离终点。
- 根据权利要求8所述的方法,其中,所述消防信号是由消防急停按钮触发的或通过外部接口接收的。
- 一种机器人路径的控制方法,所述机器人移动的工作区域划分为多个单元格,所述方法包括:在所述机器人依据规划的路径移动过程中,确定所述机器人所在的当前单元格的工作状态;在检测到所述当前单元格处于锁定状态的情况下,控制所述机器人停止运动;在检测到所述当前单元格处于解锁状态且下一个单元格处于锁定状态的情况下,重新为所述机器人规划路径以避开所述下一个单元格,并引导所述机器人依据重新规划的路径移动;在检测到所述当前单元格和下一个单元格都处于解锁状态的情况下,引导所述机器人依据所述路径移动。
- 根据权利要求12所述的方法,还包括:在为所述机器人规划路径的过程中,确定工作区域中的单元格的工作状态,使工作状态为锁定的单元格不在规划后的路径上。
- 根据权利要求12所述的方法,其中,所述工作状态还包括缓冲状态,所述方法还包括:在检测到所述当前单元格处于缓冲状态且下一个单元格处于锁定状态的情况下,重新为所述机器人规划路径以避开所述下一个单元格,并引导所述机器人依据重新规划的路径移动;在检测到所述当前单元格和下一个单元格都处于缓冲状态、所述当前单元格处于解锁状态且所述下一个单元格处于缓冲状态或者所述当前单元格处于缓冲状态且所述下一个单元格处于解锁状态的情况下,引导所述机器人依据所述路径移动。
- 根据权利要求12、13或14所述的方法,还包括:响应于工作状态设置操作,将所述工作状态设置操作指定的至少一个单元格的工作状态设置为所述工作状态设置操作指定的状态。
- 根据权利要求15所述的方法,其中,响应于工作状态设置操作,将所述工作状态设置操作指定的至少一个单元格的工作状态设置为所述工作状态设置操作指定的状态,包括:响应于按任一单元格的工作状态设置控件的操作,将该单元格的工作状态设定为指定的状态,或者,响应于输入任一单元格坐标的操作,将该单元格的工作状态设定为指定的状态。
- 根据权利要求12所述的方法,还包括:在检测到所述路径中存在行驶障碍的情况下,将存在行驶障碍的单元格设定为锁定状态。
- 根据权利要求12所述的方法,其中,在检测到所述机器人在所述路径中的当前单元格处于解锁状态且下一个单元格处于锁定状态的情况下,重新为所述机器人规划路径以避开所述下一个单元格,并引导所述机器人依据重新规划的路径移动,包括:在检测到所述机器人在所述路径中的当前子区域处于解锁状态且下一个单元格处于锁定状态的情况下,判断所述下一个单元格在预设时间长度后是否仍处于锁定状态;响应于所述下一个单元格在预设时间长度后仍处于锁定状态的判断结果,重新为所述机器人规划路径以避开所述下一个单元格,并引导所述机器人依据重新规划的路径移动。
- 根据权利要求12所述的方法,还包括:响应于全场锁定操作,控制所述工作区域中的所有机器人停止移动。
- 一种服务器,包括:至少一个处理器;存储器,设置为存储至少一个程序;当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器实现如权利要求1-19任一所述的方法。
- 一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1-19任一所述的方法。
Priority Applications (9)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
MX2020014269A MX2020014269A (es) | 2018-06-21 | 2019-06-19 | Metodo de planificacion de robot y control de trayectoria de robot, servidor y medio de almacenamiento. |
AU2019290096A AU2019290096B2 (en) | 2018-06-21 | 2019-06-19 | Robot scheduling and robot path control method, server and storage medium |
CA3104505A CA3104505A1 (en) | 2018-06-21 | 2019-06-19 | Robot scheduling and robot path control method, server and storage medium |
US17/252,282 US11969896B2 (en) | 2018-06-21 | 2019-06-19 | Robot scheduling and robot path control method, server and storage medium |
KR1020217002072A KR102542218B1 (ko) | 2018-06-21 | 2019-06-19 | 로봇 스케줄링, 로봇 경로 제어 방법, 서버 및 저장 매체 |
JP2020571647A JP7005794B2 (ja) | 2018-06-21 | 2019-06-19 | ロボットスケジューリング、ロボットの経路制御方法、サーバーおよび記憶媒体 |
EP19822999.9A EP3812865A4 (en) | 2018-06-21 | 2019-06-19 | ROBOT PLANNING AND ROBOT PATH CONTROL METHODS, SERVER AND STORAGE MEDIA |
JP2022000173A JP2022037223A (ja) | 2018-06-21 | 2022-01-04 | ロボットの経路の制御方法、サーバーおよび記憶媒体 |
JP2022000172A JP2022037222A (ja) | 2018-06-21 | 2022-01-04 | ロボットの経路をスケジューリングするための方法、サーバーおよび記憶媒体 |
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810643118.4 | 2018-06-21 | ||
CN201810643118.4A CN108958241B (zh) | 2018-06-21 | 2018-06-21 | 机器人路径的控制方法、装置、服务器和存储介质 |
CN201810708903.3A CN108960506B (zh) | 2018-07-02 | 2018-07-02 | 一种机器人调度方法、装置、服务器和存储介质 |
CN201810708903.3 | 2018-07-02 | ||
CN201810785131.3A CN108646762B (zh) | 2018-07-17 | 2018-07-17 | 机器人的消防控制方法、装置、服务器和存储介质 |
CN201810785131.3 | 2018-07-17 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2019242652A1 true WO2019242652A1 (zh) | 2019-12-26 |
Family
ID=68982718
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2019/091920 WO2019242652A1 (zh) | 2018-06-21 | 2019-06-19 | 机器人调度、机器人路径的控制方法、服务器和存储介质 |
Country Status (8)
Country | Link |
---|---|
US (1) | US11969896B2 (zh) |
EP (1) | EP3812865A4 (zh) |
JP (3) | JP7005794B2 (zh) |
KR (1) | KR102542218B1 (zh) |
AU (1) | AU2019290096B2 (zh) |
CA (1) | CA3104505A1 (zh) |
MX (1) | MX2020014269A (zh) |
WO (1) | WO2019242652A1 (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111176296A (zh) * | 2020-01-20 | 2020-05-19 | 重庆邮电大学 | 一种基于条形码码盘的移动机器人编队的控制方法 |
CN111596661A (zh) * | 2020-05-26 | 2020-08-28 | 深圳优地科技有限公司 | 一种消毒控制方法、装置、电子设备及系统 |
CN112214018A (zh) * | 2020-09-10 | 2021-01-12 | 深圳优地科技有限公司 | 机器人路径规划方法及装置 |
CN113031629A (zh) * | 2021-05-27 | 2021-06-25 | 德阳恒博秸油科技有限公司 | 一种餐饮行业的智能传送终端及其工作方法 |
CN113172625A (zh) * | 2021-04-29 | 2021-07-27 | 塔米智能科技(北京)有限公司 | 一种机器人调度方法、装置、设备及存储介质 |
CN113627703A (zh) * | 2020-05-08 | 2021-11-09 | 北京京东乾石科技有限公司 | 移动装置的调度方法和设备、计算机系统和存储介质 |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3812865A4 (en) * | 2018-06-21 | 2022-07-13 | Beijing Geekplus Technology Co., Ltd. | ROBOT PLANNING AND ROBOT PATH CONTROL METHODS, SERVER AND STORAGE MEDIA |
CN110929911A (zh) * | 2018-09-20 | 2020-03-27 | 北京京东尚科信息技术有限公司 | 无人设备路径规划方法和装置 |
CN113065820A (zh) * | 2021-03-25 | 2021-07-02 | 北京京东乾石科技有限公司 | 信息生成方法、装置、电子设备和计算机可读介质 |
CN113627775B (zh) * | 2021-08-04 | 2024-01-19 | 昆山塔米机器人有限公司 | 机器人的调度方法、装置、设备和存储介质 |
CN113835431B (zh) * | 2021-09-23 | 2024-03-19 | 江苏智库智能科技有限公司 | 一种用于多台四向穿梭同区域作业的调度方法和系统 |
CN114770494A (zh) * | 2022-03-01 | 2022-07-22 | 深圳市普渡科技有限公司 | 机器人调度方法、计算机设备及存储介质 |
CN115271556B (zh) * | 2022-09-27 | 2022-12-30 | 江西萤火虫微电子科技有限公司 | 机器人任务调度方法、装置、可读存储介质及电子设备 |
CN115351803B (zh) * | 2022-10-20 | 2023-04-21 | 湖北信通通信有限公司 | 仓储物流机器人的路径规划方法及装置 |
KR102566417B1 (ko) * | 2023-01-30 | 2023-08-11 | 주식회사 마키나락스 | 작업 수행 로봇의 작업 경로의 길이를 계산하는 방법 |
CN117874739B (zh) * | 2024-03-13 | 2024-05-07 | 中国标准化研究院 | 一种智能制造服务的信息推送方法及系统 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5974348A (en) * | 1996-12-13 | 1999-10-26 | Rocks; James K. | System and method for performing mobile robotic work operations |
CN1990197A (zh) * | 2005-12-20 | 2007-07-04 | 库卡罗伯特有限公司 | 包括紧急撤离路径的机器人轨迹控制系统和方法 |
JP2010176607A (ja) * | 2009-02-02 | 2010-08-12 | Toyohashi Univ Of Technology | 移動体システム及びそのデッドロック回復手法 |
CN107036618A (zh) * | 2017-05-24 | 2017-08-11 | 合肥工业大学(马鞍山)高新技术研究院 | 一种基于最短路径深度优化算法的agv路径规划方法 |
CN107092255A (zh) * | 2017-05-19 | 2017-08-25 | 安徽工程大学 | 一种基于改进遗传算法的多移动机器人路径规划方法 |
CN108646762A (zh) * | 2018-07-17 | 2018-10-12 | 北京极智嘉科技有限公司 | 机器人的消防控制方法、装置、服务器和存储介质 |
CN108958241A (zh) * | 2018-06-21 | 2018-12-07 | 北京极智嘉科技有限公司 | 机器人路径的控制方法、装置、服务器和存储介质 |
CN108960506A (zh) * | 2018-07-02 | 2018-12-07 | 北京极智嘉科技有限公司 | 一种机器人调度方法、装置、服务器和存储介质 |
Family Cites Families (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3544705A1 (de) | 1984-12-27 | 1986-07-17 | Mannesmann Demag Corp., Grand Rapids, Mich. | Passive programmierbare responder fuer fuehrungssysteme |
JPH01253009A (ja) * | 1988-04-01 | 1989-10-09 | Fanuc Ltd | 走行体の走行制御装置 |
JPH10161744A (ja) | 1996-12-02 | 1998-06-19 | Matsushita Electric Ind Co Ltd | 無人搬送車および無人搬送車システム |
JPH1185278A (ja) | 1997-09-09 | 1999-03-30 | Murata Mach Ltd | 無人搬送車システム |
JPH1185281A (ja) | 1997-09-09 | 1999-03-30 | Murata Mach Ltd | 無人搬送車システム |
JP2003044138A (ja) | 2001-07-30 | 2003-02-14 | Murata Mach Ltd | 無人搬送車システム |
US8649899B2 (en) | 2006-06-19 | 2014-02-11 | Amazon Technologies, Inc. | System and method for maneuvering a mobile drive unit |
US8220710B2 (en) | 2006-06-19 | 2012-07-17 | Kiva Systems, Inc. | System and method for positioning a mobile drive unit |
JP2011128899A (ja) | 2009-12-17 | 2011-06-30 | Murata Machinery Ltd | 自律移動装置 |
CN102799177A (zh) * | 2011-05-23 | 2012-11-28 | 捷达世软件(深圳)有限公司 | 自动引导小车控制系统及方法 |
CN102406998A (zh) | 2011-07-27 | 2012-04-11 | 江苏中瑞电保智能装备有限公司 | 智能机器人灭火系统及方法 |
ES2827192T3 (es) * | 2012-02-08 | 2021-05-20 | Omron Tateisi Electronics Co | Sistema de gestión de tareas para una flota de robots móviles autónomos |
CN103873539A (zh) | 2012-12-18 | 2014-06-18 | 天津云源科技有限公司 | 一种自主式物品云管理系统 |
GB201409883D0 (en) * | 2014-06-03 | 2014-07-16 | Ocado Ltd | Methods, systems, and apparatus for controlling movement of transporting devices |
JP2016055964A (ja) * | 2014-09-08 | 2016-04-21 | 株式会社日立製作所 | 入出荷支援システム、自動倉庫及び入出荷支援方法 |
CN104199450A (zh) | 2014-09-17 | 2014-12-10 | 上海畔慧信息技术有限公司 | 群体机器人的控制系统 |
CN104317293B (zh) | 2014-09-19 | 2017-04-12 | 南京邮电大学 | 一种改进蚁群算法的城市救援智能体动态路径规划方法 |
CN107533332B (zh) | 2014-12-26 | 2021-07-09 | 株式会社日立制作所 | 运输车及运输系统 |
KR101660162B1 (ko) | 2015-03-05 | 2016-10-04 | 고려대학교 산학협력단 | 자율 주행 기반 무인 운반차 시스템 및 이의 제어 방법 |
CN105224996A (zh) | 2015-08-31 | 2016-01-06 | 湖南汇博电子技术有限公司 | 人群疏散方法及系统 |
US10802497B2 (en) * | 2015-10-22 | 2020-10-13 | Grey Orange Pte. Ltd. | Automated fault diagnosis and recovery of machines |
CN105459117B (zh) | 2016-01-04 | 2017-05-03 | 杭州亚美利嘉科技有限公司 | 控制大量机器人急停的方法及装置 |
CN105446342B (zh) | 2016-01-04 | 2019-02-05 | 杭州亚美利嘉科技有限公司 | 用于机器人终端场地回流的方法和装置 |
EP3401750B1 (en) * | 2016-01-04 | 2023-01-11 | Zhejiang Libiao Robots Co., Ltd. | Method and device for returning robots from site |
CN105404231B (zh) | 2016-01-12 | 2018-08-14 | 西北工业大学 | 一种基于物联网的智能楼宇监控管理系统 |
CN107025491B (zh) | 2016-01-29 | 2020-12-29 | 江苏苏宁物流有限公司 | 一种自动化仓储中agv运输车的调度方法及系统 |
CN105853085B (zh) | 2016-03-25 | 2018-11-16 | 向瑜 | 一种疏散机器人 |
US9776324B1 (en) | 2016-03-25 | 2017-10-03 | Locus Robotics Corporation | Robot queueing in order-fulfillment operations |
US9513627B1 (en) * | 2016-04-25 | 2016-12-06 | inVia Robotics, LLC | Autonomous coordination of resources amongst robots |
CN105858045B (zh) | 2016-06-03 | 2019-01-29 | 北京极智嘉科技有限公司 | 货物自动拣选系统和货物自动拣选方法 |
CN106228302A (zh) | 2016-07-21 | 2016-12-14 | 上海仙知机器人科技有限公司 | 一种用于在目标区域内进行任务调度的方法与设备 |
CN106355345A (zh) | 2016-09-08 | 2017-01-25 | 京东方科技集团股份有限公司 | 自动售货机器人智能调度系统及方法 |
WO2018053100A1 (en) | 2016-09-14 | 2018-03-22 | Irobot Corporation | Systems and methods for configurable operation of a robot based on area classification |
CN106647734B (zh) | 2016-10-12 | 2020-11-24 | 北京京东乾石科技有限公司 | 自动导引车、路径规划方法与装置 |
CN106514661A (zh) | 2016-10-28 | 2017-03-22 | 天津城建大学 | 地下火灾巡检机器人系统 |
CN106444588B (zh) | 2016-11-30 | 2019-04-26 | 国家电网公司 | 基于视频监控联动系统的阀厅机器人巡检方法 |
EP4029372A1 (en) * | 2016-12-15 | 2022-07-20 | Positec Power Tools (Suzhou) Co., Ltd. | Self-moving device return method, self-moving device, storage medium, and server |
CN107145153A (zh) | 2017-07-03 | 2017-09-08 | 北京海风智能科技有限责任公司 | 一种基于ros的服务机器人及其室内导航方法 |
CN107515606A (zh) | 2017-07-20 | 2017-12-26 | 北京格灵深瞳信息技术有限公司 | 机器人实现方法、控制方法及机器人、电子设备 |
CN107899957B (zh) | 2017-09-30 | 2024-05-17 | 北京极智嘉科技股份有限公司 | 自动物流分拣系统和自动物流分拣方法 |
EP3812865A4 (en) | 2018-06-21 | 2022-07-13 | Beijing Geekplus Technology Co., Ltd. | ROBOT PLANNING AND ROBOT PATH CONTROL METHODS, SERVER AND STORAGE MEDIA |
-
2019
- 2019-06-19 EP EP19822999.9A patent/EP3812865A4/en active Pending
- 2019-06-19 AU AU2019290096A patent/AU2019290096B2/en active Active
- 2019-06-19 WO PCT/CN2019/091920 patent/WO2019242652A1/zh active Application Filing
- 2019-06-19 KR KR1020217002072A patent/KR102542218B1/ko active IP Right Grant
- 2019-06-19 MX MX2020014269A patent/MX2020014269A/es unknown
- 2019-06-19 JP JP2020571647A patent/JP7005794B2/ja active Active
- 2019-06-19 US US17/252,282 patent/US11969896B2/en active Active
- 2019-06-19 CA CA3104505A patent/CA3104505A1/en active Pending
-
2022
- 2022-01-04 JP JP2022000173A patent/JP2022037223A/ja active Pending
- 2022-01-04 JP JP2022000172A patent/JP2022037222A/ja active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5974348A (en) * | 1996-12-13 | 1999-10-26 | Rocks; James K. | System and method for performing mobile robotic work operations |
CN1990197A (zh) * | 2005-12-20 | 2007-07-04 | 库卡罗伯特有限公司 | 包括紧急撤离路径的机器人轨迹控制系统和方法 |
JP2010176607A (ja) * | 2009-02-02 | 2010-08-12 | Toyohashi Univ Of Technology | 移動体システム及びそのデッドロック回復手法 |
CN107092255A (zh) * | 2017-05-19 | 2017-08-25 | 安徽工程大学 | 一种基于改进遗传算法的多移动机器人路径规划方法 |
CN107036618A (zh) * | 2017-05-24 | 2017-08-11 | 合肥工业大学(马鞍山)高新技术研究院 | 一种基于最短路径深度优化算法的agv路径规划方法 |
CN108958241A (zh) * | 2018-06-21 | 2018-12-07 | 北京极智嘉科技有限公司 | 机器人路径的控制方法、装置、服务器和存储介质 |
CN108960506A (zh) * | 2018-07-02 | 2018-12-07 | 北京极智嘉科技有限公司 | 一种机器人调度方法、装置、服务器和存储介质 |
CN108646762A (zh) * | 2018-07-17 | 2018-10-12 | 北京极智嘉科技有限公司 | 机器人的消防控制方法、装置、服务器和存储介质 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111176296A (zh) * | 2020-01-20 | 2020-05-19 | 重庆邮电大学 | 一种基于条形码码盘的移动机器人编队的控制方法 |
CN111176296B (zh) * | 2020-01-20 | 2022-06-03 | 重庆邮电大学 | 一种基于条形码码盘的移动机器人编队的控制方法 |
CN113627703A (zh) * | 2020-05-08 | 2021-11-09 | 北京京东乾石科技有限公司 | 移动装置的调度方法和设备、计算机系统和存储介质 |
CN111596661A (zh) * | 2020-05-26 | 2020-08-28 | 深圳优地科技有限公司 | 一种消毒控制方法、装置、电子设备及系统 |
CN111596661B (zh) * | 2020-05-26 | 2023-09-08 | 深圳优地科技有限公司 | 一种消毒控制方法、装置、电子设备及系统 |
CN112214018A (zh) * | 2020-09-10 | 2021-01-12 | 深圳优地科技有限公司 | 机器人路径规划方法及装置 |
CN113172625A (zh) * | 2021-04-29 | 2021-07-27 | 塔米智能科技(北京)有限公司 | 一种机器人调度方法、装置、设备及存储介质 |
CN113031629A (zh) * | 2021-05-27 | 2021-06-25 | 德阳恒博秸油科技有限公司 | 一种餐饮行业的智能传送终端及其工作方法 |
CN113031629B (zh) * | 2021-05-27 | 2022-11-04 | 德阳恒博秸油科技有限公司 | 一种餐饮行业的智能传送终端及其工作方法 |
Also Published As
Publication number | Publication date |
---|---|
US11969896B2 (en) | 2024-04-30 |
JP7005794B2 (ja) | 2022-01-24 |
EP3812865A4 (en) | 2022-07-13 |
CA3104505A1 (en) | 2019-12-26 |
EP3812865A1 (en) | 2021-04-28 |
JP2022037223A (ja) | 2022-03-08 |
KR20210024576A (ko) | 2021-03-05 |
AU2019290096A1 (en) | 2021-01-14 |
KR102542218B1 (ko) | 2023-06-13 |
MX2020014269A (es) | 2021-03-25 |
AU2019290096B2 (en) | 2022-12-01 |
US20210252705A1 (en) | 2021-08-19 |
JP2021522618A (ja) | 2021-08-30 |
JP2022037222A (ja) | 2022-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2019242652A1 (zh) | 机器人调度、机器人路径的控制方法、服务器和存储介质 | |
US11709502B2 (en) | Roadmap annotation for deadlock-free multi-agent navigation | |
CN108958241B (zh) | 机器人路径的控制方法、装置、服务器和存储介质 | |
US20210078175A1 (en) | Method, server and storage medium for robot routing | |
CN108960506B (zh) | 一种机器人调度方法、装置、服务器和存储介质 | |
KR102160968B1 (ko) | 자율주행 로봇 장치 및 자율 주행 방법 | |
US20140365258A1 (en) | Job management system for a fleet of autonomous mobile robots | |
US11099576B2 (en) | Spatiotemporal robotic navigation | |
CN110580020A (zh) | Agv调度方法、装置、计算机设备和存储介质 | |
JP2020149370A (ja) | 運行計画システム、運行計画方法及びコンピュータプログラム | |
CN108646762B (zh) | 机器人的消防控制方法、装置、服务器和存储介质 | |
JP2021071891A (ja) | 走行制御装置、走行制御方法、及びコンピュータプログラム | |
US20210208592A1 (en) | System for evacuating one or more mobile robots | |
WO2023174096A1 (zh) | 自主移动机器人的调度方法、系统、电子设备和存储介质 | |
WO2024067697A1 (zh) | 塔吊智能控制系统和方法 | |
US11468770B2 (en) | Travel control apparatus, travel control method, and computer program | |
KR20230035987A (ko) | 물류로봇의 이동위치별 plc 운용 시스템 및 그 방법 | |
JP7334839B1 (ja) | 割当制御装置、割当方法、割当制御プログラム、および記録媒体 | |
WO2022195949A1 (ja) | 管理装置及び荷役車両 | |
US20230386336A1 (en) | Operation management apparatus | |
CN115525032A (zh) | 一种基于多种类机器人智能调度处理控制系统 | |
CN114384865A (zh) | 业务移交系统及方法 | |
CN116540732A (zh) | 用于机器人调度的方法、机器人和服务器 | |
CN114282749A (zh) | 机器人调度方法、装置、系统、电子设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 19822999 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 3104505 Country of ref document: CA |
|
ENP | Entry into the national phase |
Ref document number: 2020571647 Country of ref document: JP Kind code of ref document: A |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
ENP | Entry into the national phase |
Ref document number: 2019290096 Country of ref document: AU Date of ref document: 20190619 Kind code of ref document: A |
|
ENP | Entry into the national phase |
Ref document number: 20217002072 Country of ref document: KR Kind code of ref document: A |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2019822999 Country of ref document: EP |
|
ENP | Entry into the national phase |
Ref document number: 2019822999 Country of ref document: EP Effective date: 20210121 |