
CAD와 BOM 데이터베이스 기반 Human-Robot Collaboration을 위한 시스템 아키텍처 Layer 개발
© 2023 KIIE
Abstract
This study suggests a layer of information system architecture for interactive Human-Robot Collaboration (HRC) assembly based on shared CAD (Computer-Aided Design) and BOM (Bill of Material) databases. The layer consists of several interfaces for HRC and shares CAD and BOM databases in the base system architecture established by previous studies. The HRC interfaces include a BOM editor as a planning editor, a robot path simulator and Interactive Language for robot assembly execution. Interactive Language provides flexible controls and communications between human operators and robot systems. To test its feasibility, this study implements the architecture as an information system with CAD and BOM databases coupled to a robot manipulator, and applies an example product to the system. Finally, this study examines HRC aspects of the proposed architecture with known characteristics of advanced HRC systems to clarify its characteristics and limitations.
Keywords:
HRC, Human-Robot Collaboration, Robot Assembly Planning, CAD Database, BOM Database1. 서 론
본 연구는 인간과 로봇(시스템)이 Computer-Aided Design(CAD)과 Bill of Material(BOM) 데이터베이스를 공유하여 Human-Robot Collaboration Assembly를 구현하는 방법을 제안한다. Human-Robot Collaboration (HRC) Assembly란 인간과 로봇이 서로 도와 제품을 조립하는 과정을 뜻한다.
HRC Assembly는 인간과 로봇이 같은 공간에서 작업할 수 있는 협동 로봇(Collaboration Robot)이 도입되면서 활성화되었다. HRC는 인간의 의사결정 능력과 유연성 그리고 로봇의 반복성과 정확성을 조합하여 복잡한 로봇 조립 작업을 효율적으로 지원한다. 그러므로 HRC와 협동 로봇은 소량의 개인화된 제품을 경제적으로 생산할 수 있는 미래 생산체계로 관심받고 있다.
HRC Assembly에 관한 기존 연구는 로봇 조립 실행 단계에서 인간과 로봇의 유연하고 직관적인 상호작용을 위해 음성이나 터치 등 특정 매체를 이용하는 방법에 중심을 두었다. 반면 본 연구는 효율적인 상호작용을 위해 인간과 로봇이 CAD와 BOM 데이터베이스를 공유하는 방법에 중심을 두었다. 제안된 방법은 공유된 CAD와 BOM 데이터베이스를 바탕으로 로봇 조립 계획과 실행에 걸쳐 인간과 로봇의 협동 작업을 지원할 수 있는 응용 프로그램과 대화식 언어를 제공한다. 그러므로 본 연구는 인간과 로봇이 공유한 CAD와 BOM 데이터베이스 기반의 HRC Assembly 계획과 실행을 지원하는 정보 시스템 아키텍처를 제공한다.
연구의 목적을 위하여 기존 연구(Do et al., 2023)에서 제안한 자동 로봇 조립계획 아키텍처를 기반으로 HRC Assembly를 제공할 수 있는 인간 로봇 Interface Layer를 추가한다. 제안된 HRC (Assembly) Layer는 기존의 자동 로봇 조립계획 아키텍처(Do et al., 2023)의 CAD와 BOM 데이터베이스를 공유한다. HRC Layer는 인간의 조립계획을 도와주는 BOM Editor, 조립계획을 미리 시험할 수 있는 Robot Path Simulator 그리고 조립 실행 각 단계를 조정할 수 있는 Interactive Language를 포함한다. HRC Layer는 유연하고 직관적인 상호작용을 지원하기 위하여 공유된 CAD와 BOM 데이터베이스를 기반으로 한다.
제안된 아키텍처가 HRC Assembly를 적절히 지원할 수 있는지 확인하기 위하여 아키텍처 기반의 정보 시스템을 구현하고 예제 제품을 적용한다. 예제 결과에 대한 선진 HRC 특성과 비교를 통해 제안된 아키텍처의 특성과 제약 사항을 확인한다.
본 논문의 구성은 다음과 같다. 제2장은 관련 연구를 설명한다. 제3장은 기존 자동 로봇 조립계획 시스템 아키텍처를 소개하고 본 연구로 확장된 HRC Layer의 구조와 구현 방법을 설명한다. 제4장은 구현된 시스템에 적용된 예제 제품과 적용 과정을 설명하고 그 결과를 선진 HRC 시스템 특성과 비교한다. 제5장은 연구의 결론을 도출하고 추후 연구를 소개한다.
2. 관련 연구
2.1 로봇 조립계획을 위한 제품 데이터베이스 연구
본 연구에서 제안하는 아키텍처는 HRC Assembly를 위하여 인간과 로봇이 공유할 수 있는 CAD와 BOM 데이터베이스를 제공한다. 이는 공유할 수 있는 일관된 데이터베이스를 제공하여 협동 작업의 효율을 높이는 기존 정보 시스템 활용 방법을 로봇까지 확장한 개념이다. 그러므로 이 절은 로봇 조립 작업을 지원하는 제품자료 데이터베이스와 모델에 관한 기존 연구를 살펴본다.
CAD/CAM 초기 연구(Groover and Zimmers, 1984)는 CAD와 CAM(Computer-Aided Manufacturing) 데이터베이스 통합으로 일관된 제품자료에 기반한 설계와 생산의 효율적 협력이 가능함을 예측하였다. 하지만 CAM의 한 분야인 로봇 조립계획은 CAM 데이터베이스에 대한 개념이 정립되지 않았고 CAD와 CAM 데이터베이스 통합 연구가 이루어지지 않고 있다. 본 연구는 인간과 로봇이 공유할 수 있는 CAD와 BOM 데이터베이스를 통해 로봇 조립계획을 표현함으로써 인간과 로봇의 유연하고 직관적인 상호작용을 지원한다.
ISO STEP은 기존의 CAD 자료 호환 표준으로 개발되었으나, 제품 형상뿐만 아니라 제품 수명주기 상의 전체 제품자료를 표현할 수 있다. 그러므로 STEP은 제품 형상과 비 형상 자료를 포함하는 통합 제품자료를 제공한다(Han, 2015). 본 연구의 기반이 되는 이전 연구(Do et al., 2023)는 ISO STEP의 제품자료 모델을 기반으로 제품 형상을 표현하는 CAD 데이터베이스와 로봇 조립계획을 통합 지원하는 BOM 데이터베이스를 개발하였다.
상업적으로 구현된 CAD 데이터베이스도 제품 형상 데이터베이스 기반 설계와 생산의 협동 작업을 지원하고 있다. Dassault Systemes 사의 CATIA는 버전 5부터 데이터베이스를 이용하여 형상 정보를 관리하여 설계와 생산 응용 통합과 협동 제품개발을 지원한다(Dassault Systemes, 2023). OnShape 사는 비 관계형 데이터베이스를 이용하여 클라우드 기반 CAD와 협동 제품개발 서비스를 제공하고 있다(OnShape, 2023).
설계와 조립계획(Design and Assembly Planning)을 통합하는 연구로 Zhad and Du는 설계와 조립계획을 표현하는 STEP 기반 자료 구조를 제안하였다(Zha and Du, 2002). 저자는 설계와 조립 공정을 표현하기 위하여 BOM 계층과 유사한 조립 계층(Assembly level)을 이용한 방법을 제안하였다. 연구는 STEP을 이용하여 제품의 조립 구조와 조립 과정이 연계된 객체를 제안하였다.
로봇 조립계획(Robot Assembly Plan)을 지원하는 제품자료 모델에 관한 연구로 Horváth et al.(Horváth et al., 2001; Horváth et al., 2002; Horváth et al., 2004)은 제품구조(일종의 BOM) 기반 제품 모델을 적용한 로봇 제어 체계를 제안하였다. 연구는 제품 형상과 제품구조가 통합된 제품 모델과 특징 형상 기반 로봇 조립 지원 체계를 제안하였다. 하지만 저자는 제안된 체계를 구현한 데이터베이스나 응용 시스템을 제공하지 않았다.
Do et al.(2021)은 CAD와 BOM 데이터베이스를 이용하여 제품 형상 대신 작업 중심의 로봇 조립계획을 지원하는 시스템 아키텍처를 제안하였다. 제안된 아키텍처는 공정을 포함하는 프로세스 BOM(Process BOM: P-BOM)과 CAD 데이터베이스를 연계함으로써 작업 중심의 로봇 조립계획을 지원하였다.
Do et al.(2023)은 이전 연구(Do et al., 2021)의 결과를 발전시켜 자동화된 로봇 조립계획을 지원하는 아키텍처를 개발하였다. 이 아키텍처는 CAD 데이터베이스와 설계 BOM(Engineering BOM: E-BOM)으로부터 생산 BOM(Manufacturing BOM: M-BOM)을 생성하였다. 또한 로봇 조립 공정을 표현하기 위하여 M-BOM과 CAD 데이터베이스를 이용하여 공정 BOM(Process-BOM: P-BOM)을 자동 생성하였다. 그러므로 이 연구는 CAD 데이터베이스와 통합된 BOM 데이터베이스를 이용하여 자동 로봇 조립계획을 지원할 수 있음을 보여주었다.
기존 로봇 조립계획 연구는 CAD 자료를 조립계획을 위한 생산 데이터베이스와 연결하여 사용하기보다 CAD로부터 조립계획에 필요한 형상 자료를 추출하는 데 그치고 있다. CAD로부터 (로봇) 조립을 위한 자료 추출 연구로 Rafibakhsh(2017)는 CAD 자료로부터 로봇 조립계획을 자동으로 추출하는 종합적인 과정을 개발하였다. Fechter and Neb는 CAD API(Application Program Interface)를 이용하여 자동 로봇 조립계획에 필요한 형상 자료를 직접 추출하는 방식을 사용하였다(Fechter and Neb, 2019). Kim and Choi(2005)는 3D CAD 호환 STEP 자료로부터 조립 특징 형상을 추출하고 이를 이용하여 제품 조립 순서를 결정하는 과정을 제안하였다. Pan(2005)은 STEP CAD 파일로부터 기하학적 정보를 추출하여 가능 제품 조립 순서를 자동으로 생성하는 조립계획 시스템을 개발하였다. 이들 연구는 CAD로부터 자동화된 조립계획을 생성하는 알고리즘이나 프로시저에 중심을 두었으며 본 연구처럼 설계와 조립계획을 통합 지원하기 위한 CAD와 BOM 데이터베이스를 고려하지 않았다.
<Figure 1>은 프로시저 중심 로봇 조립계획 연구(<Figure 1a>)와 데이터베이스 기반 로봇 조립계획 연구(<Figure 1b>)의 차이점을 보여준다. 프로시저 중심 접근에 비하여 데이터베이스 기반 접근은 인간이나 로봇 시스템이 공유하는 CAD와 BOM 데이터베이스를 통해 제품 개발과 생산의 광범위한 프로시저에 필요한 제품자료를 제공할 수 있다. HRC도 인간과 로봇이 CAD와 BOM 데이터베이스를 공유함으로써 협동 작업을 위한 다양한 인터페이스를 제공할 수 있다.
2.2 HRC Assembly 연구
Human Robot Interaction(HRI)의 논문 조사 연구(Tsarouchi et al., 2016)에 따르면 1970~2015년 사이의 관련 논문의 주제로 직관적(Intuitive) Robot Programming이 가장 많이 다뤄졌다. HRC의 논문 조사 연구(Wang et al., 2020)도 HRC를 위해 인간과 로봇 사이의 유연한 Communication과 Control 방법이 필요하며, 이를 구현하기 위하여 직관적인 Multimodal 명령어가 필요함을 주장하였다. 여기서 Multimodal 이란 다양한 채널의 인간-로봇 간 상호작용을 채용함을 뜻한다. 그러므로 HRC의 주된 관심 분야는 인간과 로봇 사이의 직관적인 Multimodal 상호작용 방법임을 알 수 있다. 두 연구 모두 공유된 제품 데이터베이스를 통한 HRC를 다루지 않았다.
인간과 로봇의 상호작용 연구로 Tsarouchi et al.은 인간과 로봇의 소통을 위한 직관적 프로그래밍을 Programming by Demonstration(PbD)으로 설명하고 Teaching Pendants와 Touch를 이용한 방법, 제스처(Gesture), 음성 그리고 비전을 이용한 시연 방법으로 분류하였다. 또한 센서 기술을 기반으로 Visual Guidance와 모사(Imitation), 손가락을 이용한 지적 인식, 가속도계를 이용한 제스처 이해 혹은 모션 캡처나 데이터 글로브를 이용한 인간 동작 인식과 학습에 관한 연구를 소개하였다. 또한 음성과 Text to Speech 기술을 이용하여 로봇과 소통하거나 Tactile을 접촉하거나 로봇 자체를 미는 동작으로 로봇과 소통하는 방식도 소개하였다(Tsarouchi et al., 2016).
상호작용의 일부로 진행된 Multimodal 연구로 음성, 접촉, 제스처 등을 함께 사용하는 로봇 제어 방법에 관한 연구와 Multimodal 입력을 효과적으로 처리하는 기계학습 연구가 함께 진행되었다(Wang et al., 2019; Liu et al., 2020). HRC를 위해 가상 세계의 활동 자료를 이용하여 로봇을 제어하는 CPS와 디지털 트윈에 관한 연구도 진행되었다(Tipary and Erdos, 2021; Sun et al., 2022).
기존의 HRC 연구는 주로 인간과 로봇의 상호작용을 위해 유연하고 직관적인 매체와 방법을 제안하였다. 반면, 그동안 인간 사이의 효율적 상호작용을 위해 데이터베이스를 공유하여 협동 작업을 지원하는 방법이 광범위하게 활용돼왔다. 예로 Product Life Management에서 부품 리스트, BOM 그리고 기술 문서 공유를 통해 설계자 간의 협동 제품개발을 효과적으로 지원하고 있다(Do, 2019). 그러므로 본 연구는 HRC에 참여하는 인간과 로봇이 공유할 수 있는 일관된 제품 데이터베이스를 로봇 조립계획과 실행 과정에 제공하여 유연하고 직관적인 상호작용 개발을 시도하였다. 장기적으로 HRC에 자료 기반 AI나 기계학습 적용이 확대되면 이를 지원하는 제품 데이터베이스 역할이 더 중요해질 것으로 예측된다.
본 연구는 로봇 조립계획과 실행 단계에 HRC를 지원하기 위하여 조립 제품의 CAD 모델과 BOM을 인간과 로봇이 공유하는 방법을 사용하였다. 제품자료 공유는 기업에서 인간 기술자가 활용하는 CAD와 BOM 데이터베이스를 로봇이 공유하는 방법을 사용한다. CAD와 BOM 데이터베이스 기반 로봇 조립계획에서 HRC를 지원하기 위해 BOM Editor와 데이터베이스 응용 프로그램(예 Robot Path Simulator)을 지원하고, 로봇 조립 실행에서 Interactive Language를 제공한다.
HRC 논문 조사 연구(Tsarouchi et a., 2016; Wang et al., 2020)에 따르면 HRC Assembly 계획에 관한 연구는 대부분 인간과 로봇의 작업 배분을 다루고 있다. HRC에서 인간과 로봇의 합리적 작업 배분을 위해 인간과 로봇의 장점을 고려하거나, 인간 작업 시간을 최소화하거나 로봇의 작업을 최대로 하는 등의 조립계획이 제안되었다(Tsarouchi et al., 2016; Ranz et al., 2017).
기존 연구에서 HRC Assembly 계획의 주체는 인간이며 계획 과정에서 로봇과 협동 작업이 일어나지 않는다. 반면에 본 연구에서 제안하는 아키텍처는 HRC Assembly 계획 과정에서 인간과 로봇의 협동 작업을 지원한다. 제안된 아키텍처는 로봇이 CAD와 BOM 데이터베이스를 기반으로 로봇 조립계획을 자동으로 생성하고, 이를 P-BOM 형태로 저장한다. 하지만 현재 기술 수준에서 자동 조립계획은 여러 가지 제한이 있다. 그러므로 제안된 아키텍처는 협동 관계에 있는 인간이 BOM Editor를 이용하여 BOM 데이터베이스를 변경함으로써 로봇이 생성한 조립계획을 개선하거나 완결 지을 수 있다.
<Figure 2>는 기존 HRC Assembly에 관한 연구(<Figure 2a>)와 제안된 데이터베이스 기반 연구(<Figure 2b>)의 차이를 보여준다. 기존 연구는 인간이 조립계획을 일방적으로 제공하고 실행 과정에서 센서나 카메라를 통한 Multimodal Interaction을 통한 HRC 구현을 시도한다. 제안된 방법은 CAD와 BOM 데이터베이스의 공유된 제품자료와 조립계획을 기반으로 자동으로 생성된 조립계획을 변경하고 공유된 제품자료에 기반한 Interactive Language를 제공하여 로봇 조립계획과 실행에서 직관적인 HRC를 지원한다.
3. 시스템 아키텍처와 구현
3.1 TRIP-HRC 아키텍처 소개
<Figure 3>은 TRIP-HRC로 불리는 제안된 HRC를 위한 시스템 아키텍처를 보여준다. 아키텍처는 기존 연구(Do et al., 2023)에서 개발된 TRIP(Team Robotics Intelligence Platform) 아키텍처(<Figure 3>의 TRIP Architecture)와 본 연구에서 HRC를 위해 추가된 HRC Layer(<Figure 3>의 HRC Layer)로 구성된다. 이 절은 TRIP 아키텍처를 간단히 소개하고 HRC Layer를 설명한다.
TRIP 아키텍처(<Figure 3>의 TRIP Architecture)는 좌측 위의 조립품을 설계한 CAD 파일로부터 STEP 파일을 입력받아(<Figure 3>의 ①) 우측 아래 물리적 로봇(<Figure 3>의 Physical Robot)을 위한 로봇 조립계획을 자동 생성한다. TRIP 아키텍처의 특징은 CAD 자료를 기하학적 요소로 표현한 CAD 데이터베이스와 제품 구조(Engineering-BOM: E-BOM)를 저장한 BOM 데이터베이스로 전환하고 이를 이용하여 자동으로 로봇 조립계획을 생성한다(<Figure 3>의 ② “Auto Generation”). 이 과정에서 생성되는 부품 조립 순서와 로봇 조립계획을 인간과 공유할 수 있는 BOM 데이터베이스의 Manufacturing-BOM(M-BOM)과 Process-BOM(P-BOM) 형태로 저장한다. P-BOM으로 표현된 로봇 조립계획은 로봇 인터페이스를 거쳐 물리적 로봇을 동작시킨다(<Figure 3>의 ⑤). 각 과정은 관련 연구(Do et al., 2023)에 상세히 설명되어 있다.
HRC layer는 TRIP 아키텍처의 인터페이스 계층에 시스템의 입력과 출력 역할을 하는 CAD와 로봇 인터페이스(<Figure 3>의 ①과⑤) 외에 HRC를 위해 추가한 BOM Editor, Robot Path Simulator 그리고 Interactive Language 인터페이스를 포함한다(<Figure 3>의 ③④⑥).
BOM Editor(<Figure 3>의 ③)
TRIP 아키텍처는 인간과 공유할 수 있는 M-BOM과 P-BOM으로 표현된 로봇 조립계획을 BOM 데이터베이스에 자동 생성한다. 인간 참여자인 Robot Assembly Planner는 BOM Editor를 이용하여 BOM 데이터베이스에 저장된 E-BOM, M-BOM 그리고 P-BOM을 검토하고 필요에 따라 변경할 수 있다(<Figure 3>의 ③). 로봇이 자동으로 생성한 로봇 조립계획이 현실의 조건을 고려하지 못했거나 계획 자체를 생성하지 못하면 Robot Assembly Planner가 BOM Editor를 이용하여 P-BOM 형태의 계획을 변경하거나 추가 작업을 통해 완성할 수 있다.
BOM Editor를 이용하여 로봇 조립계획을 변경할 수 있는 이유는 로봇 조립계획이 인간이 사용하는 P-BOM 형태로 작성되었고 BOM 데이터베이스를 통해 공유될 수 있기 때문이다. TRIP-HRC 아키텍처는 BOM 데이터베이스에 P-BOM 형태로 표현된 로봇 조립계획을 자동 생성하고, 이를 Robot Assembly Planner(인간)가 BOM Editor를 이용하여 변경할 수 있으며, 그 결과를 물리적 로봇에 연결하여 실행시킬 수 있다.
Robot Path Simulator(<Figure 3>의 ④)
Robot Assembly Planner는 로봇 조립계획을 평가하기 위하여 CAD와 BOM 데이터베이스에 연결된 분석 응용 프로그램을 활용할 수 있다. Robot Path Simulator는 BOM 데이터베이스의 P-BOM에 생성된 로봇 조립계획에 연결하여 예상 로봇 궤적을 가시화할 수 있다(<Figure 3>의 ④). 가시화를 통해 로봇 조립계획에 문제가 발견되면 BOM Editor를 통하여 M-BOM과 P-BOM으로 표현된 로봇 조립계획을 변경할 수 있다. 이처럼 CAD와 BOM 데이터베이스를 공유한 응용 프로그램은 다양한 HRC를 지원할 수 있다.
Robot Path Simulator가 연결하는 BOM 데이터베이스의 로봇 조립계획은 P-BOM의 공정 객체에 정의된 로봇 조립 계획의 최소 단위인 action 객체의 순서(Sequence)이다(Do et al., 2023). Action 객체는 로봇 Gripper의 이전 위치에서 현재 위치까지 단위 이동을 표현하며, 참여하는 Gripper와 조립 부품의 3차원 위치를 표현하는 placement 객체(<Figure 4>의 placement 객체)를 참조한다. 해당 action 객체의 Gripper 위치는 CAD와 BOM 데이터베이스의 M-BOM, P-BOM 그리고 부품의 형상과 위치(Placement) 자료를 참조하여 계산된다. 그러므로 Robot Path Simulator는 CAD와 BOM 데이터베이스에 체계적으로 저장된 Gripper의 위치 변화 순서 정보를 연속적으로 가시화하는 데이터베이스 응용 프로그램으로 볼 수 있다.
Interactive Language(<Figure 3>의 ⑥)
TRIP-HRC 아키텍처는 로봇 조립 실행 단계에 Robot Assembly Operator와 로봇의 상호작용을 지원한다. 인간과 로봇은 제공된 Interactive Language를 통해 대화하며 로봇 조립 각 단계를 실행할 수 있다(<Figure 3>의 ⑥). 인간은 준비된 로봇 조립계획을 확인하며 각 단계에 대해 명령을 내릴 수 있다. 또한 조립 부품을 특정 위치와 방향으로 준비하는 등의 물리적 조립 작업에 참여할 수 있다. 로봇은 CAD와 BOM 데이터베이스의 제품 형상과 BOM 정보를 참고하여 인간이 내린 명령을 실행한다. 이때 로봇은 인간이 내린 명령이 계획상 불가능할 경우 Interactive Language 환경을 통해 경고할 수 있다.
Interactive Language는 BOM 데이터베이스를 통해 인간과 로봇이 공유한 제품자료 중 식별자 역할을 하는 부품 번호를 이용한 직관적인 상호작용을 제공한다. Interactive Language는 인간이 사용하는 부품 번호를 통하여 특정 부품의 위치를 로봇에게 알려주거나 조립해야 할 부품을 식별시킬 수 있다. 로봇은 조립된 부품의 부품 번호를 지정함으로써 Robot Assembly Operator가 조립 때문에 생성된 중간 조립품 정보를 확인할 수 있게 한다. 이처럼 BOM 데이터베이스를 통해 부품 번호와 제품자료를 공유함으로써 인간과 로봇의 직관적인 상호작용이 가능하다.
Interactive Language는 Multimodal 상호작용을 구현하기 위하여 키보드를 이용하여 텍스트를 입력하는 방식과 음성을 이용한 방식으로 실행할 수 있다. 음성 모드는 음성으로 명령을 내리면 이를 텍스트로 전환하여 처리하는 방식을 채용하고 있으며 명령에 포함되는 부품 번호도 음성을 이용하여 인식시킬 수 있다.
3.2 CAD와 BOM 데이터베이스
<Figure 4>는 CAD와 BOM 데이터베이스의 자료 구조인 데이터베이스 스키마를 클래스 다이어그램으로 표현하였다. STEP 표준을 기준으로 모델링된 CAD 데이터베이스의 클래스는 흰색으로 표현되었으며, BOM 데이터베이스에 속한 클래스는 회색으로 표현하였다. CAD 데이터베이스는 부품을 표현하는 item과 형상을 구현하는 face, edge 그리고 vertex(point)를 rel_geo 객체로 연결하는 구조로 되어 있으며 face와 edge의 기하학적 종류를 각각 표현하는 surface와 curve 객체와도 연결되어 있다. 이 구조는 로봇 조립계획을 위한 STEP 표준의 형상 자료를 저장할 수 있게 준비되었다(Do et al., 2023).
BOM 데이터베이스를 구성하는 item과 item 간의 제품구성 관계를 표현하는 rel 객체는 E-BOM, M-BOM 그리고 P-BOM을 표현한다. Rel 객체는 조립품을 구성하는 부품의 상대적 위치를 표현하는 placement 객체와 연결된다(rel_geo의 하위 클래스인 rel_place 객체를 통하여 연결). Placement 객체는 부품의 위치를 표현하기 위해 원점 좌표(location)와 x와 z축의 방향(direction)을 포함한다. Y축 방향은 주어진 x와 z축으로부터 결정된다(Do et al., 2023).
P-BOM에서 공정을 표현하는 work 객체는 item의 하위 클래스로서 단일 중간 조립품에 적용되는 로봇 조립계획을 표현한다. Work 객체를 구성하는 action 객체는 로봇 조립계획의 최소 구성단위로 로봇의 Gripper가 주어진 목표 위치로 이동하는 단일 패스 구성 요소를 표현한다. 그러므로 action 객체의 순서가 단일 중간 조립품을 위한 work 객체를 구성하며, 최종 조립품의 M-BOM을 구성하는 각 중간 조립품의 work 객체를 역순으로 배열하면 조립품 전체를 위한 로봇 조립계획이 완성된다.
<Figure 5>는 그림 좌측의 A, B 그리고 C 부품으로 이루어진 asmD 조립품의 로봇 조립계획의 특정 순간의 CAD와 BOM 데이터베이스 상태를 우측의 Instance 다이어그램으로 표현하였다.
<Figure 5> 왼쪽 위의 CAD 모델에는 부품의 형상과 조립품 상의 상대 위치가 정의되어 있다. 이 자료는 Instance 모델의 E-BOM으로 전환된다(<Figure 5>의 asmD:part의 BOM 구조). 조립품 asmD는 A, B 그리고 C 부품으로 구성되어 있으며 구성관계를 표현하는 rel 객체에 해당 부품의 조립품 상의 상대 위치 정보인 placement 객체가 연결되어 있다. 예로 C 부품(C:part)은 asmD와 BOM 계층(asmD-C:rel)으로 연결되어 있고, asmD 조립품 상의 C 부품의 상대 위치(C in asmD:placement) 객체가 rel 객체에 연결되어 있다.
TRIP 아키텍처의 자동 조립계획 생성 프로시저는 E-BOM과 각 부품(Item)의 형상 정보를 이용하여 조립 순서를 결정하는 M-BOM을 생성한다(<Figure 5>의 asm1:part의 BOM 구조). 조립 순서는 로봇에 의해 이동하는 Move 부품과 고정되어 조립되는 Base 부품을 두 개의 하위 조립 부품으로 가진 이진 트리 형태의 BOM 계층을 가진다. 예는 (A, B)와 (asm0,C)를 하위 부품으로 가지는 asm0와 asm1을 중간 조립품과 최종 조립품으로 생성한다(조합의 좌측이 Base 우측이 Move 부품). 예로 A와 B의 조립품인 asm0(Base 부품)에 조립되는 C 부품(Move 부품)은 asm1과 C 부품을 연결하는 asm1-C:rel 객체로 표현할 수 있다.
부품 조립 순서가 M-BOM에 의하여 결정되면 P-BOM을 이용하여 로봇 조립계획을 생성한다. <Figure 5>의 좌측 그림에 A와 B 부품이 조립된 asm0 중간 조립품에 대기 위치에 준비된 C 부품을 집어(a0 단계) 위로 상승하여 조립 위치로 이동하는 Gripper 위치(a2 단계)가 표현되어 있다. 이를 데이터베이스에 표현하기 위하여 asm1 최종 조립품에 공정을 표현하는 op1(op1:work 객체)를 하위 부품으로 연결하여 P-BOM을 생성한 후, op1에 asm1을 조립하기 위해 C 부품을 asm0 부품으로 이동 지키는 action 객체의 순서(a0, ⋯, a2, a3:action)를 생성한다.
Action 객체는 해당 동작의 Gripper 목표 위치(grip place 속성)와 이때 부품의 위치(item place 속성) 정보를 가진다. 로봇 조립계획을 위해서 Gripper의 위치 정보만 필요하지만, Robot Path Simulator를 위하여 부품 위치 정보를 추가하였다. Op1에 연결된 action 순서(Sequence)의 시작인 a0 action(a0:action)은 C 부품의 독립된 부품으로서 위치(일반적으로 [0,0,0] 원점과 [1,0,0], [0,0,1] x와 z 축 방향)를 부품 대기 위치로 평행 이동하여 item place를 계산하며, 이를 기반으로 gripper place를 계산한다. Action 순서의 마지막 동작인 a3(a3:action)은 부품 C를 CAD에서 정의한 조립품 상의 상대 위치(C in asmD:placement)에 놓으면 된다. 그러므로 a3의 item place 속성은 C in asmD:placement와 같아지게 된다. Op1에 연결된 로봇 조립계획은 독립된 C 부품의 위치(<Figure 5>의 initial place of C)에서 시작하여 C 부품의 조립품 asmD에서 상대 위치(<Figure 5>의 destination of C)에서 끝나는 action의 순서가 된다.
<Figure 5> 좌측 Gripper와 부품 C의 현재 위치는 a2:action 객체의 gripper 목표 위치인 grip place 속성의 위치 객체(grip:placement)와 item place 속성의 위치 객체(on_path:placement)이다. Gripper와 부품(item)의 위치(placement 객체)는 해당 부품 C에 대한 조립계획의 시작점과 끝점, Move 부품 C의 형상 정보(<Figure 5>의 Instance 모델에는 표현되지 않음) 그리고 기존 조립된 중간 조립품(asm0)의 형상을 고려한 알고리즘에 의하여 계산한다. Move 부품과 중간 조립품은 조립 목표인 최종 조립품 asm1의 BOM 계층을 통하여 접근할 수 있다(목표 제품 asm1의 왼쪽 하위 부품 asm0가 Base 부품, 오른쪽 하위 부품 C가 Move 부품).
CAD와 BOM 데이터베이스를 기반으로 BOM Editor는 M-BOM과 P-BOM의 BOM 계층(rel 객체)을 추가하거나 삭제하여 로봇 조립계획을 변경할 수 있다(예 <Figure 5>의 asm1-op1:rel). BOM Editor는 BOM 계층의 구성관계 단위인 rel을 시각적으로 표현하고 변경할 수 있는 사용자 중심 웹 기반 환경을 제공한다. 설계변경 등에 의해 새로운 제품의 많은 부분이 기존 BOM 구조를 재사용할 때, BOM Editor를 사용하여 연동된 로봇 조립계획을 재사용할 수 있다.
Robot Path Simulator는 로봇 조립계획의 action 객체의 조립 부품 Placement 정보와 해당 부품의 형상 정보를 CAD 데이터베이스로부터 검색하여 3D CAD API를 이용하여 3차원 가시화한다(예 <Figure 5>의 a0, a2 그리고 a3:action). TRIP-HRC 아키텍처는 Robot Path Simulator를 구현하기 위하여 BOM 데이터베이스를 확장하였다. 기존 TRIP 아키텍처는 action 객체에 자동 계산된 Gripper Placement 자료만 저장하였다. 하지만 Robot Path Simulator의 경우 각 단계의 Gripper의 위치뿐만 아니라 조립 부품의 위치도 필요하므로 action 객체에 해당 단계 부품의 Placement 자료를 확장하였다.
Interactive Language는 인간 Operator를 위해 조립계획에 참가하는 중간과 최종 조립품을 포함한 부품(예 <Figure 5>의 asm0, asm1:part), BOM(rel 객체) 그리고 로봇 조립계획( 예 <Figure 5>의 op1:work와 a2:action 그리고 grip:placement) 정보를 제공하며, 로봇도 같은 정보를 공유하여 인간과 상호작용 시 item 식별자(부품 번호)를 통해 관련 제품자료를 특정할 수 있다. 로봇은 action 객체의 Gripper와 부품 위치(placement 객체) 정보를 로봇 인터페이스를 통해 물리적 로봇에 전달하여 조립 과정을 실행한다.
3.3 HRC Layer 구현
TRIP 아키텍처의 기반이 되는 CAD와 BOM 데이터베이스는 관계형 데이터베이스 관리 시스템인 MariaDB(MariaDB, 2023)를 사용하여 구현되었다. 이를 위해 <Figure 4>의 클래스 구조를 관계형 데이터베이스 테이블로 전환하였다. CAD 파일과 물리적 로봇의 인터페이스(<Figure 3>의 ①과⑤)는 CAD와 BOM 데이터베이스에 대한 파이선 응용 프로그램으로 개발되었다. 로봇 인터페이스 응용 프로그램(<Figure 3>의 ⑤)은 Dobot 사에서 제공하는 파이선 인터페이스 모듈(Dobot, 2023)을 함께 사용하였다. 로봇 조립계획 자동 생성 프로시저(<Figure 3>의 ②) 역시 파이선 데이터베이스 응용 프로그램으로 개발하였다(Do et al., 2023).
로봇에 의해 생성된 로봇 조립계획을 인간이 확인하고 변경하기 위한 BOM Editor(<Figure 3>의 ③)는 Apache Tomcat(Apache, 2023) 기반의 웹 데이터베이스 응용 프로그램으로 구현하였다. 웹 응용 프로그램을 통하여 E-BOM, M-BOM 그리고 P-BOM과 아이템의 기하학적 객체 정보를 확인할 수 있으며, 조립 순서를 표현한 M-BOM과 로봇 조립계획을 표현한 P-BOM은 변경하거나 추가할 수 있다. BOM Editor는 단위 제품구성 관계(<Figure 4>의 rel 객체)를 추가하거나 삭제하는 기능과 BOM 구조를 웹 환경에서 그래픽 하게 출력하는 기능을 제공한다.
인간 Planner가 로봇이 제공한 조립계획을 검토하기 위하여 사용하는 Simulator(<Figure 3>의 ④)는 3D CAD 시스템인 FreeCAD(FreeCAD, 2023)의 Python Macro를 이용하여 구현하였다(<Figure 6> CAD Python Macro). CAD Python Macro는 BOM 데이터베이스의 P-BOM에 연결하여 로봇 조립계획의 Action 단위 부품과 Gripper의 위치와 모습을 CAD 환경에 동적으로 출력할 수 있다.
Robot Path Simulator는 로봇 조립계획 상의 Gripper와 부품의 형상을 FreeCAD 화면에서 연속적으로 보여주기 위하여 CAD와 BOM 데이터베이스와 최초 입력 때 사용한 CAD 파일을 함께 사용한다. 이는 CAD 데이터베이스에 저장된 제품 형상 정보를 CAD 파일 형식으로 출력하는 기능이 아직 구현되지 않았기 때문이다. CAD API를 내장한 Python Macro인 Robot Path Simulator는 데이터베이스에서 로봇 조립계획을 표현하는 action 객체의 순서와 Move 부품 번호(<Figure 6>의 actions와 item의 id)를 읽고 CAD 시스템에 해당 부품 형상을 action 객체가 정의한 위치에 출력하도록 명령한다. CAD 시스템은 명령에 따라 CAD 파일에서 형상 정보를 읽어 주어진 위치에 출력한다. 그러므로 Planner는 FreeCAD 시스템을 통하여 3차원 형상으로 표현된 로봇 조립계획을 확인할 수 있다.
BOM 데이터베이스에 P-BOM 형태로 준비된 로봇 조립계획은 Interactive Language 실행 환경(<Figure 3>의 ⑥)을 통해 물리적 로봇을 작동시킬 수 있다. Interactive Language 실행 환경은 Python을 이용한 데이터베이스 응용 프로그램으로서 개발되었으며 예제 적용을 위해 4축 로봇 팔인 Dobot Magician(Dobot, 2023)을 연결하여 실행시킬 수 있다.
Itrip으로 명명된 Interactive Language 실행 환경은 Python 정규 표현식(Regular Expression) 모듈을 활용한 데이터베이스 응용 프로그램으로 구현하였다. 그러므로 실행 환경은 인간이 키보드를 이용하여 텍스트 화면에 명령어를 입력하면 로봇이 명령을 실행하고 결과를 출력하는 상호작용 방식으로 동작한다. 또한 파이선 음성 인식 모듈(SpeechRecognition, 2023)을 이용하여 인간이 음성으로 명령을 내리면 이를 Interactive Language 명령으로 전환하는 기능을 구현하였다.
Interactive Language가 제공하는 명령어는 인간이 작성하는 로봇 조립계획 실행, 자료 출력, 위치 공유 그리고 부품 조립 명령어와 로봇이 생성하는 명령 확인 및 경고 출력이 있다(<Table 1>).
로봇 조립계획 실행 명령은 로봇 조립계획의 단위 계획을 배치로 실행시키는 명령어이다(예 run task). 자료 출력 명령은 데이터베이스 내의 공유 위치, 부품 목록 그리고 로봇 조립계획 등을 출력하는 명령어이다(예 ls items 혹은 ls actions). 위치 정의 및 공유 명령은 인간과 로봇이 작업장 내의 특정 위치를 동적으로 공유하기 위한 명령어이다(예 ls locations 혹은 location of place_a is 100, 100, 0).
부품 조립 명령은 부품을 조립하기 위하여 준비, 이동 그리고 실행하는 명령어이다. 예로 part_a의 위치를 공유하기 위하여 is located 명령을 사용할 수 있다(예 part_a is located on place_a). 로봇이 집어 이동하는 부품(Move 부품)을 조립 대상 부품(Base 부품)의 위에 이동시키기 위해 move 명령을 쓸 수 있다(예 move part_move above part_base). 두 부품을 최종 조립시키기 위해 assemble 명령어를 사용할 수 있다(예 assemble part_move and part_base).
로봇이 실행된 명령을 확인하는 내용을 출력할 수 있다(예 asm_a is assembled from part_move and part_base). 로봇은 부품 조립 방향이나 조립 순서가 준비된 계획과 다를 경우 경고를 할 수 있다(예 Warning! part_a should be assembled with part_b).
4. 시스템 적용 및 토론
4.1 예제 제품
구현된 시스템을 이용하여 <Figure 7>의 asm A 제품을 조립하는 로봇 조립계획을 생성하였다. <Figure 7>은 CAD 파일에 정의된 asm A 조립품이 t(op), s(pring), c(ylinder) 그리고 b(ase) 부품과 1 계층 구성 관계로 연결되어 있는 E-BOM, 부품 조립 순서를 표시하는 M-BOM(중간 조립품 asm0, asm1, asm2 포함) 그리고 로봇 조립계획을 표현하는 P-BOM(공정 객체 op0, op1, op2 포함)이 표시되어 있다.
4.2 적용 예
제안한 HRC Assembly 과정을 아키텍처 기반 정보 시스템의 일반적 사용 순서인 1) 제품 설계 자료 준비, 2) 로봇 조립계획 생성, 3) 로봇 조립계획 검토와 변경 그리고 4) 로봇 조립 실행 단계로 나눌 수 있다. 이 과정 중 1) 제품 설계 자료 준비와 2) 조립계획 생성 단계는 관련 연구(Do et al., 2023)에 상세히 설명되어 있다. 이 절은 본 연구의 관심 부분인 HRC가 일어나는 3) 로봇 조립계획 검토와 변경 및 4) 로봇 조립 실행 단계에 대해 설명한다.
로봇에 의해 자동 생성된 로봇 조립계획은 인간인 Robot Assembly Planner에 의하여 검토되고 변경된다(<Figure 3>의 ③ Editing Plan). CAD와 BOM 데이터베이스의 E-BOM, M-BOM, P-BOM 그리고 제품 형상 정보를 검토하기 위하여 웹 기반 BOM Editor 응용 프로그램이 제공된다. <Figure 8>은 생성된 M-BOM과 P-BOM 형식의 로봇 조립계획을 BOM Editor를 이용하여 확인하는 화면을 보여준다. 화면에서 asm2의 M-BOM 구성을 위해 자동으로 추가된 asm0, asm1, asm2 아이템과 조립계획인 P-BOM을 위해 추가된 op0, op1, op2 그리고 op3 공정 객체를 확인하고 변경할 수 있다.
인간인 Robot Assembly Planner는 로봇 조립계획 검토를 위하여 BOM 데이터베이스의 로봇 조립계획과 CAD 데이터베이스를 이용하여 가상 조립 시뮬레이션을 수행할 수 있다(<Figure 3>의 ④ Simulation). <Figure 9>의 Robot Path Simulator는 CAD와 BOM 데이터베이스에서 로봇 조립계획을 읽어 부품의 3차원 조립 과정을 시각화한다. 응용 프로그램은 BOM 데이터베이스의 Action 순서를 읽어 CAD 화면에 Gripper와 부품을 출력한다. 사용자는 CAD 화면에 나타난 슬라이드 바 그래픽 사용자 환경을 이용하여 모든 로봇 조립 단계의 Gripper와 부품을 CAD 화면에 3차원으로 출력할 수 있다. 이처럼 TRIP-HRC 아키텍처는 제품 형상과 BOM 자료를 일반 데이터베이스로 관리함으로써 로봇 조립계획을 검토하거나 검증할 수 있는 다양한 응용 프로그램을 개발할 수 있다.
로봇에 의해 생성되어 인간에 의해 검토되고 변경된 로봇 조립계획은 BOM 데이터베이스에 연결된 물리적 로봇에 전달되어 실행된다(<Figure 3>의 ⑤). 이때 인간인 Robot Assembly Operator는 Interactive Language를 이용하여 로봇과 협력한다(<Figure 3>의 ⑥).
예로 예제 제품의 base와 cylinder 부품을 조립하기 위해 인간은 직관적인 assembly 명령어를 사용하여 로봇과 협동 작업할 수 있다. 먼저 인간이 base와 cylinder 부품을 정의된 위치 place1과 place2에 각각 위치시킨 후 is located 명령어로 로봇과 각 부품의 위치를 공유한다. 만일 로봇이 비전 시스템 등을 이용하여 현재 부품과 위치를 인식할 수 있다면 이 명령은 생략될 수 있다.
- itrip> cylinder is located on place1
- itrip> base is located on place2
인간이 로봇에게 cylinder 부품을 Base 부품과 조립하도록 명령한다. 로봇은 BOM 데이터베이스에 저장된 로봇 조립계획(actions 객체)을 이용하여 place1에 있는 cylinder 부품을 이동시켜 place2에 있는 Base 부품에 조립할 수 있다. 로봇은 조립된 중간 조립품이 asm0임을 알려준다. 인간은 사전이나 사후에 BOM Editor나 조립 Simulator를 이용하여 조립계획과 조립품을 확인할 수 있다.
- itrip> assemble cylinder and base
- → asm0 is assembled from cylinder and base
인간이 다음과 같이 top 부품을 place1에 위치시키고 asm0와 조립하도록 명령할 수 있다. 이 경우 로봇은 공유된 BOM 데이터베이스의 P-BOM을 통해 top 아이템이 asm1과 조립되어야 함을 확인할 수 있어 적절한 경고를 인간에게 전달할 수 있다. 즉, 로봇은 인간의 명령이 CAD와 BOM 데이터베이스의 로봇 조립계획과 일치하지 않으면 이를 경고하거나 옳은 방법을 제안할 수 있다.
- itrip> top is located on place1
- itrip> assemble top and asm0
- → Warning! spring should be assembled before top.
<Figure 10>은 Interactive Language의 실행 환경인 itrip 에디터를 통해 인간이 로봇과 협동 작업하는 화면을 보여준다. Interactive Language를 이용한 명령의 입력은 터미널과 키보드를 통해 입력할 수도 있으며 파이선 음성 인식 모듈을 이용하여 인간의 음성으로 실행시킬 수도 있다.
<Figure 11>은 itrp에 연결된 로봇이 인간 Operator의 Interactive Language를 통한 명령에 따라 부품을 조립하는 동작을 보여준다.
4.3 TRIP-HRC 아키텍처의 특성과 한계
TRIP-HRC 아키텍처의 특성과 한계를 확인하기 위하여 HRC의 논문 조사 연구(Tsarouchi et al., 2016; Wang et al., 2020)를 통해 선정한 선진 HRC의 특징을 기준으로 제안한 시스템의 구현과 적용 결과를 비교한다. 선정한 HRC의 특징은 첫째, 직관적이고 코딩이 필요 없는 의사 교환 수단, 둘째, 실행 환경 변화에 인간과 독립적으로 대응하고 의사 결정할 수 있는 로봇 시스템 그리고 셋째, 다수의 인간과 로봇 사이의 상호 협동이다.
첫째, 선진 HRC는 로봇 프로그램에 관한 전문적인 지식 없이도 로봇 프로그램을 할 수 있는 직관적인(Intuitive) 프로그래밍 환경을 제공해야 한다. 또한 동적인 변화에 대응하기 위하여 기존 코딩 방식의 프로그래밍이 필요 없는 의사 교환 수단을 제공해야 한다. TRIP-HRC 아키텍처는 부품 번호와 위치를 인간과 로봇이 공유함으로써 직관적인 명령을 사용할 수 있다(예 assemble part_a and part_b 명령). TRIP-HRC 아키텍처는 상호 공유한 부품 목록, M-BOM, P-BOM 그리고 CAD 데이터베이스를 이용하여 수치 정보를 사용하지 않고, 부품 객체와 작업 위주의 명령을 가능하게 한다. 또한 Interactive Language는 키보드를 이용한 대화식 명령어 입력과 음성 인식 모듈을 통한 인간 음성 명령이 가능하다.
둘째, HRC는 인간과 로봇이 상호 독립적으로 환경에 대응할 수 있고 필요에 따라 인간과 로봇 사이에 명령과 추종 관계가 바뀔 수 있는 자율성을 가져야 한다. 그러므로 HRC는 작업 진행 중 상황에 따라 인간 혹은 로봇으로 결정 주체를 변경할 수 있어야 한다. TRIP-HRC는 로봇 조립을 자동으로 계획하고 실행할 수 있으며, 필요한 경우 인간이 로봇 조립계획을 변경할 수 있다. 로봇 조립 실행 시 Interactive Language를 통하여 단계별로 로봇 조립계획 확인과 실행을 할 수 있다. 필요한 경우 조립 부품의 공급 위치 등을 변경할 수 있다. 또한 로봇 조립 과정에서 인간의 명령에 조립 순서와 부품에 오류가 생기면 로봇은 경고와 금지를 할 수 있다. 하지만 TRIP-HRC는 동적 로봇 조립계획 생성과 평가 기능이 없으므로 작업 진행 중 로봇이 조립계획을 능동적으로 평가하고 주도할 수 없다.
셋째, HRC는 다수의 인간과 로봇 사이의 협동이 가능해야 한다. 선진 HRC는 다수의 인간과 로봇이 각 단위의 서로 다른 기능과 다양한 의사 교환 채널을 통합하여 전체적 상호작용 연결을 생성한다. 현재 TRIP-HRC는 인간과 로봇이 1:1로 상호작용 과정으로 한정되어 있다.
제안된 아키텍처 기반 로봇 조립계획 생성과 실행 과정을 위의 HRC 특징을 이용하여 검토한 결과, TRIP-HRC은 자동화된 로봇 조립계획, 조립계획을 평가할 수 있는 응용 프로그램 그리고 인간과 로봇 사이의 코딩이 필요 없는 직관적인 의사 교환 수단을 제공한다. 그러나 로봇이 조립 작업 진행 중 변화에 대응하여 동적으로 새로운 계획을 생성하거나 과정을 능동적으로 평가하고 다음 계획을 결정하지 못한다. 아키텍처가 변화에 능동적으로 대응할 수 있게 하려면 변화된 로봇 조립계획을 평가할 수 있는 지표, 평가 모델(방법) 그리고 비교 기준 조립 이력 데이터베이스가 추가로 필요하다. 또한 TRIP-HRC는 인간과 로봇 간 단순 협력 환경만을 제공하며 다수의 인간과 로봇 간의 조직화된 협력 기능은 제공하지 못한다.
5. 결론과 추후 연구
본 연구는 인간과 로봇이 CAD와 BOM 데이터베이스를 공유함으로써 효과적인 HRC Assembly를 지원하는 시스템 아키텍처 Layer를 제안하였다. HRC Layer는 기존 CAD와 BOM 데이터베이스를 기반으로 BOM Editor, Robot Path Simulator 그리고 Interactive Language로 구성되었다. 제안된 HRC Layer가 추가된 TRIP-HRC 아키텍처는 STEP 표준, 관계형 데이터베이스 관리 시스템, Python 데이터베이스 응용 프로그램, 3D CAD 응용 프로그램 그리고 4축 로봇 팔을 이용하여 구현하였다.
제안된 아키텍처의 유효성을 확인하기 위하여 구현된 시스템에 예제 제품을 적용하여 로봇 조립계획을 생성하고 실행하였다. 선진 HRC 시스템의 특징을 기준으로 실행 결과를 검토한 결과, TRIP-HRC 아키텍처는 공유된 데이터베이스를 기반으로 직관적인 의사 교환 수단과 상호작용 중심의 HRC을 지원하나, 조립 실행 중 환경 변화에 대한 로봇의 능동적인 의사결정과 대응 기능을 제공하지 못하였다.
TRIP-HRC 아키텍처는 로봇의 능동적 대응 기능과 디지털 트윈 도입 등 크게 두 가지 개선을 계획하고 있다. 첫째, 부품의 설계변경 이력을 활용하여 로봇 조립계획 변화에 능동적으로 대응하는 평가 모델을 개발할 예정이다. 둘째, CAD와 BOM 데이터베이스를 기반으로 능동적이고 지능화된 로봇 조립계획을 지원하는 디지털 트윈 연구를 계획하고 있다.
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] and by Institute of Information & communications Technology Planning & Evaluation (IITP) grant funded by the Korean government (MSIT) (No.2022-0-01049, Development of teaching-less product assembly system for smart factory based on autonomous robot task planning and manipulation)
References
- Apache Tomcat (2023), Apache Tomcat, https://tomcat.apache.org, .
- Dassault Systemes (2023), CATIA, https://3ds.com, .
- Do, N. (2019), Understanding BOM (Second Edition) in Korean, Purple, Seoul.
-
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]
-
Do, N., Han, H., and Cho, J. Y. (2023), Developing an Architecture of an Automated Robot Assembly Planning System, Journal of KIEE, 49(3), 237-247.
[https://doi.org/10.7232/JKIIE.2023.49.3.237]
- 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.
- Horvath, 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.
- Horvath, L., Rudas, I. J., and Bito, J. F. (2002), Form Feature Based Generation of Robot Assembly Paths for Product Variants, IEEE ICIT'02, Bangkok, Thailand, 181-186.
-
Horvath, L., Rudas, I. J., Bito, 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]
-
Liu, S., Wang, L., and Wang, X. V. (2020), Symbiotic Human-Robot Collaboration: Multimodal Control Using Function Blocks, Procedia CIRP, 93(2).
[https://doi.org/10.1016/j.procir.2020.03.022]
- 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.
- 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.
-
Ranz, F., Hummel, V., and Sihn, W. (2017), Capability-based task allocation in human-robot collaboration, 7th Conference on Learning Factories, CLF 2017.
[https://doi.org/10.1016/j.promfg.2017.04.011]
- SpeechRecognition (2023), Python Speech Recognition Module 3.10.0, https://pypi.org/project/SpeechRecognition/, .
-
Sun, X., Zhang, R., and Liu, S. (2022), A digital twin-driven human-robot collaborative assembly-commissioning method for complex products, Int J Adv Manuf Technology, 118, 3389-3402.
[https://doi.org/10.1007/s00170-021-08211-y]
-
Tsarouchi, P., Makris, S. and Chryssolouris, G. (2016), Human-robot interaction review and challenges on task planning and programming, International Journal of Computer Integrated Manufacturing, 29(8), 916-931.
[https://doi.org/10.1080/0951192X.2015.1130251]
-
Tipary, B. and Erdos, G. (2021), Generic development methodology for flexible robotic pick-and-place workcells based on Digital Twin, Robotics and Computer-Integrated Manufacturing, 71, 102140.
[https://doi.org/10.1016/j.rcim.2021.102140]
-
Wang, L., Gao, R. X., Vancza, J., and Chryssolouris, G. (2019), Symbiotic human-robot collaborative assembly, August 2019 CIRP Annals - Manufacturing Technology, 68(2), 701-726.
[https://doi.org/10.1016/j.cirp.2019.05.002]
-
Wang, L., Liu, S., Liu, H., and Wang, X.V. (2020), Overview of Human-Robot Collaboration in Manufacturing. In: Wang, L., Majstorovic, V., Mourtzis, D., Carpanzano, E., Moroni, G., Galantucci, L. (eds), Proceedings of 5th International Conference on the Industry 4.0 Model for Advanced Manufacturing, Lecture Notes in Mechanical Engineering, Springer, Cham.
[https://doi.org/10.1007/978-3-030-46 212-3_2]
-
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 로봇이다.