KR102641856B1 - 팔레타이징 시스템 및 이의 제어방법 - Google Patents
팔레타이징 시스템 및 이의 제어방법 Download PDFInfo
- Publication number
- KR102641856B1 KR102641856B1 KR1020230079965A KR20230079965A KR102641856B1 KR 102641856 B1 KR102641856 B1 KR 102641856B1 KR 1020230079965 A KR1020230079965 A KR 1020230079965A KR 20230079965 A KR20230079965 A KR 20230079965A KR 102641856 B1 KR102641856 B1 KR 102641856B1
- Authority
- KR
- South Korea
- Prior art keywords
- box
- palletizing
- information
- reinforcement learning
- boxes
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 37
- 230000002787 reinforcement Effects 0.000 claims abstract description 161
- 238000004088 simulation Methods 0.000 claims abstract description 38
- 230000009471 action Effects 0.000 claims description 68
- 230000005484 gravity Effects 0.000 claims description 38
- 238000004422 calculation algorithm Methods 0.000 claims description 10
- 238000005070 sampling Methods 0.000 claims description 8
- 239000000284 extract Substances 0.000 claims description 5
- 230000007547 defect Effects 0.000 claims description 4
- 230000002950 deficient Effects 0.000 claims description 2
- 230000008707 rearrangement Effects 0.000 claims 1
- 238000005516 engineering process Methods 0.000 abstract description 4
- 238000013473 artificial intelligence Methods 0.000 abstract description 3
- 238000011161 development Methods 0.000 abstract description 2
- 230000008569 process Effects 0.000 description 18
- 230000008859 change Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 14
- 230000000875 corresponding effect Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 4
- 230000006399 behavior Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1679—Programme controls characterised by the tasks executed
- B25J9/1687—Assembly, peg and hole, palletising, straight line, weaving pattern movement
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J13/00—Controls for manipulators
- B25J13/08—Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1628—Programme controls characterised by the control loop
- B25J9/163—Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1674—Programme controls characterised by safety, monitoring, diagnostic
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1694—Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
- B25J9/1697—Vision controlled systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Medical Informatics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Human Computer Interaction (AREA)
- Manipulator (AREA)
- Stacking Of Articles And Auxiliary Devices (AREA)
Abstract
팔레타이징 시스템 및 이의 제어방법을 개시한다. 본 발명은 서울특별시 서울산업진흥원 2022년도 인공지능 기술사업화 지원사업(CY220081) "강화학습 기반의 로봇 Palletizing 솔루션 개발"을 통해 개발된 기술이다. 본 발명은 시뮬레이션을 통해 최적의 배치 위치를 결정하는 강화학습 모델과 팔레타이징 작업을 처리하는 로봇 에이전트를 연동하여 다양한 크기와 무게를 갖는 물건을 팔레트에 안정적으로 적재할 수 있다.
Description
본 발명은 팔레타이징 시스템 및 이의 제어방법에 관한 발명으로서, 더욱 상세하게는 시뮬레이션을 통해 최적의 배치 위치를 결정하는 강화학습 모델과 팔레타이징 작업을 처리하는 로봇 에이전트를 연동하여 다양한 크기와 무게를 갖는 물건을 팔레트에 적재하는 팔레타이징 시스템 및 이의 제어방법에 관한 것이다.
본 발명은 서울특별시 서울산업진흥원 2022년도 인공지능 기술사업화 지원사업(CY220081) "강화학습 기반의 로봇 Palletizing 솔루션 개발"을 통해 개발된 기술이다.
강화 학습은 환경(environment)과 상호작용하며 목표를 달성하는 에이전트를 다루는 학습 방법으로서, 로봇이나 인공 지능 분야에서 많이 사용되고 있다.
이러한 강화 학습은 학습의 행동 주체인 강화 학습 에이전트(Agent)가 어떤 행동을 해야 더 많은 보상(Reward)을 받을지 알아내는 것을 목적으로 한다.
즉, 정해진 답이 없는 상태에서도 보상을 최대화 시키기 위해 무엇을 할 것인가를 배우는 것으로서, 입력과 출력이 명확한 관계를 갖고 있는 상황에서 사전에 어떤 행위를 할 것인지 듣고 하는 것이 아니라, 시행착오를 거치면서 보상을 최대화 시키는 것을 배우는 과정을 거친다.
또한, 에이전트는 시간 스텝이 흘러감에 따라 순차적으로 액션을 선택하게 되고, 상기 액션이 환경에 끼친 영향에 기반하여 보상(Reward)을 받게 된다.
도 1은 종래 기술에 따른 강화 학습 장치의 구성을 나타낸 블록도로서, 도 1에 나타낸 바와 같이, 에이전트(10)가 강화 학습 모델의 학습을 통해 액션(Action, 또는 행동) A를 결정하는 방법을 학습시키고, 각 액션인 A는 그 다음 상태(State) S에 영향을 끼치며, 성공한 정도는 보상(Reward) R로 측정할 수 있다.
즉, 보상은 강화 학습 모델을 통해 학습을 진행할 경우, 어떤 상태(State)에 따라 에이전트(10)가 결정하는 액션(행동)에 대한 보상 점수로서, 학습에 따른 에이전트(10)의 의사 결정에 대한 일종의 피드백이다.
환경(20)은 에이전트(10)가 취할 수 있는 행동, 그에 따른 보상 등 모든 규칙으로서, 상태, 액션, 보상 등은 모두 환경의 구성요소이고, 에이전트(10) 이외의 모든 정해진 것들이 환경이다.
한편, 강화 학습을 통해 에이전트(10)는 미래의 보상이 최대가 되도록 액션을 취하게 되므로, 보상을 어떻게 책정하느냐 에 따라 학습 결과에 많은 영향이 발생한다.
이러한 강화학습은 제품 등을 대량으로 배송하는 경우, 상자를 이용하여 제품을 포장하고, 포장된 상자를 팔레트(Pallet)에 어떻게 적재해야 최적의 상태로 적재할 수 있는지에 판단하는 것에 대한 핵심으로 작용할 수 있다.
즉, 상자의 크기, 팔레트의 크기, 상자의 방향, 바코드가 부착된 상자면의 위치, 적재 총 높이 등과 같이 다양한 조건을 만족하면서 상자를 팔레트에 최적화된 상태로 적재할 수 있는지가 강화학습 결과에 따라 영향을 받을 수 있다.
그러나 종래기술에 따른 강화학습은 상자의 크기가 다를 때마다 다시 강화학습을 수행하여 개별적인 모델 에이전트를 생성해야만 하는 문제점이 있다.
또한, 작업자가 직접 로봇을 티칭(teaching)하거나 휴리스틱(heuristic) 기반으로 계산을 진행하는 경우, 배치 환경이 바뀌거나 로봇이 변경될 때마다 팔레타이징 위치를 다시 계산해야만 하는 문제점이 있다.
또한, 강화학습에서 중요한 요소인 보상함수를 설계할 때, 실제 물리적인 측면이 고려가 되어 있지 않는 문제점이 있다.
즉, 실제 팔레타이징을 할 때 상자의 무게중심이 일정하지 않거나, 로봇이 박스를 쌓을 때 강화학습 에이전트가 정해준 좌표로 완벽하게 가지 못할 가능성 등, 현실에서의 불확실한 요소들이 적용되지 않는 문제점이 있다.
또환, 로봇이 상자들을 실제로 잘 쌓는지 측정하는 안정성에 대하여 시뮬레이션을 통해 나타내는 것에는 한계가 있고, 다양한 크기의 상자들이 들어올 때 미래에 들어 올 상자들에 대한 요소도 고려해야 하는 문제점이 있다.
이러한 문제점을 해결하기 위하여, 본 발명은 시뮬레이션을 통해 최적의 배치 위치를 결정하는 강화학습 모델과 팔레타이징 작업을 처리하는 로봇 에이전트를 연동하여 다양한 크기와 무게를 갖는 물건을 팔레트에 적재하는 팔레타이징 시스템 및 이의 제어방법을 제공하는 것을 목적으로 한다.
상기한 목적을 달성하기 위하여 본 발명의 일 실시 예는 팔레타이징 시스템으로서, 매 에피소드마다 샘플링을 통해 서로 다른 크기의 상자 정보 중에서 선택한 배치 대상 상자 정보와, 현재 팔레트 상태 정보와, 보상 정보를 기반으로, 네 방향의 면(edge)을 기준으로 인접하여 배치하게 될 마주보는 두 면, 물품의 회전 방향, 마주보는 상자 간에 일정 거리 이격되어 배치되도록 상자 사이에 마진(Margin)을 반영하여 팔레트 위에 상자의 방향과 위치에 따른 적재 공간의 이용률, 적재 총 높이 및 적재물 갯수를 포함한 팔레타이징(Palletizing) 시뮬레이션을 통해 팔레타이징을 학습하는 팔레타이징 강화학습 모델을 생성하는 강화학습부; 및 입력되는 상자 이미지를 영상 인식 프로그램을 통해 분석하여 상자 크기를 측정하고, 측정된 상자 크기 정보를 기반으로 상기 팔레타이징 강화학습 모델을 이용하여 팔레타이징을 수행하는 팔레타이징 로봇;을 포함한다.
또한, 상기 실시 예에 따른 팔레타이징 시스템은 사용자가 입력하는 휴리스틱(heuristic) 알고리즘 정보를 강화학습부의 팔레타이징 시뮬레이션에 반영되도록 하고, 팔레타이징 로봇의 동작을 모니터링하여 상자의 배치 오류 및 불량 발생시 상자가 재배치되도록 관리하는 관리자 단말;을 더 포함하는 것을 특징으로 한다.
또한, 상기 실시 예에 따른 강화학습부는 배치 대상 상자의 무게 중심 정보를 산출하고, 산출된 무게 중심 정보와 상기 배치 대상 상자의 하단에 배치된 상자와의 접합면을 기준으로 상기 배치 대상 상자가 안정적인 위치에 있는지 분석하여 팔레타이징 강화학습 모델에 반영하는 것을 특징으로 한다.
또한, 상기 실시 예에 따른 강화학습부는 상자 주변의 특정 공간을 배치 불가능 공간으로 설정하여 상자의 무게 중심이 벗어나지 않는 영역에서 결정되는 상자의 마진 영역을 팔레타이징 강화학습 모델에 반영하는 것을 특징으로 한다.
또한, 상기 실시 예에 따른 팔레타이징 로봇은 사용자로부터 상자의 크기 정보, 팔레트 크기 정보, 적재 가능한 무게 정보를 입력받는 입력부; 상기 입력되는 상자를 촬영한 이미지를 출력하는 카메라부; 영상 인식 프로그램을 이용하여 상기 촬영된 이미지로부터 상자를 추출하고, 추출된 상자를 입력된 상자의 크기 정보와 비교하여 상자 크기를 분류하며, 분류된 상자 크기와 입력된 팔레트 크기를 기반으로 팔레타이징 강화학습 모델을 이용하여 팔레타이징 정보를 생성하는 로봇 제어부; 및 상기 팔레타이징 정보에 따라 상자를 이동시켜 팔레트에 적재하는 로봇 에이전트;를 포함하는 것을 특징으로 한다.
또한, 상기 실시 예에 따른 팔레타이징 로봇은 입력되는 상자의 무게를 측정하는 무게 측정부;를 더 포함하는 것을 특징으로 한다.
또한, 본 발명의 일 실시 예는 팔레타이징 제어 방법으로서, a) 강화학습부가 매 에피소드마다 샘플링을 통해 서로 다른 크기의 상자 정보 중에서 선택한 배치 대상 상자 정보와, 현재 팔레트 상태 정보와, 보상 정보를 기반으로, 네 방향의 면(edge)을 기준으로 인접하여 배치하게 될 마주보는 두 면, 물품의 회전 방향, 마주보는 상자 간에 일정 거리 이격되어 배치되도록 상자 사이에 마진(Margin)을 반영하여 팔레트 위에 상자의 방향과 위치에 따른 적재 공간의 이용률, 적재 총 높이 및 적재물 갯수를 포함한 팔레타이징(Palletizing) 시뮬레이션을 통해 팔레타이징을 학습하는 팔레타이징 강화학습 모델을 생성하여 팔레타이징 로봇에 배포하는 단계; 및 b) 상기 팔레타이징 로봇이 입력되는 상자 이미지를 영상 인식 프로그램을 통해 분석하여 상자 크기를 측정하고, 측정된 상자 크기 정보를 기반으로 상기 팔레타이징 강화학습 모델을 이용하여 팔레타이징을 수행하는 단계;를 포함한다.
또한, 상기 실시 예에 따른 a) 단계는 관리자 단말을 통해 사용자의 휴리스틱(heuristics) 알고리즘 정보가 입력되면, 상기 강화학습부의 팔레타이징 시뮬레이션에 반영되도록 하는 것을 특징으로 한다.
또한, 상기 실시 예에 따른 a) 단계는 강화학습부가 배치 대상 상자의 무게 중심 정보를 산출하고, 산출된 무게 중심 정보와 상기 배치 대상 상자의 하단에 배치된 상자와의 접합면을 기준으로 상기 배치 대상 상자가 안정적인 위치에 있는지 분석하여 팔레타이징 강화학습 모델에 반영하는 것을 특징으로 한다.
또한, 상기 실시 예에 따른 a) 단계는 강화학습부가 상자 주변의 특정 공간을 배치 불가능 공간으로 설정하여 상자의 무게 중심이 벗어나지 않는 영역에서 결정되는 상자의 마진 영역을 팔레타이징 강화학습 모델에 반영하는 것을 특징으로 한다.
또한, 상기 실시 예에 따른 b)단계는 관리자 단말이 팔레타이징 로봇의 동작을 모니터링하되, 상자의 배치 오류 및 배치 불량이 발생되면 상기 팔레타이징 로봇을 통해 상자를 재배하는 단계;를 더 포함하는 것을 특징으로 한다.
또한, 상기 실시 예에 따른 b) 단계는 팔레타이징 로봇이 사용자로부터 입력되는 상자의 크기 정보, 팔레트 크기 정보, 적재 가능한 무게 정보와 상자를 촬영한 이미지가 입력되면, 영상 인식 프로그램을 이용하여 상기 촬영된 이미지로부터 상자를 추출하고, 추출된 상자를 입력된 상자의 크기 정보와 비교하여 상자 크기를 분류하며, 분류된 상자 크기와 입력된 팔레트 크기를 기반으로 팔레타이징 강화학습 모델을 이용한 팔레타이징 정보를 생성하며, 생성된 팔레타이징 정보에 따라 상자를 이동시켜 팔레트에 적재하는 것을 특징으로 한다.
본 발명은 시뮬레이션을 통해 최적의 배치 위치를 결정하는 강화학습 모델과 팔레타이징 작업을 처리하는 로봇 에이전트를 연동하여 다양한 크기와 무게를 갖는 물건을 팔레트에 안정적으로 적재할 수 있는 장점이 있다.
도1은 일반적인 강화 학습 장치의 구성을 나타낸 블록도.
도2는 본 발명의 일 실시 예에 따른 팔레타이징 시스템의 구성을 나타낸 블록도.
도3은 도1의 실시 예에 따른 팔레타이징 시스템의 강화학습부 구성을 나타낸 블록도.
도4는 도1의 실시 예에 따른 팔레타이징 시스템의 팔레타이징 로봇 구성을 나타낸 블록도.
도5는 도1의 실시 예에 따른 팔레타이징 시스템의 동작 환경을 설명하기 위해 나타낸 예시도.
도6은 본 발명의 일 실시 예에 따른 팔레타이징 시스템의 제어방법을 설명하기 위해 나타낸 흐름도.
도7은 도6의 실시 예에 따른 팔레타이징 모델의 학습과정을 설명하기 위해 나타낸 흐름도.
도8은 도7의 실시 예에 따른 학습 과정에서 샘플링을 통해 다양한 크기의 상자 배치를 설명하기 위해 나타낸 예시도.
도9는 도7의 실시 예에 따른 학습 과정에서 무게 중심을 이용해 다양한 크기의 상자 배치를 설명하기 위해 나타낸 예시도.
도10은 도7의 실시 예에 따른 학습 과정에서 무게 중심을 이용해 다양한 크기의 상자 배치를 설명하기 위해 나타낸 다른 예시도.
도11은 도7의 실시 예에 따른 학습 과정에서 바코드를 이용해 다양한 크기의 상자 배치를 설명하기 위해 나타낸 예시도.
도12는 도7의 실시 예에 따른 학습 과정에서 바코드를 이용해 다양한 크기의 상자 배치를 설명하기 위해 나타낸 평면도.
도13은 도7의 실시 예에 따른 강화학습 과정에서 마진을 이용해 다양한 크기의 상자 배치를 설명하기 위해 나타낸 예시도.
도14는 도7의 실시 예에 따른 강화학습 과정에서 마진을 이용해 다양한 크기의 상자 배치를 설명하기 위해 나타낸 다른 예시도.
도2는 본 발명의 일 실시 예에 따른 팔레타이징 시스템의 구성을 나타낸 블록도.
도3은 도1의 실시 예에 따른 팔레타이징 시스템의 강화학습부 구성을 나타낸 블록도.
도4는 도1의 실시 예에 따른 팔레타이징 시스템의 팔레타이징 로봇 구성을 나타낸 블록도.
도5는 도1의 실시 예에 따른 팔레타이징 시스템의 동작 환경을 설명하기 위해 나타낸 예시도.
도6은 본 발명의 일 실시 예에 따른 팔레타이징 시스템의 제어방법을 설명하기 위해 나타낸 흐름도.
도7은 도6의 실시 예에 따른 팔레타이징 모델의 학습과정을 설명하기 위해 나타낸 흐름도.
도8은 도7의 실시 예에 따른 학습 과정에서 샘플링을 통해 다양한 크기의 상자 배치를 설명하기 위해 나타낸 예시도.
도9는 도7의 실시 예에 따른 학습 과정에서 무게 중심을 이용해 다양한 크기의 상자 배치를 설명하기 위해 나타낸 예시도.
도10은 도7의 실시 예에 따른 학습 과정에서 무게 중심을 이용해 다양한 크기의 상자 배치를 설명하기 위해 나타낸 다른 예시도.
도11은 도7의 실시 예에 따른 학습 과정에서 바코드를 이용해 다양한 크기의 상자 배치를 설명하기 위해 나타낸 예시도.
도12는 도7의 실시 예에 따른 학습 과정에서 바코드를 이용해 다양한 크기의 상자 배치를 설명하기 위해 나타낸 평면도.
도13은 도7의 실시 예에 따른 강화학습 과정에서 마진을 이용해 다양한 크기의 상자 배치를 설명하기 위해 나타낸 예시도.
도14는 도7의 실시 예에 따른 강화학습 과정에서 마진을 이용해 다양한 크기의 상자 배치를 설명하기 위해 나타낸 다른 예시도.
이하에서는 본 발명의 바람직한 실시 예 및 첨부하는 도면을 참조하여 본 발명을 상세히 설명하되, 도면의 동일한 참조부호는 동일한 구성요소를 지칭함을 전제하여 설명하기로 한다.
본 발명의 실시를 위한 구체적인 내용을 설명하기에 앞서, 본 발명의 기술적 요지와 직접적 관련이 없는 구성에 대해서는 본 발명의 기술적 요지를 흩뜨리지 않는 범위 내에서 생략하였음에 유의하여야 할 것이다.
또한, 본 명세서 및 청구범위에 사용된 용어 또는 단어는 발명자가 자신의 발명을 최선의 방법으로 설명하기 위해 적절한 용어의 개념을 정의할 수 있다는 원칙에 입각하여 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야 할 것이다.
본 명세서에서 어떤 부분이 어떤 구성요소를 "포함"한다는 표현은 다른 구성요소를 배제하는 것이 아니라 다른 구성요소를 더 포함할 수 있다는 것을 의미한다.
또한, "‥부", "‥기", "‥모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어, 또는 그 둘의 결합으로 구분될 수 있다.
또한, "적어도 하나의" 라는 용어는 단수 및 복수를 포함하는 용어로 정의되고, 적어도 하나의 라는 용어가 존재하지 않더라도 각 구성요소가 단수 또는 복수로 존재할 수 있고, 단수 또는 복수를 의미할 수 있음은 자명하다 할 것이다.
이하, 첨부된 도면을 참조하여 본 발명의 일 실시 예에 따른 팔레타이징 시스템 및 이의 제어방법의 바람직한 실시예를 상세하게 설명한다.
도2는 본 발명의 일 실시 예에 따른 팔레타이징 시스템의 구성을 나타낸 블록도이고, 도3은 도1의 실시 예에 따른 팔레타이징 시스템의 강화학습부 구성을 나타낸 블록도이며, 도4는 도1의 실시 예에 따른 팔레타이징 시스템의 팔레타이징 로봇 구성을 나타낸 블록도이고, 도5는 도1의 실시 예에 따른 팔레타이징 시스템의 동작 환경을 설명하기 위해 나타낸 예시도이다.
도2 내지 도5를 참조하면, 본 발명의 일 실시 예에 따른 팔레타이징 시스템은 시뮬레이션을 통해 최적의 배치 위치를 결정하는 강화학습 모델과 팔레타이징 작업을 처리하는 로봇 에이전트를 연동하여 다양한 크기와 무게를 갖는 물건을 팔레트에 안정적으로 적재할 수 있도록 강화학습부(100)와, 팔레타이징 로봇(200)과, 관리자 단말(300)을 포함하여 구성될 수 있다.
강화학습부(100)는 하나의 강화학습 모델이 서로 혼합된 크기의 상자들에 대하여 팔레트 위에 안정적으로 적재하는 강화학습을 수행할 수 있도록 강화학습 에이전트(110)와, 시뮬레이션부(120)와, 보상 제어부(130)를 포함하여 구성될 수 있다.
강화학습 에이전트(110)는 매 에피소드마다 샘플링을 통해 제공된 서로 다른 크기의 상자 정보 중에서 선택한 배치 대상 상자 정보와, 시뮬레이션부(120)로부터 제공받은 현재 팔레트 상태 정보와, 보상 제어부(130)로부터 제공받은 보상 정보를 기반으로, 팔레트 위에 상자의 방향과 위치를 결정하는 강화학습 모델을 이용한 강화학습을 통해 배치 대상 상자 정보와, 상태 정보와, 보상 정보에 따라 선택 가능한 액션에 대한 보상(Reward)이 최대화될 수 있도록 액션(Action)을 결정할 수 있다.
강화학습은 특정 목표(Metric)를 설정하게 되면, 설정된 목표를 달성하기 위한 학습 방향이 설정될 수 있다.
예를 들어, 목표가 적재 공간의 이용률, 적재 시간, 적재 총 높이, 적재물 갯수 등을 최대화하기 위한 강화학습 모델의 생성이면, 강화학습을 통해 현재 팔레트 위 상황 및 배치할 부품 정보에 대한 상태(State), 네 방향의 면(edge)을 기준으로 가까이 배치하게 될 맞닿은 두 면과 물품의 회전 방향을 결정하는 복수의 이산화된 액션 중 선택된 하나에 따른 보상을 고려하여 적재 공간의 이용률과, 적재물 갯수 등을 높게 달성할 수 있는 최종 강화학습 모델이 생성될 수 있도록 한다.
여기서, 복수의 이산화된 액션(At)은 At={(edge1, edge2, rotation1),(edge2, edge3, rotation1), …, (edge4, edge1, rotation4)}와 같이 16가지의 이산화된 액션일 수 있다.
즉, 강화학습 에이전트(110)가 강화학습을 통해 달성하고자 하는 궁극적인 목표(Metric)는 적재 공간의 이용률, 적재물 갯수 등의 보상이 최대화되도록 하는 것이다.
또한, 강화학습 에이전트(110)는 임의의 시점에서의 상태 정보와, 보상 정보를 가질 수 있고, 이를 기반으로 강화학습 에이전트(110)는 임의의 액션을 결정하면, 결정된 액션에 대응하여 강화학습 에이전트(110)는 시뮬레이션부(120)에서 새로운 상태 정보, 보상 제어부(130)에서 새로운 보상 정보를 제공 받을 수 있다.
여기서, 상태 정보는 상자의 크기, 팔레트의 크기, 상자를 적재할 수 있는 총 높이, 상자의 방향 또는 바코드가 부착된 박스 면 위치 등의 제약 조건을 포함할 수 있다.
또한, 액션은 x-y 좌표상에서 팔레트 위에 배치되는 상자의 위치, 각 상자들이 팔레트 위에서 적재되는 방향에 대한 정보일 수 있다.
또한, 상자가 적재되는 방향은 상자에 부착된 바코드의 위치(예를 들어, 상자의 측면 또는 상면 중 어느 하나의 전측, 후측, 좌측 및 우측), 상자의 형상(예를 들어, 직사각형 상자, 정사각형 상자 등)에 따라 상자를 팔레트 위에 가로방향 또는 세로방향으로 배치되도록 할 수 있다.
또한, 이러한 상호 작용에 기반하여 강화학습 에이전트(110)는 시뮬레이션부(120)와 보상 제어부(130)에서 누적된 보상을 최대화하는 정책(Policy)을 학습할 수 있다.
즉, 강화학습 에이전트(110)는 강화학습을 수행하면서, 학습의 수행 여부를 적재 공간의 이용률을 포함한 보상 정보로 이용하여 수행할 수 있다.
예를 들어, 보상값 중 하나인 적재 공간의 이용률이 80% 이상을 달성하면 이전에 수행했던 액션들은 '긍정적'으로 학습된 것을 의미할 수 있어 최적의 정책을 찾아갈 수 있도록 해당 액션을 저장할 수 있다.
또한, 강화학습 에이전트(110)는 강화학습을 수행하면서, 현재 상황, 액션, 보상 정보 및 다음 상황 정보를 포함한 강화학습 데이터를 기반으로 과거의 보상값이 현재 상황(또는 현재 상태값) 보다 크면, '좋은 액션'으로 분류하여 해당 해당 액션을 저장하고, 저장된 액션을 다른 크기의 상자에 대한 강화학습에 반영할 수 있다.
즉, 강화학습 과정에서 앞단에 어떤 크기의 상자가 들어올지 모르는 상태일 때, 모든 크기의 상자들을 포괄하도록 자가 모방 학습(Self-Imitation Learning, SIL)에 기초하여 과거의 좋았던 행동, 예를 들어 과거의 보상값이 현재값(또는 가치)보다 크면 그에 따른 강화학습 데이터를 저장할 수 있다.
또한, 강화학습 에이전트(110)가 저장된 데이터를 통해 과거 상태 정보에서 선택했던 액션을 다시 활용하여 학습시킴으로써, 다양한 상자 크기의 강화학습에서 최적의 정책을 찾을 수 있도록 한다.
또한, 강화학습 에이전트(110)는 배치 대상 상자의 무게 중심 정보를 산출하고, 산출된 무게 중심 정보와 배치 대상 상자의 하단에 배치된 상자와의 접합면을 산출할 수 있다.
또한, 강화학습 에이전트(110)는 산출된 무게 중심 정보와 접합면을 기준으로 배치 대상 상자가 안정적인 위치에 있는지 분석하고, 분석 결과를 액션 결정에 반영할 수 있다.
즉, 강화학습 에이전트(110)는 하단에 적재된 상자의 무게 중심과, 상단에 배치될 상자의 무게 중심을 산출하고, 각 상자들이 접합하는 면과 무게 중심의 평균값을 산출하여 임의의 중심 좌표에 상자들을 적재할 때 무너지지 않고 균형을 이루는 안정적인 위치인지 판단할 수 있다.
또한, 강화학습 에이전트(110)는 상자 주변의 특정 공간을 배치 불가능 공간으로 설정하여 상자의 무게 중심이 벗어나지 않는 영역에서 상자의 마진 영역을 결정할 수 있다.
여기서, 마진 영역은 마주보는 상자 간에 일정 거리 이격되어 배치되도록 상자 사이에 설정된 마진(Margin)으로, 결정된 마진 영역은 액션 결정에 반영될 수 있다.
또한, 마진 영역은 팔레타이징 로봇(200)이 상자를 배치할 때 발생할 수 있는 오류, 예를 들어 상자의 위치가 설정된 위치에서 일정 범위 벗어난 위치에 배치되는 것에 대하여 대응할 수 있도록 한다.
또한, 마진 영역은 상자의 이동중에 발생 가능한 충돌, 예를 들어 이미 배치된 상자 또는 팔레타이징 로봇(200)의 몸체 일부와의 충돌 발생 등을 방지하고, 상자가 배치된 이후 안정적인 적재 상태가 유지될 수 있도록 한다.
시뮬레이션부(120)는 강화학습 에이전트(110)에서 결정된 액션에 대하여 팔레트 위에 상자의 방향과 위치에 따른 상자의 팔레타이징(Palletizing) 시뮬레이션을 수행할 수 있다.
또한, 시뮬레이션부(120)는 시뮬레이션을 통한 상태 정보를 강화학습 에이전트(110)로 제공할 수 있다.
보상 제어부(130)는 시뮬레이션부(120)가 액션에 따른 적재 시뮬레이션을 수행한 결과를 기반으로 적재 공간의 이용률, 적재 총 높이 및 적재물 갯수 중 하나 이상의 변동값을 산출할 수 있다.
또한, 보상 제어부(130)는 각 액션에 대해서 전체 변동률 대비 개별 액션에 따라 변동되는 전체 변동률과의 차이를 산출하고, 산출된 변동값을 액션에 대한 보상 정보로 강화학습 에이전트(110)에 제공할 수 있다.
즉, 보상 제어부(130)는 각 액션에 대해 해당 매트릭에 대한 전체 변동(예를 들어, 적재 공간의 이용률)과 대비하여 개별 변동(예를 들어, 적재 총 높이, 적재물 갯수 등)한 것에 대한 차이를 보상으로 제공하는 보상 함수로서, 강화학습 에이전트(110)의 강화학습에서 최적의 정책(Optimal Policy)을 찾기 위한 상태에 따른 액션의 피드백으로 보상 정보를 산출하는 보상 학습을 수행할 수 있다.
또한, 보상 제어부(130)는 변동값에 대하여 미리 설정된 표준화된 값으로 변환하여 동일한 단위의 개별 보상체계를 구성할 수도 있다.
또한, 보상 제어부(130)에서 산출되는 변동값은 강화 학습의 목표(Metric)와 보상이 연계되도록 구성함으로써, 보상 정보에 대한 점수가 직관적인 이해될 수 있도록 구성할 수도 있다.
팔레타이징 로봇(200)은 입력되는 상자 이미지를 영상 인식 프로그램을 통해 분석하여 상자(400) 크기를 측정하고, 측정된 상자(400) 크기 정보를 기반으로 상기 팔레타이징 강화학습 모델을 이용하여 팔레타이징을 수행하는 구성으로서, 입력부(210)와, 카메라부(220)와, 무게 측정부(230)와, 로봇 제어부(240)와, 로봇 에이전트(250)를 포함하여 구성될 수 있다.
입력부(210)는 사용자로부터 상자(400)의 크기 정보, 팔레트 크기 정보, 적재 가능한 무게 정보 등을 입력받는 구성으로서, 키보드, 터치패드, 버튼 등의 입력수단을 포함하여 구성될 수 있다.
카메라부(220)는 컨베이어벨트(310)를 따라 이동하는 상자(400)를 촬영한 이미지를 출력하는 구성으로서, CCD 센서, CMOS 센서 또는 임의의 광전변환 센서를 이용한 촬영수단으로 구성될 수 있다.
무게 측정부(230)는 컨베이어벨트(310)의 말단부에 설치되어 입력되는 상자(400)의 무게를 측정할 수 있다.
로봇 제어부(240)는 카메라부(220)에서 촬영된 이미지를 영상 인식 프로그램을 통해 분석하여 상자(400)를 추출할 수 있다.
또한, 로봇 제어부(240)는 추출된 상자(400)에 대한 크기 정보를 분석하여 입력부(210)를 통해 입력된 상자의 크기 정보와 비교하여 상자 크기를 분류할 수 있다.
또한, 로봇 제어부(240)는 분류된 상자 크기와 입력된 팔레트 크기를 기반으로 팔레타이징 강화학습 모델을 이용하여 팔레타이징 정보를 생성할 수 있다.
즉, 로봇 제어부(240)는 팔레타이징 강화학습 모델을 이용하여 적재 총 높이, 적재물 갯수 등에 따라 상자가 배치될 위치, 상자의 적재를 위한 최적의 이동 경로를 포함한 팔레타이징 정보를 생성할 수 있다.
또한, 로봇 제어부(240)는 생성된 팔레타이징 정보를 로봇 에이전트(250)로 출력하여 로봇 에이전트(250)가 동작되도록 한다.
또한, 로봇 제어부(240)는 측정된 무게 정보를 기반으로 적절한 적재물 갯수와, 적재 총 높이를 기반으로 팔레트에 적재되도록 관리할 수 있다.
로봇 에이전트(250)는 로봇 제어부(240)에서 출력되는 팔레타이징 정보에 따라 상자를 이동시켜 팔레트에 적재하는 로봇으로 이루어질 수 있다.
관리자 단말(300)은 팔레타이징 로봇(200)으로 팔레타이징을 수행하기 위해 입력되는 상자(400)의 크기 정보와, 팔레트의 크기 정보, 팔레트에 적재 가능한 무게 정보 등을 제공할 수 있다.
또한, 관리자 단말(300)은 사용자(또는 관리자)로부터 선택 또는 입력되는 휴리스틱(heuristics) 알고리즘 정보를 강화학습부(100)의 팔레타이징 시뮬레이션에 반영되도록 관리할 수 있다.
즉, 강화학습부(100)의 다양한 시뮬레이션 결과 중에서 사용자가 선택하는 학습 결과, 또는 사용자가 설정한 임의의 배치 조건, 룰(Rule) 등을 포함한 휴리스틱 알고리즘 정보를 강화학습부(100)에 제공할 수 있다.
또한, 관리자 단말(300)은 팔레타이징 로봇(200)의 동작을 모니터링하여 상자의 배치 오류 및 불량 발생시 상자가 휴리스틱 알고리즘 또는 사용자의 설정 정보에 따라 재배치되도록 관리할 수도 있다.
다음은 본 발명의 일 실시 예에 따른 팔레타이징 제어 방법을 설명한다.
도6은 본 발명의 일 실시 예에 따른 팔레타이징 시스템의 제어방법을 설명하기 위해 나타낸 흐름도이고, 도7은 도6의 실시 예에 따른 팔레타이징 모델의 학습과정을 설명하기 위해 나타낸 흐름도이다.
도2 내지 도7을 참조하면, 본 발명의 일 실시 예에 따른 팔레타이징 제어방법은 강화학습부(100)가 강화학습을 통해 팔레타이징 모델을 생성하고, 생성된 팔레타이징 모델을 팔레타이징 로봇(200)에 배포(S100)한다.
S100 단계에서, 강화학습부(100)는 관리자 단말(300)로부터 강화학습을 수행하기 위한 서로 다른 크기의 상자 정보, 상자의 무게 정보, 팔레트 크기 정보 등의 환경 데이터를 포함한 설정정보를 입력(S110)받을 수 있다.
또한, S110 단계에서 입력되는 정보는 상자를 적재할 수 있는 총 높이, 상자의 방향 등의 제약 조건을 포함할 수 있다.
또한, 보상 정보는 액션에 대해 해당 매트릭에 대한 전체 변동(예를 들어, 적재 공간의 이용률)과 대비하여 개별 변동(예를 들어, 적재 총 높이, 적재물 갯수 등)한 것에 대한 차이일 수 있다.
또한, 강화학습부(100)는 S110 단계에서 입력된 정보들을 기반으로 매 에피소드마다 샘플링을 통해 서로 다른 크기의 상자 정보 중에서 선택한 배치 대상 상자 정보와, 강화학습을 통한 현재 팔레트 상태 정보와, 보상 정보를 이용하여 강화학습을 수행할 수 있다.
여기서, 강화학습 과정은 강화학습부(100)의 강화학습 에이전트(110)는 매 에피소드마다 샘플링을 통해 제공된 서로 다른 크기의 상자 정보 중에서 선택한 배치 대상 상자 정보와, 강화학습부(100)의 시뮬레이션부(120)로부터 제공받은 현재 팔레트 상태 정보와, 강화학습부(100)의 보상 제어부(130)로부터 입력받은 보상 정보를 기반으로, 팔레트 위에 상자의 방향과 위치를 결정하는 강화학습 모델을 이용한 강화학습을 통해 배치 대상 상자 정보와, 상태 정보와, 보상 정보에 따라 선택 가능한 액션에 대한 보상(Reward)이 최대화될 수 있도록 액션(Action)을 결정(S120)할 수 있다.
즉, S120 단계에서, 강화학습 에이전트(110)는 목표가 적재 공간의 이용률, 적재 시간, 적재 총 높이, 적재물 갯수 등을 최대화하기 위한 강화학습 모델의 생성이면, 강화학습을 통해 현재 팔레트 위 상황 및 배치할 부품 정보에 대한 상태(State), 네 방향의 면(edge)을 기준으로 가까이 배치하게 될 맞닿은 두 면과 물품의 회전 방향을 결정하는 복수의 이산화된 액션 중 선택된 하나에 따른 보상을 고려하여 적재 공간의 이용률과, 적재물 갯수 등을 높게 달성할 수 있는 최종 강화학습 모델이 생성될 수 있도록 한다.
여기서, 복수의 이산화된 액션(At)은 At={(edge1, edge2, rotation1),(edge2, edge3, rotation1), …, (edge4, edge1, rotation4)}와 같이 16가지의 이산화된 액션일 수 있다.
또한, S120 단계에서, 강화학습 에이전트(110)는 도8과 같이 매 에피소드마다 크기가 다른 상자(400, 410, 420, 430, 440)에 대하여 샘플링 기법을 적용하여 학습 환경을 동적으로 변경함으로써, 다양한 환경에서의 시행착오를 학습할 수 있으며, 이를 통해 운영 시 단일 강화학습 모델로 상자의 크가와 적재 환경에 관계없이 예측할 수 있도록 한다.
또한, S120 단계에서 강화학습 에이전트(110)는 도9 및 도10과 같이, 배치 대상인 상자(500)의 무게 중심(G, 520)에 대한 정보를 산출하고, 산출된 무게 중심(520) 정보와 배치 대상인 상자(500)의 하단에 배치된 다른 상자(500a, 500b, 500c)와 접촉되는 접합면(510, 510a)에 대한 정보를 산출할 수 있다.
즉, 강화학습 에이전트(110)는 산출된 무게 중심(520) 정보와 접합면(510, 510a)을 기준으로 배치 대상인 상자(500)가 다른 상자(500a, 500b, 500c) 위의 안정적인 위치에 있는지 여부를 분석할 수 있다.
또한, 강화학습 에이전트(110)는 하단에 적재된 다른 상자(500a, 500b, 500c)의 무게 중심과, 상단에 배치될 상자(500)의 무게 중심을 산출하고, 각 상자들(500, 500a, 500b, 500c)이 접합하는 접합면과, 무게 중심의 평균값을 산출하여 임의의 중심 좌표를 기준으로 상자(500)를 적재할 때 배치 대상 상자(500)가 무너지지 않고 균형을 이루는 안정적인 위치인지 판단할 수 있다.
또한, 강화학습 에이전트(110)는 상자의 무게 중심을 이용한 분석 결과를 액션 결정에 반영할 수 있다.
또한, S120 단게에서 강화학습 에이전트(110)는 보상의 최대화를 위해 결정하는 액션은, x-y 좌표상에서 도11 및 도12에 나타낸 바와 같이, 팔레트(800) 위에 배치되는 상자(700)의 위치와, 각 상자(700, 700a, 700b)들이 팔레트 위에서 적재되는 방향에 대한 정보와 적재 영역(810)에 대한 위치 정보를 포함할 수 있다.
또한, 팔레트(800) 위에 각 상자(700, 700a, 700b)들이 적재되는 방향은 상자에 부착된 바코드(600)의 위치와, 상자의 형상(예를 들어, 직사각형 상자, 정사각형 상자 등)에 따라 각 상자(700, 700a, 700b)를 팔레트 위에 가로방향 또는 세로방향으로 배치되도록 할 수 있다.
또한, S120 단계에서 강화학습 에이전트(110)는 도13 및 도14에 나타낸 바와 같이, 상자(900) 주변의 특정 공간을 배치 불가능 공간으로 설정하여 상자(900)의 무게 중심이 벗어나지 않는 영역에서 상자의 마진 영역(910)을 결정할 수 있다.
즉, 마진 영역(910)은 팔레트(800)에 적재된 상자 중에서 예를 들어, 팔레트(800)의 가로방향으로 서로 마주보는 상자(900, 900a) 간에 일정 거리(d1), 또는 세로방향으로 마주보는 상자 간의 일정 거리(d2) 이격되어 배치되도록 상자 사이에 설정된 마진이다.
또한, 강화학습 에이전트(110)는 결정된 마진 영역에 대한 정보를 액션 결정에 반영할 수 있다.
또한, 강화학습 에이전트(110)는 시뮬레이션부(120)와 보상 제어부(130)에서 누적된 보상을 최대화하는 정책(Policy)을 학습할 수 있다.
즉, S120 단계에서 강화학습 에이전트(110)는 강화학습을 수행하면서, 학습의 수행 여부를 상자의 크기, 무게 중심, 마진, 적재 공간의 이용률 등을 포함한 보상값으로 판단하여 보상 정보에 대응한 보상 처리를 수행할 수 있다.
또한, S120 단게에서 강화학습 에이전트(110)는 예를 들어, 보상값 중 하나인 적재 공간의 이용률이 80% 이상을 달성하면 이전에 수행했던 액션들은 '긍정적'으로 학습된 것을 의미할 수 있어 최적의 정책을 찾아갈 수 있도록 해당 액션을 저장할 수 있다.
또한, S120 단계에서 강화학습 에이전트(110)는 강화학습을 수행하면서, 현재 상황, 액션, 보상 정보 및 다음 상황 정보를 포함한 강화학습 데이터를 기반으로 과거의 보상값이 현재 상황(또는 현재 상태값) 보다 크면, '좋은 액션'으로 분류하여 해당 해당 액션을 저장하고, 저장된 액션을 다른 크기의 상자에 대한 강화학습에 반영할 수 있다.
이때, 강화학습 에이전트(110)는 강화학습 과정에서 앞단에 어떤 크기의 상자가 들어올지 모르는 상태일 때, 모든 크기의 상자들을 포괄하도록 자가 모방 학습(Self-Imitation Learning, SIL)에 기초하여 과거의 좋았던 행동, 예를 들어 과거의 보상값이 현재값(또는 가치)보다 크면 그에 따른 강화학습 데이터를 저장할 수 있다.
이를 통해, 강화학습 에이전트(110)는 저장된 데이터를 통해 과거 상태 정보에서 선택했던 액션을 다시 활용하여 학습시킴으로써, 다양한 상자 크기의 강화학습에서 최적의 정책을 찾을 수 있도록 한다.
계속해서, 시뮬레이션부(120)는 S120 단계에서 결정된 결정된 액션에 대하여 팔레트(800) 위에 상자(900, 900a)의 방향, 마진, 무게 중심에 따른 상자 배치의 팔레타이징 시뮬레이션을 수행(S130)한다.
또한, S130 단계에서 팔레타이징 시뮬레이션 결과는 강화학습을 통한 정보와, 사용자가 설정한 임의의 배치 조건, 룰(Rule) 등을 포함한 휴리스틱 알고리즘 정보와 같은 다양한 시뮬레이션 결과를 제공할 수도 있다.
또한, S130 단계의 시뮬레이션 결과 중에서 관리자 단말(300)이 사용자의 휴리스틱(heuristics) 알고리즘 정보를 선택하면, 강화학습부(100)는 선택된 휴리스틱 알고리즘 정보를 다음 팔레타이징 시뮬레이션의 액션에 반영할 수도 있다.
S130 단계를 수행한 후, 보상 제어부(130)는 시뮬레이션부(120)가 액션에 따른 적재 시뮬레이션을 수행한 결과를 기반으로 적재 공간의 이용률, 적재 총 높이 및 적재물 갯수 중 하나 이상의 변동값을 산출할 수 있다.
또한, 보상 제어부(130)는 각 액션에 대해서 전체 변동률 대비 개별 액션에 따라 변동되는 전체 변동률과의 차이를 산출하고, 산출된 변동값을 S120 단계에서 결정된 액션에 대한 보상 정보로 강화학습 에이전트(110)에 제공(S140)할 수 있다.
즉, S140 단계에서 보상 제어부(130)는 각 액션에 대해 해당 매트릭에 대한 전체 변동(예를 들어, 적재 공간의 이용률)과 대비하여 개별 변동(예를 들어, 적재 총 높이, 적재물 갯수 등)한 것에 대한 차이를 산출하고, 산출된 변동값을 액션에 대한 보상 정보로 강화학습 에이전트(110)에 제공할 수 있다.
S100 단계에서 학습된 팔레타이징 강화학습 모델이 팔레타이징 로봇(200)에 배포되면, 팔레타이징 로봇(200)은 관리자 단말(300)로부터 입력 가능한 상자 정보, 상자의 무게 정보, 팔레트 크기 정보 등의 환경 데이터를 포함한 설정정보와, 카메라부(220)를 통해 촬영된 상자 이미지와, 무게 측정부(230)를 통해 측정되는 상자의 무게 정보를 입력(S200) 받을 수 있다.
팔레타이징 로봇(200)은 S200 단계에서 입력된 상자 이미지를 영상 인식 프로그램을 통해 분석하여 상자 크기를 측정하고, 측정된 상자 크기 정보를 기반으로 팔레타이징 강화학습 모델을 이용하여 팔레타이징을 수행하기 위한 팔레타이징 정보를 생성(S300)할 수 있다.
즉, S300 단계에서, 팔레타이징 로봇(200)은 카메라부(220)에서 촬영된 이미지를 영상 인식 프로그램을 통해 분석하여 상자(400)를 추출하고, 추출된 상자(400)에 대한 크기 정보를 분석하여 S100 단계에서 입력된 상자의 크기 정보와 비교하여 해당 상자의 크기를 분류할 수 있다.
또한, S300 단계에서 팔레타이징 로봇(200)은 분류된 상자 크기와 입력된 팔레트 크기를 기반으로 팔레타이징 강화학습 모델을 이용하여 팔레트에 적재 가능한 상자의 적재 총 높이, 적재 가능한 갯수 등에 따라 상자가 배치될 위치, 상자의 적재를 위한 최적의 이동 경로를 포함한 팔레타이징 정보를 생성할 수 있다.
또한, S300 단계에서 팔레타이징 로봇(200)는 측정된 무게 정보를 기반으로 적절한 상자의 적재 갯수와, 적재 총 높이를 산출하여 팔레트에 적재되도록 팔레타이징 정보를 생성할 수 있다.
또한, S300 단계에서 팔레타이징 로봇(200)은 생성된 팔레타이징 정보에 따라 상자(400)를 팔레트로 이동하기 위한 최적의 이동 경로를 생성할 수 있다.
여기서, 상자를 적재하기 위한 최적의 이동 경로는 상자의 이동중에 발생 가능한 충돌, 예를 들어 이미 배치된 상자 또는 팔레타이징 로봇(200)의 몸체 일부와의 충돌 발생 등을 방지할 수 있는 상자를 이동시키기 위한 경로이다.
S300 단계에서 생성된 팔레타이징 정보에 따라 팔레타이징 로봇(200)은 로봇 에이전트(250)를 제어하여 상자(400)가 팔레트에 적재(S400)한다.
또한, S400 단계는 관리자 단말(300)이 팔레타이징 로봇(200), 즉 로봇 에이전트(250)의 동작을 모니터링할 수 있다.
또한, 로봇 에이전트(250)의 동작을 모니터링 하는 과정에서, 상자의 배치 오류, 배치 불량 등이 발생되면, 관리자 단말(300)로부터 입력되는 티칭 정보 또는 휴리스틱 정보를 팔레타이징 로봇(200)으로 제공할 수도 있다.
또한, 관리자 단말(3000은 제공된 티칭 정보 또는 휴리스틱 정보에 기반하여 팔레타이장 로봇(200)이 상자를 재배하도록 제어할 수 있다.
따라서, 시뮬레이션을 통해 최적의 배치 위치를 결정하는 강화학습 모델과 팔레타이징 작업을 처리하는 로봇 에이전트를 연동하여 다양한 크기와 무게를 갖는 물건을 팔레트에 안정적으로 적재할 수 있다.
상기와 같이, 본 발명의 바람직한 실시 예를 참조하여 설명하였지만 해당 기술 분야의 숙련된 당업자라면 하기의 특허청구범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
또한, 본 발명의 특허청구범위에 기재된 도면번호는 설명의 명료성과 편의를 위해 기재한 것일 뿐 이에 한정되는 것은 아니며, 실시예를 설명하는 과정에서 도면에 도시된 선들의 두께나 구성요소의 크기 등은 설명의 명료성과 편의상 과장되게 도시되어 있을 수 있다.
또한, 상술된 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례에 따라 달라질 수 있으므로, 이러한 용어들에 대한 해석은 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
또한, 명시적으로 도시되거나 설명되지 아니하였다 하여도 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기재사항으로부터 본 발명에 의한 기술적 사상을 포함하는 다양한 형태의 변형을 할 수 있음은 자명하며, 이는 여전히 본 발명의 권리범위에 속한다.
또한, 첨부하는 도면을 참조하여 설명된 상기의 실시예들은 본 발명을 설명하기 위한 목적으로 기술된 것이며 본 발명의 권리범위는 이러한 실시예에 국한되지 아니한다.
100 : 강화학습부 110 : 강화학습 에이전트
120 : 시뮬레이션부 130 : 보상 제어부
200 : 팔레타이징 로봇 210 : 입력부
220 : 카메라부 230 : 무게 측정부
240 : 로봇 제어부 250 : 로봇 에이전트
300 : 관리자 단말 310 : 컨베이어벨트
400, 410, 420, 430, 440 : 상자(Box)
500, 500a, 500b, 500c : 상자
510, 510a : 접합면 520 : 무게중심
600 : 바코드 700, 700a, 700b : 상자
800 : 팔레트(Pallet) 810 : 적재(Palletizing) 영역
900, 900a : 상자 910 : 마진(Margin)영역
120 : 시뮬레이션부 130 : 보상 제어부
200 : 팔레타이징 로봇 210 : 입력부
220 : 카메라부 230 : 무게 측정부
240 : 로봇 제어부 250 : 로봇 에이전트
300 : 관리자 단말 310 : 컨베이어벨트
400, 410, 420, 430, 440 : 상자(Box)
500, 500a, 500b, 500c : 상자
510, 510a : 접합면 520 : 무게중심
600 : 바코드 700, 700a, 700b : 상자
800 : 팔레트(Pallet) 810 : 적재(Palletizing) 영역
900, 900a : 상자 910 : 마진(Margin)영역
Claims (12)
- 매 에피소드마다 샘플링을 통해 서로 다른 크기의 상자 정보 중에서 선택한 배치 대상 상자 정보와, 현재 팔레트 상태 정보와, 보상 정보를 기반으로, 네 방향의 면(edge)을 기준으로 인접하여 배치하게 될 마주보는 두 면, 물품의 회전 방향, 마주보는 상자 간에 일정 거리 이격되어 배치되도록 상자 사이에 마진(Margin)을 반영하여 팔레트 위에 상자의 방향과 위치에 따른 적재 공간의 이용률, 적재 총 높이 및 적재물 갯수를 포함한 팔레타이징(Palletizing) 시뮬레이션을 통해 팔레타이징을 학습하는 팔레타이징 강화학습 모델을 생성하는 강화학습부(100); 및
입력되는 상자 이미지를 영상 인식 프로그램을 통해 분석하여 상자 크기를 측정하고, 측정된 상자 크기 정보를 기반으로 상기 팔레타이징 강화학습 모델을 이용하여 팔레타이징을 수행하는 팔레타이징 로봇(200);을 포함하고,
상기 강화학습부(100)는 하단에 적재된 상자의 무게 중심과, 상단에 배치될 상자의 무게 중심을 산출하고, 각 상자들이 접합하는 면과 무게 중심의 평균값을 산출하여 임의의 중심 좌표에 상자들을 적재할 때 무너지지 않고 균형을 이루는 안정적인 위치인지 분석하여 팔레타이징 강화학습 모델에 반영하며,
상자 주변의 특정 공간을 배치 불가능 공간으로 설정하여 상자의 무게 중심이 벗어나지 않는 영역에서 마주보는 상자 간에 일정 거리 이격되어 배치되도록 상자 사이에 설정된 마진 영역을 팔레타이징 강화학습 모델에 반영하고,
상기 강화학습부(100)는 강화학습을 수행하면서, 현재 상황, 액션, 보상 정보 및 다음 상황 정보를 포함한 강화학습 데이터를 기반으로 과거의 보상값이 현재 상태값 보다 크면, '좋은 액션'으로 분류하여 과거 상태 정보에서 선택했던 해당 액션을 저장하고, 상기 저장된 액션을 다른 크기의 상자에 대한 강화학습에 반영하여 학습하는 것을 특징으로 하는 팔레타이징 시스템. - 제 1 항에 있어서,
상기 팔레타이징 시스템은 사용자가 입력하는 휴리스틱(heuristics) 알고리즘 정보를 강화학습부(100)의 팔레타이징 시뮬레이션에 반영되도록 하고, 팔레타이징 로봇(200)의 동작을 모니터링하여 상자의 배치 오류 및 불량 발생시 상자가 재배치되도록 관리하는 관리자 단말(300);을 더 포함하는 것을 특징으로 하는 팔레타이징 시스템. - 삭제
- 삭제
- 제 1 항에 있어서,
상기 팔레타이징 로봇(200)은 사용자로부터 상자의 크기 정보, 팔레트 크기 정보, 적재 가능 무게 정보를 입력받는 입력부(210);
상기 입력되는 상자를 촬영한 이미지를 출력하는 카메라부(220);
영상 인식 프로그램을 이용하여 상기 촬영된 이미지로부터 상자를 추출하고, 추출된 상자를 입력된 상자의 크기 정보와 비교하여 상자 크기를 분류하며, 분류된 상자 크기와 입력된 팔레트 크기를 기반으로 팔레타이징 강화학습 모델을 이용하여 팔레타이징 정보를 생성하는 로봇 제어부(240); 및
상기 팔레타이징 정보에 따라 상자를 이동시켜 팔레트에 적재하는 로봇 에이전트(250);를 포함하는 것을 특징으로 하는 팔레타이징 시스템. - 제 5 항에 있어서,
상기 팔레타이징 로봇(200)은 입력되는 상자의 무게를 측정하는 무게 측정부(230);를 더 포함하는 것을 특징으로 하는 팔레타이징 시스템. - a) 강화학습부(100)가 매 에피소드마다 샘플링을 통해 서로 다른 크기의 상자 정보 중에서 선택한 배치 대상 상자 정보와, 현재 팔레트 상태 정보와, 보상 정보를 기반으로, 네 방향의 면(edge)을 기준으로 인접하여 배치하게 될 마주보는 두 면, 물품의 회전 방향, 마주보는 상자 간에 일정 거리 이격되어 배치되도록 상자 사이에 마진(Margin)을 반영하여 팔레트 위에 상자의 방향과 위치에 따른 적재 공간의 이용률, 적재 총 높이 및 적재물 갯수를 포함한 팔레타이징(Palletizing) 시뮬레이션을 통해 팔레타이징을 학습하는 팔레타이징 강화학습 모델을 생성하여 팔레타이징 로봇(200)에 배포하는 단계; 및
b) 상기 팔레타이징 로봇(200)이 입력되는 상자 이미지를 영상 인식 프로그램을 통해 분석하여 상자 크기를 측정하고, 측정된 상자 크기 정보를 기반으로 상기 팔레타이징 강화학습 모델을 이용하여 팔레타이징을 수행하는 단계;를 포함하고,
상기 a) 단계에서, 강화학습부(100)는 하단에 적재된 상자의 무게 중심과, 상단에 배치될 상자의 무게 중심을 산출하고, 각 상자들이 접합하는 면과 무게 중심의 평균값을 산출하여 임의의 중심 좌표에 상자들을 적재할 때 무너지지 않고 균형을 이루는 안정적인 위치인지 분석하여 팔레타이징 강화학습 모델에 반영하며,
상자 주변의 특정 공간을 배치 불가능 공간으로 설정하여 상자의 무게 중심이 벗어나지 않는 영역에서 마주보는 상자 간에 일정 거리 이격되어 배치되도록 상자 사이에 설정된 마진 영역을 팔레타이징 강화학습 모델에 반영하고,
상기 강화학습을 수행하면서, 현재 상황, 액션, 보상 정보 및 다음 상황 정보를 포함한 강화학습 데이터를 기반으로 과거의 보상값이 현재 상태값 보다 크면, '좋은 액션'으로 분류하여 과거 상태 정보에서 선택했던 해당 액션을 저장하고, 상기 저장된 액션을 다른 크기의 상자에 대한 강화학습에 반영하여 학습하는 것을 특징으로 하는 팔레타이징 제어 방법. - 제 7 항에 있어서,
상기 a) 단계는 관리자 단말(300)을 통해 사용자의 휴리스틱(heuristics) 알고리즘 정보가 입력되면, 상기 강화학습부(100)의 팔레타이징 시뮬레이션에 반영되도록 하는 것을 특징으로 하는 팔레타이징 제어 방법. - 삭제
- 삭제
- 제 7 항에 있어서,
상기 b)단계는 관리자 단말(300)이 팔레타이징 로봇(200)의 동작을 모니터링하되, 상자의 배치 오류 및 배치 불량이 발생되면 상기 팔레타이징 로봇(200)을 통해 상자를 재배하는 단계;를 더 포함하는 것을 특징으로 하는 팔레타이징 제어 방법. - 제 7 항 또는 제 8 항에 있어서,
상기 b) 단계는 팔레타이징 로봇(200)이 사용자로부터 입력되는 상자의 크기 정보, 팔레트 크기 정보, 적재 가능한 무게 정보와 상자를 촬영한 이미지가 입력되면, 영상 인식 프로그램을 이용하여 상기 촬영된 이미지로부터 상자를 추출하고,
추출된 상자를 입력된 상자의 크기 정보와 비교하여 상자 크기를 분류하며, 분류된 상자 크기와 입력된 팔레트 크기를 기반으로 팔레타이징 강화학습 모델을 이용한 팔레타이징 정보를 생성하며,
생성된 팔레타이징 정보에 따라 상자를 이동시켜 팔레트에 적재하는 것을 특징으로 하는 팔레타이징 제어 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020230079965A KR102641856B1 (ko) | 2023-06-21 | 2023-06-21 | 팔레타이징 시스템 및 이의 제어방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020230079965A KR102641856B1 (ko) | 2023-06-21 | 2023-06-21 | 팔레타이징 시스템 및 이의 제어방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR102641856B1 true KR102641856B1 (ko) | 2024-02-29 |
Family
ID=90041302
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020230079965A KR102641856B1 (ko) | 2023-06-21 | 2023-06-21 | 팔레타이징 시스템 및 이의 제어방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102641856B1 (ko) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170021502A1 (en) * | 2015-03-26 | 2017-01-26 | Google Inc. | Methods And Systems For Distributing Remote Assistance To Facilitate Robotic Object Manipulation |
KR101868105B1 (ko) | 2016-07-07 | 2018-07-17 | (주)베스테크 | 자동 팔레타이징 시스템 |
JP2020536025A (ja) * | 2017-10-04 | 2020-12-10 | オカド・イノベーション・リミテッド | 物体取扱調整システム及び運搬容器再配置の方法 |
JP6805465B2 (ja) * | 2016-02-26 | 2020-12-23 | キネマ システムズ インコーポレイテッド | センサ誘導式ロボットを用いたボックスの位置特定、分離、およびピッキング |
KR102332603B1 (ko) * | 2019-05-31 | 2021-11-26 | 무진 아이엔씨 | 실시간 배치 시뮬레이션을 사용하여 패키지를 팔레트화하기 위한 로봇 시스템 |
-
2023
- 2023-06-21 KR KR1020230079965A patent/KR102641856B1/ko active IP Right Grant
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170021502A1 (en) * | 2015-03-26 | 2017-01-26 | Google Inc. | Methods And Systems For Distributing Remote Assistance To Facilitate Robotic Object Manipulation |
JP6805465B2 (ja) * | 2016-02-26 | 2020-12-23 | キネマ システムズ インコーポレイテッド | センサ誘導式ロボットを用いたボックスの位置特定、分離、およびピッキング |
KR101868105B1 (ko) | 2016-07-07 | 2018-07-17 | (주)베스테크 | 자동 팔레타이징 시스템 |
JP2020536025A (ja) * | 2017-10-04 | 2020-12-10 | オカド・イノベーション・リミテッド | 物体取扱調整システム及び運搬容器再配置の方法 |
KR102332603B1 (ko) * | 2019-05-31 | 2021-11-26 | 무진 아이엔씨 | 실시간 배치 시뮬레이션을 사용하여 패키지를 팔레트화하기 위한 로봇 시스템 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6684404B1 (ja) | リアルタイム載置シミュレーションを使用してパッケージをパレタイズするためのロボットシステム | |
CN109399122B (zh) | 控制装置以及机器学习装置 | |
JP7454148B2 (ja) | パッキング機構を有するロボットシステム | |
JP6771799B1 (ja) | 壁に基づくパッキング機構を有するロボットシステム及びその動作方法 | |
KR102424718B1 (ko) | 동적 패킹 메커니즘을 구비한 로봇 시스템 | |
US8489229B2 (en) | Method and device for automated loading of packages on a load carrier | |
KR102400028B1 (ko) | 비순서적으로 도착하는 패키지를 처리하기 위한 로봇 시스템 | |
US8290617B2 (en) | Robot system for loading equipment with general cargo units | |
JP2020196127A (ja) | エラー検出および動的パッキング機構を有するロボットシステム | |
Large et al. | Scaling the dynamic approach to path planning and control: Competition among behavioral constraints | |
JP2000511146A (ja) | サイズと重さが不規則な梱包製品をパレット積みする方法および装置 | |
EP3925910A1 (en) | Handling system and control method | |
Shen et al. | Parallel loading and unloading: smart technology towards intelligent logistics | |
Wilhelm et al. | Improving Human-Machine Interaction with a Digital Twin: Adaptive Automation in Container Unloading | |
KR102641856B1 (ko) | 팔레타이징 시스템 및 이의 제어방법 | |
Triantafyllou et al. | A benchmarking framework for systematic evaluation of robotic pick-and-place systems in an industrial grocery setting | |
KR102628664B1 (ko) | 혼합된 크기의 상자 배치 강화학습 장치 및 방법 | |
KR102551039B1 (ko) | 팔레타이징 강화학습 장치 및 방법 | |
Prakash et al. | Neural optimal control for constrained visual servoing via learning from demonstration | |
Poss et al. | Perceptionbased intelligent materialhandling in industrial logistics environments | |
CN111498213A (zh) | 具有动态打包机制的机器人系统 | |
Lee | Self-assessing and communicating manipulation proficiency through active uncertainty characterization | |
KR102387778B1 (ko) | 매장 픽업 서비스를 제공하기 위한 로봇 시스템 및 그 방법 | |
Aroub | Container removal and replacement automation: design and development of robotic work cells for warehouse automation | |
Thulasiraman | A Comprehensive Study Utilizing Two Industry 4.0 Pillars to Increase the Effectiveness of Automated Pharmacy Processes: Cobotics & Simulation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |