Robot movement control method and system

The robot movement control method optimizes picking efficiency by calculating scores and setting priorities based on worker patterns, addressing inefficiencies and overlap in conventional systems.

WO2025254477A1PCT designated stage Publication Date: 2025-12-11TWINNY CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
PCT/KR2025/007755
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-06-07
Filing Date
2025-06-05
Publication Date
2025-12-11

AI Technical Summary

Technical Problem

Conventional robot-based picking systems do not effectively manage robot movement based on picking stations for item picking, leading to inefficiencies and potential overlap in travel and occupancy.

Method used

A robot movement control method and system that calculates scores for picking stations based on worker movement patterns, sets priorities, and controls robot movements to optimize picking efficiency while preventing overlap.

Benefits of technology

Improves picking efficiency by determining optimal robot movements based on worker patterns and preventing congestion, enhancing overall logistics operations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure KR2025007755_11122025_PF_FP_ABST
    Figure KR2025007755_11122025_PF_FP_ABST
Patent Text Reader

Abstract

A robot movement control method and system are disclosed. According to an embodiment of the present disclosure, the robot movement control method may include: calculating, based on a movement pattern of a worker, a score for each of picking stations corresponding to locations respectively accommodating a plurality of items to be picked by at least one robot; setting a priority for each of the picking stations based on the respective scores of the picking stations; and controlling the at least one robot based on the respective priorities of the picking stations.
Need to check novelty before this filing date? Find Prior Art

Description

ROBOT MOVEMENT CONTROL METHOD AND SYSTEM

[0001] The following embodiments relate to a system and method for controlling the movement of a robot.

[0002] The rapid development of e-commerce and online shopping has led to the rapid growth of logistics storage companies, while also bringing unprecedented challenges to such companies. Improving picking efficiency, reducing the time from order placement to delivery, and alleviating labor burden have always been critical issues that logistics and storage companies need to address.

[0003] Accordingly, robot-based picking systems have been proposed, in which picked items are received in and transported by loading totes. A technology related to robots used in picking systems is disclosed in Korean Patent Registration No. 10-2000825.

[0004] However, the conventional technology related to robots used in picking systems merely describes the simple movement of the robot, such as moving along a travel path connecting a current location and a target location or modifying the travel path to avoid other robots or obstacles. It does not describe movement of the robot based on picking stations for item picking.

[0005] Accordingly, the following embodiments propose a technology in which a robot moves based on picking stations for item picking.

[0006] An exemplary embodiment proposes a robot movement control method and system for controlling the movement of a robot based on picking stations for item picking.

[0007] In particular, an exemplary embodiment proposes a robot movement control method and system that, in order to improve the picking efficiency of a worker, determines which of the picking stations the robot is to move to by taking into account the movement pattern of the worker.

[0008] In addition, an exemplary embodiment proposes a robot movement control method and system that prevents travel and occupancy overlap among robots and controls the movement of the robots.

[0009] However, the technical problems to be solved by the present disclosure are not limited to those described above, and may be variously extended without departing from the spirit and scope of the present disclosure.

[0010] According to an embodiment of the present disclosure, a robot movement control method performed by a computer apparatus may include: calculating, based on a movement pattern of a worker, a score for each of picking stations corresponding to locations respectively accommodating a plurality of items to be picked by at least one robot; setting a priority for each of the picking stations based on the respective scores of the picking stations; and controlling the at least one robot based on the respective priorities of the picking stations.

[0011] According to one aspect, the calculating may include assigning a weight to each of the locations; and calculating the score for each of the picking stations based on the respective weights of the locations.

[0012] According to another aspect, the calculating may include, when the picking stations have a one-to-many correspondence with the locations, calculating the score of each of the picking stations as the weight of the location having the highest weight among the plurality of locations corresponding to the respective picking stations.

[0013] According to yet another aspect, the calculating may include, when the picking stations have a one-to-one correspondence with the locations, calculating the score of each of the picking stations as the weight of the location corresponding to the respective picking stations.

[0014] According to still another aspect, the controlling may include controlling the at least one robot such that the at least one robot sequentially moves among the picking stations according to the respective priorities of the picking stations.

[0015] According to still another aspect, the controlling may include, when a plurality of robots are provided, controlling the plurality of robots such that the robots sequentially move among the picking stations according to the priority of each of the picking stations, to avoid congestion or overlap in movement at the picking stations.

[0016] According to still another aspect, the controlling may include controlling the at least one robot to move to one picking station having the highest priority among the picking stations.

[0017] According to still another aspect, the movement pattern of the worker may be input in advance by the worker through a user interface of the at least one robot or a user interface of a control device that integrally manages the at least one robot.

[0018] According to still another aspect, the movement pattern of the worker may be estimated based on past work information of the worker.

[0019] According to still another aspect, the controlling may be repeatedly performed until a work order for the at least one robot to pick the plurality of items is interrupted, all of the plurality of items are picked by the at least one robot, or a loading space or a loading tote of the at least one robot is filled.

[0020] According to still another aspect, the robot movement control method may further include assigning the at least one robot to one location group among location groups including the locations respectively storing the plurality of items.

[0021] According to still another aspect, the assigning may include selecting the one location group based on the number of other robots already assigned among the location groups.

[0022] According to an embodiment, in a computer-readable recording medium having recorded thereon a computer program for executing a robot movement control method on a computer apparatus, the robot movement control method may include calculating, based on a movement pattern of a worker, a score for each of picking stations corresponding to locations respectively accommodating a plurality of items to be picked by at least one robot; setting a priority for each of the picking stations based on the respective scores of the picking stations; and controlling the at least one robot based on the respective priorities of the picking stations.

[0023] According to an embodiment, a computer apparatus configured to perform a robot movement control method in conjunction with at least one robot may include at least one processor configured to execute computer-readable instructions, and the at least one processor may include a determination unit configured to calculate, based on a movement pattern of a worker, a score for each of picking stations corresponding to locations respectively accommodating a plurality of items to be picked by at least one robot; a setting unit configured to set a priority for each of the picking stations based on the respective scores of the picking stations; and a control unit configured to control the at least one robot based on the respective priorities of the picking stations.

[0024] According to an exemplary embodiment, a robot movement control method and system for controlling the movement of a robot based on picking stations for item picking can be provided.

[0025] In particular, exemplary embodiments can improve the picking efficiency of a worker by proposing a robot movement control method and system that determines a picking station to which a robot is to move among multiple picking stations based on the worker's movement pattern.

[0026] In addition, exemplary embodiments can provide a robot movement control method and system that control the movement of robots while preventing travel and occupancy overlap between the robots.

[0027] However, the effects of the present disclosure are not limited to those described above, and may be variously extended without departing from the spirit and scope of the present disclosure.

[0028] FIG. 1 is a diagram illustrating an example of a service environment according to an embodiment.

[0029] FIG. 2 is a block diagram illustrating an example of a computer apparatus according to an embodiment.

[0030] FIG. 3 is a block diagram illustrating an example of components that may be included in the processor shown in FIG. 2.

[0031] FIG. 4 is a flowchart illustrating a robot movement control method that may be performed by the computer apparatus shown in FIG. 2.

[0032] FIG. 5 is a diagram for explaining the reflection of a worker's movement pattern in the robot movement control method illustrated in FIG. 4.

[0033] FIG. 6 is a diagram for explaining the calculation of a score for each picking station in the robot movement control method illustrated in FIG. 4, in a case where the picking stations correspond one-to-many to the locations.

[0034] FIG. 7 is a diagram for explaining the reflection of occupancy of the locations or picking stations by other robots in the robot movement control method illustrated in FIG. 4.

[0035] Hereinafter, embodiments of the present disclosure will be described in detail with reference to the accompanying drawings. However, the present disclosure is not limited or restricted to the embodiments. In addition, the same reference numerals shown in the respective drawings denote the same elements.

[0036] In addition, the terminology used in the present specification is selected to appropriately describe preferred embodiments of the present disclosure and may vary depending on the viewer, operator's intention, or conventions in the relevant technical field. Therefore, the definitions of the terms should be made based on the overall content of the present specification. For example, in the present specification, the singular forms "a," "an," and "the" also include the plural forms unless otherwise specifically stated in the context. In addition, the terms "comprises" and / or "comprising" as used in the present specification do not exclude the presence or addition of one or more other components, steps, operations, and / or elements beyond those mentioned components, steps, operations, and / or elements.

[0037] In addition, it should be understood that the various embodiments of the present disclosure are different from each other but are not necessarily mutually exclusive. For example, specific shapes, structures, and characteristics described herein in connection with one embodiment may be implemented in other embodiments without departing from the spirit and scope of the present disclosure. In addition, it should be understood that the position, arrangement, or configuration of individual components in each of the presented categories of embodiments may be changed without departing from the spirit and scope of the present disclosure.

[0038] In the following embodiments, a robot movement control method and system for controlling the movement of a robot based on picking stations for item picking are described.

[0039] The robot movement control method may be performed by at least one computer apparatus that implements a robot as the execution subject or a server interlinked with the robot. That is, at least one computer apparatus included in the robot or the server, which will be described later, may constitute a robot movement control system that performs the robot movement control method.

[0040] A computer apparatus implementing the robot movement control system may perform the robot movement control method according to the embodiment under the control of a computer program executed thereon. The above-described computer program may be stored in a computer-readable recording medium to be executed by the computer apparatus in conjunction with the computer apparatus for performing the robot movement control method. The computer program described herein may take the form of a standalone program package, or may take the form of a program package that is pre-installed on a computer apparatus and operates in conjunction with an operating system or other program packages.

[0041]

[0042] FIG. 1 is a diagram illustrating an example of a service environment according to an embodiment.

[0043] The service environment of FIG. 1 illustrates an example including a plurality of robots 110, 120, 130, 140, and 150, a server 160, and a network 170.

[0044] FIG. 1 is merely an example for the purpose of describing the invention, and the number of robots or servers is not limited to that shown in the drawing. In addition, the service environment of FIG. 1 is merely an example of an environment applicable to the present embodiments, and the environment to which the present embodiments can be applied is not limited to the service environment of FIG. 1.

[0045] Hereinafter, a picking station (PS) refers to a movement node at which a robot can stop when picking items, and as shown in the drawings, may be provided in a one-to-many correspondence with locations (LC) (picking station:location = 1:N) or in a one-to-one correspondence with locations (LC) (picking station:location = 1:1). For example, a single picking station PS-C01 may be provided in correspondence with multiple locations, such as C-01-11, C-01-12, C-01-13, C-01-14, C-01-15, C-01-16, C-01-21, C-01-22, C-01-23, C-01-24, C-01-25, C-01-26, C-01-31, C-01-32, C-01-33, C-01-34, C-01-35, C-01-36, C-01-41, C-01-42, C-01-43, C-01-44, C-01-45, and C-01-46.

[0046] In addition, a single location (LC) may be associated with two or more picking stations (PS), so that, in order to pick an item stored at the location (LC), the closer picking station or a picking station not occupied by another robot may be selected to carry out the loading operation.

[0047] Hereinafter, a location (LC) refers to a storage space in which items are loaded and accommodated, and as shown in the drawings, a plurality of locations may be provided and arranged in rows and columns. For example, locations such as C-01-11, C-01-12, C-01-13, C-01-14, C-01-15, C-01-16, C-01-21, C-01-22, C-01-23, C-01-24, C-01-25, C-01-26, C-01-31, C-01-32, C-01-33, C-01-34, C-01-35, C-01-36, C-01-41, C-01-42, C-01-43, C-01-44, C-01-45, and C-01-46 may be arranged horizontally and stacked vertically to form an array.

[0048] A location group (LCG) refers to a unit in which multiple locations (LCs) are grouped together. The number of locations (LCs) included in a location group (LCG) is not limited, and the location group (LCG) may be defined based on the arrangement of shelves―spaces in which items are stored―within a service environment such as a logistics center. For example, a location group (LCG) may be defined based on a travel path along which a robot moves. As illustrated in the drawings, locations (LCs) included in A-01, A-02, and A-03 and locations (LCs) included in B-01, B-02, and B-03 may be grouped together to form a single group.

[0049] Each of the plurality of robots 110, 120, 130, 140, and 150 is implemented as a computer apparatus and includes a movement module having wheels and a motor for traveling, as well as a space in which items are loaded. A separate loading tote, in which items are stored, may be loaded into the item loading space.

[0050] In addition, depending on the implementation example, each of the plurality of robots 110, 120, 130, 140, and 150 may further include components such as a shelf or a gripper to support a worker's item picking operation or to directly perform the item picking operation.

[0051] Hereinafter, the worker may refer to a person who loads items picked onto the plurality of robots 110, 120, 130, 140, and 150, or a person who manages the picking of items performed by the plurality of robots 110, 120, 130, 140, and 150.

[0052] The computer apparatus implementing each of the plurality of robots 110, 120, 130, 140, and 150 may communicate with the server 160 via the network 170 and operate the movement module and the like under the control of the server 160.

[0053] The communication method between each of the robots 110, 120, 130, 140, and 150 and the server 160 is not limited, and may include not only communication methods utilizing networks 170 that may include communication networks such as a mobile communication network, wired internet, wireless internet, or a broadcasting network, but also short-range wireless communication between devices. For example, the network 170 may include one or more arbitrary networks selected from among a personal area network (PAN), a local area network (LAN), a campus area network (CAN), a metropolitan area network (MAN), a wide area network (WAN), a broadband network (BBN), and the Internet. In addition, the network 170 may include any one or more network topologies such as a bus network, star network, ring network, mesh network, star-bus network, tree network, or hierarchical network, but is not limited thereto.

[0054] The server 160 may be implemented as a computer apparatus or a plurality of computer apparatuses that communicate with each of the plurality of robots 110, 120, 130, 140, and 150 via the network 170 to provide commands, codes, files, content, services, and the like. For example, the server 160 may be a robot movement control system that performs the robot movement control method to control the movement of the plurality of robots 110, 120, 130, 140, and 150 connected via the network 170.

[0055]

[0056] FIG. 2 is a block diagram illustrating an example of a computer apparatus according to an embodiment. Each of the plurality of robots 110, 120, 130, 140, and 150 or each of the servers 160 described above may be implemented by the computer apparatus 200 illustrated in FIG. 2.

[0057] As illustrated in FIG. 2, the computer apparatus 200 may include a memory 210, a processor 220, a communication interface 230, and an input / output interface 240.

[0058]

[0059] The memory 210 is a computer-readable recording medium and may include a random access memory (RAM), a read-only memory (ROM), and a non-volatile mass storage device (permanent mass storage device) such as a disk drive. Here, non-volatile mass storage devices such as the ROM and the disk drive may be included in the computer apparatus 200 as separate permanent storage devices distinct from the memory 210.

[0060] In addition, an operating system and at least one program code may be stored in the memory 210. Such software components may be loaded into the memory 210 from a computer-readable recording medium separate from the memory 210. Such a separate computer-readable recording medium may include computer-readable recording media such as a floppy drive, a disk, a tape, a DVD / CD-ROM drive, or a memory card. In another embodiment, the software components may be loaded into the memory 210 through the communication interface 230 instead of from a computer-readable recording medium. For example, the software components may be loaded into the memory 210 of the computer apparatus 200 based on a computer program installed by files received via the network 170.

[0061] The processor 220 may be configured to process instructions of a computer program by performing basic arithmetic, logic, and input / output operations. Instructions may be provided to the processor 220 by the memory 210 or the communication interface 230. For example, the processor 220 may be configured to execute instructions received according to program code stored in a recording device such as the memory 210.

[0062] The communication interface 230 may provide a function for the computer apparatus 200 to communicate with other devices (e.g., the aforementioned storage devices) via the network 170. For example, requests, commands, data, or files generated by the processor 220 of the computer apparatus 200 according to program code stored in a storage device such as the memory 210 may be delivered to other devices via the network 170 under the control of the communication interface 230. Conversely, signals, commands, data, or files from another device may be received by the computer apparatus 200 through the communication interface 230 of the computer apparatus 200 via the network 170. Signals, commands, data, or the like received through the communication interface 230 may be delivered to the processor 220 or the memory 210, and files or the like may be stored in a storage medium, such as the above-described permanent storage device, which may be further included in the computer apparatus 200.

[0063] The input / output interface 240 may serve as a means for interfacing with an input / output device 250. For example, the input device may include devices such as a microphone, keyboard, or mouse, and the output device may include devices such as a display or speaker. As another example, the input / output interface 240 may serve as a means for interfacing with a device that integrates both input and output functions, such as a touchscreen. The input / output device 250 may be configured as a single device together with the computer apparatus 200.

[0064] In other embodiments, the computer apparatus 200 may include fewer or more components than those illustrated in FIG. 2. However, it is not necessary to explicitly illustrate most conventional components. For example, the computer apparatus 200 may be implemented to include at least some of the input / output devices 250 described above, or may further include other components such as a camera, a transceiver, or a database.

[0065] Hereinafter, specific embodiments of the robot movement control method and system will be described.

[0066]

[0067] FIG. 3 is a block diagram illustrating an example of components that may be included in the processor shown in FIG. 2, FIG. 4 is a flowchart illustrating a robot movement control method that may be performed by the computer apparatus shown in FIG. 2, FIG. 5 is a diagram for explaining the reflection of a worker's movement pattern in the robot movement control method illustrated in FIG. 4, FIG. 6 is a diagram for explaining the calculation of a score for each picking station in the robot movement control method illustrated in FIG. 4, in a case where the picking stations correspond one-to-many to the locations, and FIG. 7 is a diagram for explaining the reflection of occupancy of the locations or picking stations by other robots in the robot movement control method illustrated in FIG. 4.

[0068] In the embodiments of the present disclosure, the computer apparatus 200 may control the movement of a robot based on picking stations (PS) for item picking by performing the robot movement control method.

[0069] To this end, a robot movement control system, which serves as the subject performing the robot movement control method, may be configured in the computer apparatus 200. For example, the robot movement control system may be implemented as an independently operating program, or may be configured in the form of an in-app module within a dedicated application so as to operate on the dedicated application.

[0070] The processor 220 of the computer apparatus 200 may be implemented as a component for performing the robot movement control method illustrated in FIG. 4. For example, the processor 220 may include a determination unit 310, a setting unit 320, and a control unit 330, as illustrated in FIG. 3, to perform the steps S410 to S430 shown in FIG. 4. Depending on the embodiment, the components of the processor 220 may be selectively included in or excluded from the processor 220. In addition, depending on the embodiment, the components of the processor 220 may be separated or combined to represent the functions of the processor 220.

[0071] The processor 220 and the components of the processor 220 may control the computer apparatus 200 to perform the steps S410 to S430 included in the robot movement control method of FIG. 4. For example, the processor 220 and the components of the processor 220 may be implemented to execute instructions according to the code of the operating system and at least one program code included in the memory 210.

[0072] Here, the components of the processor 220 may be representations of different functions performed by the processor 220 according to instructions provided by program code stored in the computer apparatus 200. For example, the setting unit 320 may be used as a functional representation of the processor 220 that controls the computer apparatus 200 to set the priorities of the picking stations (PSs) based on the scores of the respective picking stations (PSs).

[0073] Alternatively, the determination unit 310, the setting unit 320, and the control unit 330 may represent respective programs stored in the memory 210 and executed by the processor 220.

[0074] The processor 220 may read necessary commands from the memory 210, in which commands related to the control of the computer apparatus 200 are loaded. In this case, the commands read by the processor 220 may include commands for controlling the processor 220 to execute the steps S410 to S430, which will be described later.

[0075] The steps S410 to S430, which will be described later, may be performed in an order different from that illustrated in FIG. 4, and some of the steps S410 to S430 may be omitted or additional processes may be further included.

[0076] Before step S410, the processor 220 (for example, the determination unit 310) may assign at least one robot to be deployed for the task of the corresponding work order. A work order refers to a unit in which multiple orders are grouped based on a certain criterion in a logistics center, and outbound operations may be performed for each work order. Orders to be included in a work order may be selected based on time, but are not limited or restricted thereto. For example, work orders may be divided based on time, such as grouping orders received from the previous day to 9:00 a.m. as the first work order, orders received from 9:00 a.m. to 1:00 p.m. as the second work order, and orders received from 1:00 p.m. to 4:00 p.m. as the third work order. As another example, work orders may be divided based on the number of orders, such as grouping the first 100 orders as the first work order and the next 100 orders as the second work order. As yet another example, work orders may be divided based on the consignor, such as grouping the outbound requests from Company A as the first work order and those from Company B as the second work order. The task may include picking a plurality of items according to an order, assigning robots to location groups (LCGs) for this purpose, and controlling the movement of the robots.

[0077] Each work order may include one or more picking units grouped based on the same location (LC) and the same delivery item. A picking unit corresponds to the minimum unit of a robot's task. A single work order may include multiple picking units, and a picking task may be assigned to one or more robots based on each picking unit.

[0078] Subsequently, the processor 220 (for example, the determination unit 310) may assign at least one robot to one of the location groups (LCGs), each of which includes locations (LCs) respectively accommodating a plurality of items to be picked according to an order.

[0079] More specifically, the processor 220 (for example, the determination unit 310) may assign at least one robot to one of the location groups (LCGs) by selecting a particular location group (LCG) based on the number of other robots already assigned to each of the location groups.

[0080] For example, the processor 220 (for example, the determination unit 310) may assign at least one robot to one of the location groups (LCGs) by selecting a location group in which the number of other robots already assigned is less than a predetermined limit, or by selecting a location group among the LCGs that has the smallest number of robots already assigned.

[0081] By taking into account the number of other robots assigned when assigning at least one robot to a location group (LCG) in this manner, concentration of robot assignments in a specific location group (LCG) can be prevented.

[0082] In step S410, the processor 220 (for example, the determination unit 310) may calculate a score for each of the picking stations (PSs) corresponding to the locations (LCs), which respectively accommodate a plurality of items to be picked by at least one robot, based on the movement pattern of a worker.

[0083] As described above, at least one robot is assigned to one of the location groups (LCGs), which include locations (LCs) respectively accommodating a plurality of items to be picked, by considering the number of other robots already assigned. Accordingly, in step S410, the processor may calculate a score for each of the picking stations (PSs) corresponding to the locations (LCs) included in the assigned location group (LCG), taking into account the number of other robots already assigned.

[0084] For example, if a worker's movement pattern 510 as shown in FIG. 5 is obtained, the processor 220 (for example, the determination unit 310) may assign a respective weight to each of the picking stations (PS-C01, PS-C02, PS-C03, PS-C04, PS-C05, PS-C06, PS-D01, PS-D02, PS-D03, PS-D04, PS-D05, PS-D06) based on the order or degree of alignment of each of the picking stations (PS-C01, PS-C02, PS-C03, PS-C04, PS-C05, PS-C06, PS-D01, PS-D02, PS-D03, PS-D04, PS-D05, PS-D06) with the movement pattern 510.

[0085] As a more specific example, the processor 220 (for example, the determination unit 310) may assign sequentially decreasing weights to the picking stations (PS-C01, PS-C02, PS-C03, PS-C04, PS-C05, PS-C06, PS-D06, PS-D05, PS-D04, PS-D03, PS-D02, PS-D01) in the order of highest to lowest alignment with the worker's movement pattern 510 among the picking stations (PS-C01, PS-C02, PS-C03, PS-C04, PS-C05, PS-C06, PS-D01, PS-D02, PS-D03, PS-D04, PS-D05, PS-D06). Accordingly, the scores of the respective picking stations (PS-C01, PS-C02, PS-C03, PS-C04, PS-C05, PS-C06, PS-D01, PS-D02, PS-D03, PS-D04, PS-D05, PS-D06) may be calculated in the order of "picking station PS-C01 → picking station PS-C02 → picking station PS-C03 → picking station PS-C04 → picking station PS-C05 → picking station PS-C06 → picking station PS-D06 → picking station PS-D05 → picking station PS-D04 → picking station PS-D03 → picking station PS-D02 → picking station PS-D01."

[0086] In addition, when calculating the score of each picking station (PS), instead of directly assigning a weight to each picking station (PS) as described above, a weight may be assigned to each location (LC), and then the score of each picking station (PS) may be calculated based on the respective weights of the locations (LCs).

[0087] For example, as shown in FIG. 5, the locations (LCs) associated with picking station PS-C01 may be grouped as C-01, those associated with PS-C02 as C-02, those associated with PS-C03 as C-03, those associated with PS-C04 as C-04, those associated with PS-C05 as C-05, those associated with PS-C06 as C-06, those associated with PS-D01 as D-01, those associated with PS-D02 as D-02, those associated with PS-D03 as D-03, those associated with PS-D04 as D-04, those associated with PS-D05 as D-05, and those associated with PS-D06 as D-06. When the locations (C-01, C-02, C-03, C-04, C-05, C-06, D-01, D-02, D-03, D-04, D-05, D-06) are grouped together as location group A, and the worker's movement pattern 510 is obtained, the processor 220 (for example, the determination unit 310) may assign a weight to each of the locations (LCs) included in location group A based on the worker's movement pattern 510 and then calculate a score for each of the picking stations (PS-C01, PS-C02, PS-C03, PS-C04, PS-C05, PS-C06, PS-D01, PS-D02, PS-D03, PS-D04, PS-D05, PS-D06) based on the respective weights of the locations (LCs) included in location group A.

[0088] As a more specific example, when the picking stations (PS-C01, PS-C02, PS-C03, PS-C04, PS-C05, PS-C06, PS-D01, PS-D02, PS-D03, PS-D04, PS-D05, PS-D06) correspond one-to-one with the locations (C-01, C-02, C-03, C-04, C-05, C-06, D-01, D-02, D-03, D-04, D-05, D-06) as shown in FIG. 5, the processor 220 (for example, the determination unit 310) may assign sequentially decreasing weights to the locations (C-01, C-02, C-03, C-04, C-05, C-06, D-01, D-02, D-03, D-04, D-05, D-06) based on the order in which they match the worker's movement pattern 510. As a result, weights for the respective locations (LCs) grouped under the locations (C-01 → C-02 -> C-03 → C-04 → C-05 → C-06 → D-06 → D-05 → D-04 → D-03 → D-02 → D-01) may be generated in the order of "locations C-01 → locations C-02 → locations C-03 → locations C-04 → locations C-05 → locations C-06 → locations D-06 → locations D-05 → locations D-04 → locations D-03 → locations D-02 → locations D-01."

[0089] In this case, the locations (LCs) sharing the same picking station (PS) may be assigned the same weight, or different weights may be assigned among the locations (LCs) even within those sharing the same picking station (PS).

