KR102491429B1 - 인공지능을 이용한 다수의 직육면체 블록들의 적층 구조에서의 각 블록의 인식 및 로딩 시스템, 및 그 방법 - Google Patents

인공지능을 이용한 다수의 직육면체 블록들의 적층 구조에서의 각 블록의 인식 및 로딩 시스템, 및 그 방법 Download PDF

Info

Publication number
KR102491429B1
KR102491429B1 KR1020220106272A KR20220106272A KR102491429B1 KR 102491429 B1 KR102491429 B1 KR 102491429B1 KR 1020220106272 A KR1020220106272 A KR 1020220106272A KR 20220106272 A KR20220106272 A KR 20220106272A KR 102491429 B1 KR102491429 B1 KR 102491429B1
Authority
KR
South Korea
Prior art keywords
block
blocks
transferred
stacked structure
remaining
Prior art date
Application number
KR1020220106272A
Other languages
English (en)
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 KR1020220106272A priority Critical patent/KR102491429B1/ko
Application granted granted Critical
Publication of KR102491429B1 publication Critical patent/KR102491429B1/ko

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65GTRANSPORT OR STORAGE DEVICES, e.g. CONVEYORS FOR LOADING OR TIPPING, SHOP CONVEYOR SYSTEMS OR PNEUMATIC TUBE CONVEYORS
    • B65G59/00De-stacking of articles
    • B65G59/02De-stacking from the top of the stack
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/0093Programme-controlled manipulators co-operating with conveyor means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme 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/1697Vision controlled systems
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B29WORKING OF PLASTICS; WORKING OF SUBSTANCES IN A PLASTIC STATE IN GENERAL
    • B29CSHAPING OR JOINING OF PLASTICS; SHAPING OF MATERIAL IN A PLASTIC STATE, NOT OTHERWISE PROVIDED FOR; AFTER-TREATMENT OF THE SHAPED PRODUCTS, e.g. REPAIRING
    • B29C31/00Handling, e.g. feeding of the material to be shaped, storage of plastics material before moulding; Automation, i.e. automated handling lines in plastics processing plants, e.g. using manipulators or robots
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B29WORKING OF PLASTICS; WORKING OF SUBSTANCES IN A PLASTIC STATE IN GENERAL
    • B29DPRODUCING PARTICULAR ARTICLES FROM PLASTICS OR FROM SUBSTANCES IN A PLASTIC STATE
    • B29D30/00Producing pneumatic or solid tyres or parts thereof
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65GTRANSPORT OR STORAGE DEVICES, e.g. CONVEYORS FOR LOADING OR TIPPING, SHOP CONVEYOR SYSTEMS OR PNEUMATIC TUBE CONVEYORS
    • B65G47/00Article or material-handling devices associated with conveyors; Methods employing such devices
    • B65G47/74Feeding, transfer, or discharging devices of particular kinds or types
    • B65G47/90Devices for picking-up and depositing articles or materials
    • B65G47/905Control arrangements
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65GTRANSPORT OR STORAGE DEVICES, e.g. CONVEYORS FOR LOADING OR TIPPING, SHOP CONVEYOR SYSTEMS OR PNEUMATIC TUBE CONVEYORS
    • B65G61/00Use of pick-up or transfer devices or of manipulators for stacking or de-stacking articles not otherwise provided for
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • G06T7/0004Industrial image inspection
    • G06T7/001Industrial image inspection using an image reference approach
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras

Landscapes

  • Engineering & Computer Science (AREA)
  • Mechanical Engineering (AREA)
  • Theoretical Computer Science (AREA)
  • Robotics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Quality & Reliability (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Manipulator (AREA)

Abstract

본 발명은 인공지능을 이용한 다수의 직육면체 블록들의 적층 구조에서의 각 블록의 인식 및 로딩 시스템, 및 그 방법에 관한 것으로서, 더욱 상세하게는 다수의 직육면체 블록들이 임의의 적층 구조를 가지는 원재료가 구비된 파렛트의 상부에서 획득된 이미지 데이터를 이용하여 각 층의 모서리 블록이 먼저 선택 및 이송된 후 해당 블록이 제거된 위치 및 영역(면적)을 인식하고 나머지 블록들의 개수 및 배열(패턴)을 인식하여 나머지 각 블록들을 선택하여 이송시키되, 각 블록들은 기설정된 동일한 방향으로 정렬되어 계량 컨베이어에 로딩이 가능한 인공지능을 이용한 다수의 직육면체 블록들의 적층 구조에서의 각 블록의 인식 및 로딩 시스템, 및 그 방법을 제공한다.

Description

인공지능을 이용한 다수의 직육면체 블록들의 적층 구조에서의 각 블록의 인식 및 로딩 시스템, 및 그 방법 {RECOGNITION AND LOADING SYSTEM FOR EACH BLOCK IN A STACKED STRUCTURE OF PLURALITY OF CUBOID BLOCKS USING ARTIFICIAL INTELLIGENCE AND METHOD THEREOF}
본 발명은 인공지능을 이용한 다수의 직육면체 블록들의 적층 구조에서의 각 블록의 인식 및 로딩 시스템, 및 그 방법에 관한 것으로서, 더욱 상세하게는 다수의 직육면체 블록들이 임의의 적층 구조를 가지는 원재료가 구비된 파렛트의 상부에서 획득된 이미지 데이터를 이용하여 각 층의 모서리 블록이 먼저 선택 및 이송된 후 해당 블록이 제거된 위치 및 영역(면적)을 인식하고 나머지 블록들의 개수 및 배열(패턴)을 인식하여 나머지 각 블록들을 선택하여 이송시키되, 각 블록들은 기설정된 동일한 방향으로 정렬되어 계량 컨베이어에 로딩이 가능한 인공지능을 이용한 다수의 직육면체 블록들의 적층 구조에서의 각 블록의 인식 및 로딩 시스템, 및 그 방법에 관한 것이다.
통상적으로 정련공정은 타이어를 제조하는데 있어서 첫 번째 공정으로, 타이어 제조에 필요한 각종 원료를 혼합해서 타이어에 필요한 고무를 배합하는 공정이다.
정련공정시 약 20종 이상의 블록 고무가 사용되며, 블록 고무의 적층 패턴 및 사이즈는 고무의 종류별로 상이하고, 블록 고무는 각 고무별로 비닐 진공 포장이 되어 있다.
즉, 직육면체 형태의 다수의 고무들이 기설정된 패턴을 가지고 층(layer)을 이루며, 다수의 층으로 적층된 블록 고무 구조체가 규격 사이즈의 파렛트(Pallet) 내부에 놓여 정련공정이 이루어진다.
기설정된 순서에 의해 블록 고무들을 파렛트(Pallet)로부터 계량 컨베이어로 이송하고 정량 투입을 위해 오차범위 1% 수준으로 정량 커팅을 실행하고 있다.
이를 위해, 정련공정시 원료로 사용되는 블록(block) 고무들은 파렛트로부터 계량 컨베이어(Conveyor) 또는 커터(Cutter)로 운반되어야 하는데 현재 이러한 작업은 모두 사람이 흡착기를 이용하여 파렛트에 위치하는 각 블록 고무의 흡착위치를 정해줘 수동으로 진행되고 있다.
일반적으로, 블록 고무의 적재 특성으로는, 블록 고무의 종류마다 크기가 다 다르므로 한 층에 적재되는 개수 및 적재된 높이가 다르고, 적재 패턴이 블록 고무의 종류마다도 다르고, 홀수단과 짝수단의 적재 패턴이 상이할 수도 있고, 상부에서 파렛트에 적재된 블록 고무들을 촬영하는데 있어서, 층수에 따라서 센서와의 거리가 달라지기 때문에 획득 이미지에서의 인식되는 각 블록 고무의 크기도 달라지게 된다.
즉, 블록 고무의 패턴을 파악하기 위해 3D 비전 센서(3D Vision Sensor)를 이용할 수 있지만, 비닐의 들뜸 또는 간섭 및 고무 불럭의 불균일한 형상 등으로 인해 판독이 매우 어려운 문제가 있다.
예를 들어, 3D 비전 센서를 이용하여 패턴을 바로 감지하는 경우에, 각 블록 고무가 불균일한 형상을 가지고 있거나, 적재된 블록 고무 1개 층에서 각 블록 고무의 높이 차이가 존재하거나, 블록 고무 간의 간격이 매우 좁아 고무 간 틈을 구분하기 어려운 경우이거나, 블록 고무의 진공포장 비닐을 비전 센서가 인식하여 판독에 방해 요인이 되거나, 로봇의 동작으로 인해 인코더(Encorder)의 신호 수신이 불균일하여 정확한 이미지 판독이 불가하거나, 비전 센서의 피사계심도(DOF :Depth of Field)가 제한적이어서 블록 고무의 종류별 높이에 맞추어 스캔할 필요가 있어서 총 높이가 낮게 적층된 블록 고무는 가까이 파렛트 안쪽으로 들어가서 스캔하여야 하는 등 다수의 원인들로 인해 자동화가 어려운 현실이다.
따라서, 정련공정의 무인화 및 자동화를 위해 블록 고무의 인식 및 로딩을 위한 기술이 연구될 필요가 있다.
한국등록실용신안 [20-0354550]에서는 블록고무자동로딩장치가 개시되어 있다.
한국등록특허 [10-0738656]에서는 시트고무 자동 공급장치가 개시되어 있다.
한국등록특허 [10-1053958]에서는 정련공정에서 시트고무 공급장치가 개시되어 있다.
한국공개특허 [10-0000-0000000]에서는 함수율 측정 장치가 개시되어 있다.
한국공개특허 [10-2018-0039772]에서는 타이어용 시트고무 로딩장치가 개시되어 있다.
한국등록실용신안 [20-0354550](등록일자: 2004. 06. 16) 한국등록특허 [10-0738656](등록일자: 2007. 07.05) 한국등록특허 [10-1053859](등록일자: 2011. 07. 28) 한국공개특허 [10-2018-0039772](공개일자: 2018. 04. 19)
따라서, 본 발명은 상기한 바와 같은 문제점을 해결하기 위하여 안출된 것으로, 본 발명의 목적은 다수의 직육면체 블록들이 임의의 적층 구조를 가지는 원재료가 구비된 파렛트의 상부에서 획득된 이미지 데이터를 이용하여 각 층의 모서리 블록이 먼저 선택 및 이송된 후 해당 블록이 제거된 위치 및 영역(면적)을 인식하고 나머지 블록들의 개수 및 배열(패턴)을 인식하여 나머지 각 블록들을 선택하여 이송시키되, 각 블록들은 기설정된 동일한 방향으로 정렬되어 계량 컨베이어에 로딩이 가능한 인공지능을 이용한 다수의 직육면체 블록들의 적층 구조에서의 각 블록의 인식 및 로딩 시스템, 및 그 방법을 제공하는 것이다.
본 발명의 실 시예들의 목적은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
상기한 바와 같은 목적을 달성하기 위한 본 발명의 일 실시예에 따른 인공지능을 이용한 다수의 직육면체 블록들의 적층 구조에서의 각 블록의 인식 및 로딩 시스템은, 다수의 직육면체 블록들의 적층 구조를 가지는 원재료가 로드되는 파렛트(110); 상기 파렛트 상부에 위치하여 상기 다수의 직육면체 블록들의 이미지 데이터를 획득하기 위한 센서(120); 상기 파렛트 내부에 위치하는 각 블록을 선택하여 계량 컨베이어로 이송하기 위한 로봇 암(130); 및 상기 로봇 암의 동작을 제어하여, 상기 파렛트 내의 적층 구조에서 각 층에 대하여 네 모서리 부분에 위치하는 블록을 먼저 선택 및 이동시키고, 상기 파렛트 내의 네 모서리 부분에 위치하는 블록이 모두 이동된 이후에 남아있는 나머지 블록들의 개수 및 배열(패턴)을 분석 및 학습하여 각 블록의 위치를 인식하고, 다음 이동할 블록의 선택 위치를 결정하여 해당 제어 신호를 상기 로봇 암으로 전달하고, 상기 파렛트 내부의 각 블록이 이송될 때마다 상기 센서로부터 전달받은 이미지 데이터를 이전 단계와 비교 및 분석하여 해당 블록의 방향을 정렬시켜 상기 계량 컨베이어에 로딩시키기 위한 제어 서버(100)를 포함한다.
상기 제어 서버(100)는, 각 블록이 이송될 때마다 전달받은 다수의 이미지 데이터를 저장하고 있는 저장부(220); 이전 블록이 이송된 후 전달받은 이미지 데이터와 현재 블록이 이송된 이후 전달받은 이미지 데이터를 비교하여 현재 이송되는 블록의 위치 및 영역을 인식하는 비교분석부(230); 각 층의 4개의 모서리 부분에 위치하는 블록들을 모두 이동시킨 이후에 남아있는 나머지 블록들의 개수 및 배열을 인식 및 학습하여 나머지 각 블록의 선택 위치를 결정하기 위한 블록 인식부(240); 상기 비교분석부에서 인식한 상기 현재 이송되는 블록의 제거된 위치 및 영역을 기반으로 해당 블록의 방향을 기설정된 하나의 방향으로 정렬되도록 회전 여부를 결정하기 위한 블록방향 판단부(250); 및 상기 블록 인식부에서 결정한 나머지 각 블록의 선택 위치와 상기 블록방향 판단부에서 결정한 해당 블록의 회전 여부에 따라 상기 로봇 암을 제어하기 위한 제어 신호를 생성하여 상기 로봇 암으로 전달하기 위한 제어부(260)을 포함하는 것을 특징으로 한다.
상기 다수의 직육면체 블록들의 적층 구조의 각 층은, 같은 개수의 블록들을 포함하는 것을 특징으로 하고, 상기 블록 인식부(240)는, 해당 블록의 층에서 이송된 블록들의 영역을 인식하여 상기 남는 블록의 개수 및 배열(패턴)을 인식하는 것을 특징으로 한다.
상기 파렛트(110)는, 다수 구비되는 것을 특징으로 하고, 상기 제어 서버(100)는, 상기 파렛트에 부착되는 블록의 정보를 확인하여 각 파렛트에 로드된 블록의 종류를 판단하고, 상기 블록의 종류에 따라 인식된 블록들의 개수 및 배열(패턴)을 학습하는 학습부(270)을 더 포함하는 것을 특징으로 한다.
상기 제어 서버(100)는, 상기 센서로부터 전달받은 이미지 데이터를 전처리하기 위한 이미지 전처리부(210)을 더 포함하고, 상기 저장부(220)는, 각 블록이 이송될 때마다 상기 전처리부에서 전처리된 이미지 데이터가 저장되는 것을 특징으로 하고, 상기 비교분석부(230)는, 이전 블록이 이송된 후 전달받아 전처리된 이미지 데이터와 현재 블록이 이송된 이후 전달받아 전처리된 이미지 데이터를 비교하여 현재 이송되는 블록의 위치 및 영역을 인식하는 것을 특징으로 한다.
한편, 상기한 바와 같은 목적을 달성하기 위한 본 발명의 일 실시예에 따른 인공지능을 이용한 다수의 직육면체 블록들의 적층 구조에서의 각 블록의 인식 및 로딩 방법은, 제어부의 제어에 따라 로봇 암이 다수의 직육면체 블록들의 적층 구조를 가지는 원재료가 로드되는 파렛트로부터 모서리에 위치하는 블록을 선택하여 이송하는 모서리블록 선택및이송단계(S601); 센서를 통해 모서리 부분의 블록이 제거된 이미지를 획득하는 제1이미지획득단계(S602); 상기 제1이미지획득단계(S602)에서 획득한 모서리 부분의 블록이 제거된 이미지와 해당 블록이 제거되기 이전 단계에서 획득한 이미지를 비교하여 해당 블록의 위치 및 영역을 인식하는 블록위치및영역 인식단계(S603); 상기 제1이미지획득단계(S602)에서 획득한 블록이 제거된 이미지에 근거하여 이송되는 각 블록을 기설정된 동일한 방향으로 정렬하여 계량 컨베이어에 로딩하는 제1블록 정렬및로딩단계(S604); 네 모서리의 블록들이 모두 이송되었는지 판단하는 제1판단단계(S605); 상기 제1판단단계(S605)의 판단 결과, 네 모서리의 블록들이 모두 이송되지 않았으면 "S601"단계로 진행하는 단계; 상기 제1판단단계(S605)의 판단 결과, 네 모서리의 블록들이 모두 이송되었으면, 나머지 블록들의 개수 및 배열(패턴)을 인식하는 나머지블록 인식단계(S606); 상기 인식한 나머지 블록의 개수 및 배열에 따라 각 블록을 선택 및 이송하는 나머지블록 선택및이송단계(S607); 상기 나머지블록 선택 및 이송 단계에서 각 블록이 제거된 이미지를 획득하는 제2이미지획득단계(S608); 상기 제2이미지획득단계(S608)에서 획득한 블록이 제거된 이미지에 근거하여 이송되는 각 블록을 기설정된 동일한 방향으로 정렬하여 상기 계량 컨베이어에 로딩하는 제2블록 정렬및로딩단계(S609); 같은 층에 위치하는 블록이 모두 이송되었는지 판단하는 제2판단단계(S610); 상기 제2판단단계(S610)의 판단 결과, 같은 층에 위치하는 블록이 모두 이송되지 않은 경우, "S606"단계로 진행하는 단계; 및 상기 제2판단단계(S610)의 판단 결과, 같은 층에 위치하는 블록이 모두 이송된 경우, 이송할 블록들의 층이 변경되고, "S601" 단계로 진행하는 이송할블록층 변경단계(S611)를 포함한다.
상기 다수의 직육면체 블록들의 적층 구조의 각 층은, 같은 개수의 블록들을 포함하는 것을 특징으로 하고, 상기 나머지블록 인식단계(S606)는, 해당 블록의 층에서 이송된 블록들의 영역을 인식하여 상기 남는 블록의 개수 및 배열(패턴)을 인식하는 것을 특징으로 것을 특징으로 한다.
상기 나머지블록 선택및이송단계(S607)에서, 나머지 블록의 개수가 2개인지 또는 4개인지 판단하는 제3판단단계(S701); 상기 제3판단단계의 판단 결과, 나머지 블록의 개수가 2개인 경우, 나머지 블록이 가로로 배열되었는지 또는 세로로 배열되었는지 판단하는 제4판단단계(S702); 상기 제4판단단계의 판단 결과, 나머지 블록이 가로로 배열됨에 따라, 한 블록을 먼저 선택 및 로딩하고 나머지 블록을 선택 및 이송하는 단계(S703); 상기 제4판단단계의 판단 결과, 나머지 블록이 세로로 배열됨에 따라, 상기 파렛트 내부 영역의 가운데 위치한 블록을 먼저 선택 및 선택하고 나머지 블록을 선택 및 이송하는 단계(S704); 상기 제3판단단계의 판단 결과, 나머지 블록의 개수가 4개인 경우, 블록이 십자가 형태로 배열되었는지 또는 2x2 형태로 배열되었는지 판단하는 제5판단단계(S705); 상기 제5판단단계의 판단 결과, 블록이 십자가 형태로 배열됨에 따라, 블록의 선택 위치를 한 번에 결정하고, 기설정된 순서대로 각 블록을 선택 및 이송하는단계(S706); 및 상기 제5판단단계의 판단 결과, 블록이 2x2 형태로 배열됨에 따라, 4개의 불록에 대하여 각 블록의 선택 위치를 하나씩 선택 및 이송하는 단계(S707)를 포함하는 것을 특징으로 한다.
상기 인공지능을 이용한 다수의 직육면체 블록들의 적층 구조에서의 각 블록의 인식 및 로딩 방법은, 파렛트에 부착되는 블록의 정보를 획득하는 블록정보획득단계; 및 상기 파렛트에 부착되는 블록의 정보를 확인하여 각 파렛트에 로드된 블록의 종류를 판단하고, 상기 블록의 종류에 따라 인식된 블록들의 개수 및 배열(패턴)을 학습하는 단계를 더 포함하는 것을 특징으로 한다.
상기 이송할블록층 변경단계(S611)에서는, 상기 센서를 이용하여 획득한 이미지의 크기를 조정하는 이미지조정단계를 더 포함하거나, 상기 적층된 구조를 상기 블록의 높이만큼 상승시켜 상기 적층된 구조의 최상위층과 상기 센서 사이의 거리가 기설정 간격 내에 위치하도록 상기 파렛트의 높이를 조정하는 높이조정단계를 더 포함하는 것을 특징으로 한다.
또한, 본 발명의 일 실시예에 따르면, 상기 인공지능을 이용한 다수의 직육면체 블록들의 적층 구조에서의 각 블록의 인식 및 로딩 방법을 구현하기 위한 프로그램이 저장된 컴퓨터 판독 가능한 기록매체가 제공되는 것을 특징으로 한다.
아울러, 본 발명의 일 실시예에 따르면, 상기 인공지능을 이용한 다수의 직육면체 블록들의 적층 구조에서의 각 블록의 인식 및 로딩 방법을 구현하기 위해, 컴퓨터 판독 가능한 기록매체에 저장된 프로그램이 제공되는 것을 특징으로 한다.
본 발명의 일 실시예에 따른 인공지능을 이용한 다수의 직육면체 블록들의 적층 구조에서의 각 블록의 인식 및 로딩 시스템, 및 그 방법에 의하면, 다수의 직육면체 블록들이 임의의 적층 구조를 가지는 원재료가 구비된 파렛트의 상부에서 획득된 이미지 데이터를 이용하여 각 층의 모서리 블록이 먼저 선택 및 이송된 후 해당 블록이 제거된 위치 및 영역(면적)을 인식하고 나머지 블록들의 개수 및 배열을 인식하여 나머지 각 블록들을 선택하여 이송시키되, 각 블록들은 기설정된 동일한 방향으로 정렬되어 계량 컨베이어에 로딩함으로써, 자동화로 인한 작업 효율이 개선될 수 있는 효과가 있다.
또한, 본 발명의 일 실시예에 따른 인공지능을 이용한 다수의 직육면체 블록들의 적층 구조에서의 각 블록의 인식 및 로딩 시스템, 및 그 방법에 의하면, 다수의 직육면체 블록들이 임의의 적층 구조를 가지는 원재료 더미로부터 각 블록을 자동으로 선택 및 이송하여 공정 라인에 로딩함으로써, 작업자의 노동부하를 감소시키고, 인건비를 줄여 생산비 절감효과를 얻을 수 있다.
또, 본 발명의 일 실시예에 따른 인공지능을 이용한 다수의 직육면체 블록들의 적층 구조에서의 각 블록의 인식 및 로딩 시스템, 및 그 방법에 의하면, 3D 비전 센서에 의한 다양한 오류를 해결하면서도 간단한 방법으로 각 블록들의 선택 및 이송이 가능하고, 로봇 암을 이용하여 선택한 블록을 이송하는 사이에 해당 블록의 형태 및 크기를 파악하여 해당 블록을 기설정된 방향으로 정렬되도록 할 수 있는 효과가 있다.
아울러, 본 발명의 일 실시예에 따른 인공지능을 이용한 다수의 직육면체 블록들의 적층 구조에서의 각 블록의 인식 및 로딩 시스템, 및 그 방법에 의하면, 한 층에 위치한 모든 블록을 이송시킨 이후, 파렛트의 높이를 상승시킴으로써, 파렛트 하부에 위치하는 블록들에 대해서 피사계심도(DOF :Depth of Field)의 문제가 해결될 수 있는 효과가 있다.
도 1은 본 발명의 일 실시예에 따른 인공지능을 이용한 다수의 직육면체 블록들의 적층 구조에서의 각 블록의 인식 및 로딩 시스템의 구성도.
도 2는 도 1의 제어 서버의 상세 구성도.
도 3a 내지 3c는 본 발명에서 사용되는 다수의 직육면체 블록들의 적층 구조를 설명하기 위한 도면들.
도 4a 내지 4c는 본 발명에 따른 인공지능을 이용한 다수의 직육면체 블록들의 적층 구조에서의 각 블록의 인식 과정을 설명하기 위한 도면들.
도 5a 내지 5c는 본 발명에 따른 인공지능을 이용한 다수의 직육면체 블록들의 적층 구조에서의 이송되어 제거된 블록이 지워진 영역을 설명하기 위한 도면들.
도 6은 본 발명에 따른 인공지능을 이용한 다수의 직육면체 블록들의 적층 구조에서의 각 블록의 인식 및 로딩 방법의 일실시예 흐름도.
도 7은 본 발명에 따른 인공지능을 이용한 다수의 직육면체 블록들의 적층 구조에서의 각 블록의 인식 및 로딩 방법에서 나머지블록 인식단계(S606)의 일실시예 상세 흐름도.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다.
반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 명세서에서 사용되는 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 공정, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 공정, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미가 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미가 있는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부된 도면을 참조하여 본 발명을 더욱 상세하게 설명한다. 이에 앞서, 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정하여 해석되어서는 아니 되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위해 용어의 개념을 적절하게 정의할 수 있다는 원칙에 입각하여, 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다. 또한, 사용되는 기술 용어 및 과학 용어에 있어서 다른 정의가 없다면, 이 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 통상적으로 이해하고 있는 의미를 가지며, 하기의 설명 및 첨부 도면에서 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능 및 구성에 대한 설명은 생략한다. 다음에 소개되는 도면들은 당업자에게 본 발명의 사상이 충분히 전달될 수 있도록 하기 위해 예로서 제공되는 것이다. 따라서, 본 발명은 이하 제시되는 도면들에 한정되지 않고 다른 형태로 구체화될 수도 있다. 또한, 명세서 전반에 걸쳐서 동일한 참조번호들은 동일한 구성요소들을 나타낸다. 도면들 중 동일한 구성요소들은 가능한 한 어느 곳에서든지 동일한 부호들로 나타내고 있음에 유의해야 한다.
설명에 앞서, 본 명세서( 및 특허청구범위)에서 사용되는 용어에 대해 간단히 설명하도록 한다.
본 발명에서 다수의 블록 고무가 적층된 구조에서의 각 블록 고무를 간단히 '블록'이라고 칭하기로 한다.
도 1은 본 발명의 일 실시예에 따른 인공지능을 이용한 다수의 직육면체 블록들의 적층 구조에서의 각 블록의 인식 및 로딩 시스템의 구성도이다.
도 1에 도시된 바와 같이, 본 발명의 일 실시예에 따른 인공지능을 이용한 다수의 직육면체 블록들의 적층 구조에서의 각 블록의 인식 및 로딩 시스템은, 파렛트(110), 센서(120), 로봇 암(robot arm)(130) 및 제어 서버(100)를 포함한다.
상기 파렛트(110)는 다수의 직육면체 블록들의 적층 구조를 가지는 원재료가 로드되는 것으로, 파렛트는 규격 사이즈로 형성된다. 하나의 시스템에서 상기 파렛트가 다수 구비될 수 있다. 즉, 다수의 블록 고무가 적층된 구조가 실리는(로드되는) 다수의 파렛트(110)들이 구비될 수 있다.
상기 센서(120)는 상기 파렛트(110) 상부에 위치하여 상기 다수의 직육면체 블록들의 이미지 데이터를 획득하여 상기 제어 서버(100)로 전달한다.
상기 센서(120)는 본 발명에서의 블록을 인식할 수 있는 다양한 센서가 사용될 수 있으며, 예를 들어, 카메라, 라이다(Lidar), 레이저 및 레이더(radar) 등을 포함한다.
상기 로봇 암(130)은 상기 제어 서버(100)의 제어에 따라 상기 파렛트 내부에 위치하는 각 블록을 선택하여 계량 컨베이어(140)로 이송한다.
상기 로봇 암(130)은 제어 서버(100)가 이동시키고자 하는 위치의 x축, y축, z축의 좌표 및 회전 여부에 따른 제어 신호를 전달받아 그에 따라 동작이 제어된다.
상기 제어 서버(100)는, 상기 로봇 암(130)의 동작을 제어하여, 상기 파렛트(110) 내의 적층 구조에서 각 층에 대하여 네 모서리 부분에 위치하는 블록을 먼저 선택 및 이동시키고, 상기 파렛트 내의 네 모서리 부분에 위치하는 블록이 모두 이동된 이후에 남아있는 나머지 블록들의 개수 및 배열을 분석 및 학습하여 각 블록의 위치를 인식하고, 다음 이동할 블록의 선택 위치를 결정하여 해당 제어 신호를 상기 로봇 암(130)으로 전달하고, 상기 파렛트 내부의 각 블록이 이송될 때마다 상기 센서(120)로부터 전달받은 이미지 데이터를 이전 단계와 비교 및 분석하여 해당 블록의 방향을 정렬시켜 상기 계량 컨베이어(140)에 로딩시키도록 한다.
상기 제어 서버(100)는 로봇 암(130)의 위치, 방향, 동작 유형 및 동작 거리 등을 제어한다.
또한, 상기 제어 서버(100)는 상기 파렛트(110)로부터 어느 하나의 블록을 선택한 후 이송시켜 계량 컨베이어(140)의 롤링 테이블(미도시됨) 상에 파렛트(110)로부터 선택된 블록들을 기설정된 하나의 방향으로 로딩시킨다. 일예로, 각 블록을 길이방향으로 정렬시켜 로딩시킬 수 있다.
상기 파렛트(110)는 적층된 구조에서 하나의 층(layer)의 모든 블록이 선택 및 로딩된 이후에는 상기 적층된 구조를 상기 블록의 높이만큼 상승되어 상기 적층된 구조의 최상위층과 상기 센서(120) 사이의 거리가 기설정 간격 내에 위치하도록 조정하여 이미지 비교, 분석 및 처리가 용이하도록 할 수도 있다.
상기 제어 서버(100)는 통신 네트워크를 통하여 상기 센서(120)로부터 이미지 데이터를 전달받을 수 있으며, 별도의 서버와 통신하여 이미지 처리, 이미지 분석 및 각 블록의 개수 및 배열(패턴)을 인식하는데 필요한 데이터를 송수신할 수도 있다.
도 2는 도 1의 제어 서버의 상세 구성도이다.
도 2에 도시된 바와 같이, 본 발명의 일 실시예에 따른 인공지능을 이용한 다수의 직육면체 블록들의 적층 구조에서의 각 블록의 인식 및 로딩 시스템에서의 제어 서버(100)는, 저장부(220), 비교분석부(230), 블록 인식부(240), 블록 방향 판단부(250) 및 제어부(260)을 포함한다.
상기 저장부(220)는 각 블록이 이송될 때마다 전달받은 다수의 이미지 데이터를 저장하고 있다.
상기 비교분석부(230)는 이전 블록이 이송된 후 전달받은 이미지 데이터(이전 단계의 이미지 데이터)와 현재 블록이 이송된 이후 전달받은 이미지 데이터를 비교하여 현재 이송되는 블록의 위치 및 영역(면적)을 인식한다.
상기 블록 인식부(240)는 각 층의 4개의 모서리 부분에 위치하는 블록들을 모두 이동시킨 이후에 남아있는 나머지 블록들의 개수 및 배열을 인식 및 학습하여 나머지 각 블록에 대한 로봇 암(130)의 선택 위치를 결정한다.
상기 블록 방향 판단부(250)는 상기 비교분석부(230)에서 인식한 상기 현재 이송되는 블록의 제거된 위치 및 영역(면적)을 기반으로 해당 블록의 방향을 기설정된 하나의 방향으로 정렬되도록 회전 여부를 결정한다. 본 발명의 일실시예에서는 블록을 길이 방향으로 정렬하도록 상기 로봇 암(130)의 회전 각도를 0도 또는 90도 회전 여부를 결정한다.
상기 제어부(260)는 상기 블록 인식부(240)에서 결정한 나머지 각 블록의 선택 위치와 상기 블록방향 판단부(250)에서 결정한 해당 블록의 회전 여부에 따라 상기 로봇 암(130)을 제어하기 위한 제어 신호를 생성하여 상기 로봇 암(260)로 전달한다.
상기 제어 서버(100)는 상기 센서(120)로부터 전달받은 이미지 데이터를 전처리하기 위한 이미지 전처리부(210)을 더 포함할 수 있다.
그러면, 상기 저장부(220)는, 각 블록이 이송될 때마다 상기 전처리부(210)에서 전처리된 이미지 데이터가 저장되고, 상기 비교분석부(230)는, 이전 블록이 이송된 후 전달받아 전처리된 이미지 데이터와 현재 블록이 이송된 이후 전달받아 전처리된 이미지 데이터를 비교하여 현재 이송되는 블록의 위치 및 영역(면적)을 인식한다.
상기 다수의 직육면체 블록들의 적층 구조의 각 층은, 같은 개수의 블록들을 포함하는 것을 특징으로 하고, 상기 블록 인식부(240)는, 해당 블록의 층에서 이송된 블록들의 영역(면적)에 대한 면적을 계산하여 이송되어야할 남은 블록의 개수 및 배열(패턴)을 인식할 수 있다.
상기 제어 서버(100)는, 상기 파렛트(110)에 부착되는 블록의 정보를 확인하여 각 파렛트에 로드된 블록의 종류를 판단하고, 상기 블록의 종류에 따라 인식된 블록들의 개수 및 배열(패턴)을 학습하는 학습부(270)을 더 포함할 수 있다.
상기 이미지 전처리부(210), 상기 저장부(220), 상기 비교분석부(230), 상기 블록 인식부(240), 블록 방향 판단부(250), 상기 제어부(260) 및 상기 학습부(270)는 그 중 적어도 일부가 상기 제어 서버(100)와 통신하는 프로그램 모듈들일 수 있다. 이러한 프로그램 모듈들은 운영 시스템, 응용 프로그램 모듈 및 기타 프로그램 모듈의 형태로 인공지능을 이용한 다수의 직육면체 블록들의 적층 구조에서의 각 블록의 인식 및 로딩 시스템에 포함될 수 있으며, 물리적으로는 여러 가지 공지의 기억 장치 상에 저장될 수 있다. 또한, 이러한 프로그램 모듈들은 상기 제어 서버(100)와 통신 가능한 원격 기억 장치에 저장될 수도 있다. 한편, 이러한 프로그램 모듈들은 본 발명에 따라 후술할 특정 업무를 수행하거나 특정 추상 데이터 유형을 실행하는 루틴, 서브루틴, 프로그램, 오브젝트, 컴포넌트, 데이터 구조 등을 포괄하지만, 이에 제한되지는 않는다.
여기서, 통신 네트워크는 유선 및 무선 등과 같은 그 통신 양태를 가리지 않고 구성될 수 있으며, 근거리 통신망(LAN; Local Area Network), 도시권 통신망(MAN; Metropolitan Area Network), 광역 통신망(WAN; Wide Area Network) 등 다양한 통신망으로 구성될 수 있다. 바람직하게는, 본 발명에서 말하는 통신 네트워크는 공지의 월드와이드웹(WWW; World Wide Web)일 수 있다.
또한, 근거리에 위치한 구성요소들 간에는 와이파이, 블루투스, 지그비 등을 포함하는 근거리 무선 통신망(Wireless LAN: Wireless Local Area Network)으로 통신할 수도 있다.
도 3a 내지 3c는 본 발명에서 사용되는 다수의 직육면체 블록들의 적층 구조를 설명하기 위한 도면들이다.
도 3a에 도시된 블록 구조는, 한 층에 6개의 블록이 배열되며, 다수의 적층 구조에서 모든 층에 동일한 방향으로 2x3 형태로 블록이 배열된 구조이다. 즉, 홀수층 또는 짝수층의 구분이 없이 지그재그로 배열되지 않고 모두 동일한 방향으로 적재되어 있다.
도 3b에 도시된 블록 구조는, 한 층에 6개의 블록이 배열되며, 홀수 단(층) 또는 짝수 단(층)에 배치되는 각 블록들이 서로 지지되도록 엇갈려 배치되어 있다.
도 3c에 도시된 블록 구조는, 한 층에 8개의 블록이 배열되며, 홀수 단(층) 또는 짝수 단(층)에 배치되는 각 블록들이 서로 지지되도록 엇갈려 배치되어 있지만, 어느 하나의 층(짝수 단 (또는 홀수 단))에는 8개의 블록이 동일한 방향으로 4x2 형태로 배열된 구조를 가진다.
도 4a 내지 4c는 본 발명에 따른 인공지능을 이용한 다수의 직육면체 블록들의 적층 구조에서의 각 블록의 인식 과정을 설명하기 위한 도면들이고, 도 5a 내지 5c는 본 발명에 따른 인공지능을 이용한 다수의 직육면체 블록들의 적층 구조에서의 이송되어 제거된 블록이 지워진 영역을 설명하기 위한 도면들이다.
도 4a 내지 4c 및 도 5a 내지 5c에서, 네 모서리의 블록들이 이동된 이후를 설명하기 위해 이동된 블록의 영역은 회색으로 표시하였다.
도 3a에 도시된 블록 구조에서 네 모서리의 블록들을 선택 및 이동시킨 후에는, 도 4a에 도시된 바와 같이, 가로로 2개의 블록(1x2 형태)만 남게 되며, 도 5a 도시된 바와 같이, 제어 서버(100)에서는 가로로 2개의 블록이 배열될 수 있는 (1x2 형태) 가로로 긴 영역이 남는 것으로 계산 및 인식된다.
도 3b에 도시된 블록 구조에서 각 층에서 네 모서리의 블록을 선택 및 이동시킨 후에는 도 4b에 도시된 바와 같이, 세로로 2개의 블록(2x1 형태)만 남게 되며, 도 5b에 도시된 바와 같이, 제어 서버(100)에서는 세로로 2개의 블록이 배열될 수 있는 (2x1 형태) 사각형 영역이 남는 것으로 계산 및 인식된다.
도 3c에 도시된 블록 구조에서 각 층에서 네 모서리의 블록들을 선택 및 이동시킨 후에는, 도 4c에 도시된 바와 같이, 4개의 블록이 십자가 형태 또는 중간에 2x2 형태로 4개의 블록만 남게 되며, 도 5c에 도시된 바와 같이, 제어 서버(100)에서는 십자가 형태 및 2x2 로 배열될 수 있는 사각형 영역이 남는 것으로 계산 및 인식된다.
도 5a에서는, 두 블록 중 아무거나 먼저 선택하고, 나머지를 블록을 선택하면 남은 2개의 블록에 대하여 선택이 가능하다.
도 5b에서는, 가운데 2x1 형태이므로, 좀 더 쉽게 블록을 선택하기 위해서, 파렛트의 중앙부에 "X"로 표시된 부분을 먼저 선택하고, 나머지 남은 블록을 선택할 수 있다.
도 5c에서는, 남은 영역이 십자가 형태인 경우, "X"자로 표시된 4 개의 선택 부분이 한 번에 결정될 수 있으며, 기설정된 순서에 따라 하나씩 옮겨 처리할 수 있다. 또한, 남은 영역이 2x2 배열이 가능한 사각형이 경우, "X"자로 표시된 4 개의 선택 부분이 한 번에 결정될 수도 있지만, 흰 사각형 영역에서 네 모서리에 위치하는 블록을 하나씩 선택하는 과정으로 진행하는 것이 신뢰성이 높다.
이에, 제어 서버(100)(비교분석부(230) 및 블록 인식부(240))에서는, 처음에 전체 면적(파렛트 내부의 단면의 면적)에서 선택 및 이송된 블록 영역의 면적을 빼서 해당 층에서 몇 개의 블록이 남아있는지 계산이 가능하다. 또한, 상기 블록 인식부(240)은 남은 블록들의 배열(패턴)도 알 수 있다.
또한, 블록 방향 판단부(250)은 선택 및 이송된(제거된) 블록의 영역 및 크기를 알 수 있으므로, 해당 블록을 기설정된 한 방향(예를 들어, 길이방향)으로 정렬하기 위해 회전 여부를 판단할 수 있다.
본 발명에서는, 일예로 들어 적층 구조의 각 층이 6개 또는 8개의 블록으로 구성된 것을 예로 들었으나, 본 발명이 이에 한정되는 것은 아니며, 더 많은 개수의 블록으로 구성된 적층구조에서도 각 블록의 개수 및 배열의 인식 및 로딩하는 것 역시 가능하다.
도 6은 본 발명에 따른 인공지능을 이용한 다수의 직육면체 블록들의 적층 구조에서의 각 블록의 인식 및 로딩 방법의 일실시예 흐름도이다.
먼저, 제어부(260)의 제어에 따라 로봇 암(130)이 다수의 직육면체 블록들의 적층 구조를 가지는 원재료가 로드되는 파렛트(110)로부터 모서리에 위치하는 블록을 선택하여 이송한다(S601).
이후, 센서(120)를 통해 모서리 부분의 블록이 제거된 이미지를 획득한다(S602).
상기 제1이미지획득단계(S602)에서 획득한 모서리 부분의 블록이 제거된 이미지와 해당 블록이 제거되기 이전 단계에서 획득한 이미지를 비교하여 해당 블록의 위치 및 영역을 인식한다(S603).
상기 제1이미지획득단계(S602)에서 획득한 블록이 제거된 이미지에 근거하여 이송되는 각 블록을 기설정된 동일한 방향으로 정렬하여 계량 컨베이어에 로딩한다(S604). 각 블록을 기설정된 동일한 방향으로 정렬하기 위해 상기 로봇 암(130)의 회전 여부가 결정된다.
이후, 네 모서리의 블록들이 모두 이송되었는지 판단한다(S605).
상기 제1판단단계(S605)의 판단 결과, 네 모서리의 블록들이 모두 이송되지 않았으면 "S601"단계로 진행한다.
한편, 상기 제1판단단계(S605)의 판단 결과, 네 모서리의 블록들이 모두 이송되었으면, 나머지 블록들의 개수 및 배열(패턴)을 인식한다(S606).
상기 다수의 직육면체 블록들의 적층 구조의 각 층은, 같은 개수의 블록들을 포함하며, 상기 나머지블록 인식단계(S606)는, 해당 층에서 이송된 블록들의 영역에 대한 면적을 계산하여 이송되어야 할 남은 블록의 개수 및 배열(패턴)을 인식한다.
이후, 상기 인식한 나머지 블록의 개수 및 배열에 따라 각 블록을 선택 및 이송한다(S607).
상기 나머지블록 선택 및 이송 단계(S607)에서 각 블록이 제거된 이미지를 획득한다(S608).
상기 제2이미지획득단계(S608)에서 획득한 블록이 제거된 이미지에 근거하여 이송되는 각 블록을 기설정된 동일한 방향으로 정렬하여 상기 계량 컨베이어에 로딩한다(S609). 각 블록을 기설정된 동일한 방향으로 정렬하기 위해 상기 로봇 암(130)의 회전 여부가 결정된다.
이후, 같은 층에 위치하는 블록이 모두 이송되었는지 판단한다(S610).
상기 제2판단단계(S610)의 판단 결과, 같은 층에 위치하는 블록이 모두 이송되지 않은 경우, "S606"단계로 진행한다.
한편, 상기 제2판단단계(S610)의 판단 결과, 같은 층에 위치하는 블록이 모두 이송된 경우, 이송할 블록들의 층이 변경되고(S611), "S601" 단계로 진행하여 변경된 층에 대한 각 블록의 인식 및 로딩이 처리된다.
한편, 인공지능을 이용한 다수의 직육면체 블록들의 적층 구조에서의 각 블록의 인식 및 로딩 방법에서는, 파렛트(110)에 부착되는 블록의 정보를 획득하는 블록정보획득단계(미도시) 및 상기 파렛트(110)에 부착되는 블록의 정보를 확인하여 각 파렛트(110)에 로드된 블록의 종류를 판단하고, 상기 블록의 종류에 따라 인식된 블록들의 개수 및 배열(패턴)을 학습하는 단계를 더 포함할 수 있다.
한편, 상기 이송할블록층 변경단계(S611)에서는, 상기 센서(120)를 이용하여 획득한 이미지의 크기를 조정하는 이미지조정단계를 더 포함하거나, 상기 적층된 구조를 상기 블록의 높이만큼 상승시켜 상기 적층된 구조의 최상위층과 상기 센서(120) 사이의 거리가 기설정 간격 내에 위치하도록 상기 파렛트(110)의 높이를 조정하여 이미지 비교, 분석 및 처리가 용이하도록 할 수도 있다.
추가적으로, 파렛트(110) 내에 위치하는 블록의 각층에 대하여 최초 4개의 모서리 블록 선택을 위한 좌표는 기설정되어 있을 수도 있다.
한편, 파렛트(110) 내에 로드되는 적층된 블록 구조에서 최상위층이 평평하게 형성되어 모든 블록이 구비되는 경우가 아닐 수 있으므로, 이를 위해, 최상위층에 대해서는 스캔을 진행하여 한 층을 이루는 블록들이 빠짐없이 존재하는지 확인할 수도 있다. 물론, 평평하게 모든 블록이 구비되지 않는다 하더라도 본 발명에 다른 각 블록의 인식 및 로딩이 가능하다.
도 7은 본 발명에 따른 인공지능을 이용한 다수의 직육면체 블록들의 적층 구조에서의 각 블록의 인식 및 로딩 방법에서 나머지블록 인식단계(S606)의 일실시예 상세 흐름도이다.
본 발명에서는 현재 대부분의 블록 고무에서 가장 많이 사용되고 있는, 다수의 적층 구조에서 한 층에 포함되는 블록의 개수가 6개 또는 8개인 경우를 일실시예로 설명하기로 한다.
나머지블록 인식단계(S606)에서는, 우선, 각 층에서 4개의 모서리 부분의 블록이 모두 이송된 이후에 2개의 블록에 해당하는 영역이 남아있는지 4개의 블록에 해당하는 영역이 남아있는지에 따라서 해당 층에 나머지 옮겨야할 블록 개수를 판단한다(S701).
상기 판단단계(S701)의 판단 결과, 2개의 블록을 옮겨야 하는 경우, 2개의 블록이 가로로 배열된 형태인지, 세로로 배열된 형태인지 판단한다(S702).
상기 판단단계(S702)의 판단 결과, 상기 2개의 블록이 가로로 배열된 형태이면, 한 블록을 먼저 선택 및 이송한 이후, 나머지 블록을 선택 및 이송한다(S703).
한편, 상기 판단단계(S702)의 판단 결과, 상기 2개의 블록이 세로로 배열된 형태이면, 상기 파렛트의 내부 영역의 가운데 위치한 블록을 먼저 선택 및 이송하고, 나머지 하나를 선택 및 이송한다(S704).
한편, 상기 판단단계(S701)의 판단 결과, 4개의 블록을 옮겨야 하는 경우, 4개의 블록 영역이 십자가 형태인지, 2x2 형태인지 판단한다(S705).
상기 판단단계(S705)의 판단 결과, 4개의 블록 영역이 십자가 형태이면, 블록의 선택 위치를 한 번에 결정하고, 기설정된 순서대로 각 블록을 선택 및 이송한다(S706).
한편, 상기 판단단계(S705)의 판단 결과, 상기 4개의 블록이 2x2 형태로 배열되는 경우, 4개의 블록에 대하여 각 블록의 선택 위치를 하나씩 선택 및 이송한다(S707).
이상에서 본 발명의 일 실시예에 따른 인공지능을 이용한 다수의 직육면체 블록들의 적층 구조에서의 각 블록의 인식 및 로딩 방법에 대하여 설명하였지만, 인공지능을 이용한 다수의 직육면체 블록들의 적층 구조에서의 각 블록의 인식 및 로딩 방법을 구현하기 위한 프로그램이 저장된 컴퓨터 판독 가능한 기록매체 및 인공지능을 이용한 다수의 직육면체 블록들의 적층 구조에서의 각 블록의 인식 및 로딩 방법을 구현하기 위한 컴퓨터 판독 가능한 기록매체에 저장된 프로그램 역시 구현 가능함은 물론이다.
즉, 상술한 인공지능을 이용한 다수의 직육면체 블록들의 적층 구조에서의 각 블록의 인식 및 로딩 방법은 이를 구현하기 위한 명령어들의 프로그램이 유형적으로 구현됨으로써, 컴퓨터를 통해 판독될 수 있는 기록매체에 포함되어 제공될 수도 있음을 당업자들이 쉽게 이해할 수 있을 것이다. 다시 말해, 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어, 컴퓨터 판독 가능한 기록매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 상기 컴퓨터 판독 가능한 기록매체의 예에는 하드 디스크, 플로피 디스크 및 자기테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리, USB 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
본 발명은 상기한 실시예에 한정되지 아니하며, 적용범위가 다양함은 물론이고, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 다양한 변형 실시가 가능한 것은 물론이다.
100: 제어 서버 110: 파렛트
120: 센서 130: 로봇 암
140: 계량 컨베이어
210: 이미지 전처리부 220: 저장부
230: 비교분석부 240: 블록 인식부
250: 블록 방향 판단부 260: 제어부
270: 학습부
S601: 모서리블록 선택및이송단계
S602: 제1이미지획득단계
S603: 블록위치및영역 인식단계
S604: 제1블록 정렬및로딩단계
S605: 제1판단단계
S606: 나머지블록 인식단계
S607: 나머지블록 선택및이송단계
S608: 제2이미지획득단계
S609: 제2블록 정렬및로딩단계
S610: 제2판단단계
S611: 이송할 블록층 변경단계

Claims (10)

  1. 인공지능을 이용한 다수의 직육면체 블록들의 적층 구조에서의 각 블록의 인식 및 로딩 시스템에 있어서,
    다수의 직육면체 블록들의 적층 구조를 가지는 원재료가 로드되는 파렛트(110);
    상기 파렛트 상부에 위치하여 상기 다수의 직육면체 블록들의 이미지 데이터를 획득하기 위한 센서(120);
    상기 파렛트 내부에 위치하는 각 블록을 선택하여 계량 컨베이어로 이송하기 위한 로봇 암(130); 및
    상기 로봇 암의 동작을 제어하여, 상기 파렛트 내의 적층 구조에서 각 층에 대하여 네 모서리 부분에 위치하는 블록을 먼저 선택 및 이동시키고, 상기 파렛트 내의 네 모서리 부분에 위치하는 블록이 모두 이동된 이후에 남아있는 나머지 블록들의 개수 및 배열을 분석 및 학습하여 각 블록의 위치를 인식하고, 다음 이동할 블록의 선택 위치를 결정하여 해당 제어 신호를 상기 로봇 암으로 전달하고, 상기 파렛트 내부의 각 블록이 이송될 때마다 상기 센서로부터 전달받은 이미지 데이터를 이전 단계와 비교 및 분석하여 해당 블록의 방향을 정렬시켜 상기 계량 컨베이어에 로딩시키기 위한 제어 서버(100)
    를 포함하고,
    상기 제어 서버(100)는,
    각 블록이 이송될 때마다 전달받은 다수의 이미지 데이터를 저장하고 있는 저장부(220);
    이전 블록이 이송된 후 전달받은 이미지 데이터와 현재 블록이 이송된 이후 전달받은 이미지 데이터를 비교하여 현재 이송되는 블록의 위치 및 영역을 인식하는 비교분석부(230);
    각 층의 4개의 모서리 부분에 위치하는 블록들을 모두 이동시킨 이후에 남아있는 나머지 블록들의 개수 및 배열을 인식 및 학습하여 나머지 각 블록의 선택 위치를 결정하기 위한 블록 인식부(240);
    상기 비교분석부에서 인식한 상기 현재 이송되는 블록의 제거된 위치 및 영역을 기반으로 해당 블록의 방향을 기설정된 하나의 방향으로 정렬되도록 회전 여부를 결정하기 위한 블록방향 판단부(250); 및
    상기 블록 인식부에서 결정한 나머지 각 블록의 선택 위치와 상기 블록방향 판단부에서 결정한 해당 블록의 회전 여부에 따라 상기 로봇 암을 제어하기 위한 제어 신호를 생성하여 상기 로봇 암으로 전달하기 위한 제어부(260)
    를 포함하는 것을 특징으로 하는 인공지능을 이용한 다수의 직육면체 블록들의 적층 구조에서의 각 블록의 인식 및 로딩 시스템.
  2. 삭제
  3. 제1항에 있어서,
    상기 다수의 직육면체 블록들의 적층 구조의 각 층은,
    같은 개수의 블록들을 포함하는 것을 특징으로 하고,
    상기 블록 인식부(240)는,
    해당 블록의 층에서 이송된 블록들의 영역을 인식하여 상기 남아있는 블록의 개수 및 배열(패턴)을 인식하는 것을 특징으로 하는 인공지능을 이용한 다수의 직육면체 블록들의 적층 구조에서의 각 블록의 인식 및 로딩 시스템.
  4. 제1항에 있어서,
    상기 파렛트(110)는,
    다수 구비되는 것을 특징으로 하고,
    상기 제어 서버(100)는,
    상기 파렛트에 부착되는 블록의 정보를 확인하여 각 파렛트에 로드된 블록의 종류를 판단하고, 상기 블록의 종류에 따라 인식된 블록들의 개수 및 배열(패턴)을 학습하는 학습부(270)
    를 더 포함한는 것을 특징으로 하는 인공지능을 이용한 다수의 직육면체 블록들의 적층 구조에서의 각 블록의 인식 및 로딩 시스템.
  5. 제1항에 있어서,
    상기 제어 서버(100)는,
    상기 센서로부터 전달받은 이미지 데이터를 전처리하기 위한 이미지 전처리부(210)
    를 더 포함하고,
    상기 저장부(220)는,
    각 블록이 이송될 때마다 상기 전처리부에서 전처리된 이미지 데이터가 저장되는 것을 특징으로 하고,
    상기 비교분석부(230)는,
    이전 블록이 이송된 후 전달받아 전처리된 이미지 데이터와 현재 블록이 이송된 이후 전달받아 전처리된 이미지 데이터를 비교하여 현재 이송되는 블록의 위치 및 영역을 인식하는 것을 특징으로 하는 인공지능을 이용한 다수의 직육면체 블록들의 적층 구조에서의 각 블록의 인식 및 로딩 시스템.
  6. 인공지능을 이용한 다수의 직육면체 블록들의 적층 구조에서의 각 블록의 인식 및 로딩 방법에 있어서,
    제어부의 제어에 따라 로봇 암이 다수의 직육면체 블록들의 적층 구조를 가지는 원재료가 로드되는 파렛트로부터 모서리에 위치하는 블록을 선택하여 이송하는 모서리블록 선택및이송단계(S601);
    센서를 통해 모서리 부분의 블록이 제거된 이미지를 획득하는 제1이미지획득단계(S602);
    상기 제1이미지획득단계(S602)에서 획득한 모서리 부분의 블록이 제거된 이미지와 해당 블록이 제거되기 이전 단계에서 획득한 이미지를 비교하여 해당 블록의 위치 및 영역을 인식하는 블록위치및영역 인식단계(S603);
    상기 제1이미지획득단계(S602)에서 획득한 블록이 제거된 이미지에 근거하여 이송되는 각 블록을 기설정된 동일한 방향으로 정렬하여 계량 컨베이어에 로딩하는 제1블록 정렬및로딩단계(S604);
    네 모서리의 블록들이 모두 이송되었는지 판단하는 제1판단단계(S605);
    상기 제1판단단계(S605)의 판단 결과, 네 모서리의 블록들이 모두 이송되지 않았으면 "S601"단계로 진행하는 단계;
    상기 제1판단단계(S605)의 판단 결과, 네 모서리의 블록들이 모두 이송되었으면, 나머지 블록들의 개수 및 배열(패턴)을 인식하는 나머지블록 인식단계(S606);
    상기 인식한 나머지 블록의 개수 및 배열에 따라 각 블록을 선택 및 이송하는 나머지블록 선택및이송단계(S607);
    상기 나머지블록 선택 및 이송 단계에서 각 블록이 제거된 이미지를 획득하는 제2이미지획득단계(S608);
    상기 제2이미지획득단계(S608)에서 획득한 블록이 제거된 이미지에 근거하여 이송되는 각 블록을 기설정된 동일한 방향으로 정렬하여 상기 계량 컨베이어에 로딩하는 제2블록 정렬및로딩단계(S609);
    같은 층에 위치하는 블록이 모두 이송되었는지 판단하는 제2판단단계(S610);
    상기 제2판단단계(S610)의 판단 결과, 같은 층에 위치하는 블록이 모두 이송되지 않은 경우, "S606"단계로 진행하는 단계; 및
    상기 제2판단단계(S610)의 판단 결과, 같은 층에 위치하는 블록이 모두 이송된 경우, 이송할 블록들의 층이 변경되고, "S601" 단계로 진행하는 이송할블록층 변경단계(S611)
    를 포함하는 인공지능을 이용한 다수의 직육면체 블록들의 적층 구조에서의 각 블록의 인식 및 로딩 방법.
  7. 제6항에 있어서,
    상기 다수의 직육면체 블록들의 적층 구조의 각 층은,
    같은 개수의 블록들을 포함하는 것을 특징으로 하고,
    상기 나머지블록 인식단계(S606)는,
    해당 블록의 층에서 이송된 블록들의 영역을 인식하여 상기 남아있는 블록의 개수 및 배열(패턴)을 인식하는 것을 특징으로 하는 인공지능을 이용한 다수의 직육면체 블록들의 적층 구조에서의 각 블록의 인식 및 로딩 방법.
  8. 제7항에 있어서,
    상기 나머지블록 선택및이송단계(S607)에서,
    나머지 블록의 개수가 2개인지 또는 4개인지 판단하는 제3판단단계(S701);
    상기 제3판단단계의 판단 결과, 나머지 블록의 개수가 2개인 경우, 나머지 블록이 가로로 배열되었는지 또는 세로로 배열되었는지 판단하는 제4판단단계(S702);
    상기 제4판단단계의 판단 결과, 나머지 블록이 가로로 배열됨에 따라, 한 블록을 먼저 선택 및 로딩하고 나머지 블록을 선택 및 이송하는 단계(S703);
    상기 제4판단단계의 판단 결과, 나머지 블록이 세로로 배열됨에 따라, 상기 파렛트 내부 영역의 가운데 위치한 블록을 먼저 선택 및 선택하고 나머지 블록을 선택 및 이송하는 단계(S704);
    상기 제3판단단계의 판단 결과, 나머지 블록의 개수가 4개인 경우, 블록이 십자가 형태로 배열되었는지 또는 2x2 형태로 배열되었는지 판단하는 제5판단단계(S705);
    상기 제5판단단계의 판단 결과, 블록이 십자가 형태로 배열됨에 따라, 블록의 선택 위치를 한 번에 결정하고, 기설정된 순서대로 각 블록을 선택 및 이송하는단계(S706); 및
    상기 제5판단단계의 판단 결과, 블록이 2x2 형태로 배열됨에 따라, 4개의 불록에 대하여 각 블록의 선택 위치를 하나씩 선택 및 이송하는 단계(S707)
    를 포함하는 것을 특징으로 인공지능을 이용한 다수의 직육면체 블록들의 적층 구조에서의 각 블록의 인식 및 로딩 방법.
  9. 제6항에 있어서,
    파렛트에 부착되는 블록의 정보를 획득하는 블록정보획득단계; 및
    상기 파렛트에 부착되는 블록의 정보를 확인하여 각 파렛트에 로드된 블록의 종류를 판단하고, 상기 블록의 종류에 따라 인식된 블록들의 개수 및 배열(패턴)을 학습하는 단계
    를 더 포함하는 것을 특징으로 하는 인공지능을 이용한 다수의 직육면체 블록들의 적층 구조에서의 각 블록의 인식 및 로딩 방법.
  10. 제6항에 있어서,
    상기 이송할블록층 변경단계(S611)에서는,
    상기 센서를 이용하여 획득한 이미지의 크기를 조정하는 이미지조정단계를 더 포함하거나,
    상기 적층된 구조를 상기 블록의 높이만큼 상승시켜 상기 적층된 구조의 최상위층과 상기 센서 사이의 거리가 기설정 간격 내에 위치하도록 상기 파렛트의 높이를 조정하는 높이조정단계를
    더 포함하는 것을 특징으로 하는 인공지능을 이용한 다수의 직육면체 블록들의 적층 구조에서의 각 블록의 인식 및 로딩 방법.
KR1020220106272A 2022-08-24 2022-08-24 인공지능을 이용한 다수의 직육면체 블록들의 적층 구조에서의 각 블록의 인식 및 로딩 시스템, 및 그 방법 KR102491429B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220106272A KR102491429B1 (ko) 2022-08-24 2022-08-24 인공지능을 이용한 다수의 직육면체 블록들의 적층 구조에서의 각 블록의 인식 및 로딩 시스템, 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220106272A KR102491429B1 (ko) 2022-08-24 2022-08-24 인공지능을 이용한 다수의 직육면체 블록들의 적층 구조에서의 각 블록의 인식 및 로딩 시스템, 및 그 방법

Publications (1)

Publication Number Publication Date
KR102491429B1 true KR102491429B1 (ko) 2023-01-27

Family

ID=85101461

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220106272A KR102491429B1 (ko) 2022-08-24 2022-08-24 인공지능을 이용한 다수의 직육면체 블록들의 적층 구조에서의 각 블록의 인식 및 로딩 시스템, 및 그 방법

Country Status (1)

Country Link
KR (1) KR102491429B1 (ko)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR200354550Y1 (ko) 1998-09-16 2004-07-21 한국타이어 주식회사 블록고무자동로딩장치
KR100738656B1 (ko) 2005-09-30 2007-07-11 금호타이어 주식회사 시트고무 자동 공급장치
KR101053859B1 (ko) 2009-12-18 2011-08-03 한국타이어 주식회사 타이어 정련공정에서 시트고무 공급장치
KR20180039772A (ko) 2016-10-10 2018-04-19 한국타이어 주식회사 타이어용 시트고무 로딩장치
KR20200080372A (ko) * 2018-12-14 2020-07-07 삼성전자주식회사 로봇 장치 및 로봇의 작업 기술을 학습하는 방법
JP2020537775A (ja) * 2018-10-30 2020-12-24 株式会社Mujin 自動パッケージ登録機構および自動検出パイプラインを備えたロボットシステム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR200354550Y1 (ko) 1998-09-16 2004-07-21 한국타이어 주식회사 블록고무자동로딩장치
KR100738656B1 (ko) 2005-09-30 2007-07-11 금호타이어 주식회사 시트고무 자동 공급장치
KR101053859B1 (ko) 2009-12-18 2011-08-03 한국타이어 주식회사 타이어 정련공정에서 시트고무 공급장치
KR20180039772A (ko) 2016-10-10 2018-04-19 한국타이어 주식회사 타이어용 시트고무 로딩장치
JP2020537775A (ja) * 2018-10-30 2020-12-24 株式会社Mujin 自動パッケージ登録機構および自動検出パイプラインを備えたロボットシステム
KR20200080372A (ko) * 2018-12-14 2020-07-07 삼성전자주식회사 로봇 장치 및 로봇의 작업 기술을 학습하는 방법

Similar Documents

Publication Publication Date Title
DE102019009189B4 (de) Robotersytem mit Fehlererkennung und dynamischem Packmechanismus
DE102019009206B4 (de) Robotersystem mit dynamischem Packmechanismus
JP6911131B2 (ja) 注文完了システム及び方法
KR101058594B1 (ko) 컨테이너 하역 시스템 및 그 방법
DE102019130923A1 (de) Robotersystem für das palettieren von paketen unter verwendung von echtzeit-platzierungssimulation
DE112019000177T5 (de) Ein robotersystem mit automatisiertem paketregistrierungsmechanismus und verfahren zum betreiben dieses systems
CN116835334B (zh) 基于3d视觉的无序码垛方法、装置、介质及设备
CN105480864B (zh) 一种集装箱起重机自动化检测标定系统及方法
DE102019130639A1 (de) ROBOTERSYSTEM ZUM VERARBEITEN VON PAKETEN, DIE AUßERHALB DER SEQUENZ ANKOMMEN
US11964858B2 (en) Pallet loading apparatus and pallet loading method
CN110941462B (zh) 自动学习产品操纵的系统和方法
US20240043227A1 (en) Depalletizer system and controlling method for the same
US11977392B2 (en) Identifying elements in an environment
DE102020101767A1 (de) Steuerverfahren und steuerung für ein robotersystem
US20150019006A1 (en) Robot system and robot controller
CN111891927B (zh) 第一层集装箱放置方法及计算机可读存储介质
CN115115768A (zh) 基于立体视觉的物体坐标识别系统及方法、装置、介质
KR102491429B1 (ko) 인공지능을 이용한 다수의 직육면체 블록들의 적층 구조에서의 각 블록의 인식 및 로딩 시스템, 및 그 방법
CN113971543A (zh) 货物储位的确定方法、装置、设备、系统及介质
KR100447911B1 (ko) 컨테이너 승하차 시스템 및 방법
CN115818515A (zh) 货物搬运方法及系统、设备、存储介质
JP2022179331A (ja) 無人フォークリフト
EP4284734A1 (en) Controlling storage locations of products stored in storage containers in an automated storage and retrieval system
KR20220087806A (ko) 자동 선적 로봇 시스템 및 이의 제어 방법
KR200390809Y1 (ko) 픽업 크레인 제어 장치 및 그를 이용한 픽업 크레인 장치

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant