KR20240029952A - Apparatus and method for planning tasks in which parts transportation is automated based on reinforcement learning through interworking with production management systems - Google Patents

Apparatus and method for planning tasks in which parts transportation is automated based on reinforcement learning through interworking with production management systems Download PDF

Info

Publication number
KR20240029952A
KR20240029952A KR1020220108354A KR20220108354A KR20240029952A KR 20240029952 A KR20240029952 A KR 20240029952A KR 1020220108354 A KR1020220108354 A KR 1020220108354A KR 20220108354 A KR20220108354 A KR 20220108354A KR 20240029952 A KR20240029952 A KR 20240029952A
Authority
KR
South Korea
Prior art keywords
pallet
order
task
distribution unit
parts
Prior art date
Application number
KR1020220108354A
Other languages
Korean (ko)
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
Application filed by 한국로봇융합연구원 filed Critical 한국로봇융합연구원
Priority to KR1020220108354A priority Critical patent/KR20240029952A/en
Publication of KR20240029952A publication Critical patent/KR20240029952A/en

Links

Images

Classifications

    • 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/0221Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving a learning process
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/41865Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by job scheduling, process planning, material flow
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/4188Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by CIM planning or realisation
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/4189Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by the transport system
    • G05B19/41895Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by the transport system using automatic guided vehicles [AGV]
    • 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/0276Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0633Workflow analysis
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Automation & Control Theory (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Theoretical Computer Science (AREA)
  • Manufacturing & Machinery (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Software Systems (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • Computing Systems (AREA)
  • Educational Administration (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Development Economics (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Game Theory and Decision Science (AREA)
  • Data Mining & Analysis (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • General Factory Administration (AREA)

Abstract

계획 장치가 제공된다. 상기 계획 장치는 주문 정보를 획득하는 획득부; 상기 주문 정보를 달성하기 위해 필요한 제1 작업을 생성하는 생성부; 상기 제1 작업의 과정이 1차 세분화된 제2 작업을 작업기에 분배하는 분배부; 각 작업기별로 상기 제2 작업의 과정이 2차 세분화된 제3 작업을 계획하는 계획부;를 포함할 수 있다.A planning device is provided. The planning device includes an acquisition unit that obtains order information; a generating unit that generates a first task necessary to achieve the order information; a distribution unit that distributes the second task, in which the process of the first task is initially subdivided, to the working machine; It may include a planning unit that plans a third task in which the process of the second task is divided into two parts for each work machine.

Description

생산 관리 시스템과의 연동을 통한 강화 학습 기반 부품 운송 자동화 작업 계획 장치 및 방법{Apparatus and method for planning tasks in which parts transportation is automated based on reinforcement learning through interworking with production management systems}Apparatus and method for planning tasks in which parts transportation is automated based on reinforcement learning through interworking with production management systems}

본 발명은 부품 운송이 자동화된 작업을 계획하는 장치 및 방법에 관한 것이다.The present invention relates to an apparatus and method for scheduling automated parts transport.

자율 주행 로봇을 활용하여 물류 자동화를 실현하는 방안이 마련될 수 있다.A plan can be developed to realize logistics automation using autonomous robots.

일 예로, 명령을 생성하고, 로봇을 선택하고, 이동 동선을 산출하고, 작업 명령을 생성하는 원격 관제 시스템이 제안될 수 있다.As an example, a remote control system that generates a command, selects a robot, calculates a movement path, and generates a work command may be proposed.

하지만, 최적의 이동 동선을 생성하는 구체적인 기술은 없는 상태이며, 이로 인해 자율 주행 로봇을 활용한 물류 자동화는 보급화가 제한되고 있다.However, there is no specific technology to create optimal movement routes, and as a result, distribution of logistics automation using self-driving robots is limited.

한국공개특허공보 제2019-0146945호에는 작업 명령을 수신하면, 동선을 따라서 자율 주행하면서 물건을 임의의 지점에서 다른 지점으로 운반하는 자율 주행 로봇 기술이 개시되고 있다.Korean Patent Publication No. 2019-0146945 discloses a self-driving robot technology that transports objects from a random point to another point while autonomously driving along a moving line upon receiving a work command.

한국공개특허공보 제2019-0146945호Korea Patent Publication No. 2019-0146945

본 발명은 부품 주문에 따라 작업을 생성하고, 생성된 작업을 각 작업기에 분배하며, 세부적인 작업기의 액션을 계획(플래닝)함으로써, 각종 부품을 공정 라인에 신속하게 공급하는 작업 계획을 수립하는 계획 장치 및 방법을 제공하기 위한 것이다.The present invention is a plan to establish a work plan to quickly supply various parts to the process line by creating work according to the parts order, distributing the created work to each work machine, and planning the detailed actions of the work machine. It is intended to provide a device and method.

본 발명의 계획 장치는 주문 정보를 획득하는 획득부; 상기 주문 정보를 달성하기 위해 필요한 제1 작업을 생성하는 생성부; 상기 제1 작업의 과정이 1차 세분화된 제2 작업을 작업기에 분배하는 분배부; 각 작업기별로 상기 제2 작업의 과정이 2차 세분화된 제3 작업을 계획하는 계획부;를 포함할 수 있다.The planning device of the present invention includes an acquisition unit that acquires order information; a generating unit that generates a first task necessary to achieve the order information; a distribution unit that distributes the second task, in which the process of the first task is initially subdivided, to the working machine; It may include a planning unit that plans a third task in which the process of the second task is divided into two parts for each work machine.

상기 분배부는 상기 작업기의 무브 액션(move action)이 최소화되는 방향으로 강화 학습을 수행하고, 최소화된 무브 액션을 갖도록 상기 제2 작업을 생성할 수 있다.The distribution unit may perform reinforcement learning in a direction that minimizes the move action of the work machine and generates the second task to have the minimized move action.

본 발명의 계획 방법은 각 공정 라인에서 필요로 하는 부품을 파악하는 생성 단계; 상기 부품의 운송 작업을 생성하고 작업기에 할당 또는 분배하는 분배 단계;를 포함할 수 있다.The planning method of the present invention includes a creation step of identifying parts needed for each process line; It may include a distribution step of creating a transport job for the part and assigning or distributing it to a working machine.

상기 작업기가 한 번에 적재 가능한 팔레트의 개수가 상한 개수로 정의되고, 팔레트를 적재하거나 하역하는 순서에 해당하는 팔레트 순서가 정의될 때, 상기 분배 단계는 상기 상한 개수를 만족하는 범위 내에서 상기 부품의 운송 회수가 최소화되는 방향으로 상기 팔레트 순서를 설정할 수 있다.When the number of pallets that the working machine can load at one time is defined as the upper limit number, and the pallet order corresponding to the order of loading or unloading the pallets is defined, the distribution step is performed by selecting the parts within the range that satisfies the upper limit number. The pallet order can be set in a way that minimizes the number of transports.

본 발명의 계획 장치 및 계획 방법에 따르면, ERP/MES와 같은 제조 현장의 생산관리 시스템과의 연동을 통해 각 공정 라인에서 필요한 부품이 파악될 수 있다. 또한, 본 발명에 따르면, 이렇게 획득된 정보와 강화 학습을 기반으로 운송 작업 등이 생성되고 할당될 수 있다.According to the planning device and planning method of the present invention, required parts in each process line can be identified through linkage with a production management system at the manufacturing site such as ERP/MES. Additionally, according to the present invention, transportation tasks, etc. can be created and assigned based on the information obtained in this way and reinforcement learning.

본 발명에 따르면, 작업기가 최소한의 이동으로 각 공정 라인에 부품을 운송하고 빈 팔레트를 회수할 수 있는 최적화된 작업을 계획할 수 있는 시스템이 제공될 수 있다.According to the present invention, a system can be provided in which workers can plan optimized operations in which workers can transport parts to each process line and retrieve empty pallets with minimal movement.

도 1은 본 발명의 계획 장치를 나타낸 블록도이다.
도 2는 주문 정보를 나타낸 도표이다.
도 3은 부품 잔여량과 팔레트 정보를 나타낸 도표이다.
도 4는 제조 정보를 나타낸 도표이다.
도 5는 생성부에서 생성된 제1 작업을 나타낸 도표이다.
도 6은 분배부의 동작을 나타낸 흐름도이다.
도 7은 본 발명의 계획 방법을 나타낸 흐름도이다.
도 8은 본 발명의 실시예에 따른, 컴퓨팅 장치를 나타내는 도면이다.
1 is a block diagram showing a planning device of the present invention.
Figure 2 is a table showing order information.
Figure 3 is a table showing remaining parts and pallet information.
Figure 4 is a table showing manufacturing information.
Figure 5 is a diagram showing the first task created in the generation unit.
Figure 6 is a flow chart showing the operation of the distribution unit.
Figure 7 is a flowchart showing the planning method of the present invention.
8 is a diagram illustrating a computing device according to an embodiment of the present invention.

아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다. Below, with reference to the attached drawings, embodiments of the present invention will be described in detail so that those skilled in the art can easily implement the present invention. However, the present invention may be implemented in many different forms and is not limited to the embodiments described herein. In order to clearly explain the present invention in the drawings, parts not related to the description are omitted, and similar parts are given similar reference numerals throughout the specification.

본 명세서에서, 동일한 구성요소에 대해서 중복된 설명은 생략한다.In this specification, duplicate descriptions of the same components are omitted.

또한 본 명세서에서, 어떤 구성요소가 다른 구성요소에 '연결되어' 있다거나 '접속되어' 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에 본 명세서에서, 어떤 구성요소가 다른 구성요소에 '직접 연결되어' 있다거나 '직접 접속되어' 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.Also, in this specification, when a component is mentioned as being 'connected' or 'connected' to another component, it may be directly connected or connected to the other component, but may be connected to the other component in the middle. It should be understood that may exist. On the other hand, in this specification, when it is mentioned that a component is 'directly connected' or 'directly connected' to another component, it should be understood that there are no other components in between.

또한, 본 명세서에서 사용되는 용어는 단지 특정한 실시예를 설명하기 위해 사용되는 것으로써, 본 발명을 한정하려는 의도로 사용되는 것이 아니다.Additionally, the terms used in this specification are merely used to describe specific embodiments and are not intended to limit the present invention.

또한 본 명세서에서, 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. Also, in this specification, singular expressions may include plural expressions, unless the context clearly dictates otherwise.

또한 본 명세서에서, '포함하다' 또는 '가지다' 등의 용어는 명세서에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품, 또는 이들을 조합한 것이 존재함을 지정하려는 것일 뿐, 하나 또는 그 이상의 다른 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 할 것이다.In addition, in this specification, terms such as 'include' or 'have' are only intended to designate the presence of features, numbers, steps, operations, components, parts, or combinations thereof described in the specification, and one or more It should be understood that this does not exclude in advance the presence or addition of other features, numbers, steps, operations, components, parts, or combinations thereof.

또한 본 명세서에서, '및/또는' 이라는 용어는 복수의 기재된 항목들의 조합 또는 복수의 기재된 항목들 중의 어느 항목을 포함한다. 본 명세서에서, 'A 또는 B'는, 'A', 'B', 또는 'A와 B 모두'를 포함할 수 있다.Also, in this specification, the term 'and/or' includes a combination of a plurality of listed items or any of the plurality of listed items. In this specification, 'A or B' may include 'A', 'B', or 'both A and B'.

또한 본 명세서에서, 본 발명의 요지를 흐리게 할 수 있는 공지 기능 및 구성에 대한 상세한 설명은 생략될 것이다.Additionally, in this specification, detailed descriptions of well-known functions and configurations that may obscure the gist of the present invention will be omitted.

도 1은 본 발명의 계획 장치(100)를 나타낸 블록도이다.Figure 1 is a block diagram showing a planning device 100 of the present invention.

도 1에 도시된 계획 장치(100)는 획득부(110), 생성부(130), 분배부(150), 계획부(170)를 포함할 수 있다. 주문 정보에 포함된 제품의 제조에 필요한 부품을 각 공정 라인에 대해 실어 나르는 자율 주행 로봇 등의 작업기가 마련될 수 있다. 도 1의 계획 장치(100)는 해당 작업기의 작업을 계획할 수 있다. 작업기는 복수의 부품이 탑재된 팔레트의 단위로 부품을 운송할 수 있다. 작업기의 작업 계획에는 부품이 실린 팔레트를 이송하는 과정뿐만 아니라, 각 공정 라인에 놓인 빈 팔레트를 회수하는 과정도 포함될 수 있다.The planning device 100 shown in FIG. 1 may include an acquisition unit 110, a generation unit 130, a distribution unit 150, and a planning unit 170. Work machines, such as self-driving robots, can be provided to carry the parts necessary for manufacturing the products included in the order information to each process line. The planning device 100 of FIG. 1 can plan the work of the corresponding work machine. The work machine can transport parts as a unit of a pallet on which a plurality of parts are mounted. The work plan of the work machine may include not only the process of transferring pallets loaded with parts, but also the process of retrieving empty pallets placed in each process line.

획득부(110)는 주문 정보 i1을 획득할 수 있다. 주문 정보 i1에는 납기 기일, 제품의 개수, 제품의 종류, 제품의 규격 등이 포함될 수 있다.The acquisition unit 110 may acquire order information i1. Order information i1 may include delivery date, number of products, type of product, product specifications, etc.

생성부(130)는 주문 정보 i1을 달성하기 위해 필요한 제1 작업을 생성할 수 있다.The generator 130 may generate the first task necessary to achieve order information i1.

일 예로, 제1 작업은 'a 공정 라인에 1번 부품을 가져다 놓아라'와 같이 제품 생산에 필요한 전체 과정 중 공정 라인 중심의 일부 작업만 정의될 수 있다.As an example, the first task may be defined as only a part of the process line-centered task among the entire process required to produce a product, such as 'bring part number 1 to a process line.'

제품을 조립하기 위해 a 공정 라인이 작업기에 요구하는 것은 오직 1번 부품을 가져오라는 것 한가지만 존재할 수 있다. 이것이 제1 작업에 해당될 수 있다. 하지만, 작업기는 제1 작업만으로 정상 동작할 수 없다. 일 예로, 작업기는 1번 부품을 어디에서 적재해야 할지 모르기 때문이다.In order to assemble a product, a process line may require only one work machine to bring part number 1. This may correspond to the first task. However, the work machine cannot operate normally with only the first task. For example, this is because the work machine does not know where to load part 1.

작업기를 정상적으로 동작시키기 위해서는 제1 작업이 1차로 세분화된 제2 작업이 요구된다.In order to operate the work machine normally, a second task in which the first task is subdivided into primary tasks is required.

분배부(150)는 제1 작업의 과정이 1차 세분화된 제2 작업을 생성하고 작업기에 분배할 수 있다.The distribution unit 150 may create a second job in which the process of the first job is divided into primary parts and distribute it to the work machine.

재2 작업은 작업기가 제1 작업을 달성하는데 필요한 추가 작업을 포함할 수 있다. 제2 작업은 복수로 세분화된 추가 작업을 포함할 수 있으며, 해당 추가 작업 중 하나에 제1 작업이 포함될 수 있다. 또는, 복수의 추가 작업은 제1 작업을 잘게 쪼개 놓은 것일 수 있다. 이 경우, 복수의 추가 작업이 모두 수행되면 자연스럽게 제1 작업이 달성될 수 있다.The second task may include additional work required by the worker to accomplish the first task. The second task may include a plurality of subdivided additional tasks, and one of the additional tasks may include the first task. Alternatively, the plurality of additional tasks may be pieces of the first task. In this case, when all of the plurality of additional tasks are performed, the first task can be naturally achieved.

예를 들어, 창고에 가서 1번 부품을 적재하는 제2 작업, 1번 부품의 적재가 완료되면 a 공정 라인까지 이동하고 a 공정 라인에 도착하면 1번 부품을 하역하는 제2 작업이 마련될 수 있다. 이상의 2개의 제2 작업이 모두 수행되면, a 공정 라인에 1번 부품을 가져다 놓는 제1 작업이 완료될 수 있다.For example, a second task can be arranged to go to the warehouse and load part 1, and when the loading of part 1 is completed, move to process line a and unload part 1 when it arrives at process line a. there is. When all of the above two second operations are performed, the first operation of placing part 1 on process line a can be completed.

다른 예로, 창고에 가서 1번 부품을 2개 적재하는 제2 작업, 1번 부품의 적재가 완료되면 b 공정 라인까지 이동하고 b 공정 라인에 도착하면 1번 부품을 1개 하역하는 제2 작업, b 공정 라인으로부터 a 공정 라인까지 이동하고 a 공정 라인에 도착하면 1번 부품을 1개 하역하는 제2 작업을 포함할 수 있다. 이상의 3개의 제2 작업이 모두 수행되면, 중간에 b 공정 라인에도 1번 부품을 가져다 놓는 공정이 추가되기는 했지만 결과적으로 a 공정 라인에 1번 부품을 가져다 놓는 제1 작업이 완료될 수 있다.As another example, the second task is to go to the warehouse and load two parts No. 1, and when the loading of part No. 1 is completed, move to the b process line, and when it arrives at the b process line, the second task is to unload one part No. 1. It may include a second operation of moving from process line b to process line a and unloading one part 1 when arriving at process line a. When all of the above three second operations are performed, the first operation of placing component No. 1 on process line a can be completed, although a process of placing part No. 1 on process line b is added in the middle.

분배부(150)는 작업기의 무브 액션(move action)이 최소화되는 방향으로 강화 학습을 수행하고, 최소화된 무브 액션을 갖도록 제2 작업을 생성할 수 있다. 무브 액션은 작업기가 현재 위치에서 다른 곳까지 주행하는 액션을 의미할 수 있다.The distribution unit 150 may perform reinforcement learning in a direction that minimizes the move action of the work machine and generates the second task to have the minimized move action. A move action may mean an action in which a work machine travels from its current location to another location.

일 예로, 1번 부품을 a 공정 라인에 갖다 놓고, 2번 부품을 b 공정 라인에 갖다 놓으라는 제1 작업이 생성부(130)에 의해 생성될 수 있다.As an example, a first task may be generated by the generation unit 130 to place part 1 in process line A and place part 2 in process line B.

이 경우, 분배부(150)는 다음의 제1 실시예와 같이 제2 작업을 생성하고 작업기에 분배할 수 있다.In this case, the distribution unit 150 may create a second job and distribute it to the work machine as in the first embodiment below.

1) 창고에서 1번 부품 적재(팔레트 단위)1) Loading part 1 in the warehouse (pallet unit)

2) a 공정 라인으로 이동2) Move to a process line

3) a 공정 라인에 1번 부품 하역, a 공정 라인에 존재하는 빈 제1 팔레트 회수3) Unloading part 1 into process line a, recovering the empty first pallet present in process line a.

4) 창고로 복귀4) Return to warehouse

5) 창고에 빈 제1 팔레트를 하역하고, 창고에서 2번 부품 적재5) Unload the first empty pallet into the warehouse and load the second part into the warehouse.

6) b 공정 라인으로 이동6) Move to process line b

7) b 공정 라인에 2번 부품 하역, b 공정 라인에 존재하는 빈 제2 팔레트 회수7) Unloading part 2 in process line b, recovering the empty second pallet present in process line b.

8) 다시 창고로 복귀8) Return to warehouse

9) 창고에 빈 제2 팔레트를 하역9) Unloading the empty second pallet into the warehouse

이상의 제2 작업 중에서 2) a 공정 라인으로 이동, 4) 창고로 복귀, 6) b 공정 라인으로 이동, 8) 다시 창고로 복귀가 무브 액션에 해당될 수 있다.Among the above second tasks, 2) moving to process line a, 4) returning to the warehouse, 6) moving to process line b, and 8) returning back to the warehouse may correspond to move actions.

위 실시예에서 무브 액션은 총 4개이다.In the above example, there are a total of 4 move actions.

분배부(150)는 작업기의 a 부품이 탑재된 제1 팔레트의 정보, b 부품의 탑재된 제2 팔레트의 정보를 이용하여, 작업기에 제1 팔레트와 제2 팔레트를 한꺼번에 적재할 수 있는지 판단할 수 있다.The distribution unit 150 determines whether the first pallet and the second pallet can be loaded on the work machine at the same time using the information on the first pallet on which part a of the work machine is mounted and the information on the second pallet on which part b is mounted. You can.

분배부(150)는 작업기에 제1 팔레트와 제2 팔레트가 함께 적재 가능한 것으로 파악되면, 다음의 제2 실시예와 같이 제2 작업을 생성할 수 있다.If it is determined that the first pallet and the second pallet can be loaded together on the work machine, the distribution unit 150 may create a second job as in the second embodiment below.

1) 창고에서 1번 부품과 2번 부품을 적재(팔레트 단위)1) Load part 1 and part 2 in the warehouse (pallet unit)

2) a 공정 라인으로 이동2) Move to a process line

3) a 공정 라인에 1번 부품 하역, a 공정 라인에 존재하는 빈 제1 팔레트 회수3) Unloading part 1 into process line a, recovering the empty first pallet present in process line a.

4) b 공정 라인으로 이동4) Move to process line b

5) b 공정 라인에 2번 부품 하역, b 공정 라인에 존재하는 빈 제2 팔레트 회수5) Unloading part 2 into process line b, recovering the empty second pallet from process line b.

6) 창고로 복귀6) Return to warehouse

7) 창고에 빈 제1 팔레트 및 빈 제2 팔레트를 하역7) Unloading empty first pallet and empty second pallet into warehouse

이상의 제2 작업 중에서 2) a 공정 라인으로 이동, 4) b 공정 라인으로 이동, 6) 창고로 복귀가 무브 액션에 해당될 수 있다.Among the above second tasks, 2) moving to process line a, 4) moving to process line b, and 6) returning to the warehouse may correspond to move actions.

이상의 제2 작업 중에서 1) 창고에서 1번 부품과 2번 부품을 적재하는 내용은 (Pick, 창고, 부품1, 1개, 부품2, 1개)와 같이 하나의 작업을 표현될 수 있다. 그러나, 실제로는 (Pick, 창고, 부품1), (Pick, 창고, 부품2)와 같이 2개의 작업을 포함할 수 있다. 왜냐하면, 하나의 작업을 무조건 하나의 팔레트를 대상으로 하기 때문이다. 이때, 1번 부품의 적재를 나타내는 (Pick, 창고, 부품1)과 2번 부품의 적재를 나타내는 (Pick, 창고, 부품2) 중 어느 것을 먼저 수행할지에 대한 문제가 발생될 수 있다. 로봇의 적재 방식, 하역 방식에 따라 해당 순서는 변경될 수 있다. 예를 들어, 나중에 적재된 팔레트를 먼저 하역하는 방식인 경우, 1번 부품과 2번 부품 중 먼저 하역되는 1번 부품이 2번 부품보다 후에 적재되는 것이 바람직할 수 있다.Among the above second tasks, 1) loading part 1 and part 2 in the warehouse can be expressed as one task as (Pick, warehouse, part 1, 1 piece, part 2, 1 piece). However, in reality, it may contain two operations, such as (Pick, warehouse, part 1) and (Pick, warehouse, part 2). This is because one task unconditionally targets one palette. At this time, a problem may arise as to which of (Pick, warehouse, part 1), which indicates the loading of part 1, or (Pick, warehouse, part 2), which indicates the loading of part 2, is performed first. The order may change depending on the loading and unloading method of the robot. For example, in the case of a method of unloading a pallet loaded later, it may be desirable for part 1, which is unloaded first, to be loaded after part 2 among parts 1 and 2.

위 실시예에서 무브 액션은 총 3개이다. 앞의 실시예와 비교하여 무브 액션이 1개 줄어든 것을 확인할 수 있다. 비록 1개의 무브 액션이 제거된 것에 불과할 수 있지만, 제1 작업이 복수로 누적되는 경우 그 차이는 현저하게 나타날 것이 자명하다. 작업기의 이동 시간이 증가한다는 것은 전체 작업 시간이 증가하는 것을 의미한다. 전체 작업 시간을 줄이기 위해 작업기가 추가로 투입될 수 있는데, 이 경우 복수 작업기 간의 간섭, 충돌을 방지하기 위한 스케쥴 작업이 추가될 필요가 있다.In the above example, there are a total of three move actions. It can be seen that the number of move actions has been reduced by one compared to the previous example. Although one move action may only be removed, it is obvious that the difference will be noticeable if the first task is accumulated multiple times. Increasing the movement time of the work machine means that the overall working time increases. Additional work machines may be added to reduce the overall work time. In this case, schedule work needs to be added to prevent interference and collisions between multiple work machines.

전체 작업 시간을 단축하고, 작업기의 추가 투입과 별도의 스케쥴 작업의 마련을 최대한 억제하기 위해, 결과적으로, 작업기의 이동 시간은 최소화되는 것이 좋다. 작업기의 이동 시간을 최소화하기 위해, 무브 액션의 개수는 적을수록 좋다.In order to shorten the overall work time and minimize the input of additional work machines and the preparation of separate schedule work, it is better to minimize the movement time of the work machine as a result. To minimize the movement time of the work machine, the fewer the number of move actions, the better.

계획부(170)는 각 작업기별로 제2 작업의 과정이 2차 세분화된 제3 작업을 생성 또는 계획할 수 있다. 제3 작업을 작업기의 세부 제어 항목을 포함할 수 있다. 일 예로, a 공정 라인에 1번 부품 하역하라는 제2 작업을 실행하기 위해, 현실적으로 작업기는 복수의 제3 작업을 수행할 필요가 있다. 예를 들어, 이때의 제3 작업은 기설정된 a 공정 라인의 하역 위치로 작업기 이동, a 공정 라인을 기준으로 설정 각도만큼 회전, 제1 부품을 하역, a 공정 라인에 존재하는 빈 팔레트의 배치 위치를 향해 회전, 빈 팔레트를 적재 등을 포함할 수 있다.The planning unit 170 may create or plan a third task in which the process of the second task is subdivided for each work machine. The third task may include detailed control items of the work machine. For example, in order to perform the second task of unloading part 1 into a process line, the work machine needs to realistically perform a plurality of third tasks. For example, the third task at this time is moving the work tool to the unloading position of the preset process line a, rotating the a set angle based on the process line, unloading the first part, and placing the empty pallet in the process line a. This can include turning towards, loading empty pallets, etc.

무브 액션의 개수를 최소화하기 위해 주문 정보 i1 외에 추가 정보가 요구된다. 해당 정보를 획득하기 위해 획득부(110)는 주문 정보 i1을 관리하는 ERP(Enterprise Resource Planning) 또는 MES(Manufacturing Execution System) 중 적어도 하나가 탑재된 주문 서버와 통신할 수 있다.In order to minimize the number of move actions, additional information in addition to order information i1 is required. To obtain the information, the acquisition unit 110 may communicate with an order server equipped with at least one of ERP (Enterprise Resource Planning) or MES (Manufacturing Execution System) that manages order information i1.

획득부(110)는 주문 서버로부터 주문 정보 i1, 현재 공정 라인의 부품 잔여량 i2, 회수가 필요한 팔레트 정보 i3를 획득할 수 있다.The acquisition unit 110 may acquire order information i1, remaining part quantity i2 in the current process line, and pallet information i3 requiring recovery from the order server.

분배부(150)는 주문 정보 i1, 부품 잔여량 i2, 팔레트 정보 i3를 모두 이용하여 제2 작업을 생성하고 작업기에 분배할 수 있다.The distribution unit 150 may create a second job using all of the order information i1, the remaining part amount i2, and the pallet information i3 and distribute it to the work machine.

획득부(110)는 주문 서버뿐만 아니라 다양한 경로를 통해 주문 정보 i1, 현재 공정 라인의 부품 잔여량 i2, 회수가 필요한 팔레트 정보 i3를 획득할 수 있다.The acquisition unit 110 may acquire order information i1, remaining part quantity i2 in the current process line, and pallet information i3 requiring recovery through various paths as well as the order server.

분배부(150)는 팔레트 정보 i3의 분석을 통해 작업기가 한 번에 적재 가능한 팔레트의 개수에 해당하는 상한 개수를 파악할 수 있다. 상한 개수를 파악하기 위해 분배부(150)는 사전에 작업기의 적재 용량을 입수한 상태일 수 있다.The distribution unit 150 can determine the upper limit number corresponding to the number of pallets that the work machine can load at one time through analysis of pallet information i3. In order to determine the upper limit number, the distribution unit 150 may obtain the loading capacity of the work machine in advance.

분배부(150)는 각 공정 라인의 부품 잔여량 i2와 주문 정보 i1의 분석을 통해 팔레트를 적재하거나 하역하는 순서에 해당하는 팔레트 순서를 설정할 수 있다. 이때의 팔레트 순서에 따라 위의 제1 실시예와 같이 작업기의 무브 액션의 개수, 무브 액션의 순서가 일단 결정될 수 있다.The distribution unit 150 may set a pallet order corresponding to the order of loading or unloading pallets through analysis of the remaining part quantity i2 and order information i1 of each process line. At this time, according to the palette order, the number of move actions of the work machine and the order of move actions can be determined as in the first embodiment above.

분배부(150)는 상한 개수와 팔레트 순서의 분석을 통해 작업기가 작업 영역 내에서 주행하는 무브 액션의 개수를 파악할 수 있다.The distribution unit 150 can determine the number of move actions in which the work machine travels within the work area through analysis of the upper limit number and pallet order.

분배부(150)는 무브 액션의 개수가 최소화되도록 팔레트 순서를 보정할 수 있다.The distribution unit 150 may correct the palette order to minimize the number of move actions.

분배부(150)는 보정된 팔레트 순서가 포함된 제2 작업을 생성할 수 있다. 일 예로, 분배부(150)는 앞에서 설명된 제2 실시예와 같이 제2 작업을 생성할 수 있다.The distribution unit 150 may create a second job containing the corrected pallet order. As an example, the distribution unit 150 may create a second job as in the second embodiment described above.

분배부(150)는 파악된 복수의 무브 액션 중에서 동일한 주행 경로를 사용하는 복수의 무브 액션을 단일의 공통 액션으로 통합할 수 있다.The distribution unit 150 may integrate a plurality of move actions using the same driving path into a single common action among the identified plurality of move actions.

일 예로, 위의 제1 실시예에서 2개의 무브 액션 '4) 창고로 복귀'와 '8) 다시 창고로 복귀'는 동일한 주행 경로를 사용한다. 이 경우, 분배부(150)는 제2 실시예와 같이 2개의 무브 액션을 단일의 공통 액션 '6) 창고로 복귀'로 통합할 수 있다.For example, in the first embodiment above, the two move actions '4) return to warehouse' and '8) return to warehouse' use the same driving path. In this case, the distribution unit 150 may integrate the two move actions into a single common action '6) Return to warehouse', as in the second embodiment.

복수의 무브 액션을 단일의 공통 액션으로 통합하기 위해서는, 공통 액션으로 통합된 복수의 무브 액션의 앞의 단계 또는 뒤의 단계에서 수행이 예정되었던 팔레트 순서가 변경될 필요가 있다.In order to integrate multiple move actions into a single common action, the palette order scheduled to be performed in the step before or after the multiple move actions integrated into the common action needs to be changed.

이때, 분배부(150)는 공통 액션이 달성 가능하도록 팔레트 순서를 보정할 수 있다.At this time, the distribution unit 150 may correct the palette order so that a common action can be achieved.

공통 액션은 동일 주행 경로를 사용하는 복수의 무브 액션 중에서 가장 마지막에 수행되는 무브 액션으로 통합될 수 있다. 따라서, 그 앞의 무브 액션에 대한 팔레트 순서가 동일 주행 경로를 미사용하도록 분배부(150)에 의해 조절될 수 있다. 해당 팔레트 순서의 조절, 보정에 강화 학습이 이용될 수 있다.A common action may be integrated into the last move action performed among a plurality of move actions using the same driving path. Accordingly, the palette order for the preceding move action can be adjusted by the distribution unit 150 so as not to use the same travel path. Reinforcement learning can be used to control and correct the palette order.

계획 장치(100)는 다음과 같이 동작할 수 있다.Planning device 100 may operate as follows.

생성부(130)는 공정 라인에 필요한 수량의 부품을 운송하고, 사용 완료된 부품의 팔레트를 회수하는 제1 작업을 생성할 수 있다.The generation unit 130 may create a first task of transporting the required quantity of parts to the process line and recovering a pallet of used parts.

생성부(130)는 제1 작업의 생성을 위해서 ERP/MES와 같은 제조 현장의 생산 관리 시스템, 주문 서버와의 연동을 통해 입력된 주문 정보 i1과 현재 공장 공정 라인들의 잔여 부품 수가 포함된 부품 잔여량 i2, 빈 팔레트 수가 포함된 팔레트 정보 i3를 전달받을 수 있다.In order to create the first job, the creation unit 130 includes order information i1 entered through linkage with a production management system at the manufacturing site such as ERP/MES and an order server, and a parts remaining quantity including the number of remaining parts in the current factory process lines. You can receive palette information i2, i3, which includes the number of empty palettes.

주문 정보 i1에는 한 제품을 생산하기 위해 필요한 부품 종류와 수, 가동되어야 하는 공정 라인 등의 제조 정보가 추가로 포함될 수 있다.Ordering information i1 may additionally include manufacturing information such as the type and number of parts needed to produce a product and the processing line that must be operated.

생성부(130)는 여러 개의 단위 작업(제1 작업)을 출력하며, 하나의 단위 작업은 (라인 A, 부품 3)과 같이 표현될 수 있다. (라인 a, 부품 3)는 부품 3이 탑재된 한 개의 팔레트를 라인 a에 이송하는 작업을 의미할 수 있다.The generator 130 outputs several unit operations (first operations), and one unit operation may be expressed as (line A, part 3). (Line a, part 3) may refer to the operation of transferring one pallet loaded with part 3 to line a.

분배부(150)는 제1 작업을 기초로 제2 작업에 해당되는 작업기의 액션 리스트(action list)를 생성할 수 있다.The distribution unit 150 may generate an action list of a work machine corresponding to the second task based on the first task.

분배부(150)는 강화 학습 알고리즘 기반으로 구성되고 각 단계(state)마다 액션(action)의 성공 여부와 무브 액션(move action) 수의 최대값을 리워드(reward)로 받을 수 있다.The distribution unit 150 is configured based on a reinforcement learning algorithm and can receive a reward based on whether the action is successful or not and the maximum number of move actions at each stage (state).

복수의 로봇이 수행하는 작업을 예로 들어 분배부(150)의 동작을 설명한다.The operation of the distribution unit 150 will be explained using tasks performed by a plurality of robots as an example.

예를 들어, A공정에 부품1 팔레트 1개, 부품3 팔레트 1개 & B공정에 부품1 팔레트 1개, 부품4 팔레트 1개를 공급하고, A공정 팔레트 2개, B공정 팔레트 1개를 회수하는 작업이 다음과 같이 생성될 수 있다.For example, 1 pallet of Part 1 and 1 pallet of Part 3 are supplied to process A & 1 pallet of Part 1 and 1 pallet of Part 4 are supplied to process B, and 2 pallets of process A and 1 pallet of process B are recovered. A task can be created as follows:

[(A,1), (A,3), (B,1), (B,4), (A,P), (A,P), (B,P)][(A,1), (A,3), (B,1), (B,4), (A,P), (A,P), (B,P)]

(A,1)은 A공정에 부품1 팔레트 1개를 공급하라는 것을 의미할 수 있다.(A,1) may mean supplying one pallet of Part 1 to process A.

(A,3)은 A공정에 부품3 팔레트 1개를 공급하라는 것을 의미할 수 있다.(A,3) may mean supplying one pallet of Part 3 to process A.

(B,1)은 B공정에 부품1 팔레트 1개를 공급하라는 것을 의미할 수 있다.(B,1) may mean supplying one pallet of Part 1 to process B.

(B,4)는 B공정에 부품4 팔레트 1개를 공급하라는 것을 의미할 수 있다.(B,4) may mean supplying one pallet of part 4 to process B.

(A,P)는 A공정에서 빈 팔레트 1개를 회수하라는 것을 의미할 수 있다.(A,P) may mean to retrieve one empty pallet from process A.

생성부에 의해 생성된 각 작업을 오직 1개의 팔레트만을 대상으로 하므로, A공정에서 2개의 팔레트를 회수하기 위해 (A,P), (A,P)와 같이 동일한 회수 작업이 2개 생성될 수 있다.Since each job created by the generation unit targets only one pallet, two identical recovery jobs, such as (A,P) and (A,P), can be created to recover two pallets in process A. there is.

(B,P)는 B공정에서 빈 팔레트 1개를 회수하라는 것을 의미할 수 있다.(B,P) may mean to retrieve one empty pallet from process B.

분배부(150)가 배재되면, 로봇이 하나의 작업을 수행하고 완료하는 경우 다음 작업을 수행하도록 진행될 수 있다.If the distribution unit 150 is excluded, the robot can perform one task and, upon completion, proceed to perform the next task.

로봇1: (A,1), 로봇2: (A,3) -> 로봇1: (B,1), 로봇2: (B,4) -> 로봇1: (A,P), 로봇2: (A,P) -> 로봇1: (B,P)Robot 1: (A,1), Robot 2: (A,3) -> Robot 1: (B,1), Robot 2: (B,4) -> Robot 1: (A,P), Robot 2: (A,P) -> Robot 1: (B,P)

이 경우, 무브 액션의 개수는 로봇1 = 8번, 로봇2 = 6번(총합 = 14번)이다.In this case, the number of move actions is Robot 1 = 8, Robot 2 = 6 (total = 14).

분배부(150)가 적용되면, 액션(Action) 단위로 제2 작업이 생성될 수 있다.When the distribution unit 150 is applied, a second task may be created on an action basis.

(Pick,G,1),(Place,A,1),(Pick,G,3),(Place,A,3),(Pick,G,1),(Place,B,1),(Pick,G,4),(Place,B,4),(Pick,A,P),(Place,G,P),(Pick,A,P),(Place,G,P),(Pick,B,P),(Place,G,P)(Pick,G,1),(Place,A,1),(Pick,G,3),(Place,A,3),(Pick,G,1),(Place,B,1),(Pick ,G,4),(Place,B,4),(Pick,A,P),(Place,G,P),(Pick,A,P),(Place,G,P),(Pick,B ,P),(Place,G,P)

여기서, A,B는 공정을 나타내고, G는 창고를 나타내며, P는 빈 팔레트(회수)를 나타낸다.Here, A and B represent the process, G represents the warehouse, and P represents an empty pallet (recovery).

로봇1: (Pick,G,1),(Pick,G,3),(Place,A,3),(Place,A,1),(Pick,A,P),(Pick,A,P),(Place,G,P),(Place,G,P)Robot 1: (Pick,G,1),(Pick,G,3),(Place,A,3),(Place,A,1),(Pick,A,P),(Pick,A,P) ,(Place,G,P),(Place,G,P)

해석하면, 창고에서 1번 부품, 3번 부품 적재 후 A에 내려놓고 팔레트를 회수하여 창고로 운반하는 내용이다.To interpret, this means loading part 1 and part 3 in the warehouse, unloading them at A, recovering the pallet, and transporting it to the warehouse.

로봇2: (Pick,G,1),(Pick,G,4),(Place,B,4),(Place,B,1),(Pick,B,P),(Place,G,P)Robot 2: (Pick,G,1),(Pick,G,4),(Place,B,4),(Place,B,1),(Pick,B,P),(Place,G,P)

해석하면, 창고에서 1번 부품, 4번 부품 적재 후 B에 내려놓고 팔레트를 회수하여 창고로 운반하는 내용이다.To interpret, this means loading part 1 and part 4 in the warehouse, unloading them at B, recovering the pallet, and transporting it to the warehouse.

이때, 무브 액션의 개수는 로봇1 = 2번, 로봇2 = 2번(총합 = 4번)이다.At this time, the number of move actions is Robot 1 = 2 times, Robot 2 = 2 times (total = 4 times).

살펴보면, 순서대로 한 작업씩 처리하는 비교 실시예와 대비하여 무브 액션의 개수가 대폭 감소되는 것을 확인할 수 있다.Looking at it, it can be seen that the number of move actions is significantly reduced compared to the comparative example in which tasks are processed one by one in order.

분배부(150)에 의해 생성된 액션 리스트(제2 작업)는 작업기에 해당하는 실제 로봇의 작업 수행에 필요한 액션(action)으로 세분화될 필요가 있다.The action list (second task) generated by the distribution unit 150 needs to be subdivided into actions required to perform the task of the actual robot corresponding to the work machine.

부품이 탑재된 팔레트를 픽(Pick) 하는 하나의 액션(action)도 실제 로봇이 수행하기 위해서는 이동, 회전, 픽킹(Picking)을 위한 접근 등의 다양한 세부 액션(action)(제3 작업에 해당됨)이 필요하다. 이와 같은 세분화 작업은 계획부(170)에 의해 수행될 수 있다. 계획부(170)에 의해 생성된 세부 액션, 제3 작업은 작업기로 전달될 수 있다.In order for an actual robot to perform even the single action of picking a pallet loaded with parts, various detailed actions such as movement, rotation, and approach for picking are required (corresponding to a third task). This is needed. Such segmentation work may be performed by the planning unit 170. Detailed actions and third tasks generated by the planning unit 170 may be transferred to the work machine.

도 2는 주문 정보를 나타낸 도표이다. 도 3은 부품 잔여량과 팔레트 정보를 나타낸 도표이다. 도 4는 제조 정보를 나타낸 도표이다.Figure 2 is a table showing order information. Figure 3 is a table showing the remaining parts quantity and pallet information. Figure 4 is a table showing manufacturing information.

주문 정보 'order'에는 제품의 종류, 수량이 포함될 수 있다.Order information 'order' may include product type and quantity.

부품 잔여량과 팔레트 정보 'state'는 각 공정 라인에서 사용되는 부품의 종류와 잔량, 회수가 필요한 팔레트의 수를 포함할 수 있다.Part remaining quantity and pallet information 'state' may include the type and remaining amount of parts used in each process line, and the number of pallets that need to be recovered.

제조 정보에 해당하는 제품 생산 관련 정보는 각 제품을 생산하는데 필요한 공정 라인과 부품의 종류와 개수 정보를 포함할 수 있다. 제조 정보는 팔레트당 탑재 가능한 각 부품의 수량 정보를 포함할 수 있다.Product production-related information corresponding to manufacturing information may include information on the type and number of process lines and parts required to produce each product. Manufacturing information may include information on the quantity of each part that can be mounted per pallet.

도 5는 생성부(130)에서 생성된 제1 작업을 나타낸 도표이다.Figure 5 is a diagram showing the first task generated by the generation unit 130.

생성부(130)는 'Order' 정보의 제품별 주문량과 '제품 생산 관련 정보'의 제품별 생산에 필요한 부품수 정보를 이용하여 해당 주문에 필요한 총 부품 수량을 계산할 수 있다.The generation unit 130 can calculate the total quantity of parts required for the order using the order quantity for each product in the 'Order' information and the number of parts required for production for each product in the 'product production-related information'.

생성부(130)는 'state' 정보의 이용하여 각 라인에 필요한 부품 수를 계산할 수 있다.The generator 130 can calculate the number of parts required for each line using 'state' information.

생성부(130)는 계산된 각 라인에 필요한 부품 수와 제품 생산 관련 정보의 1 팔레트 당 부품 수 정보를 이용하여 운송이 필요한 부품을 팔레트 단위로 계산할 수 있다.The generation unit 130 can calculate the parts that need to be transported on a pallet basis using the calculated number of parts required for each line and the number of parts per pallet information in product production-related information.

생성부(130)는 (위치, 부품) 형태로 제1 작업을 생성하고 리스트(list) 형태로 저장할 수 있다.The creation unit 130 may create the first task in the form of (position, part) and store it in the form of a list.

생성부(130)는 빈 팔레트 회수와 관련된 제1 작업을 1개의 팔레트 당 (위치, 팔레트)의 형태로 생성하고 저장할 수 있다.The creation unit 130 may create and store the first task related to recovering empty pallets in the form of (position, pallet) per pallet.

일 예로, 주문 정보 i1과 생산 라인의 부품 잔여량 i2, 회수 팔레트 정보 i3, 제품 생산 관련 정보(제조 정보)를 이용하여 작업을 생성하는 과정은 다음과 같을 수 있다.As an example, the process of creating a job using order information i1, remaining part quantity i2 in the production line, recovery pallet information i3, and product production-related information (manufacturing information) may be as follows.

i1: 제품 1 30개 생산i1: Produce 30 units of product 1

생성부(130)는 제품 생산 관련 정보를 이용하여 생산에 필요한 부품을 계산, 설정할 수 있다. 예를 들어, 생성부(130)는 A공정에 부품1 450개, 부품2 30개, 부품3 60개 & B공정에 부품1 300개, 부품4 60개와 같이 설정할 수 있다.The generation unit 130 can calculate and set the parts required for production using product production-related information. For example, the generation unit 130 can be set to 450 parts 1, 30 parts 2, and 60 parts 3 in process A and 300 parts 1 and 60 parts 4 in process B.

생성부(130)는 부품 잔여량 i2를 이용하여 운송해야 하는 부품을 계산, 설정할 수 있다. 예를 들어, 생성부(130)는 A공정에 부품1 238개, 부품3 35개 & B공정에 부품1 162개, 부품4 38개를 설정할 수 있다.The generator 130 can calculate and set the parts that need to be transported using the remaining part quantity i2. For example, the generation unit 130 can set 238 parts 1 and 35 parts 3 in process A, and 162 parts 1 and 38 parts 4 in process B.

생성부(130)는 제품 생산 관련 정보를 이용하여 부품수를 팔레트 단위로 변환할 수 있다. 예를 들어, 생성부(130)는 A공정에 부품1 팔레트 1개, 부품3 팔레트 1개 & B공정에 부품1 팔레트 1개, 부품4 팔레트 1개를 설정할 수 있다. 이때의 설정값은 '(A,1), (A,3), (B,1), (B,4)'과 같이 표현될 수 있다.The generation unit 130 can convert the number of parts into pallet units using product production-related information. For example, the creation unit 130 can set one palette of Part 1 and one palette of Part 3 in process A, and one palette of Part 1 and one palette of Part 4 in process B. The setting value at this time can be expressed as ‘(A,1), (A,3), (B,1), (B,4)’.

생성부(130)는 회수 팔레트 정보 i3를 이용하여 회수 작업을 추가할 수 있다. 예를 들어, 생성부(130)는 A공정 팔레트 2개, B공정 팔레트 1개를 회수하도록 설정할 수 있다.The generator 130 may add a recovery task using recovery pallet information i3. For example, the generator 130 can be set to retrieve two A process pallets and one B process pallet.

앞의 설정값과 회수값을 합쳐서 '(A,1), (A,3), (B,1), (B,4), (A,P), (A,P), (B,P)'와 같이 표현될 수 있다. 'P'는 팔레트 회수를 의미할 수 있다. 도 6은 분배부(150)의 동작을 나타낸 흐름도이다.Combine the previous set value and number of times to get '(A,1), (A,3), (B,1), (B,4), (A,P), (A,P), (B,P )'. 'P' may mean pallet recovery. Figure 6 is a flowchart showing the operation of the distribution unit 150.

도 6은 분배부(150)의 강화 학습 알고리즘 구조를 나타낼 수 있다.FIG. 6 may show the structure of a reinforcement learning algorithm of the distribution unit 150.

분배부(150)는 생성부(130)로부터 로봇에 대한 제1 작업의 할당 결과를 전달받을 수 있다(401). 할당 결과는 [(A,1), (A,3), (B,1), (D,2), (D,P)]와 같은 (Position, Object) 형태의 리스트(list)를 포함할 수 있다.The distribution unit 150 may receive the allocation result of the first task to the robot from the generation unit 130 (401). The assignment result may include a list in the form of (Position, Object), such as [(A,1), (A,3), (B,1), (D,2), (D,P)]. You can.

분배부(150)는 할당 결과로부터 제2 작업에 해당되는 픽 액션(Pick action)(적재 액션), 플레이스 액션(Place action)(하역 액션)을 생성할 수 있다(402). 픽 액션은 팔레트를 집어 올려서 적재하는 것을 의미할 수 있다. 플레이스 액션은 적재된 팔레트를 내려놓는 것을 의미할 수 있다.The distribution unit 150 may generate a pick action (loading action) and a place action (unloading action) corresponding to the second task from the allocation result (402). Pick action may mean picking up and loading a pallet. Place action may mean putting down a loaded pallet.

생성된 액션(action)은 [(Pick, G, 1), (Place, A, 1), (Pick, G, 3), (Place, A, 3), (Pick, G, 1), (Place, B, 1), (Pick, G, 2), (Place, D, 2), (Pick, D, P), (Place, G, P)]와 같은 (action, position, object) 형태의 리스트를 포함할 수 있다.The generated actions are [(Pick, G, 1), (Place, A, 1), (Pick, G, 3), (Place, A, 3), (Pick, G, 1), (Place A list in the form of (action, position, object) such as , B, 1), (Pick, G, 2), (Place, D, 2), (Pick, D, P), (Place, G, P)] may include.

분배부(150)는 지정된 에포크(epoch) 수만큼 학습을 반복하며, 지정된 epoch 수에 도달하였을 경우(403) 최대 리워드(reward)를 갖는 액션 리스트(action list)를 출력할 수 있다(404).The distribution unit 150 repeats learning as many times as the specified number of epochs, and when the specified number of epochs is reached (403), it can output an action list with the maximum reward (404).

분배부(150)는 지정된 에포크(epoch) 수에 도달하지 못한 경우에는 현재 리워드(reward) 값이 지정된 임의의 값 t보다 작은지를 확인할 수 있다(405).If the specified number of epochs is not reached, the distribution unit 150 may check whether the current reward value is less than a specified random value t (405).

분배부(150)는 현재 리워드(reward) 값이 더 작은 경우는 현재 학습 중인 액션 리스트(action list)와 리워드(reward)를 초기화하고(406), 복수의 픽 액션(PickIf the current reward value is smaller, the distribution unit 150 initializes the currently learning action list and reward (406) and performs a plurality of pick actions (Pick actions).

action) 중 랜덤으로 각 로봇의 초기 액션(action)을 설정할 수 있다(407). 설정 예시는 아래와 같다. R1, R2, R3, R4는 각각 제2 작업을 나타낼 수 있다.The initial action of each robot can be set randomly (407). An example setting is as follows. R1, R2, R3, and R4 may each represent a second task.

R1: [(Pick, G, 1)], R2: [(Pick, G, 3)], R3: [(Pick, G, 2)], R4: [(Pick, D, P)]R1: [(Pick, G, 1)], R2: [(Pick, G, 3)], R3: [(Pick, G, 2)], R4: [(Pick, D, P)]

잔여 액션: [(Place, A, 1), (Place, A, 3), (Pick, G, 1), (Place, B, 1), (Place, D, 2), (Place, G, P)]Remaining actions: [(Place, A, 1), (Place, A, 3), (Pick, G, 1), (Place, B, 1), (Place, D, 2), (Place, G, P )]

분배부(150)는 잔여 액션에서 로봇의 다음 액션을 랜덤으로 선택할 수 있다(408). 예시는 아래와 같다.The distribution unit 150 may randomly select the next action of the robot from the remaining actions (408). An example is as follows.

사례 1Case 1

R1: [(Pick, G, 1), (Place, A, 1)], R2: [(Pick, G, 3), (Pick, G, 1)], R3: [(Pick, G, 2), (Place, D, 2)], R4: [(Pick, D, P), (Place, G, P)]R1: [(Pick, G, 1), (Place, A, 1)], R2: [(Pick, G, 3), (Pick, G, 1)], R3: [(Pick, G, 2) , (Place, D, 2)], R4: [(Pick, D, P), (Place, G, P)]

잔여 액션: [(Place, A, 3), (Place, B, 1)]Remaining actions: [(Place, A, 3), (Place, B, 1)]

사례 2Case 2

R1: [(Pick, G, 1), (Place, A, 3)], R2: [(Pick, G, 3), (Pick, G, 1)], R3: [(Pick, G, 2), (Place, D, 2)], R4: [(Pick, D, P), (Place, B, 1)]R1: [(Pick, G, 1), (Place, A, 3)], R2: [(Pick, G, 3), (Pick, G, 1)], R3: [(Pick, G, 2) , (Place, D, 2)], R4: [(Pick, D, P), (Place, B, 1)]

잔여 Action: [(Place, A, 1), (Place, G, P)]Remaining Action: [(Place, A, 1), (Place, G, P)]

분배부(150)는 선택된 액션으로부터 현재 학습 중인 리워드(reward)와 액션 리스트(action list)를 업데이트할 수 있다(409).The distribution unit 150 may update the currently learning reward and action list from the selected action (409).

분배부(150)는 실행 가능한 액션(action)의 순서일 경우 생성되는 각 로봇의 무브 액션(move action)의 수의 최대값을 리워드(reward)로 설정하며, 이때, 리워드(reward)는 음의 값으로 업데이트될 수 있다. 실패일 경우 지정된 실패 패널티(penalty) 값을 리워드(reward)로 업데이트할 수 있다.The distribution unit 150 sets the maximum value of the number of move actions of each robot generated in the case of the order of executable actions as the reward, and at this time, the reward is a negative value. Can be updated with value. In case of failure, the specified failure penalty value can be updated as a reward.

사례 1 >> 성공Case 1 >> Success

R1: [(Pick, G, 1), (Move, G, A), (Place, A, 1)]R1: [(Pick, G, 1), (Move, G, A), (Place, A, 1)]

R2: [(Pick, G, 3), (Pick, G, 1)]R2: [(Pick, G, 3), (Pick, G, 1)]

R3: [(Pick, G, 2), (Move, G, D), (Place, D, 2)]R3: [(Pick, G, 2), (Move, G, D), (Place, D, 2)]

R4: [(Pick, D, P),(Move, D, G), (Place, G, P)]R4: [(Pick, D, P),(Move, D, G), (Place, G, P)]

Reward: move action 수: [1, 0, 1, 1] >> 최댓값 1 >> -1Reward: Number of move actions: [1, 0, 1, 1] >> Maximum 1 >> -1

사례 2 >> 실패Case 2 >> Failure

R1: [(Pick, G, 1), (Place, A, 3)] >> Pick 하지 않은 부품 Place 불가R1: [(Pick, G, 1), (Place, A, 3)] >> Parts not picked cannot be placed

Reward: 실패 penalty 값Reward: Failure penalty value

실패의 사례로는 픽(Pick), 로딩, 적재하지 않은 부품을 플레이스(Place), 언로딩, 하역하는 경우, 픽(Pick) 한 순서의 역순으로 플레이스(Place)하지 않는 경우, 로봇이 한 번에 적재할 수 있는 팔레트 수보다 더 많이 픽(Pick) 했을 경우가 가능하다.Examples of failure include placing, unloading, and unloading parts that have not been picked, loaded, or loaded, or not placed in the reverse order of the picked order, or the robot fails once. It is possible to pick more pallets than can be loaded.

분배부(150)는 잔여 액션이 있으면(410), 앞으로 되돌아가 리워드(reward) < t 조건문(405)부터 재실행할 수 있다.If there are remaining actions (410), the distribution unit 150 can go back and re-execute from the reward < t conditional statement (405).

분배부(150)는 잔여 액션이 없으면 현재 리워드(reward)가 저장된 최대 리워드(reward) 값보다 큰지 판별하고(411), 클 경우 리워드(reward)와 액션 리스트(action list)를 업데이트 할 수 있다(412).If there are no remaining actions, the distribution unit 150 determines whether the current reward is greater than the stored maximum reward value (411), and if it is greater, the reward and action list can be updated ( 412).

이상에서 살펴본 바와 같이, 분배부(150)는 각 작업기의 이동 거리가 아닌 무브 액션의 개수의 최대값을 리워드(reward)로 사용하여 강화 학습을 진행할 수 있다.As discussed above, the distribution unit 150 can perform reinforcement learning by using the maximum value of the number of move actions rather than the movement distance of each work machine as a reward.

도 7은 본 발명의 계획 방법을 나타낸 흐름도이다.Figure 7 is a flowchart showing the planning method of the present invention.

도 7의 계획 방법은 도 1에 도시된 계획 장치(100)에 의해 수행될 수 있다.The planning method of FIG. 7 may be performed by the planning device 100 shown in FIG. 1 .

계획 방법은 획득 단계(S 510), 생성 단계(S 520), 분배 단계(S 530), 계획 단계(S 540)를 포함할 수 있다.The planning method may include an acquisition step (S 510), a creation step (S 520), a distribution step (S 530), and a planning step (S 540).

획득 단계(S 510)는 주문 정보, 부품 잔여량, 팔레트 정보, 제조 정보를 획득할 수 있다. 획득 단계(S 510)는 획득부(110)에 의해 수행될 수 있다.In the acquisition step (S510), order information, remaining part quantity, pallet information, and manufacturing information can be obtained. The acquisition step (S510) may be performed by the acquisition unit 110.

생성 단계(S 512)는 각 공정 라인에서 필요로 하는 부품을 파악할 수 있다. 생성 단계(S 520)는 생성부(130)에 의해 수행될 수 있다. 생성 단계(S 512)는 부품의 운송과 관련된 작업기의 제1 작업을 생성할 수 있다.The creation step (S 512) can identify the parts needed for each process line. The generation step (S520) may be performed by the generation unit 130. The creation step (S512) may create a first task of the work machine related to transport of the part.

분배 단계(S 530)는 제1 작업을 세분화하여 부품의 운송 작업에 해당하는 제2 작업을 생성하고 작업기에 할당 또는 분배할 수 있다. 분배 단계(S 530)는 분배부(150)에 의해 수행될 수 있다.In the distribution step (S 530), the first task may be subdivided to create a second task corresponding to the transport task of the parts and assigned or distributed to the work machine. The distribution step (S530) may be performed by the distribution unit 150.

작업기가 한 번에 적재 가능한 팔레트의 개수가 상한 개수로 정의되고, 팔레트를 적재하거나 하역하는 순서에 해당하는 팔레트 순서가 정의될 때, 분배 단계(S 530)는 상한 개수를 만족하는 범위 내에서 부품의 운송 회수가 최소화되는 방향으로 팔레트 순서를 설정할 수 있다. 분배 단계(S 530)는 강화 학습을 이용하여 부품의 운송 회수가 최소화되는 방향으로 팔레트 순서를 설정할 수 있다.When the number of pallets that a worker can load at once is defined as the upper limit, and the pallet order corresponding to the order of loading or unloading the pallets is defined, the distribution step (S 530) is to distribute parts within the range that satisfies the upper limit. The pallet order can be set in a way that minimizes the number of transports. In the distribution step (S530), the pallet order can be set in a way that minimizes the number of parts transported by using reinforcement learning.

계획 단계(S 540)는 각 작업기별로 제2 작업의 과정이 세분화된 제3 작업을 계획하고 각 작업기에 할당할 수 있다.In the planning step (S 540), a third task in which the process of the second task is subdivided for each work machine can be planned and assigned to each work machine.

도 8은 본 발명의 실시예에 따른, 컴퓨팅 장치를 나타내는 도면이다. 도 8의 컴퓨팅 장치(TN100)는 본 명세서에서 기술된 장치(예, 계획 장치(100) 등) 일 수 있다. 8 is a diagram illustrating a computing device according to an embodiment of the present invention. Computing device TN100 of FIG. 8 may be a device described herein (e.g., planning device 100, etc.).

도 8의 실시예에서, 컴퓨팅 장치(TN100)는 적어도 하나의 프로세서(TN110), 송수신 장치(TN120), 및 메모리(TN130)를 포함할 수 있다. 또한, 컴퓨팅 장치(TN100)는 저장 장치(TN140), 입력 인터페이스 장치(TN150), 출력 인터페이스 장치(TN160) 등을 더 포함할 수 있다. 컴퓨팅 장치(TN100)에 포함된 구성 요소들은 버스(bus)(TN170)에 의해 연결되어 서로 통신을 수행할 수 있다.In the embodiment of FIG. 8, the computing device TN100 may include at least one processor TN110, a transceiver device TN120, and a memory TN130. Additionally, the computing device TN100 may further include a storage device TN140, an input interface device TN150, an output interface device TN160, etc. Components included in the computing device TN100 may be connected by a bus TN170 and communicate with each other.

프로세서(TN110)는 메모리(TN130) 및 저장 장치(TN140) 중에서 적어도 하나에 저장된 프로그램 명령(program command)을 실행할 수 있다. 프로세서(TN110)는 중앙 처리 장치(CPU: central processing unit), 그래픽 처리 장치(GPU: graphics processing unit), 또는 본 발명의 실시예에 따른 방법들이 수행되는 전용의 프로세서를 의미할 수 있다. 프로세서(TN110)는 본 발명의 실시예와 관련하여 기술된 절차, 기능, 및 방법 등을 구현하도록 구성될 수 있다. 프로세서(TN110)는 컴퓨팅 장치(TN100)의 각 구성 요소를 제어할 수 있다.The processor TN110 may execute a program command stored in at least one of the memory TN130 and the storage device TN140. The processor TN110 may refer to a central processing unit (CPU), a graphics processing unit (GPU), or a dedicated processor on which methods according to embodiments of the present invention are performed. Processor TN110 may be configured to implement procedures, functions, and methods described in connection with embodiments of the present invention. The processor TN110 may control each component of the computing device TN100.

메모리(TN130) 및 저장 장치(TN140) 각각은 프로세서(TN110)의 동작과 관련된 다양한 정보를 저장할 수 있다. 메모리(TN130) 및 저장 장치(TN140) 각각은 휘발성 저장 매체 및 비휘발성 저장 매체 중에서 적어도 하나로 구성될 수 있다. 예를 들어, 메모리(TN130)는 읽기 전용 메모리(ROM: read only memory) 및 랜덤 액세스 메모리(RAM: random access memory) 중에서 적어도 하나로 구성될 수 있다. Each of the memory TN130 and the storage device TN140 can store various information related to the operation of the processor TN110. Each of the memory TN130 and the storage device TN140 may be comprised of at least one of a volatile storage medium and a non-volatile storage medium. For example, the memory TN130 may be comprised of at least one of read only memory (ROM) and random access memory (RAM).

송수신 장치(TN120)는 유선 신호 또는 무선 신호를 송신 또는 수신할 수 있다. 송수신 장치(TN120)는 네트워크에 연결되어 통신을 수행할 수 있다.The transceiving device TN120 can transmit or receive wired signals or wireless signals. The transmitting and receiving device (TN120) can be connected to a network and perform communication.

한편, 본 발명의 실시예는 지금까지 설명한 장치 및/또는 방법을 통해서만 구현되는 것은 아니며, 본 발명의 실시예의 구성에 대응하는 기능을 실현하는 프로그램 또는 그 프로그램이 기록된 기록 매체를 통해 구현될 수도 있으며, 이러한 구현은 상술한 실시예의 기재로부터 본 발명이 속하는 기술 분야의 통상의 기술자라면 쉽게 구현할 수 있는 것이다. Meanwhile, the embodiments of the present invention are not only implemented through the apparatus and/or method described so far, but may also be implemented through a program that realizes the function corresponding to the configuration of the embodiment of the present invention or a recording medium on which the program is recorded. This implementation can be easily implemented by anyone skilled in the art from the description of the above-described embodiments.

이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 통상의 기술자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.Although the embodiments of the present invention have been described in detail above, the scope of the present invention is not limited thereto, and various modifications and improvements made by those skilled in the art using the basic concept of the present invention defined in the following claims are also possible. It falls within the scope of invention rights.

100...계획 장치 110...획득부
130...생성부 150...분배부
170...계획부
100...Planning Device 110...Acquisition Department
130...generation part 150...distribution part
170...Planning Department

Claims (5)

주문 정보를 획득하는 획득부;
상기 주문 정보를 달성하기 위해 필요한 제1 작업을 생성하는 생성부;
상기 제1 작업의 과정이 1차 세분화된 제2 작업을 작업기에 분배하는 분배부;
각 작업기별로 상기 제2 작업의 과정이 2차 세분화된 제3 작업을 계획하는 계획부;를 포함하고,
상기 분배부는 상기 작업기의 무브 액션(move action)이 최소화되는 방향으로 강화 학습을 수행하고, 최소화된 무브 액션을 갖도록 상기 제2 작업을 생성하는 계획 장치.
An acquisition unit that obtains order information;
a generating unit that generates a first task necessary to achieve the order information;
a distribution unit that distributes the second task, in which the process of the first task is initially subdivided, to the working machine;
It includes a planning unit that plans a third operation in which the process of the second operation is divided into two parts for each work machine,
The distribution unit performs reinforcement learning in a direction to minimize the move action of the work machine, and generates the second task to have the minimized move action.
제1항에 있어서,
상기 획득부는 상기 주문 정보를 관리하는 ERP(Enterprise Resource Planning) 또는 MES(Manufacturing Execution System) 중 적어도 하나가 탑재된 주문 서버와 통신하고,
상기 획득부는 상기 주문 서버로부터 상기 주문 정보, 현재 공정 라인의 부품 잔여량, 회수가 필요한 팔레트 정보를 획득하며,
상기 분배부는 상기 주문 정보, 상기 부품 잔여량, 상기 팔레트 정보를 모두 이용하여 상기 제2 작업을 생성하고 작업기에 분배하는 계획 장치.
According to paragraph 1,
The acquisition unit communicates with an order server equipped with at least one of ERP (Enterprise Resource Planning) or MES (Manufacturing Execution System) that manages the order information,
The acquisition unit acquires the order information, the remaining amount of parts in the current process line, and pallet information requiring recovery from the order server,
The distribution unit is a planning device that creates the second job using all of the order information, the remaining part quantity, and the pallet information and distributes it to the work machine.
제1항에 있어서,
상기 획득부는 상기 주문 정보, 현재 공정 라인의 부품 잔여량, 회수가 필요한 팔레트 정보를 획득하고,
상기 분배부는 상기 팔레트 정보의 분석을 통해 작업기가 한 번에 적재 가능한 팔레트의 개수에 해당하는 상한 개수를 파악하고,
상기 분배부는 각 공정 라인의 부품 잔여량과 상기 주문 정보의 분석을 통해 상기 팔레트를 적재하거나 하역하는 순서에 해당하는 팔레트 순서를 설정하며,
상기 분배부는 상기 상한 개수와 상기 팔레트 순서의 분석을 통해 상기 작업기가 작업 영역 내에서 주행하는 무브 액션의 개수를 파악하고,
상기 분배부는 상기 무브 액션의 개수가 최소화되도록 상기 팔레트 순서를 보정하며,
상기 분배부는 보정된 팔레트 순서가 포함된 상기 제2 작업을 생성하는 계획 장치.
According to paragraph 1,
The acquisition unit acquires the order information, the remaining amount of parts in the current process line, and the pallet information requiring recovery,
The distribution unit analyzes the pallet information to determine the upper limit of the number of pallets that the work machine can load at one time,
The distribution unit sets a pallet order corresponding to the order of loading or unloading the pallet through analysis of the remaining part quantity of each process line and the order information,
The distribution unit determines the number of move actions in which the work machine travels within the work area through analysis of the upper limit number and the pallet order,
The distribution unit corrects the palette order to minimize the number of move actions,
A planning device wherein the distribution unit generates the second task containing a corrected pallet sequence.
제3항에 있어서,
상기 분배부는 파악된 복수의 무브 액션 중에서 동일한 주행 경로를 사용하는 복수의 무브 액션을 단일의 공통 액션으로 통합하고,
상기 분배부는 상기 공통 액션이 달성 가능하도록 상기 팔레트 순서를 보정하는 계획 장치.
According to paragraph 3,
The distribution unit integrates a plurality of move actions using the same driving path among the identified plurality of move actions into a single common action,
The distribution unit corrects the palette order so that the common action is achievable.
계획 장치에 의해 수행되는 계획 방법에 있어서,
각 공정 라인에서 필요로 하는 부품을 파악하는 생성 단계;
상기 부품의 운송 작업을 생성하고 작업기에 할당 또는 분배하는 분배 단계;를 포함하고,
상기 작업기가 한 번에 적재 가능한 팔레트의 개수가 상한 개수로 정의되고, 팔레트를 적재하거나 하역하는 순서에 해당하는 팔레트 순서가 정의될 때,
상기 분배 단계는 상기 상한 개수를 만족하는 범위 내에서 상기 부품의 운송 회수가 최소화되는 방향으로 상기 팔레트 순서를 설정하는 계획 방법.
In a planning method performed by a planning device,
A creation stage that identifies the parts needed for each process line;
A distribution step of creating a transport job for the part and assigning or distributing it to a work machine,
When the number of pallets that the working machine can load at once is defined as the upper limit number, and the pallet order corresponding to the order of loading or unloading the pallets is defined,
The distribution step is a planning method of setting the pallet order in a direction that minimizes the number of transportation of the parts within a range that satisfies the upper limit number.
KR1020220108354A 2022-08-29 2022-08-29 Apparatus and method for planning tasks in which parts transportation is automated based on reinforcement learning through interworking with production management systems KR20240029952A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220108354A KR20240029952A (en) 2022-08-29 2022-08-29 Apparatus and method for planning tasks in which parts transportation is automated based on reinforcement learning through interworking with production management systems

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220108354A KR20240029952A (en) 2022-08-29 2022-08-29 Apparatus and method for planning tasks in which parts transportation is automated based on reinforcement learning through interworking with production management systems

Publications (1)

Publication Number Publication Date
KR20240029952A true KR20240029952A (en) 2024-03-07

Family

ID=90272437

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220108354A KR20240029952A (en) 2022-08-29 2022-08-29 Apparatus and method for planning tasks in which parts transportation is automated based on reinforcement learning through interworking with production management systems

Country Status (1)

Country Link
KR (1) KR20240029952A (en)

Similar Documents

Publication Publication Date Title
AU2020201348B2 (en) Autonomous condensing of pallets of items in a warehouse
US11498765B2 (en) Warehousing and order fulfillment systems and methods
JP6759512B2 (en) Warehouse layout optimization based on customizable goals
US11693403B2 (en) Dynamic allocation and coordination of auto-navigating vehicles and selectors
US10589931B2 (en) Hybrid modular storage fetching system
JP6857142B2 (en) Picking system and control method of picking system
EP3606847B1 (en) Automated manufacturing facility and methods
US20170199518A1 (en) Method for manufacturing a product with integrated planning and direct holistic control
US20210245956A1 (en) System-Directed Robotic Cart Picking
CN104603704A (en) Ultra-flexible production manufacturing
Viharos et al. Simulation and scheduling of AGV based robotic assembly systems
Čech et al. Autonomous mobile robot technology for supplying assembly lines in the automotive industry
KR20240029952A (en) Apparatus and method for planning tasks in which parts transportation is automated based on reinforcement learning through interworking with production management systems
US20230202755A1 (en) Inventory management method and system
US11273985B2 (en) Order-processing work cells
US11714419B2 (en) Automatic article conveying system and automatic article conveying method
US11182715B2 (en) Systems and methods for orchestrating autonomously and manually performed operations
WO2024006195A1 (en) Robotic system to fulfill orders using cooperating robots
US20240157556A1 (en) System and method for queueing robot operations in a warehouse environment based on workflow optimization instructions
Lee et al. Sequential Decision-Making Framework for Robotic Mobile Fulfillment System-Based Automated Kitting System
Dabic-Miletic Benefits and challenges of implementing autonomous technology for sustainable material handling in industrial processes
Singgih et al. Remarshaling in A Bin-to-Person-based Smart Automated Warehouse
McGinnis Some Issues in Controlling Integrated WIP Material Handling Systems
CN107767034A (en) Ammeter storehouse dispatching method and dispatching device