
CAD와 BOM 데이터베이스 기반 자동 로봇 조립계획 시스템 아키텍처 개발
© 2023 KIIE
Abstract
This paper provides an information system architecture based on CAD, BOM and Robot databases to automatically generate robot assembly plans from CAD files. A STEP CAD file for an assembly product is translated into both the shape objects in the CAD database and the product structure objects in the BOM database. The architecture identifies form features and possible assembly directions of the component items from the shape objects in the CAD database. Then it sequences the components and generates a manufacturing BOM to represent a sequence of robot operations. Finally it generates a robot assembly plan and represents it with a process BOM that can express not only necessary items and materials but also routings for the final assembly product. Without human assistance, the robot assemlby plan can contol robot arms to assemble products form CAD models. This study implemented the architecture and applied an example assembly product to automatically generate a robot assembly plan. This shows the architecture is feasible and the integrated CAD and BOM databases can support the automated robot assembly planning.
Keywords:
CAD Database, BOM Database, Robot Assembly Planning, MBOM, EBOM, PBOM1. 서 론
본 연구는 CAD(Computer-Aided Design)와 BOM(Bill of Material) 데이터베이스를 기반으로 자동화된 로봇 조립계획을 지원하는 시스템 아키텍처를 제안한다. 로봇 조립계획(Robot Assembly Planning)이란 로봇이 부품을 조립하여 완제품을 만드는데 필요한 이동 경로(Path)를 결정하는 작업이다. 로봇 조립계획은 설계와 생산의 대표적 협동 과정이며, 기존 방법은 설계에서 생성한 부품 형상을 참고하여 생산에서 로봇 이동 경로를 수작업으로 입력하는 노동집약적 과정으로 알려져 있다.
생산을 위한 인력 투입의 약 30%를 차지하는 조립 과정 합리화를 위해 자동화된 로봇 조립계획에 관한 연구가 진행되었다(Rafibakhsh, 2017). 하지만 자동화된 로봇 조립계획을 위한 연구는 주로 자동화 알고리듬이나 프로시저 개발에 집중되었고, 설계와 생산을 지원하는 통합 제품자료에 관한 연구는 부족하였다. 통합 제품자료에 관한 연구는 설계와 생산에 걸친 부품 형상, 조립 구조 그리고 로봇 조립에 필요한 통합 제품자료를 제공하는 역할을 한다.
통합된 설계와 생산(로봇 조립) 제품자료 기반 로봇 조립계획은 설계에서 로봇 조립계획까지 연결된 자동화를 통하여 두 과정 사이의 중복된 작업과 자료 전달 시간을 제거할 수 있다(Groover and Zimmers, 1984). 통합의 효과를 극대화하기 위하여 설계와 생산 자료는 로봇 조립계획뿐만 아니라 다른 생산 부분에서 공유되는 CAD와 BOM과 같은 기업의 기간 제품자료이어야 한다. 그러므로 설계와 로봇 조립에 관한 통합 제품자료에 대한 고려 없이 알고리듬이나 프로시저에 집중한 기존 연구만으로 설계와 생산을 연계한 효율적인 로봇 조립계획을 지원하기 어렵다.
본 연구는 기존 연구의 부족한 점을 보완하기 위하여 제품 자료 관리를 강화한 로봇 조립계획 시스템 아키텍처를 제안한다. 제안된 아키텍처는 로봇 조립계획에 통합 제품자료를 지원하기 위하여 제품 형상 자료를 객체 수준에서 참조할 수 있는 CAD 데이터베이스와 설계, 생산 그리고 공정 자료를 통합 관리하는 BOM 데이터베이스를 포함한다.
제안된 아키텍처는 설계에서 생성한 객체화된 CAD 데이터베이스를 생산에서 공유함으로써 로봇 조립계획 프로시저가 로봇 조립에 필요한 다양한 제품 형상 자료에 쉽게 접근할 수 있게 한다. 제안된 아키텍처는 제품 수명주기 상의 설계, 생산 그리고 공정을 통합 관리하는 BOM 데이터베이스를 공유함으로써 설계 자료와 연결된 로봇 조립 순서와 실행을 체계적으로 표현할 수 있다. 그러므로 제안된 로봇 조립계획 아키텍처는 설계와 생산이 공유하는 CAD와 BOM 데이터베이스를 통하여 설계와 연결된 자동화된 로봇 조립계획을 지원하는 일관된 제품자료를 제공할 수 있다.
아키텍처가 구현될 수 있음을 보이기 위하여 CAD와 BOM 데이터베이스와 자동화된 로봇 조립계획 프로시저를 구현하였다. 프로시저 구현을 위하여 기존 인간을 위한 조립 계획 연구(Kim and Choi, 2005)의 특징 형상, 조립 방향 그리고 조립 순서 결정 알고리듬의 입력과 출력을 CAD와 BOM 데이터베이스의 제품 형상, 설계 BOM(Engineering BOM: E-BOM) 그리고 생산 BOM(Manufacturing BOM: M-BOM)으로 표현하도록 확장하였다(본 연구에서 M-BOM이란 로봇 조립 공정을 표현하는 생산 BOM으로 제한한다). 또한, M-BOM과 중간 조립품의 형상과 조립 위치로부터 로봇 좌표를 계산하는 공정 BOM(Process BOM: P-BOM)을 개발하였다. 구현된 자동 로봇 조립계획 시스템에 4개 부품을 가진 조립품을 시험 적용하여 로봇 조립계획이 생성됨을 확인하였다.
본 논문은 제2장에서 관련 연구를 소개한다. 제3장에서 제안된 시스템 아키텍처와 지원 데이터베이스 구조를 서술하고 시스템 구현을 소개한다. 제4장에서 구현된 시스템에 예제 조립품을 적용하고 적용 결과를 토론한다. 제5장에서 결론과 추후 연구를 도출한다.
2. 관련 연구
<Figure 1>은 본 연구와 관련된 주제 간 관계를 그림으로 표현하였다. 첫째, CAD 데이터베이스를 통하여 형상 정보를 표현하고 다른 제품 데이터베이스와 연결하여 검색하는 기능을 활용하였다(<Figure 1>의 ➀). 둘째, 로봇 조립계획을 지원하는 제품 형상과 제품구조 자료를 통합한 제품자료 모델에 관한 연구가 이루어졌다(<Figure 1>의 ②). 이 분야는 ISO STEP을 이용한 설계와 조립 공정 통합 연구와 연결되어 있다. 마지막으로 CAD 기반 자동 로봇 조립계획 연구와 관련이 있다(<Figure 1>의 ③). 일반적으로 새로운 알고리듬 개발에 중심을 두는 이 분야는 아키텍처의 로봇 조립계획 프로시저 구현과 관련된다.
2.1 CAD 데이터베이스
(Groover & Zimmers, 1984)는 CAD 데이터베이스가 제품 설계 자료를 Computer-Aided Manufacturing(CAM)과 공유함으로써 CAD와 로봇 계획을 포함한 CAM 사이의 중복된 작업과 시간 지체를 제거하고 두 분야를 통합할 수 있음을 주장하였다. (Anumba, 1996)는 CAD 데이터베이스는 제품 형상과 비 형상 자료, 자료 사이의 복잡한 순환 혹은 재귀적 관계, 동적인 자료 구조, 다양한 관점, 신속한 자료 접근 그리고 의미를 저장할 수 있는 기능이 필요하다고 주장하였다. (Anumba, 1996)는 CAD 자료와 비 형상 제품자료를 통합 지원하는 ISO STEP의 가능성을 언급하였다.
CAD 데이터베이스에 대한 상업적 구현은 몇몇 상용 CAD 개발사에 의해 이루어졌다. Dassault Systemes 사의 CATIA(Dassault Systemes, 2023)는 버전 5부터 데이터베이스를 이용하여 형상 정보를 관리하여 제품개발 및 생산 응용 통합과 협동 제품개발을 지원하고 있다. OnShape 사(OnShape, 2023)는 형상 정보를 데이터베이스로 관리하고 클라우드 기반 CAD와 협동 제품개발 서비스를 제공하고 있다.
본 연구는 3D CAD에서 출력된 STEP 파일의 제품 형상과 구조 객체를 저장할 수 있는 관계형 데이터베이스 스키마를 설계하였다. STEP을 선택한 이유는 STEP이 ISO 표준으로 대부분의 3D CAD 시스템이 호환 자료 표준으로 제공하기 때문이다. 또한 STEP은 제품 형상과 제품구조 자료를 통합 표현할 수 있다. 관계형 데이터베이스를 선택한 이유는 BOM 관리를 비롯한 대부분의 제품 데이터베이스 응용에 관계형 데이터베이스가 사용되며, 로봇 조립계획에 필요한 설계, 생산 그리고 공정에 관한 자료를 통합 검색할 수 있는 표준 관계형 데이터베이스 언어(Structured Query Language: SQL)를 제공하기 때문이다.
2.2 로봇 조립계획을 지원하는 제품 데이터베이스
제품 형상과 통합된 제품구조 자료 모델은 제품자료 호환 국제 표준인 ISO STEP을 채택하였다(KSTEP, 2023). STEP은 기존의 CAD 모델 호환 표준으로 개발되었으나, 제품 수명주기 상의 제품자료를 정의할 수 있다(Han, 2015). 본 연구의 CAD와 BOM 데이터베이스는 CAD에서 STEP 표준 형태로 출력된 제품 형상과 구조 정보를 입력 자료로 사용한다.
Zha and Du(2002)는 설계와 조립계획(Design and Assembly Planning)을 통합 지원하는 STEP 기반 자료 구조를 제안하였다. 해당 연구는 STEP의 EXPRESS 언어를 이용하여 제품의 조립 구조와 조립 과정이 연계된 객체 구조를 제안하였다. 객체 구조는 제품 형상에 대한 정보 없이 제품 조립 구조와 제품 조립을 위한 속성과 관계가 포함되어 있다. 또한 일종의 BOM인 제품 계층 관계와 조립 공정 객체가 분리되어 있다. 해당 연구에 비하여 본 연구는 CAD 데이터베이스를 이용하여 제품 조립에 관련된 형상 규칙과 속성을 계산할 수 있어 조립을 위한 추가 속성과 관계를 정의할 필요가 없다. 또한 조립 과정을 따로 표현하지 않고, 확장된 BOM에 통합하여 관리한다.
로봇 조립계획을 지원하는 제품자료 모델에 관한 연구는 로봇 조립계획을 지원하는 CAD와 BOM 데이터베이스의 구조를 제안한다. Horvath et al.(2001), Horvath et al.(2002), Horvath et al.(2004)은 제품구조 기반의 제품 모델을 적용한 로봇 제어 체계를 제안하였다. 연구는 제품 형상과 제품구조가 통합된 제품 모델과 특징 형상을 이용하여 로봇 조립계획을 지원하는 체계를 제안하였다. 본 연구는 아키텍처를 정보 시스템으로 구현하고 시험 제품을 적용하였지만, 이 연구에서 제안된 체계를 지원하는 객체 수준의 통합된 제품자료 모델이나 이를 구현한 내용을 찾아볼 수 없다.
Do et al.(2021)은 본 연구의 이전 연구로서 CAD와 BOM 데이터베이스를 이용하여 제품 형상 대신 작업 중심의 로봇 조립계획을 지원하는 시스템 아키텍처를 제안하였다. 제안된 아키텍처는 인간이 정의한 로봇 조립 순서에 필요한 로봇 좌표 계산에 BOM과 CAD 데이터베이스를 연계함으로써 작업 중심의 로봇 조립계획이 가능하게 하였다. 이 아키텍처는 기업 기준 정보로 사용하는 BOM 데이터베이스에 기반함으로써 제품개발 및 설계변경과 동기화된 로봇 조립계획을 제공하였다.
본 연구는 기존 로봇 계획 시스템 아키텍처를 인간의 간섭이 필요 없는 자동화된 시스템을 위한 아키텍처로 발전시켰다. 이를 위해 첫째, 로봇 조립 공정을 체계적으로 표현하기 위해 M-BOM과 E-BOM을 분리하였다. 둘째, CAD 데이터베이스의 기하학적 자료로부터 특징 형상을 추출하고 조립 가능 방향을 결정하였다. 또한, CAD 데이터베이스의 조립품 제품 형상을 이용하여 M-BOM을 자동으로 생성하였다. 셋째, M-BOM의 공정을 나타내는 중간 조립품과 제품 형상 그리고 조립 가능 방향을 이용하여 로봇 조립 공정을 표현하는 P-BOM을 자동 생성하였다. 그러므로 본 연구는 E-BOM, M-BOM 그리고 P-BOM을 통합 제공하는 BOM 데이터베이스와 제품 형상 객체를 검색할 수 있는 CAD 데이터베이스를 이용하여 로봇 조립계획을 자동으로 생성할 수 있었다.
2.3 CAD 기반 로봇 조립계획 시스템
Kim et al.(2004)과 Kim and Choi(2005)는 3D CAD 호환 STEP 자료로부터 일반 조립에 사용할 수 있는 특징 형상을 추출하여 조립 방향과 조립 결합 조건을 결정하는 알고리듬을 제안하였다. 제안된 알고리듬에서 추출할 수 있는 특징 형상은 plan, cylinder, slot/step, through hole/pocket 그리고 boss/blind이다. 이 중 hole/pocket 그리고 boss/blind는 cylindric과 prismatic 형상을 모두 추출할 수 있다. 알고리듬은 곡면이나 스프링 등의 특징 형상을 지원하지 못하며, 혼합된 특징 형상을 인식하지 못하는 제약점이 있다.
본 논문은 Kim and Choi(2005)가 제공하는 특징 형상 추출을 통한 조립 방향 결정과 조립 순서 결정 알고리듬을 사용하였다. 특징 형상과 조립 가능 방향 추출은 cylinder와 boss/blind 추출 알고리듬을 구현하였고, 지원하지 않는 spring 추출 기능을 추가 구현하였다. 조립 순서 결정 결과를 이용하여 로봇 조립 순서를 표현한 M-BOM을 생성하는 프로시저를 구현하였다. 조립 가능 방향과 제품 형상 정보를 활용하여 M-BOM의 중간 조립품의 로봇 조립 위치를 계산하고 이를 P-BOM으로 표현하는 프로시저를 구현하였다.
Pan(2005)은 STEP CAD 파일로부터 기하학적 정보를 추출하여 가능 제품 조립 순서를 자동으로 생성하는 조립계획 시스템을 개발하였다. 구현된 조립계획 시스템을 통하여 조립계획 시간을 결정하는 주요 요인이 구성 부품의 방향 전환(Reorientation) 동작임을 확인하였다. 이 연구에서 제품자료 구조와 저장 체계는 구현된 알고리듬을 지원하는 용도로 사용하였다.
Rafibakhsh(2017)는 CAD 자료로부터 로봇 조립계획을 자동으로 추출하는 종합적인 과정을 개발하였다. 연구는 제품 형상 인식과 로봇 계획을 위한 다양한 지식 표현과 자료 처리방법을 적용하였다. 해당 연구는 자동화 과정에 중심을 두고 BOM과 같은 통합 제품 데이터베이스를 적용하지 않았다.
Fechter and Neb(2019)은 CAD API(Application Program Interface)를 이용하여 자동 로봇 조립 작업 계획에 필요한 형상 자료를 추출하였다. 이 연구는 로봇 조립에 사용되는 자원을 계산하기 위하여 로봇 조립 순서를 결정하였다. 로봇 조립 순서를 결정하기 위하여 조립 특성, 구성 부품 그리고 조립 관계 정보를 처리하였다. 이 연구는 조립계획 저장 방법으로 AutomationML과 OWL(Web Ontology Language)을 사용함으로써 저장 정보 모델과 규칙(Rules) 기반 로봇 조립 순서 결정을 구현하였다. 이 연구도 설계와 조립 과정 중의 제품자료 통합이나 기업 기간 제품 정보 체계인 BOM과의 통합 등은 고려하지 않았다.
관련 연구를 표를 이용하여 정리하면 다음과 같다(<Table 1> 참조).
3. 로봇 조립계획 정보 시스템 아키텍처와 구현
3.1 로봇 조립계획 정보 시스템 아키텍처
<Figure 2>는 제안된 로봇 조립계획 시스템 아키텍처를 보여준다. 시스템은 CAD, BOM 그리고 Robot 데이터베이스와 3D CAD 모델로부터 로봇 조립계획을 생성하는 5개의 프로시저로 이루어져 있다(<Figure 2>의 ①~⑤까지 프로시저).
시스템의 입력은 그림 좌측의 설계가 작성한 조립품에 대한 3D CAD 모델이다. STEP 파일 형식으로 저장된 3D CAD 모델은 각 부품의 형상, 조립품의 제품구조 그리고 조립품에서 조립 위치 정보가 포함되어 있다.
Import CAD data 프로시저(<Figure 2>의 ➀)는 STEP 파일을 읽어 형상 정보(shape)를 CAD 데이터베이스에 저장하고, 조립품과 부품의 구성관계를 표현하는 제품구조(product structure) 정보를 BOM 데이터베이스에 저장한다. 저장된 BOM은 CAD에서 설계 관점에서 만든 제품구조이므로 E-BOM이 된다. CAD 데이터베이스의 제품 형상 정보와 E-BOM을 연계하기 위하여 BOM을 구성하는 부품 아이템에 형상 정보를 연결한다.
Recognize form features 프로시저(<Figure 2>의 ②)는 CAD 데이터베이스의 각 부품의 기하학적 정보를 이용하여 부품의 조립 특징 형상을 구분하고 이에 따라 조립 가능 방향을 결정한다. 조립 특징 형상을 구분하고 조립 가능 방향을 결정하는 알고리듬은 Kim and Choi(2005)를 사용하였으며, 일부 제공하지 않는 특징 형상(예, 스프링)은 추가 구현하였다. 부품의 조립 가능 방향은 BOM 데이터베이스의 아이템 객체에 연결된다.
<Figure 3>은 프로시저에서 사용하는 조립 특징 형상을 이용한 조립 가능 방향 결정 예를 보여준다. 부품이 cylinder 특징 형상이면 실린더 축을 따라 양방향으로 조립 가능 방향이 결정된다. 특징 형상이 blind hole/boss이면 multi-bounded face의 방향으로만 조립 가능 방향이 결정된다(여기서 multi-bounded face란 두 개의 선으로 구분된 면으로 blind hole에서 상부의 큰 원과 작은 원으로 구분된 링 형태의 면을 가리킨다). 특징 형상이 spring이면 cylinder와 유사하게 스프링 축 방향으로 두 개의 조립 가능 방향이 생성된다. Kim and Choi(2005)는 이외에도 slot/step과 through hole/pocket의 특징 형상 구별과 형상별 조립 가능 방향 결정 알고리듬을 제공한다.
Generate M-BOM 프로시저(<Figure 2>의 ③)는 제품 형상(shape)과 E-BOM을 이용하여 부품 조립 순서를 표현하는 M-BOM을 생성한다. <Figure 4>는 간단한 예를 통해 프로시저의 작동과정을 보여준다. 예는 한 변의 길이가 10단위인 정육면체 부품 A, B, C로 구성된 조립품 Asm_A를 보여준다. 설계는 Asm_A의 E-BOM 구조를 단순히 부품을 조립품에 연결하는 형태로 구성하였다(E-BOM). E-BOM의 조립품과 부품의 구성관계에 각 부품의 조립 위치(placement)가 연결된다. 예로 (0, 0, 0) 좌표를 기준으로 3D 모델링 된 부품 C는 조립품 상의 (0, 5, 10) 위치에 조립된 것을 알 수 있다.
부품의 일반적 조립 순서는 Kim and Choi(2005)가 제시한 각 부품의 조립 위치의 꼭짓점의 Z값이 최솟값을 이용하여 결정한다. 이때 로봇팔에 의해 이동되는 부품(Move 부품)과 고정된 부품(Base 부품)을 고려한다. (1) 부품 중 조립 위치에서 꼭짓점의 Z값이 가장 작은 부품을 Base 부품으로 선택한다. 만일 꼭짓점의 Z 최솟값이 같은 부품이 있으면, X와 Y값이 조립 위치의 원점에 가까운 부품을 우선 선택한다. (2) Base 부품에 접한 부품 중 꼭짓점의 Z값이 최소인 부품을 Move 부품으로 선택한다. (3) Base와 Move 부품의 조립 가능 방향이 상쇄되는 부분이 있는지 확인 후 두 부품으로 중간 조립품을 만든다. (4) 중간 조립품을 하나의 부품으로 나머지 부품과 함께 최종 조립품만(1개 조립품) 남을 때까지 (1)에서 (3)까지 반복 적용한다.
두 부품이 조립될 때 서로 반대 방향의 조립 가능 방향이 상쇄되어야 하고 상쇄된 방향이 조립 방향으로 결정된다. 조립 가능 방향이 조립 방향으로 전환된 후 해당 방향으로 추가 조립이 불가능하다. 그러므로 조립 방향 결정을 통해 Base와 Move 부품이 조립 가능한지 확인할 수 있다.
<Figure 5>의 좌측 예제 제품의 BOM 구조는 조립 순서 결정 과정을 보여준다. 각 부품의 6개 방향에 조립 가능 방향이 표시되어 있다. 예에서 A와 B 부품이 꼭짓점의 Z값 최솟값이 가장 작으나 A 부품이 원점에 더 가까워 A를 Base 부품으로 선택한다(1). 다음으로 A와 접한 B와 C 중 꼭짓점 Z값의 최솟값이 적은 B 부품을 Move 부품으로 선택한다(2). A와 B 부품의 조립 가능 방향 중 +Y와 –Y 방향이 상쇄됨을 확인할 수 있다(A와 B 부품 사이의 원안 조립 가능 방향). 그러므로 Move 부품의 조립 방향이 –Y로 결정되고 중간 조립품 AB가 생성된다(3). 이후 중간 조립품 AB와 남은 부품 C의 최소 Z값을 비교하면 AB가 Base가 되고 C가 Move 부품이 된다. AB와 C의 조립 가능 방향을 비교하면 각각 +Z와 –Z가 상쇄되고 C의 조립 방향이 –Z로 결정된다. 결과로 AB와 C가 조립된 Asm_A만 남고 전체 조립 순서가 결정된다.
알고리듬을 통해 로봇 조립계획을 위한 조립 순서를 표현하는 M-BOM을 생성한다(<Figure 4>의 M-BOM). 예의 첫째 공정은 A 부품(Base)을 고정하고 B 부품(Move)을 이동시켜 AB 부품을 완성한다. 다음으로 C 부품(Move)을 AB 부품(Base)에 조립하여 최종 조립품 Asm_A를 완성한다. Generate M-BOM 프로시저는 이 과정을 자동으로 실행하여 로봇 조립 순서를 표현하는 M-BOM을 생성한다.
Plan robot assembly 프로시저(<Figure 2>의 ④)는 제품 형상, M-BOM 그리고 Robot 데이터베이스의 로봇 속성을 이용하여 Action, Operation, Task를 완성한다. M-BOM은 새로 생성된 최종 제품과 중간 조립품으로 BOM 계층을 생성한다(예에서 Asm_A와 AB). 하나의 BOM 계층은 하나의 부품(혹은 제품)을 조립하는 단위 로봇 조립 작업인 Operation을 표현한다. 예에서 A와 B로 AB를 조립하는 Operation과 AB와 C로 Asm_A를 조립하는 Operation을 표현한다. 전체 제품을 조립하는 Task는 최하위 BOM 계층부터 최종 제품까지 순서로 Operation을 연결하면 완성된다. Operation은 다시 로봇 앤드 이펙터(End Effector)가 출발해서 목표 지점에 도착하기까지 단위 움직임인 Action으로 구성된다.
프로시저는 M-BOM의 최종 제품과 중간 조립품별로 Operation을 생성한다. 하나의 Operation은 Move 부품을 집어 Base 부품으로 옮기는 기본적인 6개의 Action 종류의 집합으로 구성된다. <Figure 5>의 우측 예는 최종 제품인 Asm_A의 Operation을 보여준다. Operation을 구성하는 6개 종류 Action에 따라 정지 시간, 그리퍼 On/Off, 속도 등의 파라미터를 결정할 수 있다. Action 종류에 관한 내용은 4.2 예제 적용 절에서 설명한다.
프로시저는 각 Action의 목표 위치를 같은 BOM 계층의 Base와 Move 부품의 형상과 조립 위치를 이용하여 계산할 수 있다. <Figure 5>의 2번 Action의 위치를 계산하기 위하여 C 부품의 형상 정보를 사용하며, 5번 Action의 위치를 계산하기 위하여 중간 조립품인 AB의 형상 정보를 이용할 수 있다. AB 형상 정보는 BOM의 중간 조립품 정보를 이용하여 계산할 수 있다.
부품당 로봇 조립을 표현하는 Operation을 같은 BOM 구조에 통합하기 위하여 P-BOM(Process BOM) 개념을 사용하였다. P-BOM은 필요 부품이나 자재와 함께 제품을 생산하는데 필요한 공정도 같이 표현하는 확장된 BOM 개념이다. <Figure 5>에서 P-BOM은 Asm_A를 구성하는 A, B, AB 그리고 C 부품(M-BOM)뿐만 아니라 이를 조립하는 공정인 Operation도 통합하여 표현한다.
마지막 Execute plan 프로시저(<Figure 2>의 ⑤)는 P-BOM의 Action 객체로서 저장된 로봇 조립계획을 이용하여 로봇 작업을 실행한다. 부가적으로 CAD, BOM 그리고 Robot database browser 기능을 통해 데이터베이스에 생성된 제품, 로봇 그리고 조립계획을 검색하고 변경할 수 있다.
3.2 제품자료 모델
제안된 시스템 아키텍처의 CAD 데이터베이스 자료 모델은 ISO STEP 표준(Han, 2015) 자료를 기반으로 한다. <Figure 6>은 본 연구에서 제안하는 CAD 데이터베이스의 주요 객체와 관계를 클래스 다이어그램으로 표현하였다.
CAD 데이터베이스 자료 모델에서 item과 rel은 BOM 데이터베이스의 아이템(Item)과 부품 간 구성 관계를 표현한다. 아이템은 최종 제품, 중간 조립품, 구성 부품, 재료 그리고 단위 공정을 표현하는 일반적인 부품을 표시하고 구성관계는 두 아이템 사이의 조립 관계로 제품구조의 단위가 된다. <Figure 6>의 item과 rel 객체는 BOM 데이터베이스와 CAD 데이터베이스의 인터페이스를 표현하기 위하여 함께 표시하였다.
STEP 표준은 제품의 형상을 공간을 빈틈없이 메운 면(Face)의 집합으로 표현하는 Boundary Representation(B-Rep) 방법을 사용하므로 아이템의 형상 정보는 아이템에 속한 면의 집합으로 표현한다. 이때 형상 객체 간의 관계를 표현하는 rel_geo 객체의 하위 클래스인 item_face 객체가 item과 face 객체 사이의 연결 관계(Association Relationship)를 표현한다. Face의 기하학적 속성을 표현하기 위하여 surface 객체와 연결된다. Surface 객체는 plane과 circle을 포함한 다양한 평면과 곡면을 표현할 수 있다.
면의 경계는 선(Edge)과 꼭짓점(Vertex)으로 표현할 수 있다. 자료 모델에서 면을 정의하는 선 관계를 정의하기 위하여 rel_geo 객체의 하위 클래스인 face_edge 객체를 사용한다. Edge는 선의 시작점과 끝점(Start and End Vertices)으로 point(vertex) 객체를 연결한다. Edge의 기하학적 속성을 표현하기 위하여 curve 객체와 연결된다. Curve 객체는 line, circle 그리고 seam line 등 다양한 하위 클래스를 포함한다.
Placement 객체는 조립품을 구성하는 부품의 조립 위치를 표현한다. 그러므로 placement 객체는 조립품과 부품 아이템 사이의 구성 관계를 표현하는 rel과 연결된다(rel_geo의 하위 클래스 rel_place). Placement 객체는 조립 원점 좌표(location)와 x와 z축 방향(direction)으로 표시한다. y축 방향은 x와 z축 방향으로부터 오른손 법칙을 이용하여 계산할 수 있다.
<Figure 7>은 BOM 데이터베이스의 주요 객체를 표현한다. Item 객체는 일반 부품과 재료 그리고 공정을 나타내는 part, material 그리고 work 객체를 하위 클래스로 가진다. 아이템 간의 구성 관계를 나타내는 rel 객체는 relating 속성을 이용하여 조립품 아이템을 연결하고 related 속성을 이용하여 구성 부품 아이템을 연결한다. BOM 데이터베이스는 rel을 구성 요소로 제품구조를 표현하고 제품구조를 중심으로 기술 문서와 설계변경을 일관되게 관리한다. 이를 위해 기술 문서를 표현하는 document 객체와 설계변경과 설계변경 이력을 표현하는 ec와 ec_history 객체를 포함한다. Item과 rel 객체는 본 논문에서 제안한 로봇 조립계획 체계에서 필요한 E-BOM, M-BOM 그리고 P-BOM을 통합 표현할 수 있다.
3.3 로봇 조립계획 시스템 구현
<Figure 2>의 로봇 조립계획 정보 시스템 아키텍처를 구현한 TRIP(Team Robotics Intelligence Platform) 시스템은 MariaDB 관계형 데이터베이스 관리 시스템(MariaDB, 2023)과 Python 기반 데이터베이스 응용 프로그램을 이용하여 개발되었다. TRIP 시스템의 입력 자료인 3D CAD 모델은 공개 소프트웨어인 FreeCAD 시스템(FreeCAD, 2023)을 이용하여 작성한 후 STEP 표준 파일로 출력하여 준비하였다.
<Figure 2>의 5개 프로시저에 대응하는 Python 응용 프로그램은 STEP 파일을 CAD와 BOM 데이터베이스로 전환하는 stepy, CAD와 BOM 데이터베이스에서 각 아이템의 조립 특징 형상과 조립 가능 방향을 추출하는 classpy, 조립품 아이템의 구성 부품의 조립 순서와 M-BOM을 생성하는 matepy, M-BOM과 로봇 속성으로부터 로봇 조립 공정을 위한 P-BOM을 생성하는 actpy 그리고 로봇 조립계획에 따라 로봇을 실행시키는 itrip으로 구성되었다. Itrip은 4축 교육용 로봇인 Dobot Magician(Dobot, 2023)을 제어하여 로봇 조립계획을 실행한다.
CAD와 BOM 데이터베이스의 형상과 BOM 자료를 확인하기 위하여 Apache Tomcat(Apache Tomcat, 2023) 기반의 웹 데이터베이스 응용 프로그램인 TRIP Web이 개발되었다. TRIP Web은 STEP에서 추출된 아이템 형상 정보와 E-BOM 그리고 TRIP 시스템에서 생성한 M-BOM과 P-BOM을 통합 검색할 수 있다.
4. 적용 및 토론
4.1 대상 제품 예
구현된 TRIP 시스템을 이용하여 <Figure 8>의 실린더 제품을 조립하는 로봇 조립계획을 생성하였다. 예제 조립품 asm A는 base, cylinder, spring 그리고 top 아이템을 구성 부품으로 가진다. 예제 조립은 적용된 알고리듬(Kim and Choi, 2005)에 따라 조립 방향으로 -Z, ±X, ±Y만 고려한다.
4.2 로봇 조립계획 과정
STEP 형식으로 저장된 CAD 파일에서 각 아이템의 B-Rep으로 표현한 형상, 제품구조 그리고 조립 위치 정보를 추출할 수 있다. 로봇 조립계획 과정 중의 BOM 정보를 보여주는 <Figure 9>에서 asm A의 제품구조를 확인할 수 있다. Asm A는 t(op), s(pring), c(ylinder) 그리고 b(ase) 아이템을 하위 구성 부품으로 포함하고 있다(그림에서 asm A와 t, s, c, b 아이템 간 선으로 표시). 그러므로 asm A의 CAD 파일에서 t, s, c, b 그리고 asm A 아이템을 생성하고 각 아이템의 형상 정보를 추출하여 연결한 후, asm A과 각 부품의 제품구조를 생성한다. 이후 각 부품 아이템의 조립 위치를 asm A와 해당 부품 사이의 구성관계에 정의한다. 이때 생성한 asm A의 BOM 구조가 제품의 설계 관점을 표현하는 E-BOM이다(<Figure 9>의 E-BOM).
CAD 데이터베이스에 저장된 부품 아이템의 형상 정보로부터 조립 특징 형상(Assembly Form Feature)을 추출하고 특징 형상에 따른 조립 가능 방향을 결정한다. 아이템의 STEP 표준 기반 기하학적 정보로부터 조립 특징 형상과 조립 가능 방향 결정은 Kim and Choi(2005)에서 제안한 알고리듬을 사용하였다. <Figure 10>의 cylinder 조립 특징 형상은 모든 face의 bound edge 개수가 1이고 cylindrical surface가 1개이며, 원형 면(Circular Surface)이 2개인 경우에 식별할 수 있다. 또한 blind hole 형상은 bound edge의 개수가 2개인 면(multi-bounded face)이 존재하고 이 면의 꼭짓점의 Z값이 다른 면의 꼭짓점의 Z값보다 크면 blind hole, 작으면 boss로 판정한다(multi-bounded face가 +Z 방향일 때).
특징 형상이 결정되면 조립 가능 방향을 결정할 수 있다. Cylinder 특징 형상의 경우 축을 중심으로 위와 아래 방향으로 조립할 수 있다. Blind hole의 경우 multi-bounded face의 방향이 조립 가능 방향이 된다(<Figure 10>의 Possible assembly direction).
3.1절에서 설명한 부품 조립 순서 결정 알고리듬에 따라 예제 제품의 순서를 b, c, s, t로 결정한다. <Figure 11>에 조립 가능 방향(화살표)과 조립 순서 결정 결과가 표시되어 있다. 조립 순서를 이용하여 <Figure 9> asm2의 실선 제품구조로 표현된 M-BOM을 생성하였다. M-BOM은 E-BOM과 공유하는 t, s, c, b 부품 외에 각 조립 단계를 표현하기 위한 asm0, asm1 중간 조립품과 asm2 최종 조립품을 포함한다. 중간과 최종 조립품은 조립에 참여하는 Base와 Move 부품을 하위 부품으로 연결한다. 예로 asm1은 첫째 단계의 b와 c의 조립품인 asm0 Base 부품에 Move 부품인 s를 이동시켜 조립한 중간 조립품을 뜻한다.
M-BOM의 최상위 아이템인 asm2는 새로운 최종 제품으로 E-BOM의 최상위 조립품인 asm A와 동일한 제품을 표현한다. Asm2로 대표되는 M-BOM은 asm A의 생산 관점에서 본 제품구조이다.
제품구조에 공정을 포함하기 위해 BOM을 구성하는 item의 하위 클래스의 work 객체를 이용한다(<Figure 7>의 item의 하위 클래스인 work 이용).
P-BOM의 기반은 단위 중간 조립품을 완성하는 로봇 동작의 모임인 Operation이다. <Figure 12>의 예에서 asm1 은 asm0와 s 부품을 구성 부품으로 가지며 두 부품을 조립하기 위한 Operation도 work 객체로 하위 구조에 포함한다. 그러므로 P-BOM은 해당 제품을 만들기 위해 필요한 부품과 공정을 모두 표현한다. 중간 조립품에 대한 Operation은 Move 부품을 집어 Base 부품에 조립하는 6개의 단위 Action으로 이루어진다. Action의 종류는 로봇이 부품 위에 위치하는 above w/o(<Figure 12>의 ①), 부품을 잡기 위해 이동하는 down w/o(②), 잡은 부품을 들어 올리는 up w/(③), 조립할 Base 부품까지 이동하는 above w/(④), Base 부품에 접근하여 조립하는 down w/(⑤) 그리고 조립 후 다시 특정 높이로 이동하는 up w/o(⑥) 동작이 있다. 각 Action 종류에 따라 그리퍼의 On/Off, 잠시 멈춤과 속도를 정의할 수 있다.
Operation을 구현하는 각 Action의 좌표는 해당 조립 공정에 참여하는 아이템(<Figure 12>에서 s와 asm0)의 형상 정보와 Robot의 속성 정보로 결정할 수 있다. 이 단계는 같은 BOM 계층의 중간 조립품과 Move 부품의 형상 정보를 기반으로 Action의 좌표를 결정하여 P-BOM 형태의 로봇 조립계획을 생성한다(<Figure 9>의 P-BOM).
P-BOM의 Operation 객체로 저장된 로봇 조립계획은 M-BOM의 제일 하위 BOM 계층부터 최종 제품까지 순서에 따라 실행되어 연결된 로봇을 동작시키게 된다. <Figure 13>은 생성된 M-BOM과 P-BOM을 TRIP Web을 이용하여 확인하는 화면을 보여준다. 화면에서 asm2의 M-BOM 구성을 위해 자동으로 추가된 asm0, asm1, asm2 부품 아이템과 조립계획 P-BOM을 위해 추가된 op0, op1, op2 공정 객체를 확인할 수 있다.
<Figure 14>는 itrip을 이용하여 부품(item)과 Action(path)을 확인하는 화면이다. 화면에서 로봇 공정 계획을 위한 목표 좌표(x, y, z), 그리퍼 작동(gripper) 그리고 잠시 멈춤 여부(pose) 속성이 출력되었다. 로봇 속도는 전체 과정 중 일정하게 구현하였다.
<Figure 15>는 조립계획을 이용하여 itrip에 연결된 로봇팔을 동작시키는 모습이다. Base 부품과 Move 부품의 위치는 고정되어 있으며 조립 진행에 맞춰 같은 Move 부품 위치에 순서에 맞는 부품을 수동으로 투입하였다.
4.3 토론
본 연구는 CAD와 BOM 데이터베이스를 기반으로 3D CAD 모델에 정의된 제품 형상과 제품구조 정보로부터 로봇 조립계획을 자동으로 수립할 수 있음을 보여주었다. 연구 과정에서 저자가 파악한 주요 내용은 다음과 같다.
첫째, 기존 CAD와 BOM 데이터베이스가 소프트웨어 기반 로봇 시스템의 자동화를 지원할 수 있다. 본 연구에서 제안한 CAD와 BOM 데이터베이스는 기업에서 오랫동안 제품 개발과 생산을 지원해온 일반화된 자료 구조를 가진다. 본 연구는 CAD 자료를 데이터베이스화하여 BOM 데이터베이스와 연계된 통합 체계를 제공 함으로써 로봇 조립계획 과정 자동화에 필요한 제품자료를 효율적으로 지원할 수 있었다.
둘째, 자동화된 로봇 조립계획 시스템을 위해 제품자료 모델의 확장과 보완이 필요하다. 비록 본 연구에서 조립품의 3D CAD 모델로부터 로봇 조립계획 전 과정을 자동화한 예를 보여주었지만, 이는 개념을 증명하기 위한 구현으로 다수의 조건과 가정이 적용된 매우 제한된 경우에만 적용될 수 있다. 실질적인 자동 로봇 조립계획을 위하여 장기적으로 AI나 기계 학습 같은 고급 자료 처리가 지원되어야 한다. 로봇 조립계획에 AI나 기계 학습과 같은 자료 기반 고급 자료 처리 기법을 도입하기 위해 CAD와 BOM 데이터베이스 기반의 확장된 제품 데이터베이스가 제공되어야 한다.
셋째, 자동화된 로봇 조립계획을 위한 지속적 연구와 함께 인간과 로봇의 효율적 협동 작업을 위한 연구가 필요하다. 이전 연구(Do et al., 2021)의 인간과 로봇 협동 작업 환경은 로봇 조립계획에 대한 외부 변화에 유연하게 대처할 수 있었다. 반면, 본 연구에서 개발된 자동화된 로봇 조립계획은 계획과 실행 환경 변화에 취약하다. 그러므로 인간과 로봇의 장점을 활용하는 협동 시스템이 실용적인 로봇 조립계획 시스템이 될 가능성이 있다. 협동 작업 지원을 위하여 본 연구에서 제안한 인간과 로봇 시스템이 공유할 수 있는 CAD와 BOM 데이터베이스 체계가 유효할 것으로 예측된다.
5. 결론
본 연구는 CAD와 BOM 데이터베이스를 기반으로 3D CAD 형상으로부터 자동화된 로봇 조립계획을 생성하는 정보 시스템 아키텍처를 제안하였다. 제안된 시스템 아키텍처의 적용 가능성을 확인하기 위하여 구현된 로봇 조립계획 정보 시스템에 예제 제품을 적용하여 로봇 조립계획을 자동으로 생성하였다. 하지만 제한된 제품자료와 정보 처리 기능만으로 실질적인 로봇 조립계획을 자동으로 생성하는 데 어려움이 있음을 확인하였다.
인간의 로봇 조립계획을 효율적으로 지원하는 이전 연구와 인간을 배제한 자동화된 조립계획을 지원하는 본 연구를 통하여 인간과 로봇의 유연한 역할 조합을 통한 실질적인 로봇 조립계획의 가능성을 확인하였다. 인간과 로봇의 협동 작업을 지원하기 위하여 인간과 로봇이 함께 참조하는 BOM과 CAD 데이터베이스 공유가 효과적일 것으로 예측된다. 그러므로 추후 연구로 CAD와 BOM 데이터베이스를 공유하는 인간과 로봇의 협동 작업(Human Robot Collaboration, HRC)을 계획하고 있다.
Acknowledgments
This work was supported by Electronics and Telecommunications Research Institute (ETRI) grant funded by the Korean government (23ZR1100, A Study of Hyper-Connected Thinking Internet Technology by autonomous connecting, controlling and evolving ways).
References
-
Anumba, C. J. (1996), Data Structures and DBMS for Computer-aided Design Systems, Advances in Engineering Software, 25(2-3), 123-129.
[https://doi.org/10.1016/0965-9978(95)00109-3]
- Apache Tomcat (2023), Apache Tomcat, https://tomcat.apache.org, .
- Dassault Systemes (2023), CATIA, https://3ds.com, .
-
Do, N., Han, H., and Son, J. Y. (2021), Developing an Architecture of Robot Assembly Planning System based on Integrated CAD and BOM Databases, Korean Journal of Computational Design and Engineering, 26(1), 1-10.
[https://doi.org/10.7315/CDE.2021.030]
- Dobot (2023), Dobot Magician, https://dobot.cc, .
-
Fechter, M. and Neb, A. (2019), From 3D product data to hybrid assembly workplace generation using the AutomationML exchange file format, 52nd CIRP Conference on Manufacturing Systems, 57-62.
[https://doi.org/10.1016/j.procir.2019.03.011]
- FreeCAD (2023), FreeCAD, https://freecadweb.org, .
- Groover, M. P. and Zimmers, E. W. (1984), CAD/CAM : Computer-aided design and manufacturing, Prentice-Hall Englewood Cliffs, N.J..
- Han, S. (2015), International standard for sharing product design information, Bosung Press.
- Horváth, L., Rudas, I. J., and Tar, J. K. (2001), Application of Advanced Product Models in Robot Control, Proceedings of the 10 International Conference on Advanced Robotics, ICAR 2001, 659-663.
- Horváth, L., Rudas, I. J., and Bitó, J. F. (2002), Form Feature Based Generation of Robot Assembly Paths for Product Variants, IEEE ICIT'O2, Bangkok, Thailand, 181-186.
-
Horváth, L., Rudas, I. J., Bitó, J. F., and Szakii, A. (2004), Adaptive Model Objects for Robot Related Applications of Product Models, Proceedings of the 2004 IEEE International Conference on Robotics & Automation, New Orleans, LA, 3137-3142.
[https://doi.org/10.1109/ROBOT.2004.1307545]
- Kim, K., Choi, H., Noh, S., Lee, H., Park, J., and Yeo, M. (2004), STEP based Algorithms for Extraction of Assembly Information, Proceedings of the 2004 Conference of Society for Computational Design and Engineering, 596-603.
- Kim, K. and Choi, H. (2005), STEP-based Algorithms for Extraction and Code Generation of Assembly Information, Korean Journal of Computational Design and Engineering, 10(6), 412-420.
- KSTEP (2023), ISO 10303 STEP introduction, http://www.kstep.or.kr/, .
- MariaDB (2023), MariaDB, https://mariadb.com, .
- OnShape (2023), OnShape, https://onshape.com, .
- Pan, C. (2005), Integrating CAD files and automatic assembly sequence planning, Doctoral Thesis of Dept. of Mechanical Engineering, Iowa State University.
- Rafibakhsh, N. (2017), Automated Assembly Planning: From CAD Model to Virtual Assembly Process, Doctoral Thesis of Dept. of Mechanical Engineering, Oregon State University.
-
Zha, X. F. and Du, H. (2002), A PDES/STEP-based model and system for concurrent integrated design and assembly planning, Computer-Aided Design, 34, 1087-1110.
[https://doi.org/10.1016/S0010-4485(01)00186-5]
도남철 : 포항공과대학에서 1996년 박사학위를 취득하고, 현재 경상국립대학교 산업시스템공학부 교수로 근무 중이다. 연구분야는 Bill of Material 표현, Product Data Analytics, 스마트 제품 서비스 시스템 그리고 로봇 조립을 위한 CADCAM 데이터베이스 개발이다.
한효녕 : 한국과학기술원 기계공학과에서 2013년 박사학위를 취득하고 한국전자통신연구원 디지털융합연구소에 재직 중이다. 연구분야는 스마트팩토리, 지능형 설비, 로봇AI 이다.
조준면 : 한국과학기술원(KAIST)에서 1993년에 공학사, 2006년에 공학박사 학위를 취득하고 현재 한국전통신연구원 지능제조융합연구실 책임연구원으로 재직중이다. 연구분야는 지식베이스 시스템(knowledge-based systems), 자동계획(automated planning), AI 로봇이다.