WO2019242652A1 - 机器人调度、机器人路径的控制方法、服务器和存储介质 - Google Patents

机器人调度、机器人路径的控制方法、服务器和存储介质 Download PDF

Info

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
Application number
PCT/CN2019/091920
Other languages
English (en)
French (fr)
Inventor
刘凯
刘俊
Original Assignee
北京极智嘉科技有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from CN201810643118.4A external-priority patent/CN108958241B/zh
Priority claimed from CN201810708903.3A external-priority patent/CN108960506B/zh
Priority claimed from CN201810785131.3A external-priority patent/CN108646762B/zh
Priority to JP2020571647A priority Critical patent/JP7005794B2/ja
Priority to US17/252,282 priority patent/US11969896B2/en
Priority to KR1020217002072A priority patent/KR102542218B1/ko
Application filed by 北京极智嘉科技有限公司 filed Critical 北京极智嘉科技有限公司
Priority to EP19822999.9A priority patent/EP3812865A4/en
Priority to CA3104505A priority patent/CA3104505A1/en
Priority to AU2019290096A priority patent/AU2019290096B2/en
Priority to MX2020014269A priority patent/MX2020014269A/es
Publication of WO2019242652A1 publication Critical patent/WO2019242652A1/zh
Priority to JP2022000173A priority patent/JP2022037223A/ja
Priority to JP2022000172A priority patent/JP2022037222A/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/0011Control 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/0044Control 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1661Programme controls characterised by programming, planning systems for manipulators characterised by task planning, object-oriented languages
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • B25J9/1666Avoiding collision or forbidden zones
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1682Dual arm manipulator; Coordination of several manipulators
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0214Control 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
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0287Control 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/0291Fleet control
    • G05D1/0297Fleet control by controlling means in a control room
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • G06Q10/047Optimisation 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

一种机器人调度、机器人路径的控制、机器人的消防控制方法、装置、服务器和存储介质。该机器人调度方法包括:接收调度指令;响应于该调度指令,确定位于工作区域中的机器人的工作状态和当前位置;其中工作状态包括:空闲状态和非空闲状态(S110);在机器人的工作状态为空闲且当前位置在预先设置的目标范围外的情况下,将机器人从当前位置调度到目标范围内(S120)。

Description

机器人调度、机器人路径的控制方法、服务器和存储介质
本申请要求申请日为2018年07月02日提交中国专利局、申请号为201810708903.3;申请日为2018年06月21日、申请号为201810643118.4以及申请日为2018年07月17日、申请号为201810785131.3的中国专利申请的优先权,该申请的全部内容通过引用结合在本申请中。
技术领域
本申请实施例涉及机器人技术,例如涉及一种机器人调度、机器人路径的控制方法、服务器和存储介质。
背景技术
机器人技术的发展为物流行业带来了新的技术与革新。利用机器人取代大量工人,可以实现物流领域的自动化,降低人工成本、推进产能的提升。相关技术中的机器人拣选系统通过移动机器人搬运货物至预先设定的工人的位置,将传统的“人到货”货物拣选模式转变为“货到人”的货物拣选模式,打破了传统的货物拣选模式,有效提升作业效率。
由于多数仓库并非24小时连续运作,因此每天上下班时都需要开关机机器人。但机器人在仓库中可能是随机分布,开关机时需要在场地里到处找机器人,或者通过控制终端将机器人手动调度到指定位置,即在控制终端上选择一个机器人并确定与该机器人对应的指定位置,将该机器人调度到指定位置,然后选择下一个需要调度的机器人,重复上述操作,直至场地里所有的机器人都调度到指定位置。然而这两种方式都无疑增加了用户的使用成本,降低了工作人员的工作效率。
另外,仓库多项资源如机器人、货架、仓库地面二维码等也需要不定期维护检修。机器人拣选系统在维护之前,都需要将机器人手动调度到指定区域,避免机器人挡住要维护的地面二维码或货架,以便于维护人员检修。但每次维护前都需要手动调度机器人,会增加工作人员的运维成本。
物流仓库中不可避免会出现一些突发情况,如机器人出现交通事故和商品掉落,或者需要定期维护仓库基础资源,如货架检修和地面二维码清洁及更换等。
相关技术是通过将某个区域机器人的运行整个停掉,但是可能会对其他区域或整个区域的运行造成影响。相关技术中的机器人的运动方式不能满足多种上游系统业务需求和突发场景的处理需求,不能实现在不影响生产的前提下,安全快速地让运维人员进入到仓库恢复生产秩序。物流领域中,仓库是物资集中储存的场所,一旦发生火灾经济损失巨大,社会方面影响大,后果严重。因此,做好仓库消防安全工作,保障储存物资的安全,减少火灾隐患, 具有极其重要的意义。
仓库中,一旦出现消防警报,会将所有的机器人停止运动,并人为移动机器人离开消防通道,但是正在运动的机器人可能会由于延时误差继续运动或因急刹车造成突发事故,且这种方式效率低、耗费大量时间和人力,可能会影响抢险。
发明内容
本申请提供一种机器人调度、机器人路径的控制方法、服务器和存储介质,以解决上述问题中的至少一个。
本申请实施例提供了一种机器人调度方法,所述方法包括:
接收调度指令;
响应于所述调度指令,确定位于工作区域中的机器人的工作状态和当前位置;其中,所述工作状态包括:空闲状态和非空闲状态;
在所述机器人的工作状态为空闲且当前位置在预先设置的目标范围外的情况下,将所述机器人从所述当前位置调度到所述目标范围内。
目标路径目标路径目标路径目标路径本申请实施例还提供了一种服务器,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上述任一实施例所述的方法。
本申请实施例还提供了一种存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行如上述任一实施例所述的方法。
本申请实施例提出了一种机器人调度方法、服务器和存储介质,先确定机器人的工作状态和机器人的当前位置;其中,工作状态包括:空闲状态和非空闲状态;当机器人的工作状态为空闲且当前位置在预先设置的目标范围外时,可以将机器人从当前位置调度到目标范围内。也就是说,在本申请实施例提出的技术方案中,当机器人的工作状态为空闲且当前位置在预先设置的目标范围外时,可以将机器人调度到指定区域内集合,可以实现自动地将机器人调度到指定区域,从而可以降低运维成本,提高工作效率。
本申请实施例提供了一种机器人路径的控制方法,包括:
在所述机器人依据规划的路径移动过程中,确定所述机器人所在的当前子区域的工作状态;
在检测到所述当前子区域处于锁定状态的情况下,控制所述机器人停止运动;
在检测到所述当前子区域处于解锁状态且下一子区域处于锁定状态的情况下,重新为所述机器人规划路径以避开所述下一子区域,并引导所述机器人依据重新规划的路径移动;
在检测到所述当前子区域和下一子区域都处于解锁状态的情况下,引导所述机器人依据所述路径移动。
本申请实施例还提供了一种服务器,所述服务器包括:
一个或多个处理器;
存储器,设置为存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上所述的机器人路径的控制方法。
本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上所述的机器人路径的控制方法。
本申请实施例通过在机器人依据规划的路径移动过程中,确定所述机器人所在的当前子区域的工作状态,若检测到所述当前子区域处于解锁状态且下一子区域处于锁定状态,则重新为所述机器人规划路径以避开所述下一子区域,并引导所述机器人依据重新规划的路径移动。本申请实施例提供的技术方案可以在机器人移动过程中根据子区域的工作状态实时调整路径,可以更加灵活地控制机器人的运动路径,提高控制效率。
本申请实施例提供了一种机器人调度方法,包括:
接收消防信号;
响应于所述消防信号,在机器人处于移动状态,且在所述机器人的导航路径中下一个子区域位于预设的消防通道区域中的情况下,控制所述机器人移动到所述下一个子区域并依据所述导航路径继续移动,直到下一个子区域不在预设的消防通道区域时停止移动。
本申请实施例还提供了一种服务器,所述服务器包括:
一个或多个处理器;
存储器,设置为存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上所述的机器人调度方法。
本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上所述的机器人调度方法。
本申请实施例通过接收消防信号,响应于所述消防信号,若机器人处于移动状态,且在 机器人的导航路径中下一个子区域位于预设的消防通道区域中,则控制机器人移动到所述下一个子区域并依据导航路径继续移动,直到下一个子区域不在预设的消防通道区域时停止移动。本申请实施例提供的技术方案对于运动状态的机器人,可以避免延时误差或急刹车带来的问题,提高机器人离开消防通道的效率。
附图说明
图1是一实施例中的一种机器人调度系统的结构示意图;
图2是一实施例中的一种机器人调度方法的流程图;
图3是一实施例中的另一种机器人调度方法的流程图;
图4是一实施例中的机器人在目标范围内的分布示意图;
图5是一实施例中的一种机器人调度装置的结构示意图;
图6是一实施例提供的一种服务器的结构示意图;
图7为一实施例中的一种机器人路径的控制方法的流程图;
图8为一实施例中的另一种机器人路径的控制方法的流程图;
图9为一实施例中的地图操作界面中处于锁定状态的子区域的示意图;
图10为一实施例中的一种机器人路径的控制装置的结构示意图;
图11为一实施例中的另一种服务器的结构示意图;
图12为一实施例中的一种货物拣选系统的系统结构示意图;
图13为一实施例中的一种机器人调度方法的流程图;
图14为一实施例中的一种消防通道区域的示意图;
图15为一实施例中的一种机器人调度装置的结构示意图;
图16为一实施例中的另一种服务器的结构示意图。
具体实施方式
下面结合附图和实施例对本申请进行说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部结构。
本申请实施例提供一种机器人调度方法,该机器人调度方法应用于机器人调度系统,图1是一实施例中的机器人调度系统的结构示意图,如图1所示,机器人调度系统一般包括:操作端101、服务器102和至少一个机器人103。服务器102分别与操作端101和机器人103 建立通信链路,操作端101设置为接收工作人员输入的操作信息,例如,用户可以通过人机交互界面在操作端输入操作信息,以实现对仓库内机器人103的调度控制。服务器102设置为根据操作端101接收的操作信息和仓库内的实际情况,生成工作指令并发送至机器人103,机器人103设置为根据接收到的工作指令完成与工作指令对应的工作任务。
图2是一实施例中的一种机器人调度方法的流程图,本实施例可适用于调度机器人的情况,该方法可以由机器人调度装置来执行,如图2所示,该机器人调度方法可以包括如下步骤:
步骤110、确定机器人的工作状态和当前位置,其中,工作状态包括:空闲状态和非空闲状态。
在一实施例中,在确定机器人的工作状态和当前位置之前,还包括接收调度指令;确定机器人的工作状态和当前位置,包括:响应于调度指令,确定位于工作区域中的机器人的工作状态和当前位置。
在一实施例中,机器人是指目标机器人。目标机器人是指在仓库内但是没有在目标区域内的任意一个机器人。目标机器人可以是工作人员在操作端输入某个机器人的编号,此时该编号的机器人便是目标机器人。当工作人员在操作端输入集合命令(调度指令)时,服务器遍历仓库内的所有机器人,将服务器当前查询到的机器人确定为目标机器人。
在本实施例中,确定机器人的工作状态,可以通过如下方法来实现:判断机器人是否存在待执行的任务或者正在执行的任务;响应于机器人不存在待执行的任务和正在执行的任务的判断结果,确定机器人的工作状态为空闲状态;响应于机器人存在待执行的任务或者正在执行的任务的判断结果,确定机器人的工作状态为非空闲状态。
待执行的任务是指接收服务器已经发送工作指令,由于机器人正在执行任务不能立即执行该工作指令对应的任务,执行完当前正在执行的任务之后会去执行的任务;或者,机器人接收服务器已经发送工作指令,在去执行任务的路途中。
确定机器人的当前位置的方法可以根据机器人的工作环境或者机器人的主要工作任务不同采用不同的技术方案。
本申请实施例提供一种根据二维码确定机器人的当前位置的方法。预先在机器人工作区域的地面上依次用不同坐标值的二维码进行覆盖,即将机器人工作区域的地面均匀的分割为边长相同的单元格,每个单元格依次用不同坐标值的二维码进行覆盖。每个二维码对应的坐标值对应二维码在该地面上的位置。机器人获取当前所在位置对应的二维码,进而根据获取的二维码对应的坐标值确定机器人的当前位置。
步骤120、在机器人的工作状态为空闲且当前位置在预先设置的目标范围外的情况下,将机器人从当前位置调度到目标范围内。
在一实施例中,目标范围的形状为矩形,目标范围由预先设置的起点位置,宽度和高度 确定。
预先设置的目标范围是指在仓库地面上的一块空闲区域,该空闲区域可以根据仓库内机器人的位置随时进行设置。即工作人员在操作端输入集合命令时,服务器在仓库内寻找一块空闲区域。在一实施例中,该空闲区域优先选择距离工作人员的工作台较近的区域。示例性的,预先设置的目标范围的选取通过以下命令来实现。
<!—机器人集合区域-->
<logoutzone x=“9”,y=“6”,w=“14”,h=“2”/>
其中,x、y表示目标范围的起点的坐标值,x=“9”,y=“6”表示目标范围的起点为横坐标为9,纵坐标为6的单元格。W,h表示目标范围的长度和高度,w=“14”表示目标范围的长度为14个单元格,h=“2”表示目标范围的高度为2个单元格。
在机器人的当前位置在预先设置的目标范围外的情况下,确定机器人的工作状态,在机器人的工作状态为空闲状态的情况下,将机器人从当前位置调度到目标范围内。
在机器人的当前位置在预先设置的目标范围外的情况下,确定机器人的工作状态,在机器人的工作状态为非空闲状态的情况下,跳过非空闲状态的机器人,继续查询下一个机器人的工作状态和当前位置,非空闲状态的机器人不做任何处理。
在机器人的当前位置在预先设置的目标范围内的情况下,跳过在预先设置的目标范围的机器人,继续查询下一个机器人的工作状态和当前位置,在预先设置的目标范围的机器人不做任何处理。
在机器人的数量大于目标范围容纳机器人的数量的情况下,重新确定新的目标范围,并在机器人的工作状态为空闲且当前位置在预先设置的目标范围外的情况下,将机器人从当前位置调度到新的目标范围内。
本申请实施例提供了一种机器人调度方法。该方法先确定机器人的工作状态和机器人的当前位置;其中,工作状态包括:空闲状态和非空闲状态;当机器人的工作状态为空闲且当前位置在预先设置的目标范围外时,可以将机器人从当前位置调度到目标范围内。也就是说,在本申请实施例提出的技术方案中,当机器人的工作状态为空闲且当前位置在预先设置的目标范围外时,可以将目标机器人调度到指定区域内集合,可以实现自动地将机器人调度到指定区域,从而可以降低运维成本,提高工作效率。
图3是一实施例中的另一种机器人调度方法的流程图,本实施例在上述实施例的基础上,对特征“将机器人从当前位置调度到目标范围内”进行了说明,如图3所示,该机器人调度方法可以包括如下步骤:
步骤S210、确定机器人的工作状态和当前位置;其中,工作状态包括:空闲状态和非空 闲状态。
步骤S220、在机器人的工作状态为空闲状态且当前位置在预先设置的目标范围外的情况下,在目标范围内确定机器人的目标位置。
在本实施例中,目标范围划分成至少一个单元格,以单元格为单位确定机器人的目标位置;其中,目标范围由目标范围的起始位置和调度条件确定。在机器人的当前位置在预先设置的目标范围外的情况下,确定机器人的工作状态,在机器人的工作状态为空闲状态的情况下,在目标范围内确定目标机器人的目标位置。
在本实施例中,目标位置是指机器人在目标范围内停留的位置。本实施例提供一种机器人在目标范围内集合时分布位置的方法。图4是一实施例中的机器人在目标范围内的分布示意图。如图4所示,圆形301表示机器人在目标范围内集合时停留的位置,点状长方形302表示仓库内货架的位置,空白单元格303表示仓库场地内空留给机器人运行的通道。
本实施例仅示出一种情况,并不是对仓库内物品的位置进行限定。空白单元格303之间必须形成通路,以方便给机器人提供运行通道。圆形301可以横向排布也可以纵向排布,并且目标范围的形状也不进行限定,只要将空闲状态的机器人集合在一个空闲区域即可。
在目标范围内确定机器人的目标位置,包括:在目标范围内确定机器人的计划位置;判断机器人的计划位置是否满足预先设置的调度条件,响应于机器人的计划位置满足调度条件的情况下,将机器人的计划位置确定为机器人的目标位置。
机器人的计划位置是指服务器在目标范围内先任意选择的一个位置。也可以是根据目标范围的起始点按要求选择的位置。预先设置的调度条件是在机器人停留在该计划位置的情况下,不影响其他机器人的运行,在需要机器人运行的情况下,不需要调整其他机器人的位置,该机器人可以很快的出来。在一实施例中,预先设置的调度条件包括:在机器人为纵向排列的情况下,机器人的计划位置横向相邻的单元格为空闲状态;在机器人为横向排列的情况下,机器人的计划位置纵向相邻的单元格为空闲状态。在机器人的计划位置满足调度条件的情况下,将机器人的计划位置确定为机器人的目标位置。满足调度条件的机器人的目标位置都间隔一个位置,即满足调度条件的机器人的目标位置间隔一个单元格。
示例性的,如图4所示,将图4中的单元格由左到右的坐标标记为(1,1),(1,2),(1,3),(1,4),(1,5),(1,6),(1,7),(1,8),(1,9),(1,10),将图4中的单元格由下到上的坐标标记为(1,1),(2,1),(3,1),(4,1),(5,1),(6,1),(7,1),(8,1),(9,1),(10,1),(11,1)。将坐标值为(1,1)的单元格作为目标范围的起始点,将坐标值为(1,1)的单元格作为计划位置,判断坐标值为(1,1)的单元格是否为除当前机器人之外的其他机器人的目标位置,当坐标值为(1,1)的单元格不是除当前机器人之外的其他机器人的目标位置时,判断坐标值为(1,1)的单元格是否为其他机器人运行时需要走过的路径单元格。当坐标值为(1,1)的单元格不是其他机器人运行时需要走过的路径单元格,将坐标值为 (1,1)的单元格作为当前机器人的目标位置。当坐标值为(1,1)的单元格是其他机器人运行时需要走过的路径单元格时,说明当前的计划位置不合理,重新选择场地内的其他的位置作为计划位置。
在一实施例中,当坐标值为(1,1)的单元格作为机器人的目标位置时,下一个机器人对应的计划位置可以选择与坐标值为(1,1)的单元格间隔一个单元格的位置,即坐标值为(1,3)或者(3,1)的单元格作为计划位置。
遍历仓库内的所有机器人,直至没有工作状态为空闲状态的机器人在目标范围外,即所有工作状态为空闲状态的机器人都在目标范围内集合。或者目标范围内,已没有符合调度条件的目标位置。
步骤S230、计算当前位置到目标位置之间的最佳路径。
在本实施例中,需要预先建立初始化的路径图,初始化路径是针对没有任何货物的条件而设计的。初始化的路径图有很多水平和垂直方向的线段组成,这些线段形成机器人行走的序列。机器人在没有任何障碍物的地面上可以沿着左右或者上下方向任意来回行走。
确定机器人的当前位置和目标位置之后,计算出所有从当前位置到目标位置的可能路径,确定当前位置与目标位置之间的最短路径,作为机器人的计划路径。判断除当前机器人之外的其他机器人的运行路径是否与当前机器人的计划路径存在重叠的单元格,当除当前机器人之外的其他机器人的运行路径没有与当前机器人的计划路径重叠的单元格时,将当前位置与目标位置之间的最短路径作为当前机器人的最佳路径。
当除当前机器人之外的其他机器人的运行路径存在与当前机器人的计划路径重叠的单元格时,计算当前机器人到该重叠的单元格的时间和其他机器人到该重叠的单元格的时间,当当前机器人到每一个重叠的单元格时间与其他机器人到对应重叠的单元格时间都不相同时,将当前位置与目标位置之间的最短路径作为当前机器人的最佳路径。
当当前机器人到任意一个重叠的单元格的时间与其他机器人到对应重叠的单元格时间相同时,重新选择当前位置与目标位置之间的其他路径,作为当前机器人的计划路径。并且根据上述步骤重新计算该计划路径是否可以作为最佳路径。
步骤S240、根据最佳路径将机器人从当前位置调度到目标位置上。
计算出当前位置到目标位置之间的最佳路径后,将最佳路径的方案发送至机器人,使得机器人按照最佳路径由当前位置行驶到目标位置,完成机器人的集合。
本申请实施例提供了一种机器人调度方法,先确定机器人的工作状态和目标机器人的当前位置;其中,工作状态包括:空闲状态和非空闲状态;当机器人的当前位置在预先设置的目标范围外且工作状态为空闲状态时,在目标范围内确定机器人的目标位置;计算当前位置到目标位置之间的最佳路径;根据最佳路径将机器人从当前位置调度到目标位置上。也就是说,在本申请实施例提出的技术方案中,当机器人的当前位置在预先设置的目标范围外且工 作状态为空闲状态时,可以将机器人调度到指定区域内集合,可以实现自动地将机器人调度到指定区域,从而可以降低运维成本,提高工作效率。
图5是一实施例中的机器人调度装置的结构示意图,本实施例可适用于调度机器人的情况,如图5所示,该机器人调度装置可以包括如下部分:确定模块410和调度模块420。
确定模块410,设置为确定机器人的工作状态和当前位置;其中,工作状态包括:空闲状态和非空闲状态。
在一实施例中,上述装置还包括接收模块,设置为接收调度指令。确定模块410,是设置为响应于所述调度指令,确定位于工作区域中的机器人的工作状态和当前位置。
调度模块420,设置为在机器人的工作状态为空闲且当前位置在预先设置的目标范围外的情况下,将机器人从当前位置调度到目标范围内。
在一实施例中,确定模块410包括:判断子模块(图5中未示出)和确定子模块(图5中未示出);其中,判断子模块,设置为判断机器人是否存在待执行的任务或者正在执行的任务。确定子模块4102,设置为响应于机器人不存在待执行的任务和正在执行的任务的判断结果,确定机器人的工作状态为空闲状态;响应于机器人存在待执行的任务或者正在执行的任务的判断结果,确定机器人的工作状态为非空闲状态。
在一实施例中,调度模块420包括:计算子模块(图5中未示出)和调度子模块(图5中未示出);其中,计算子模块4201,设置为在机器人的工作状态为空闲状态且当前位置在预先设置的目标范围外的情况下,在目标范围内确定机器人的目标位置;计算当前位置到目标位置之间的最佳路径。调度子模块4202,设置为根据最佳路径将机器人从当前位置调度到目标位置上。
在一实施例中,计算子模块,是设置为通过如下方式在目标范围内确定机器人的目标位置:在目标范围内确定机器人的计划位置;判断机器人的计划位置是否满足预先设置的调度条件,当目标机器人的计划位置满足调度条件时,将机器人的计划位置确定为机器人的目标位置。
在一实施例中,所述目标范围划分成至少一个单元格,以单元格为单位确定所述机器人的目标位置;其中,所述目标范围由所述目标范围的起始位置和所述调度条件确定。
在一实施例中,目标范围的形状为矩形,目标范围由预设先设置的起点位置,宽度和高度确定。
在一实施例中,所述预先设置的调度条件包括:在所述机器人为纵向排列的情况下,所述机器人的计划位置横向相邻的单元格为空闲状态;在所述机器人为横向排列的情况下,所述机器人的计划位置纵向相邻的单元格为空闲状态。
在一实施例中,所述装置还包括:在机器人的数量大于所述目标范围容纳机器人的数量的情况下,重新确定新的目标范围,并在所述机器人的工作状态为空闲且当前位置在预先设置的目标范围外的情况下,将所述机器人从所述当前位置调度到所述新的目标范围内。
本申请实施例提供了一种机器人调度装置。该机器人调度装置设置为执行如下操作:先确定机器人的工作状态和机器人的当前位置;其中,工作状态包括:空闲状态和非空闲状态;当机器人的工作状态为空闲且当前位置在预先设置的目标范围外时,可以将机器人从当前位置调度到目标范围内。也就是说,在本申请实施例提出的技术方案中,当机器人的工作状态为空闲且当前位置在预先设置的目标范围外时,可以将机器人调度到指定区域内集合,可以实现自动地将机器人调度到指定区域,从而可以降低运维成本,提高工作效率。
本申请实施例所提供的机器人调度装置可执行本申请任意实施例所提供的机器人调度方法,具备执行方法相应的功能模块和有益效果。
图6是一实施例提供的一种服务器的结构示意图。图6示出了适于用来实现本申请实施方式的示例性服务器512的框图。图6显示的服务器512仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图6所示,服务器512以通用设备的形式表现。服务器512的组件可以包括但不限于:一个或者多个处理器或者处理器515,系统存储器528,连接不同系统组件(包括系统存储器528和处理器515)的总线518。
总线518表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(Industry Standard Architecture,ISA)总线,微通道体系结构(MicroChannel Architecture MCA)总线,增强型ISA总线、视频电子标准协会(Video Electronics Standards Association,VESA)局域总线以及外围组件互连(Peripheral Component Interconnect,PCI)总线。
在一实施例中,服务器512包括多种计算机系统可读介质。这些介质可以是任何能够被服务器512访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器528可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(Random Access Memory,RAM)530和/或高速缓存存储器532。服务器512可以包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统534可以用于读写不可移动的、非易失性磁介质(图6未显示,通常称为“硬盘驱动器”)。尽管图6中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如紧凑型光盘只读储存器(Compact Disc Read-Only Memory,CD-ROM),数字视盘(Digital Video Disc-Read Only Memor,DVD-ROM)或者其它光介质) 读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线518相连。系统存储器528可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本申请任意实施例的功能。
具有一组(至少一个)程序模块552的程序/实用工具550,可以存储在例如系统存储器528中,这样的程序模块552包括——但不限于——操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块552通常执行本发明所描述的实施例中的功能和/或方法。
服务器512也可以与一个或多个外部设备514(例如键盘、指向设备、显示器525等)通信,还可与一个或者多个使得用户能与该服务器512交互的设备通信,和/或与使得该服务器512能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口522进行。并且,服务器512还可以通过网络适配器520与一个或者多个网络(例如局域网(Local Area Network,LAN),广域网(Wide Area Network,WAN)和/或公共网络,例如因特网)通信。如图6所示,网络适配器520通过总线518与服务器512的其它模块通信。应当明白,尽管图6中未示出,可以结合服务器512使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、磁盘阵列(Redundant Arrays of Independent Drives,RAID)系统、磁带驱动器以及数据备份存储系统等。
处理器515通过运行存储在系统存储器528中的程序,从而执行多种功能应用以及数据处理,例如实现本申请实施例所提供的机器人调度方法:确定机器人的工作状态和当前位置;其中,工作状态包括:空闲状态和非空闲状态;在机器人的工作状态为空闲且当前位置在预先设置的目标范围外的情况下,将机器人从当前位置调度到目标范围内。
本申请实施例提供了一种服务器。该服务器先确定机器人的工作状态和当前位置;其中,工作状态包括:空闲状态和非空闲状态;当目标机器人的工作状态为空闲且当前位置在预先设置的目标范围外时,可以将机器人从当前位置调度到目标范围内。也就是说,在本申请实施例提出的技术方案中,当机器人的工作状态为空闲且当前位置在预先设置的目标范围外时,可以将机器人调度到指定区域内集合,可以实现自动地将机器人调度到指定区域,从而可以降低运维成本,提高工作效率。
本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请所有实施例提供的机器人调度方法:确定机器人的工作状态和当前位置;其中,工作状态包括:空闲状态和非空闲状态;在机器人的工作状态为空闲且当前位置在预先设置的目标范围外的情况下,将机器人从当前位置调度到目标范围内。
本申请实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。 计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是--但不限于--电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、RAM、只读存储器(Read-Only Memory,ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)或闪存、光纤、便携式CD-ROM、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,计算机可读的信号介质中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于无线、电线、光缆、射频(Radio Frequency,RF)等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或多种程序设计语言组合来编写用于执行本申请操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括LAN或WAN—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
图7为一实施例中的一种机器人路径的控制方法的流程图,本实施例可适用于机器人控制的情况,该方法可以由机器人路径的控制装置执行,该装置可以采用软件和/或硬件的方式实现,例如,该装置可配置于服务器中。该方法可适用于任何导航方式下的路径控制,如二维码导航或者即时定位与地图构建(Simultaneous Localization And Mapping,SLAM)导航。该方法可以包括如下步骤:
步骤710、在所述机器人依据规划的路径移动过程中,确定所述机器人所在的当前子区域的工作状态。
在一实施例中,子区域可以为单元格。
在本实施例中,预先将机器人在地图上的工作区域根据需要划分为多个子区域,每个子 区域的工作状态可以包括:解锁状态和锁定状态,这两种工作状态可以根据需要进行切换。本实施例中,解锁状态的子区域表示该子区域处于正常状态,允许机器人移动穿行;锁定状态的子区域表示该子区域拒绝所有机器人进入和移动,包括已经规划好路径(路径中包括该子区域)的机器人和尚未进行路径规划的机器人。
在一实施例中,在为所述机器人规划路径的过程中,确定工作区域中单元格的状态,使工作状态为锁定的单元格不在规划后的路径上。
机器人调度系统可以预先根据目的地规划好路径,在为机器人做路径规划的过程中,会获取当前工作状态为锁定状态的子区域以及标记为障碍的子区域,根据上述子区域在地图中的索引可以初始化一张障碍矩阵表,如果当前遍历的子区域在所述障碍矩阵表中有标记,则跳过所述子区域。在一实施例中,所述标记为障碍的子区域可以为建筑支柱所在的子区域等固定在工作区域中不允许机器人移动的子区域。
在一实施例中,所述方法还包括:响应于工作状态设置操作,将所述工作状态设置操作指定的至少一个子区域的工作状态设置为所述工作状态设置操作指定的状态。在一实施例中,响应于按任一子区域的工作状态设置控件的操作,将该子区域的工作状态设定为指定的状态,或者,响应于输入任一子区域坐标的操作,将该子区域的工作状态设定为指定的状态。
机器人调度系统可以获取标准接口从外部输入的任一子区域的坐标,将该子区域的工作状态设定为指定的状态。示例性的,接口格式可以为:{cellPoints:[{x:15.5,y:16.5},{x:16.5,y:16.5}]instruction:LOCK_SHELF},代表横坐标为15.5、纵坐标为1.5和横坐标为16.5、纵坐标为16.5的两个待锁定子区域坐标。
机器人调度系统也可以预先设置每个子区域对应的工作状态设置控件,将该子区域的工作状态设定为指定的状态,可以一个子区域对应一个工作状态设置控件,也可以多个子区域对应一个工作状态设置控件。在一实施例中,可以通过地图的根标签mapareas来设置,根标签许定义多个区域,每个区域有唯一id,区域的起点由属性x、y构成,w和h则表示该矩形的大小。区域之间允许有交叉重叠部分,例如:<mapareas><area areaid=“1”x=“9”y=“2”w=“9”h=“10”/><area areaid=“2”x=“17”y=“2”w=“7”h=“10”/></mapareas>。所述工作状态设置控件可以以硬件或软件方式设置,按下工作状态设置控件时,该工作状态设置控件对应的子区域将会被设定为指定的状态。
在一实施例中,所述方法还可以包括:在检测到所述路径中存在行驶障碍的情况下,将存在行驶障碍的子区域设定为锁定状态。其中,所述行驶障碍可以包括机器人故障、机器人事故和货物掉落等影响机器人移动的障碍,不同的行驶障碍对应的需要处于锁定状态的子区域不同,例如若行驶障碍为机器人故障,则可以将机器人所在子区域和相邻的8个子区域设置为锁定状态,若行驶障碍为货物掉落,则可以将货物掉落的子区域和相邻的24个子区域设置为锁定状态。
步骤720、在检测到所述当前子区域处于锁定状态的情况下,控制所述机器人停止运动。
在机器人依据规划的路径移动过程中,若检测到当前子区域处于锁定状态,则路径调度模块停止为机器人分配子区域,并控制机器人停止运动。
步骤730、在检测到所述当前子区域处于解锁状态且下一子区域处于锁定状态的情况下,重新为所述机器人规划路径以避开所述下一子区域,并引导所述机器人依据重新规划的路径移动。
若检测到当前子区域处于解锁状态且下一子区域处于锁定状态,即路径调度模块在为机器人按照路径分配子区域时检测到下一子区域处于锁定状态,则不为机器人分配该子区域,且机器人调度系统可以重新为所述机器人规划路径,并控制机器人按照重新规划的路径移动以避开处于锁定状态的子区域,引导所述机器人依据重新规划的路径移动。
在一实施例中,重新为所述机器人规划路径以避开所述下一子区域,可以包括:机器人调度系统可以机器人当前所处子区域为起点,原终点为终点,避开处于锁定状态的子区域,重新计算多条路径的损耗,将损耗最小的路径作为重新规划的路径,并控制机器人按照所述重新规划的路径移动。
步骤740、在检测到所述当前子区域和下一子区域都处于解锁状态的情况下,引导所述机器人依据所述路径移动。
若检测到当前子区域和下一子区域都处于解锁状态,路径调度模块按照规划的路径为机器人分配子区域,引导所述机器人依据所述路径移动。
在一实施例中,还可以设置全场锁定按钮,所述全场锁定按钮可以软件或硬件的方式进行设置。响应于全场锁定操作,控制所述工作区域中的所有机器人停止移动,路径调度模块停止为所有机器人分配子区域。
本实施例的技术方案,在机器人依据规划的路径移动过程中,确定所述机器人所在的当前子区域所处的工作状态,若检测到当前子区域处于解锁状态且下一子区域处于锁定状态,则重新为所述机器人规划路径以避开所述下一子区域,并引导所述机器人依据重新规划的路径移动。由于路径中的子区域的工作状态可以实时动态修改,本实施例提供的技术方案可以在机器人移动过程中根据子区域的状态实时调整路径,可以更加灵活地控制机器人的运动路径,提高控制效率。
在一实施例中,在上述技术方案的基础上,所述方法还包括:在检测到所述当前子区域处于缓冲状态且下一子区域处于锁定状态的情况下,则重新为所述机器人规划路径以避开所述下一子区域,并引导所述机器人依据重新规划的路径移动;在检测到所述当前子区域和下一子区域都处于缓冲状态、所述当前子区域处于解锁状态且所述下一子区域处于缓冲状态或者所述当前子区域处于缓冲状态且所述下一子区域处于解锁状态的情况下,引导所述机器人依据所述路径移动。
在一实施例中,在检测到所述当前子区域处于解锁状态且下一子区域处于锁定状态的情况下,重新为所述机器人规划路径以避开所述下一子区域,并引导所述机器人依据重新规划的路径移动,包括:在检测到所述当前子区域处于解锁状态且下一子区域处于锁定状态的情况下,判断所述下一子区域在预设时间长度后是否仍处于锁定状态;响应于所述下一子区域在预设时间长度后仍处于锁定状态的判断结果,重新为所述机器人规划路径以避开所述下一子区域,并引导所述机器人依据重新规划的路径移动。
图8为一实施例中的另一种机器人路径的控制方法的流程图,本实施例在上述实施例的基础上,对机器人路径的控制方法进行说明。本实施例的方法可以包括如下步骤:
步骤810、在所述机器人依据规划的路径移动过程中,确定所述机器人所在的当前子区域的工作状态。
在机器人依据规划的路径移动过程中,可以通过机器人调度系统的地图操作界面获取人为设置的任一子区域的坐标,将该子区域的工作状态设定为指定的状态。如图9所示,图9为本一实施例中的地图操作界面中处于锁定状态的子区域的示意图,可以在地图操作界面中对子区域进行选择并保存,即获取到待锁定子区域的坐标。在图9中右边菜单选择“锁定”,左边的工作区域进行选择并保存,保存后选中的子区域会改变颜色或添加标记进行区别,图9中斜线标记的子区域为选中的处于锁定状态的子区域,图9中圆形代表机器人。若图9中右边菜单选择“锁定”或“解锁”,在左边的工作区域进行选择时,选中的子区域则为待锁定子区域或待解锁子区域。
在地图操作界面,子区域的状态属性可以包括解锁、锁定和缓冲,在地图操作界面中对待锁定子区域进行选择并保存后,即获取到待锁定子区域的坐标,可以根据所述坐标设置待锁定子区域的状态属性为锁定。如图9,图9中右边菜单选择“锁定”,则将选中的子区域的状态属性设置为锁定。也可以在地图操作界面中对待缓冲子区域和待解锁子区域进行选择并保存,以及设置待缓冲子区域和待解锁子区域的状态属性分别为缓冲和解锁。
此外,如图9所示,在机器人调度系统的地图操作界面中可以通过在右边起点菜单和终点菜单直接输入归一化坐标(X,Y)来设置路径的起点和终点。机器人调度系统中还可以包括机器人操作界面、货架操作界面和单元格(子区域)操作界面等,用于控制机器人、货架和单元格(子区域)等。
机器人调度系统也可以通过标准接口获取从外部输入的任一子区域的的坐标,将该子区域的工作状态设定为指定的状态。
在一实施例中,所述方法还包括:响应于工作状态设置操作,将所述工作状态设置操作指定的至少一个子区域的工作状态设置为所述工作状态设置操作指定的状态。在一实施例中,响应于按任一子区域的工作状态设置控件的操作,将该子区域的工作状态设定为指定的状态, 或者,响应于输入任一子区域坐标的操作,将该子区域的工作状态设定为指定的状态。在检测到所述路径中存在行驶障碍的情况下,将存在行驶障碍的子区域设定为锁定状态。
步骤820、在检测到所述当前子区域处于锁定状态的情况下,控制所述机器人停止运动。
步骤830、在检测到所述当前子区域处于解锁状态且下一子区域处于锁定状态的情况下,重新为所述机器人规划路径以避开所述下一子区域,并引导所述机器人依据重新规划的路径移动。
在一实施例中,在检测到所述当前子区域处于解锁状态且下一子区域处于锁定状态的情况下,判断所述下一子区域在预设时间长度后是否仍处于锁定状态;在所述下一子区域在预设时间长度后仍处于锁定状态的情况下,重新为所述机器人规划路径以避开所述下一子区域,并引导所述机器人依据重新规划的路径移动。如图9所示,带箭头的路线表示为机器人重新规划的路径,机器人依据重新规划的路径移动可以避开斜线标记的子区域(锁定状态的子区域)。
本实施例中,所述预设时间长度可以根据需要进行设置,例如预设时间长度可以设置为20s。
步骤840、在检测到所述当前子区域和下一子区域都处于解锁状态的情况下,引导所述机器人依据所述路径移动。
步骤850、在检测到所述当前子区域处于缓冲状态且下一子区域处于锁定状态的情况下,重新为所述机器人规划路径以避开所述下一子区域,并引导所述机器人依据重新规划的路径移动。
在一实施例中,工作状态还可以包括缓冲状态,缓冲状态的子区域表示该子区域对于已经规划好路径(路径中包括该子区域)的机器人没有影响允许在该子区域移动,但对于还没进行路径规划的机器人,该子区域不允许移动,即做路径规划时要避开该子区域。
在所述机器人依据规划的路径移动过程中,路径中的子区域处于缓冲状态相当于处于解锁状态,即若检测到所述机器人在所述路径中的当前子区域处于缓冲状态且下一子区域处于锁定状态,则重新为所述机器人规划路径以避开所述下一子区域,并引导所述机器人依据重新规划的路径移动。
步骤860、在检测到所述当前子区域和下一子区域都处于缓冲状态、所述当前子区域处于解锁状态且所述下一子区域处于缓冲状态或者所述当前子区域处于缓冲状态且所述下一子区域处于解锁状态的情况下,引导所述机器人依据所述路径移动。
在一实施例中,还可以设置全场锁定按钮,所述全场锁定按钮可以软件或硬件的方式进行设置。响应于全场锁定操作,控制所述工作区域中的所有机器人停止移动,路径调度模块停止为所有机器人分配子区域。参见图9,可以在地图操作界面中设置全场锁定按钮。在检测到按下全场锁定按钮的情况下,控制工作区域中的所有机器人停止移动。
本实施例的技术方案,在机器人依据规划的路径移动过程中,若在地图操作界面检测到路径中的当前子区域处于解锁状态或缓冲状态,且下一子区域处于锁定状态,在预设时间长度后仍处于锁定状态,则重新为所述机器人规划路径以避开所述下一子区域,并引导所述机器人依据重新规划的路径移动。本实施例提供的技术方案可以在机器人移动过程中根据子区域的状态实时调整路径,可以更加灵活地控制机器人的运动路径,提高控制效率;并且设置缓冲状态约束没进行路径规划的机器人,释放已经规划好路径的机器人,实现多种方式控制机器人。
图10为一实施例中的机器人路径的控制装置的结构示意图,所述装置可以包括:状态模块310,设置为在所述机器人依据规划的路径移动过程中,确定所述机器人所在的当前子区域的工作状态;停止模块320,设置为在检测到所述当前子区域处于锁定状态的情况下,控制所述机器人停止运动;调整模块330,设置为在检测到所述当前子区域处于解锁状态且下一子区域处于锁定状态的情况下,重新为所述机器人规划路径以避开所述下一子区域,并引导所述机器人依据重新规划的路径移动;移动模块340,设置为在检测到所述当前子区域和下一子区域都处于解锁状态的情况下,引导所述机器人依据所述路径移动。
在一实施例中,该装置还包括缓冲模块,设置为:在检测到所述当前子区域处于缓冲状态且下一子区域处于锁定状态的情况下,重新为所述机器人规划路径以避开所述下一子区域,并引导所述机器人依据重新规划的路径移动;在检测到所述机器人在所述路径中的当前子区域和下一子区域都处于缓冲状态、所述当前子区域处于解锁状态且所述下一子区域处于缓冲状态或者所述当前子区域处于缓冲状态且所述下一子区域处于解锁状态的情况下,引导所述机器人依据所述路径移动。
在一实施例中,该装置还包括设置模块,所述设置模块设置为:响应于工作状态设置操作,将所述工作状态设置操作指定的至少一个子区域的工作状态设置为所述工作状态设置操作指定的状态。
在一实施例中,所述设置模块是设置为:响应于按任一子区域的工作状态设置控件的操作,将该子区域的工作状态设定为指定的状态,或者,响应于输入任一子区域坐标的操作,将该子区域的工作状态设定为指定的状态。
在一实施例中,该装置还包括障碍模块,所述障碍模块设置为:在检测到所述路径中存在行驶障碍的情况下,将存在行驶障碍的子区域设定为锁定状态。
在一实施例中,所述调整模块330是设置为:在检测到所述当前子区域处于解锁状态且下一子区域处于锁定状态的情况下,判断所述下一子区域在预设时间长度后是否仍处于锁定状态;响应于所述下一子区域在预设时间长度后仍处于锁定状态的判断结果,重新为所述机器人规划路径以避开所述下一子区域,并引导所述机器人依据重新规划的路径移动。
在一实施例中,该装置还包括全场锁定模块,所述全场锁定模块设置为:响应于全场锁定操作,控制所述工作区域中的所有机器人停止移动。
本申请实施例所提供的机器人路径的控制装置可执行本申请任意实施例所提供的机器人路径的控制方法,具备执行方法相应的功能模块和有益效果。
图11为一实施例中的另一种服务器的结构示意图。图11示出了适于用来实现本申请实施方式的示例性服务器412的框图。图11显示的服务器412仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图11所示,服务器412以通用终端的形式表现。服务器412的组件可以包括但不限于:一个或者多个处理器416,存储器428,连接不同系统组件(包括存储器428和处理器416)的总线418。
总线418表示几类总线结构中的一种或多种,包括存储装置总线或者存储装置控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于ISA总线,MCA总线,增强型ISA总线、VESA局域总线以及PCI总线。
在一实施例中,服务器412包括多种计算机系统可读介质。这些介质可以是任何能够被服务器412访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
存储器428可以包括易失性存储器形式的计算机系统可读介质,例如RAM430和/或高速缓存存储器432。服务器412可以包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统434可以用于读写不可移动的、非易失性磁介质(图11未显示,通常称为“硬盘驱动器”)。尽管图11中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘,例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线418相连。存储器428可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本申请任意实施例的功能。
具有一组(至少一个)程序模块442的程序/实用工具440,可以存储在例如存储器428中,这样的程序模块442包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块442通常执行本申请所描述的实施例中的功能和/或方法。
服务器412也可以与一个或多个外部设备414(例如键盘、指向终端、显示器424等)通信,还可与一个或者多个使得用户能与该服务器412交互的终端通信,和/或与使得该服务器412能与一个或多个其它计算终端进行通信的任何终端(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口422进行。并且,服务器412还可以通过网络适 配器420与一个或者多个网络(例如LAN,WAN和/或公共网络,例如因特网)通信。如图11所示,网络适配器420通过总线418与服务器412的其它模块通信。应当明白,尽管图11中未示出,可以结合服务器412使用其它硬件和/或软件模块,包括但不限于:微代码、终端驱动器、冗余处理器、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理器416通过运行存储在系统存储器428中的程序,从而执行多种功能应用以及数据处理,例如实现本申请实施例所提供的机器人路径的控制方法,该方法包括:在所述机器人依据规划的路径移动过程中,确定所述机器人所在的当前子区域的工作状态;在检测到所述当前子区域处于锁定状态的情况下,控制所述机器人停止运动;在检测到所述当前子区域处于解锁状态且下一子区域处于锁定状态的情况下,重新为所述机器人规划路径以避开所述下一子区域,并引导所述机器人依据重新规划的路径移动;在检测到所述当前子区域和下一子区域都处于解锁状态的情况下,引导所述机器人依据所述路径移动。
本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请实施例所提供的机器人路径的控制方法,该方法包括:在所述机器人依据规划的路径移动过程中,确定所述机器人所在的当前子区域的工作状态;在检测到所述当前子区域处于锁定状态的情况下,控制所述机器人停止运动;在检测到所述当前子区域处于解锁状态且下一子区域处于锁定状态的情况下,重新为所述机器人规划路径以避开所述下一子区域,并引导所述机器人依据重新规划的路径移动;在检测到所述当前子区域和下一子区域都处于解锁状态的情况下,引导所述机器人依据所述路径移动。
本申请实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是—但不限于—电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、RAM、ROM、EPROM或闪存、光纤、便携式CD-ROM、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,计算机可读的信号介质中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或多种程序设计语言组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括LAN或WAN—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
请参阅图12所示的货物拣选系统的系统结构示意图,货物拣选系统包括:自驱动机器人10、控制系统20、货架区30以及拣选站40,货架区30设置有多个货架31,货架31上放置有多种货物,例如如同我们在超市中见到的放置有多种商品的货架一样,多个货架31之间排布成货架阵列形式。
控制系统20与自驱动机器人10进行无线通信,工作人员通过操作台60使控制系统20工作,自驱动机器人10在控制系统20的控制下,执行货物搬运任务。例如,控制系统20根据搬运任务为自驱动机器人10规划移动路径,自驱动机器人10根据移动路径沿货架阵列中的空着的空间(自驱动机器人10通行通道的一部分)行驶。为了方便为自驱动机器人10规划移动路径,预先将自驱动机器人10的工作区域(该工作区域至少包括货架区30以及拣选站40所在区域)划分为多个子区域(即单元格),自驱动机器人10逐个子区域地进行移动从而形成运动轨迹。
自驱动机器人10可以运动到目标货架31的下方,利用举升机构举起目标货架31,并搬运到被分配到的拣选站40。在一个示例中,自驱动机器人10具有举升机构,以及具有自主导航功能,自驱动机器人10能够行驶至目标货架31下方,并利用举升机构将整个货架31举起,使得货架31能够随着具有升降功能的举升机构上下移动。在一个示例中,自驱动机器人10能够根据摄像头拍摄到的二维码信息向前行驶,并且能够根据控制系统20确定的路线行驶至控制系统20提示的货架31下面。自驱动机器人10将目标货架31搬运到拣选站40,在拣选站40处拣货人员41或拣选机器人从货架31上拣选货物并放入周转箱50中等待打包。
控制系统20为在服务器上运行的、具有数据存储、信息处理能力的软件系统,可通过无线或有线与机器人、硬件输入系统、其它软件系统连接。控制系统20可以包括一个或多个服务器,可以为集中式控制架构或者分布式计算架构。服务器具有处理器201和存储器202,在存储器202中可以具有订单池203。
在货物拣选系统中,一旦出现消防报警,就需要将自驱动机器人10迅速调离消防通道所在区域,为顺利抢险提供必要保障。因此,本申请提供了对于自驱动机器人10的消防控制方案。
图13为一实施例中的一种机器人调度方法的流程图,本实施例可适用于机器人的消防控制情况,该方法可以由机器人调度装置执行,该装置可以采用软件和/或硬件的方式实现,例如,该装置可配置于控制系统20运行的服务器中。该方法可以包括如下步骤:
步骤1310、接收消防信号。
所述消防信号可以通过消防急停按钮触发。在一实施例中,所述消防急停按钮可以预先设置好,可以通过硬件或软件方式实现。示例性的,消防急停按钮的集线器(HUB)和服务器采用Socket通信,数据定长为34字节,其中4个字节表示接入HUB中的消防急停按钮的状态。前1-8位通道表示消防急停按钮,若服务器检测到信号来自前1-8位通道,则可以确定接收到消防信号。其中,Socket又称套接字,应用程序通常通过“套接字”向网络发出请求或者应答网络请求,Socket是建立网络连接时使用的,在连接成功时,应用程序两端都会产生一个Socket实例,操作这个实例,完成所需的会话。
服务器还可以获取外部通过标准接口传输的消防信号,示例性的,接口传输的指令格式可以为{instruction:FIRE_STOP}。
步骤1320、响应于所述消防信号,在机器人处于移动状态,且在所述机器人的导航路径中下一个子区域位于预设的消防通道区域中的情况下,控制所述机器人移动到所述下一个子区域并依据所述导航路径继续移动,直到下一个子区域不在预设的消防通道区域时停止移动。
在一实施例中,所述导航路径为预先根据机器人的终点规划好的最优路径。在本实施例中,预先将机器人在地图上的工作区域根据需要划分为多个子区域(或者称为单元格),多个连续的子区域可构成机器人移动的路径,因此导航路径中规划出了机器人需要移动通过的子区域。所述子区域的类型可以根据业务功能进行定义,例如定义货架子区域或工作状态子区域。在一实施例中,所述消防通道区域的设置独立于子区域的类型定义,即不同类型的子区域可以设置为消防通道区域,可以将消防通道所在的子区域或消防门所在的子区域设置为消防通道区域。在一实施例中,可以通过在地图xml文件中采用逗号分隔值(Comma-Separated Values,CSV)格式列举出消防通道区域的归一化坐标,示例性的,<firepass>146,9,146,10,146,11,146,12,146,13,146,14,146,15,146,16,146,17,146,18,…省略部分配置137,60,137,61,137,62,137,63,137,64,137,65,137,66,137,67</firepass>。图14为一实施例中的消防通道区域的示意图,如图14所示,斜线标记的子区域为消防通道区域。
在一实施例中,响应于所述消防信号,在机器人处于移动状态,且在所述机器人的导航路径中下一个子区域位于预设的消防通道区域中的情况下,控制所述机器人移动到所述下一个子区域并判断再下一个子区域是否位于预设的消防通道区域中,在再下一子区域不在预设的消防通道区域的情况下,控制机器人停止移动;在再下一子区域位于预设的消防通道区域的情况下,控制机器人依据所述导航路径继续移动,直到导航路径上的某一个子区域不在预设的消防通道区域时停止移动。
在一实施例中,接收到消防信号之后,机器人处于停止状态,且所述机器人当前所处的子区域位于预设的消防通道区域中的情况下,重新为所述机器人规划导航路径,并控制所述机器人沿重新规划的导航路径移动以离开所述预设的消防通道区域。在一实施例中,基于所述机器人与调离终点之间的距离和/或调离终点所在预定区域范围内的机器人密度为所述机器人选择调离终点;根据选择的调离终点重新为所述机器人规划导航路径,控制所述机器人沿重新规划的导航路径移动到所述选择的调离终点。示例性的,若机器人当前所处子区域位于预设的消防通道区域中,可以选择距离不超过4个子区域和相邻子区域只有一个机器人的子区域作为调离终点,计算多条路径的损耗,将损耗最小的路径作为重新规划的导航路径,并控制机器人按照所述重新规划的导航路径移动到达调离终点。在一实施例中,当货架下方的高度可以允许机器人移动时,所述调离终点也可以选择货架子区域。
在本实施例中,若机器人处于移动状态,且在所述机器人的导航路径中的途径子区域(包括终点)均位于预设的消防通道区域中,则在所述机器人到达终点后,也可以为所述机器人重新规划导航路径,并控制所述机器人沿重新规划规划的导航路径移动以离开终点。
本实施例的技术方案,接收消防信号,响应于所述消防信号,若机器人处于移动状态,且在所述机器人的导航路径中下一个子区域位于预设的消防通道区域中,则控制所述机器人移动到所述下一个子区域并依据所述导航路径继续移动,直到下一个子区域不在预设的消防通道区域时停止移动。本实施例提供的技术方案可以避免延时误差或急刹车带来的问题,提高机器人离开消防通道的效率。
图15为一实施例中的机器人调度装置的结构示意图,所述装置可以包括:接收模块1510,设置为接收消防信号;运动控制模块1520,设置为响应于所述消防信号,在机器人处于移动状态,且在所述机器人的导航路径中下一个子区域位于预设的消防通道区域中的情况下,控制所述机器人移动到所述下一个子区域并依据所述导航路径继续移动,直到下一个子区域不在预设的消防通道区域时停止移动。
在一实施例中,该装置还可以包括停止控制模块,设置为:在机器人处于停止状态,且所述机器人当前所处的子区域位于预设的消防通道区域中的情况下,重新为所述机器人规划导航路径,并控制所述机器人沿重新规划的导航路径移动以离开所述预设的消防通道区域。
在一实施例中,所述停止控制模块是设置为通过如下方式重新为所述机器人规划导航路径,并控制所述机器人沿重新规划的导航路径移动以离开所述预设的消防通道区域:基于所述机器人与调离终点之间的距离和/或调离终点所在预定区域范围内的机器人密度为所述机器人选择调离终点;根据选择的调离终点重新为所述机器人规划导航路径,控制所述机器人沿重新规划的导航路径移动到所述选择的调离终点。
在一实施例中,所述消防信号是由消防急停按钮触发的或通过外部接口接收的。
本实施例所提供的技术方案,可以通过急停硬件系统接收消防信号,并通过急停系统控制器将消防信号传入服务器中,服务器接收到消防信号后,机器人调度系统将控制所有机器人停止工作,并且离开消防子区域。本实施例可以避免延时误差或急刹车带来的问题,提高机器人离开消防通道的效率。
本申请实施例所提供的机器人调度装置可执行本申请任意实施例所提供的机器人调度方法,具备执行方法相应的功能模块和有益效果。
图16为一实施例中的另一种服务器的结构示意图。图16示出了适于用来实现本申请实施方式的示例性服务器612的框图。图16显示的服务器612仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图16所示,服务器612以通用服务器的形式表现。服务器612的组件可以包括但不限于:一个或者多个处理器616,系统存储器628,连接不同系统组件(包括系统存储器628和处理器616)的总线618。
总线618表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器616或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于ISA总线,MCA总线,增强型ISA总线、VESA局域总线以及PCI总线。
在一实施例中,服务器612包括多种计算机系统可读介质。这些介质可以是任何能够被服务器612访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器628可以包括易失性存储器形式的计算机系统可读介质,例如RAM430和/或高速缓存存储器632。服务器612可以包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统634可以用于读写不可移动的、非易失性磁介质(图16未显示,通常称为“硬盘驱动器”)。尽管图16中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线618相连。存储器628可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本申请任意实施例的功能。
具有一组(至少一个)程序模块642的程序/实用工具640,可以存储在例如存储器628中,这样的程序模块642包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块642通常执行本申请所描述的实施例中的功能和/或方法。
服务器612也可以与一个或多个外部设备614(例如键盘、指向设备、显示器624等) 通信,还可与一个或者多个使得用户能与该服务器612交互的设备通信,和/或与使得该服务器612能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口622进行。并且,服务器612还可以通过网络适配器620与一个或者多个网络(例如LAN,WAN和/或公共网络,例如因特网)通信。如图16所示,网络适配器620通过总线618与服务器612的其它模块通信。应当明白,尽管图16中未示出,可以结合服务器612使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理器616通过运行存储在系统存储器628中的程序,从而执行多种功能应用以及数据处理,例如实现本申请实施例所提供的机器人调度方法,该方法包括:接收消防信号;响应于所述消防信号,在机器人处于移动状态,且在所述机器人的导航路径中下一个子区域位于预设的消防通道区域中的情况下,控制所述机器人移动到所述下一个子区域并依据所述导航路径继续移动,直到下一个子区域不在预设的消防通道区域时停止移动。
本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请实施例所提供的机器人调度方法,该方法包括:接收消防信号;响应于所述消防信号,在机器人处于移动状态,且在所述机器人的导航路径中下一个子区域位于预设的消防通道区域中的情况下,控制所述机器人移动到所述下一个子区域并依据所述导航路径继续移动,直到下一个子区域不在预设的消防通道区域时停止移动。
本申请实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是—但不限于—电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、RAM、ROM、EPROM或闪存、光纤、便携式CD-ROM、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,计算机可读的信号介质中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或多种程序设计语言组合来编写用于执行本申请操作的 计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括LAN或WAN—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。

Claims (21)

  1. 一种机器人调度方法,包括:
    接收调度指令;
    响应于所述调度指令,确定位于工作区域中的机器人的工作状态和当前位置;其中,所述工作状态包括:空闲状态和非空闲状态;
    在所述机器人的工作状态为空闲且当前位置在预先设置的目标范围外的情况下,将所述机器人从所述当前位置调度到所述目标范围内。
  2. 根据权利要求1所述的方法,其中,所述确定位于工作区域中的机器人的工作状态,包括:
    判断位于工作区域中的机器人是否存在待执行的任务或者正在执行的任务;
    响应于所述机器人不存在所述待执行的任务和所述正在执行的任务的判断结果,确定所述机器人的工作状态为所述空闲状态;响应于所述机器人存在所述待执行的任务或者所述正在执行的任务的判断结果,确定所述机器人的工作状态为所述非空闲状态。
  3. 根据权利要求1或2所述的方法,其中,所述将所述机器人从所述当前位置调度到所述目标范围内,包括:
    在所述目标范围内确定所述机器人的目标位置;
    计算所述当前位置到所述目标位置之间的最佳路径;
    根据所述最佳路径将所述机器人从所述当前位置调度到所述目标位置上。
  4. 根据权利要求3所述的方法,其中,所述在所述目标范围内确定所述机器人的目标位置,包括:
    在所述目标范围内确定所述机器人的计划位置;
    判断所述机器人的计划位置是否满足预先设置的调度条件,响应于所述机器人的计划位置满足所述调度条件的判断结果,将所述机器人的计划位置确定为所述机器人的目标位置。
  5. 根据权利要求4所述的方法,其中,所述目标范围划分成至少一个单元格,以单元格为单位确定所述机器人的目标位置;其中,所述目标范围的形状为矩形,所述目标范围由预先设置的起始位置、宽度和高度确定。
  6. 根据权利要求5所述的方法,其中,所述预先设置的调度条件包括:
    在所述机器人为纵向排列的情况下,所述机器人的计划位置横向相邻的单元格为空闲状态;
    在所述机器人为横向排列的情况下,所述机器人的计划位置纵向相邻的单元格为空闲状态。
  7. 根据权利要求1所述的方法,还包括:
    在机器人的数量大于所述目标范围容纳机器人的数量的情况下,重新确定新的目标范围,并在所述机器人的工作状态为空闲且当前位置在预先设置的目标范围外的情况下,将所述机器人从所述当前位置调度到所述新的目标范围内。
  8. 一种机器人调度方法,包括:
    接收消防信号;
    响应于所述消防信号,在机器人处于移动状态,且在规划的路径中的下一个单元格位于预设的消防通道区域中的情况下,控制所述机器人移动到所述下一个单元格并依据所述规划的路径继续移动,直到下一个单元格不在所述预设的消防通道区域时停止移动。
  9. 根据权利要求8所述的方法,在接收消防信号之后,还包括:
    在所述机器人处于停止状态,且所述机器人当前所处的单元格位于所述预设的消防通道区域中的情况下,重新为所述机器人规划路径,并控制所述机器人沿重新规划的路径移动以离开所述预设的消防通道区域。
  10. 根据权利要求9所述的方法,其中,所述重新为所述机器人规划路径,并控制所述机器人沿重新规划的路径移动以离开所述预设的消防通道区域,包括:
    基于所述机器人与调离终点之间的距离和调离终点所在预定区域范围内的机器人密度中的至少之一为所述机器人选择调离终点;
    根据选择的调离终点重新为所述机器人规划路径,控制所述机器人沿重新规划的路径移动到所述选择的调离终点。
  11. 根据权利要求8所述的方法,其中,所述消防信号是由消防急停按钮触发的或通过外部接口接收的。
  12. 一种机器人路径的控制方法,所述机器人移动的工作区域划分为多个单元格,所述方法包括:
    在所述机器人依据规划的路径移动过程中,确定所述机器人所在的当前单元格的工作状态;
    在检测到所述当前单元格处于锁定状态的情况下,控制所述机器人停止运动;
    在检测到所述当前单元格处于解锁状态且下一个单元格处于锁定状态的情况下,重新为所述机器人规划路径以避开所述下一个单元格,并引导所述机器人依据重新规划的路径移动;
    在检测到所述当前单元格和下一个单元格都处于解锁状态的情况下,引导所述机器人依据所述路径移动。
  13. 根据权利要求12所述的方法,还包括:
    在为所述机器人规划路径的过程中,确定工作区域中的单元格的工作状态,使工作状态为锁定的单元格不在规划后的路径上。
  14. 根据权利要求12所述的方法,其中,所述工作状态还包括缓冲状态,所述方法还包括:
    在检测到所述当前单元格处于缓冲状态且下一个单元格处于锁定状态的情况下,重新为所述机器人规划路径以避开所述下一个单元格,并引导所述机器人依据重新规划的路径移动;
    在检测到所述当前单元格和下一个单元格都处于缓冲状态、所述当前单元格处于解锁状态且所述下一个单元格处于缓冲状态或者所述当前单元格处于缓冲状态且所述下一个单元格处于解锁状态的情况下,引导所述机器人依据所述路径移动。
  15. 根据权利要求12、13或14所述的方法,还包括:
    响应于工作状态设置操作,将所述工作状态设置操作指定的至少一个单元格的工作状态设置为所述工作状态设置操作指定的状态。
  16. 根据权利要求15所述的方法,其中,响应于工作状态设置操作,将所述工作状态设置操作指定的至少一个单元格的工作状态设置为所述工作状态设置操作指定的状态,包括:
    响应于按任一单元格的工作状态设置控件的操作,将该单元格的工作状态设定为指定的状态,或者,
    响应于输入任一单元格坐标的操作,将该单元格的工作状态设定为指定的状态。
  17. 根据权利要求12所述的方法,还包括:
    在检测到所述路径中存在行驶障碍的情况下,将存在行驶障碍的单元格设定为锁定状态。
  18. 根据权利要求12所述的方法,其中,在检测到所述机器人在所述路径中的当前单元格处于解锁状态且下一个单元格处于锁定状态的情况下,重新为所述机器人规划路径以避开所述下一个单元格,并引导所述机器人依据重新规划的路径移动,包括:
    在检测到所述机器人在所述路径中的当前子区域处于解锁状态且下一个单元格处于锁定状态的情况下,判断所述下一个单元格在预设时间长度后是否仍处于锁定状态;
    响应于所述下一个单元格在预设时间长度后仍处于锁定状态的判断结果,重新为所述机器人规划路径以避开所述下一个单元格,并引导所述机器人依据重新规划的路径移动。
  19. 根据权利要求12所述的方法,还包括:
    响应于全场锁定操作,控制所述工作区域中的所有机器人停止移动。
  20. 一种服务器,包括:
    至少一个处理器;
    存储器,设置为存储至少一个程序;
    当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器实现如权利要求1-19任一所述的方法。
  21. 一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1-19任一所述的方法。
PCT/CN2019/091920 2018-06-21 2019-06-19 机器人调度、机器人路径的控制方法、服务器和存储介质 WO2019242652A1 (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (8)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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