[0090] That is, referring to FIG. 6, the weights of the locations included in C-01, which share the picking station PS-C01, may be assigned differently, such as a weight of 100 for C-01-11, 99 for C-01-12, and 98 for C-01-13. In this way, the respective weights of the locations (C-01-11, C-01-12, C-01-13, C-01-21, C-01-22, C-01-23, C-01-31, C-01-32, C-01-33) included in C-01 may be differently assigned. Alternatively, the respective weights of the locations (C-01-11, C-01-12, C-01-13, C-01-21, C-01-22, C-01-23, C-01-31, C-01-32, C-01-33), which are included in C-01 and share the picking station PS-C01, may all be equally assigned with the same value, such as 100.

[0091] Subsequently, the processor 220 (for example, the determination unit 310) may calculate the weight of each of the locations (C-01, C-02, C-03, C-04, C-05, C-06, D-01, D-02, D-03, D-04, D-05, D-06) as the score of the corresponding picking station (PS-C01, PS-C02, PS-C03, PS-C04, PS-C05, PS-C06, PS-D01, PS-D02, PS-D03, PS-D04, PS-D05, PS-D06). For example, the weight of the locations C-01 may be calculated as the score of the picking station PS-C01 corresponding to the locations C-01, the weight of the locations C-04 may be calculated as the score of the picking station PS-C04 corresponding to the locations C-04, and the weight of the locations D-04 may be calculated as the score of the picking station PS-D04 corresponding to the locations D-04.

[0092] In this case, when the respective scores of the locations within the same location group are assigned differently, the score of the location with the highest value is assigned as the score of the picking station associated with those locations. Alternatively, the average of the scores of the locations may be assigned as the score of the picking station associated with those locations.

[0093] Accordingly, the final scores of the respective picking stations (PS-C01, PS-C02, PS-C03, PS-C04, PS-C05, PS-C06, PS-D01, PS-D02, PS-D03, PS-D04, PS-D05, PS-D06) may be calculated in the order of "picking station PS-C01 →picking station PS-C02 → picking station PS-C03 → picking station PS-C04 → picking station PS-C05 → picking station PS-C06 → picking station PS-D06 → picking station PS-D05 → picking station PS-D04 → picking station PS-D03 → picking station PS-D02 → picking station PS-D01."

[0094] After a movement pattern is received and the respective weights or scores of the locations (LCs) and picking stations (PSs) within the same location group (LCG) are calculated accordingly, when the server assigns at least one robot to be deployed for the work order and a picking task is assigned to the robot, the robot moves within the corresponding location group (LCG) to the picking station (PS) associated with the location (LC) where the item to be picked is stored. In this case, if there are multiple picking stations (PSs) to which the robot must move within the location group (LCG), the robot may sequentially move to them according to the respective scores of the picking stations (PSs) calculated as described above.

[0095] The movement pattern of the worker may be obtained by being pre-input by the worker through a user interface (UI) of at least one robot or a user interface of a control device (not shown) that integrally manages at least one robot.

[0096] The movement pattern of the worker may be obtained by being pre-entered by the worker through a user interface (UI) of at least one robot or a user interface of a control device (not shown) that integrally manages at least one robot.

[0097] As the scores of the respective picking stations (PSs) calculated by step S410 of FIG. 4 are maintained after being performed only once initially, the subsequent step S430 may be performed by controlling at least one robot to sequentially move among the picking stations (PSs) according to the priority of the respective picking stations (PSs).

[0098] In step S420, the processor 220 (for example, the setting unit 320) may set the priority of each of the picking stations (PSs) based on the score of each picking station (PS) calculated in step S410.

[0099] For example, if the scores of the respective picking stations (PS-C01, PS-C02, PS-C03, PS-C04, PS-C05, PS-C06, PS-D01, PS-D02, PS-D03, PS-D04, PS-D05, PS-D06) are calculated in the order of "picking station PS-C01 → picking station PS-C02 → picking station PS-C03 → picking station PS-C04 → picking station PS-C05 → picking station PS-C06 → picking station PS-D06 → picking station PS-D05 → picking station PS-D04 → picking station PS-D03 → picking station PS-D02 → picking station PS-D01" as described with reference to FIG. 5, then the priorities of the respective picking stations (PS-C01, PS-C02, PS-C03, PS-C04, PS-C05, PS-C06, PS-D01, PS-D02, PS-D03, PS-D04, PS-D05, PS-D06) may also be set in the order of "picking station PS-C01 → picking station PS-C02 → picking station PS-C03 → picking station PS-C04 → picking station PS-C05 → picking station PS-C06 → picking station PS-D06 → picking station PS-D05 → picking station PS-D04 → picking station PS-D03 → picking station PS-D02 → picking station PS-D01."

[0100] In step S430, the processor 220 (for example, the control unit 330) may control at least one robot based on the priority of each of the picking stations (PSs).

[0101] More specifically, the processor 220 (for example, the control unit 330) may control at least one robot to sequentially move among the picking stations (PSs) according to the priority of each of the picking stations (PSs).

[0102] In particular, when a plurality of robots are provided, the processor 220 (for example, the control unit 330) may control the plurality of robots so that, while the robots sequentially move among the picking stations (PSs) according to the priority of each picking station (PS), they do not move to the same picking station (PS) at the same time.

[0103] For example, as shown in FIG. 7, if the locations (C-01, C-02, C-03, C-04, C-05, C-06, D-01, D-02, D-03, D-04, D-05, D-06) are grouped into a single location group (LCG), location group A, and the worker's movement pattern 710 is obtained, the processor 220 (for example, the determination unit 310) may, in step S410, assign weights to the locations (LCs) included in each of the locations (C-01, C-02, C-03, C-04, C-05, C-06, D-01, D-02, D-03, D-04, D-05, D-06) based on the movement pattern 710 of the worker, and calculate the scores of the picking stations (PS-C01, PS-C02, PS-C03, PS-C04, PS-C05, PS-C06, PS-D01, PS-D02, PS-D03, PS-D04, PS-D05, PS-D06) associated with the respective locations (C-01, C-02, C-03, C-04, C-05, C-06, D-01, D-02, D-03, D-04, D-05, D-06) based on the weights of the respective locations (C-01, C-02, C-03, C-04, C-05, C-06, D-01, D-02, D-03, D-04, D-05, D-06). In this case, the scores of the picking stations (PS-C01, PS-C02, PS-C03, PS-C04, PS-C05, PS-C06, PS-D01, PS-D02, PS-D03, PS-D04, PS-D05, PS-D06) may be calculated in the order of "picking station PS-C01 → picking station PS-C02 → picking station PS-C03 → picking station PS-C04 → picking station PS-C05 → picking station PS-C06 → picking station PS-D06 → picking station PS-D05 → picking station PS-D04 → picking station PS-D03 → picking station PS-D02 → picking station PS-D01."

[0104] After the respective scores of the picking stations (PS-C01, PS-C02, PS-C03, PS-C04, PS-C05, PS-C06, PS-D01, PS-D02, PS-D03, PS-D04, PS-D05, PS-D06) are calculated in this manner, when a plurality of robots are deployed for the corresponding work order and perform picking tasks within the same location group (LCG), the processor 220 (for example, the control unit 330) may control the plurality of robots to move to the picking stations (PSs) associated with the locations (LCs) where the items to be picked are stored. In the case where there are multiple picking stations (PSs) to be visited within the location group (LCG), the processor may control the robots to sequentially move according to the respective scores of the picking stations (PS-C01, PS-C02, PS-C03, PS-C04, PS-C05, PS-C06, PS-D01, PS-D02, PS-D03, PS-D04, PS-D05, PS-D06) as calculated above, so that the robots do not overlap with one another.

[0105] Specifically, when the items to be picked are distributed across the locations (C-01, C-02, C-03, C-04, C-05, C-06, D-01, D-02, D-03, D-04, D-05, D-06) within the location group (LCG), the robots may be controlled according to the priorities of the picking stations (PSs) such that the first robot 720 moves to PS-C01, the second robot 730 moves to PS-C02, and the third robot 740 moves to PS-C03. Once the first robot 720 finishes picking at PS-C01, it may be controlled to move to PS-C04, which is the next in priority among the remaining picking stations (PS-C04, PS-C05, PS-C06, PS-D01, PS-D02, PS-D03, PS-D04, PS-D05, PS-D06).

[0106] The above-described step S430 may be repeatedly performed until the work order for picking a plurality of items by at least one robot is interrupted, all of the plurality of items are picked by at least one robot, or the loading space or loading tote of at least one robot is filled.

[0107] If a failure, error, or interruption of the work order occurs in at least one robot, steps S410 to S420 may also be sequentially and repeatedly performed until the work order for picking a plurality of items by at least one robot is interrupted, all of the plurality of items are picked by at least one robot, or the loading space or loading tote of at least one robot is filled.

[0108] At least one robot that has completed the picking task may be moved to a predetermined end point, where a packing operation for the items may be performed.

[0109] As such, the robot movement control method according to an embodiment may achieve the technical effect of improving robot movement efficiency while minimizing the complexity of the weighting and priority-setting operations by initially setting the priority of each picking station (PS) only once based on the worker's movement pattern, and then controlling at least one robot according to the priority of each picking station (PS).

[0110] In addition, the robot movement control method according to an embodiment may also improve the movement efficiency of the robot by preventing travel and occupancy overlap of the robot and avoiding duplication of item picking caused by collaboration with other workers, through assigning at least one robot to a location group and then setting the priorities based on the movement pattern.

[0111]

[0112] The apparatus described above may be implemented as hardware components, software components, and / or a combination of hardware and software components. For example, the apparatuses and components described in the embodiments may be implemented using one or more general-purpose or special-purpose computers, such as a processor, controller, arithmetic logic unit (ALU), digital signal processor, microcomputer, field programmable gate array (FPGA), programmable logic unit (PLU), microprocessor, or any other apparatus capable of executing and responding to instructions. The processing apparatus may execute an operating system (OS) and one or more software applications running on the operating system. In addition, the processing apparatus may access, store, manipulate, process, and generate data in response to the execution of software. For ease of understanding, although the processing apparatus is described as being implemented using a single unit in some cases, those skilled in the art will appreciate that the processing apparatus may include a plurality of processing elements and / or multiple types of processing elements. For example, the processing apparatus may include a plurality of processors or a single processor and a single controller. In addition, other processing configurations such as a parallel processor may also be possible.

[0113] The software may include a computer program, code, instructions, or any combination thereof, and may configure the processing apparatus to operate as desired or instruct the processing apparatus either independently or collectively. The software and / or data may be embodied in any type of machine, component, physical device, computer-readable storage medium, or apparatus to be interpreted by the processing apparatus or to provide instructions or data to the processing apparatus. The software may be distributed across network-connected computer systems and may be stored or executed in a distributed manner. The software and data may be stored on one or more computer-readable recording media.

[0114] The method according to the embodiment may be implemented in the form of program instructions that can be executed by various computer means and may be recorded on a computer-readable medium. In this case, the medium may either permanently store a computer-executable program or temporarily store the program for execution or download. In addition, the medium may be various recording or storage means in the form of a single hardware or a combination of multiple hardware devices, and is not limited to media directly connected to a computer system, but may also be distributed across a network. Examples of the medium may include magnetic media such as hard disks, floppy disks, and magnetic tapes; optical recording media such as CD-ROMs and DVDs; magneto-optical media such as floptical disks; and ROM, RAM, flash memory, and the like, which are configured to store program instructions. In addition, other examples of the medium may include recording media or storage media managed by app stores that distribute applications, or by various sites and servers that supply or distribute other types of software.

[0115] Although the embodiments have been described by limited examples and drawings, those skilled in the art will appreciate that various modifications and variations can be made from the above description. For example, appropriate results may be achieved even if the described technologies are performed in an order different from the described method, and / or components of the described systems, structures, apparatuses, or circuits are combined or arranged in a manner different from the described method, or are replaced or substituted with other components or equivalents.

[0116] Therefore, other implementations, other embodiments, and equivalents to the claims are also within the scope of the following claims.

Claims

1.A robot movement control method performed by a computer apparatus, the method comprising:calculating, based on a movement pattern of a worker, a score for each of picking stations corresponding to locations respectively accommodating a plurality of items to be picked by at least one robot;setting a priority for each of the picking stations based on the respective scores of the picking stations; andcontrolling the at least one robot based on the respective priorities of the picking stations,wherein each of the locations is associated with at least one picking station,wherein the at least one picking station is defined as a movement node at which the at least one robot can stop to pick an item, andwherein the controlling comprises:controlling the at least one robot such that the at least one robot sequentially moves among the picking stations according to the respective priorities of the picking stations.2.The robot movement control method of claim 1,wherein the calculating comprises:assigning a weight to each of the locations; andcalculating the score for each of the picking stations based on the respective weights of the locations.3.The robot movement control method of claim 2,wherein the calculating comprises:when the picking stations have a one-to-many correspondence with the locations, calculating the score of each of the picking stations as the weight of the location having the highest weight among the plurality of locations corresponding to the respective picking stations.4.The robot movement control method of claim 2,wherein the calculating comprises:when the picking stations have a one-to-one correspondence with the locations, calculating the score of each of the picking stations as the weight of the location corresponding to the respective picking stations.5.The robot movement control method of claim 1,wherein the controlling comprises:when a plurality of robots are provided, controlling the plurality of robots such that the robots sequentially move among the picking stations according to the priority of each of the picking stations, to avoid congestion or overlap in movement at the picking stations.6.The robot movement control method of claim 1,wherein the controlling comprises:controlling the at least one robot to move to one picking station having the highest priority among the picking stations.7.The robot movement control method of claim 1, wherein the movement pattern of the worker is input in advance by the worker through a user interface of the at least one robot or a user interface of a control device that integrally manages the at least one robot.8.The robot movement control method of claim 1, wherein the movement pattern of the worker is estimated based on past work information of the worker.9.The robot movement control method of claim 1, wherein the controlling is repeatedly performed until a work order for the at least one robot to pick the plurality of items is interrupted, all of the plurality of items are picked by the at least one robot, or a loading space or a loading tote of the at least one robot is filled.10.The robot movement control method of claim 1, further comprising assigning the at least one robot to one location group among location groups including the locations respectively storing the plurality of items.11.The robot movement control method of claim 10,wherein the assigning comprises:selecting the one location group based on the number of other robots already assigned among the location groups.12.A computer-readable recording medium having recorded thereon a computer program for executing a robot movement control method on a computer apparatus,wherein the robot movement control method comprises:calculating, based on a movement pattern of a worker, a score for each of picking stations corresponding to locations respectively accommodating a plurality of items to be picked by at least one robot;setting a priority for each of the picking stations based on the respective scores of the picking stations; andcontrolling the at least one robot based on the respective priorities of the picking stations,wherein each of the locations is associated with at least one picking station,wherein the at least one picking station is defined as a movement node at which the at least one robot can stop to pick an item, andwherein the controlling comprises:controlling the at least one robot such that the at least one robot sequentially moves among the picking stations according to the respective priorities of the picking stations.13.A computer apparatus configured to perform a robot movement control method in conjunction with at least one robot, the computer apparatus comprising:at least one processor configured to execute computer-readable instructions,wherein the at least one processor comprises:a determination unit configured to calculate, based on a movement pattern of a worker, a score for each of picking stations corresponding to locations respectively accommodating a plurality of items to be picked by at least one robot;a setting unit configured to set a priority for each of the picking stations based on the respective scores of the picking stations; anda control unit configured to control the at least one robot based on the respective priorities of the picking stations,wherein each of the locations is associated with at least one picking station,wherein the at least one picking station is defined as a movement node at which the at least one robot can stop to pick an item, andwherein the control unit is configured to control the at least one robot such that the at least one robot sequentially moves among the picking stations according to the respective priorities of the picking stations.

Citation Information

Patent Citations

  • Item picking method and device

    JP2020505293A

  • Travel route setting device, autonomous mobile robot control system including the same, travel route setting method, and travel route setting program

    JP2022178183A

  • Light emitting device and and electronic apparatus comprising same

    KR1020250164047A

  • Multipurpose hanger for SUV / RV cars

    KR1020250169661A

  • Robot movement control method and system

    KR102736332B1