KR20230007147A - 조립 설명서로부터 로봇 작업 계획 생성 방법 및 장치 - Google Patents
조립 설명서로부터 로봇 작업 계획 생성 방법 및 장치 Download PDFInfo
- Publication number
- KR20230007147A KR20230007147A KR1020210088028A KR20210088028A KR20230007147A KR 20230007147 A KR20230007147 A KR 20230007147A KR 1020210088028 A KR1020210088028 A KR 1020210088028A KR 20210088028 A KR20210088028 A KR 20210088028A KR 20230007147 A KR20230007147 A KR 20230007147A
- Authority
- KR
- South Korea
- Prior art keywords
- work plan
- ontology
- robot
- processor
- class
- Prior art date
Links
- 238000000034 method Methods 0.000 title abstract description 25
- 230000008878 coupling Effects 0.000 claims description 14
- 238000010168 coupling process Methods 0.000 claims description 14
- 238000005859 coupling reaction Methods 0.000 claims description 14
- 238000012545 processing Methods 0.000 claims description 14
- 238000010977 unit operation Methods 0.000 claims description 11
- 238000004088 simulation Methods 0.000 claims description 8
- 238000011960 computer-aided design Methods 0.000 description 34
- 238000012800 visualization Methods 0.000 description 18
- 238000000605 extraction Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 239000000463 material Substances 0.000 description 5
- 230000014509 gene expression Effects 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 238000003466 welding Methods 0.000 description 3
- 230000000704 physical effect Effects 0.000 description 2
- 241000282412 Homo Species 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000012795 verification 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/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1671—Programme controls characterised by programming, planning systems for manipulators characterised by simulation, either to verify existing program or to create and verify new program, CAD/CAM oriented, graphic oriented programming systems
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B23—MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
- B23P—METAL-WORKING NOT OTHERWISE PROVIDED FOR; COMBINED OPERATIONS; UNIVERSAL MACHINE TOOLS
- B23P21/00—Machines for assembling a multiplicity of different parts to compose units, with or without preceding or subsequent working of such parts, e.g. with programme 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/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1658—Programme controls characterised by programming, planning systems for manipulators characterised by programming language
-
- 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/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1661—Programme controls characterised by programming, planning systems for manipulators characterised by task planning, object-oriented languages
-
- 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/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
Landscapes
- Engineering & Computer Science (AREA)
- Mechanical Engineering (AREA)
- Robotics (AREA)
- Software Systems (AREA)
- Numerical Control (AREA)
Abstract
조립 설명서로부터 로봇 작업 계획 생성 방법 및 장치가 개시된다. 다양한 실시예에 따른 로봇 작업 계획 생성 장치는 인스트럭션들을 포함하는 메모리; 및 상기 메모리와 전기적으로 연결되고, 상기 인스트럭션들을 실행하기 위한 프로세서를 포함하고, 상기 프로세서에 의해 상기 인스트럭션들이 실행될 때, 상기 프로세서는, 온톨로지를 이용하여 생성된 생성된 작업 계획을 시뮬레이션하여 CAD 형상 정보를 생성하고, 상기 CAD 형상 정보를 상기 온톨로지에 데이터 속성으로 저장하고, 상기 데이터 속성이 저장된 상기 온톨로지를 이용하여 상기 작업 계획의 다음 작업 계획을 생성할 수 있다.
Description
아래 개시는 조립 설명서로부터 로봇 작업 계획 생성 방법 및 장치에 관한 것이다.
제조 산업이 점차 무인화되고 자동화되면서 인간을 대신해 신속하고 정교하게 제품을 생산할 수 있도록 하는 기계 장치에 대한 요구가 높아지고 있다. 다관절 로봇(articulated robot)은 사람이 하는 관절을 모방하여 운동하는 로봇으로, 작업 공간 내에 6개의 자유도를 로봇의 끝단의 위치와 자세를 나타내는 관절의 각도로 표현하는 기계이다. 이런 다관절 로봇은 사람의 팔을 대신하여 체결부재를 부품의 체결홀에 체결하는 조립 공정에 널리 사용되고 있다.
조립 작업을 진행하기 위해서는 작업 순서를 계획해주는 로봇 작업 계획(robot task planning) 생성이 요구된다. 이러한 로봇 작업 계획은 단위 작업(action)의 묶음으로 표현된다. 종래의 부품 조립용 로봇은 단위 작업을 수행하기 위해 일반적으로 카메라와 같은 영상 센서, 초음파나 레이저와 같은 거리 센서, 가속도와 각속도와 같은 위치 추정 센서 그리고 힘/토크 센서 등을 활용했다. 그런데 이러한 센서를 사용할 경우 저수준의 데이터이기 때문에 동적 환경 속에 존재하는 로봇에 적용시키기 어렵다는 문제가 있었다. 최근에는 센서 데이터를 환경에 대응하는 지식으로 개념화하기 위해 온톨로지(ontology)기반의 로봇 지능 연구가 많이 이루어지고 있다. 그러나 센서가 취득할 수 있는 정보의 제한과 오차로 인해 여전히 세밀한 수준의 단위 작업을 수행하기 힘들다는 한계를 지닌다.
위에서 설명한 배경기술은 발명자가 본원의 개시 내용을 도출하는 과정에서 보유하거나 습득한 것으로서, 반드시 본 출원 전에 일반 공중에 공개된 공지기술이라고 할 수는 없다.
다양한 실시예들은 부품 관계를 표현하는 온톨로지 기반 지식 추론 및 표현(knowledge representation and reasoning) 구조를 정의하고 이 온톨로지에 추출한 부품의 CAD(computer aided design) 형상 정보를 저장하여 로봇의 작업 계획을 자동으로 생성하는 기술에 관한 것이다.
다만, 기술적 과제는 상술한 기술적 과제들로 한정되는 것은 아니며, 또 다른 기술적 과제들이 존재할 수 있다.
다양한 실시예에 따른 로봇 작업 계획 생성 장치는 인스트럭션들을 포함하는 메모리; 및 상기 메모리와 전기적으로 연결되고, 상기 인스트럭션들을 실행하기 위한 프로세서를 포함하고, 상기 프로세서에 의해 상기 인스트럭션들이 실행될 때, 상기 프로세서는, 온톨로지를 이용하여 생성된 생성된 작업 계획을 시뮬레이션하여 CAD 형상 정보를 생성하고, 상기 CAD 형상 정보를 상기 온톨로지에 데이터 속성으로 저장하고, 상기 데이터 속성이 저장된 상기 온톨로지를 이용하여 상기 작업 계획의 다음 작업 계획을 생성할 수 있다.
상기 프로세서는, 제1 작업 계획의 다음에 생성된 제2 작업 계획을 수신하고, 전체 조립 설명서에 사용되는 전체 부품에 대한 전체 부품 CAD 파일에 기초하여 상기 제2 작업 계획에 대해 시뮬레이션을 수행하여 제2 작업 계획에 포함된 부품에 대응하는 3차원 모델이 가지는 물리적 특성에 대한 다양한 정보를 파악하고, 3차원 모델 간의 결합 단계에서 충돌 검사를 수행할 수 있다.
상기 프로세서는, 상기 제2 작업 계획에 대해 시뮬레이션을 수행하여 상기 제2 작업 계획에 따른 제2 중간 조립 산출물을 생성하고, 상기 제2 중간 조립 산출물을 상기 제1 작업 계획에 따른 제1 중간 조립 산출물과 비교하여 추가 부품에 대한 추가 부품 CAD 파일을 생성할 수 있다.
상기 프로세서는, 상기 제2 중간 조립 산출물에 대한 CAD 파일과 추가 부품 CAD 파일을 가공하여 조립에 필요한 정보인 상기 CAD 형상 정보를 생성할 수 있다.
상기 온톨로지는, 전체 조립 설명서를 사전에 모델링한 것이며, 개체 속성 및 상기 데이터 속성을 포함하고, 상기 개체 속성은, 상기 전체 조립 설명서를 통해 사전에 정의되고, 상기 데이터 속성은, 상기 CAD 형상 정보에 기초하여 정의되는 것일 수 있다.
상기 온톨로지에는 상기 개체를 부품 클래스 및 체결점 클래스로 구분하여 클래스를 정의하며, 상기 개체 속성은, 체결점 클래스 간의 결합 관계 속성, 부품 클래스 간의 결합 관계 속성, 부품 클래스와 체결점 클래스의 구성 관계 속성, 및 체결점 클래스와 부품 클래스의 소속 관계 속성을 포함할 수 있다.
상기 데이터 속성은, partType을 포함하는 기호 모델(symbolic model); 및 boundboxSize, mesh, center, height, normal, centerofMass, 및 characteristic을 포함하는 명시적 모델(explicit model)을 포함할 수 있다.
상기 작업 계획은, 기본 단위 작업 및 정밀 단위 작업을 포함하는 단위 작업의 시퀀스일 수 있다.
도 1은 다양한 실시예에 따른 로봇 작업 계획 생성 장치를 나타낸다.
도 2는 다양한 실시예에 따른 온톨로지에서의 클래스 구분을 설명하기 위한 도면이다.
도 3은 다양한 실시예에 따른 온톨로지를 이용하여 조립 대상을 모델링하는 것을 설명하기 위한 도면이다.
도 4는 다양한 실시예에 따른 작업 계획 생성의 일 예를 나타낸다.
도 5는 다양한 실시예에 따른 로봇 작업 계획 생성 장치의 다른 예를 나타낸다.
도 2는 다양한 실시예에 따른 온톨로지에서의 클래스 구분을 설명하기 위한 도면이다.
도 3은 다양한 실시예에 따른 온톨로지를 이용하여 조립 대상을 모델링하는 것을 설명하기 위한 도면이다.
도 4는 다양한 실시예에 따른 작업 계획 생성의 일 예를 나타낸다.
도 5는 다양한 실시예에 따른 로봇 작업 계획 생성 장치의 다른 예를 나타낸다.
실시예들에 대한 특정한 구조적 또는 기능적 설명들은 단지 예시를 위한 목적으로 개시된 것으로서, 다양한 형태로 변경되어 구현될 수 있다. 따라서, 실제 구현되는 형태는 개시된 특정 실시예로만 한정되는 것이 아니며, 본 명세서의 범위는 실시예들로 설명한 기술적 사상에 포함되는 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 이런 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 해석되어야 한다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설명된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 해당 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 실시예들을 첨부된 도면들을 참조하여 상세하게 설명한다. 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조 부호를 부여하고, 이에 대한 중복되는 설명은 생략하기로 한다.
도 1은 다양한 실시예에 따른 로봇 작업 계획 생성 장치를 나타낸다. 도 2는 다양한 실시예에 따른 온톨로지에서의 클래스 구분을 설명하기 위한 도면이다. 도 3은 다양한 실시예에 따른 온톨로지를 이용하여 조립 대상을 모델링하는 것을 설명하기 위한 도면이다. 도 4는 다양한 실시예에 따른 작업 계획 생성의 일 예를 나타낸다.
도 1 내지 도 4를 참조하면, 로봇 작업 계획 생성 장치(100)는 부품 관계를 표현하는 지식 추론 및 표현 구조를 온톨로지(150)에 정의하고, 이 온톨로지(150)에 추출한 부품의 CAD 형상 정보를 저장하여 로봇의 작업 계획을 자동으로 생성할 수 있다. 로봇 작업 계획 생성 장치(100)는 로봇에 구현될 수 있다. 로봇 작업 계획 생성 장치(100)는 형상 정보 추출 모듈(110) 및 작업 계획 생성 모듈(130)을 포함할 수 있다.
형상 정보 추출 모듈(110)은 온톨로지(150)로 생성된 작업 계획을 가시화(예: 3D 모델링)하고 온톨로지(150)에CAD 형상 정보를 데이터 속성으로 저장할 수 있다. 형상 정보 추출 모듈(110)은 3차원 모델 가시화 엔진(113) 및 정보 추출 필터(115)를 포함할 수 있다.
3차원 모델 가시화 엔진(113)은 전체 조립 설명서에 사용되는 전체 부품(예: 기본 단위 부품으로 연결 부품, 조립 부품)에 대한 전체 부품 CAD 파일을 수신할 수 있다. 예를 들어, 전체 부품 CAD 파일은 3차원 가시화 엔진에 사전에 입력될 수 있다.
제품의 전체 조립 설명서는 제품의 조립 순서 및 제조 방법 등을 상세히 명시한 문서를 의미할 수 있다. 전체 조립 설명서는 조립 순서에 대응하는 복수의 조립 설명서들을 포함할 수 있다. 각 조립 설명서는 해당 조립 순서에 따른 부품도 및 설명서로 구성될 수 있다. 각 조립 설명서에 포함된 부품도 및 설명서는 부품 사이의 연결 관계, 부품 종류, 부품 수량 등의 정보를 포함할 수 있다.
3차원 모델 가시화 엔진(113)은 제1 작업 계획(예: n-2회 반복에서 생성된 작업 계획, n은 2보다 큰 자연수)의 다음에 생성된 제2 작업 계획(예: n-1회 반복에서 생성된 작업 계획)을 수신할 수 있다.
3차원 모델 가시화 엔진(113)은 제2 작업 계획에 대해 검증을 수행할 수 있다. 3차원 모델 가시화 엔진(113)은 전체 부품 CAD 파일에 기초하여 제2 작업 계획에 대해 시뮬레이션(예: 3차원 모델 렌더링, 충돌 검사 알고리즘)을 수행할 수 있다. 3차원 모델 가시화 엔진(113)은 시뮬레이션을 수행하여 제2 작업 계획에 포함된 부품에 대응하는 3차원 모델이 가지고 있는 물리적 특성(예: 크기, 방향, 질량 중심, 재료 특성 등)에 대한 다양한 정보를 파악하고, 3차원 모델 간의 결합(예: 조립) 단계에서 부품 간에 발생하는 간섭이나 충돌 지점을 찾아내고 검증할 수 있다. 3차원 모델 가시화 엔진(113)은 제2 작업 계획에 대해 시뮬레이션을 수행함으로써 제2 작업 계획에 따른 제2 중간 조립 산출물을 생성할 수 있다.
3차원 모델 가시화 엔진(113)은 제2 작업 계획에 따른 제2 중간 조립 산출물을 제1 작업 계획에 따른 제1 중간 조립 산출물과 비교할 수 있다. 제1 작업 계획에 따른 제1 중간 조립 산출물은 제2 작업 계획 생성 전에 3차원 가시화 엔진에 의해 생성되어 저장되어 있을 수 있다. 3차원 모델 가시화 엔진(113)은 제1 작업 계획에 따른 제1 중간 조립 산출물과 제2 작업 계획에 따른 제2 중간 조립 산출물을 비교하여 추가 부품에 대한 추가 부품 CAD 파일을 생성할 수 있다. 예를 들어, 3차원 모델 가시화 엔진(113)은 전체 부품 CAD 파일에서 추가 부품에 대응하는 추가 부품 CAD 파일을 추출할 수 있다. 3차원 모델 가시화 엔진(113)은 추가 부품 CAD 파일과 제2 중간 조립 산출물에 대한 CAD 파일을 정보 추출 필터(115)로 출력할 수 있다.
정보 추출 필터(115)는 3차원 모델 가시화 엔진(113)을 통해 파악한 정보(예: 추가 부품 CAD 파일과 제2 중간 조립 산출물에 대한 CAD 파일)를 가공하여 조립에 필요한 정보인 CAD 형상 정보를 생성할 수 있다. 예를 들어 3차원 모델 가시화 엔진(113)로부터 획득된 정보가 홀에 대한 정보가 위치와 깊이, 방향만으로 표현되는 것이라면, 정보 추출 필터(115)는 이 홀을 가지고 있는 부품의 홀의 방향에 대한 크기를 파악하여 해당 홀이 부품을 관통하는지에 대한 정보, 즉 CAD 형상 정보로 가공할 수 있다. 정보 추출 필터(115)는 CAD 형상 정보를 온톨로지(150)로 출력할 수 있다.
온톨로지(150)는 전체 조립 설명서를 사전에 모델링한 것이며, 부품 사이의 연결 관계, 부품의 종류 및 수량 정보가 담긴 관계형 데이터베이스를 의미할 수 있다. 온톨로지(150)는 개체에 연관된 속성들이 정의되어 있을 수 있다. 온톨로지(150)에 정의된 속성은 개체의 관계를 나타내는 개체 속성과 개체에 대한 정보(예: 물리적 특성 정보)인 데이터 속성을 포함할 수 있다. 개체 속성은 전체 조립 설명서를 통해 사전에 정의가 되어 있을 수 있고. 데이터 속성은 정보 추출 필터에서 출력된 CAD 형상 정보에 기초하여 저장될 수 있다.
온톨로지(150)에는 조립 대상인 개체를 부품 클래스 및 체결점 클래스(예: Pin 클래스, Hole 클래스)로 구분하여 클래스를 정의할 수 있다. 조립 대상인 개체(예: 부품)는 부품(part)과 이 부품의 조립에 사용되는 체결점으로 구분될 수 있다. 체결점은 부품에 종속될 수 있지만 조립을 위해 체결점의 위치에 대한 CAD 정보를 활용하기 때문에 부품과 별개의 클래스로 구분될 수 있다. 이에, 부품과 체결점은 종속 관계를 지니지 않은 별개의 클래스로 같은 계층 안에 존재할 수 있다.
온톨로지(150)에 정의되는 개체 속성은 체결점 클래스 간의 결합 관계 속성(isLinkedOf : [Domain] Pin 클래스와 [Range] Hole 클래스의 체결관계), 부품 클래스 간의 결합 관계 속성(예: isConnectedWith : [Domain] Part 클래스와 [Range] Part 클래스의 결합관계), 부품 클래스와 체결점 클래스의 구성 관계 속성(consistOf : [Domain] Part 클래스와 [Range] Pin, Hole 클래스의 구성관계), 및 체결점 클래스와 부품 클래스의 소속 관계 속성(isPartOf : [Domain] Pin, Hole 클래스와 [Range] Part 클래스의 소속 관계)을 포함할 수 있다.
온톨로지(150)에는 CAD 형상 정보에 기초하여 하나 이상의 개체의 데이터 속성이 저장될 수 있다. CAD 형상 정보는 온톨로지(150)의 개체들의 데이터 속성(data property)으로 저장되는 것일 수 있다. 데이터 속성은 표 1과 같이 기호 모델(symbolic model) 및 명시적 모델(explicit model)로 구분되는 속성들을 포함할 수 있다.
[표 1]
작업 계획 생성 모듈(130)은 온톨로지(150)에 저장된 속성들을 이용해서 전체 조립 설명서에 포함된 조립 순서에 대응하는 복수의 조립 설명서들 내의 조립 작업을 로봇이 수행할 수 있도록 단위 작업을 배열하여 작업 계획(예: 로봇 작업 계획)을 생성할 수 있다. 작업 계획 생성 모듈(130)은 온톨로지(150)에 따라 조립할 대상과 체결점을 선택하는 기본적인 수준의 작업 계획을 생성할 수 있다.
조립 대상인 개체를 클래스화시키면 조립 산출물은 온톨로지(150)에 정의된 개체 속성(object property)을 활용하여 체결점을 기준으로 조립 관계를 생성하게 될 수 있다.
온톨로지(150)를 이용하여 체결점을 기준으로 조립 대상을 모델링하는 것은 도 3과 같을 수 있다. 조립 대상을 모델링하는 것은 다음 기호를 이용하여 표현될 수 있다. Class는 온톨로지(150)에 정의한 클래스(Class)를 표시한 것이고, Instance는 클래스 내에 존재하는 개체(instance)를 표시한 것일 수 있다. rdfs:subClassOf는 클래스 간의 상속 관계를 표시한 기호이고, rdf:type는 개체(instance)가 어떤 클래스인지 표시한 기호이고, Object Relation는 클래스 내에 존재하는 개체(instance)들 간의 개체 속성(object property)을 표시한 기호일 수 있다. 이는 나무도막 형태의 part2 부품(예: part2)에 C122620 부품(예: 에 C122620)을 체결하는 과정을 모델링한 것일 수 있다. 두 부품(예: part2, C122620)의 체결점은 각 부품 내에 존재하는 홀과 핀 형태의 지점일 수 있다. 이때 체결점 사이의 체결점 클래스 간의 결합 관계 속성(isLinkedOf 개체 속성)과 부품 클래스 간의 결합 관계 속성(isConnectedWith 개체 속성)은 조립 작업에 대한 지식 체계를 형성할 수 있다. 예를 들어, isLinkedOf 개체 속성은 Pin 클래스와 Hole 클래스 사이의 체결 관계를 나타내고, isConnectedWith 개체 속성은 Part와 Part 클래스의 결합 관계를 나타낼 수 있다.
작업 계획은 단위 작업의 시퀀스를 의미할 수 있다. 단위 작업은 로봇이 수행할 수 있는 가장 작은 단위의 작업을 의미할 수 있다. 단위 작업은 기본 단위 작업 및 정밀 단위 작업을 포함할 수 있다.
기본 단위 작업은 로봇이 움직이고 파지하는 작업으로, MoveL, MoveC, Grasping와 같은 기본적인 단위 작업을 의미할 수 있다. 정밀 단위 작업은 실제로 로봇이 어떻게 파지(예: 물체의 형상, 질량 중심, 방향 벡터, 재료 특성 고려)하고 어떤 작업 공구를 사용하여 어느 위치(예: 정밀 좌표)에 어떤 방향(예: 방향 벡터)으로 넣는가 등의 구체적인 단위 작업을 의미할 수 있다. 정밀 단위 작업은 정밀한 수준의 단위 작업을 의미하는 것으로, 표 2와 같이 사전 정의될 수 있다. 정밀 단위 작업은 정렬 작업, 파지 방식(예: 파지(파트), 파지(핀)), 및체결 방식(예: 스크류 작업/팩인홀/용접 작업)을 포함할 수 있다.
[표 2]
정렬 작업은 로봇이 조립할 대상을 정렬하는 정밀 작업일 수 있다. 물체의 형상(예: 데이터 속성 정보)을 고려하여 로봇이 파지할 때 간섭이 생기지 않도록 작업대에 배치할 수 있다.
파지(파트)는 로봇이 파트 클래스에 해당하는 개체의 어느 위치를 어떻게 파지 할 것인가에 대한 정밀 작업일 수 있다. 질량 중심(예: 데이터 속성 정보)을 고려하여 로봇 gripper에 무리가 가지 않는 지점을 파지할 수 있다.
파지(핀)는 로봇이 핀 클래스에 해당하는 개체의 어느 위치를 어떻게 파지 할 것인가에 대한 정밀 작업일 수 있다. 홀에 핀이 들어갈 깊이(예: 데이터 속성 정보)를 고려하여 핀 끝을 파지할 수 있다.
스크류 작업은 로봇이 스크류 형상의 핀에 대해 어떻게 작업할 것인가에 대한 정밀 작업일 수 있다. 스크류가 십자인지 육모인지(예: 데이터 속성 정보) 판단하여 작업 공구의 종류를 선택할 수 있다.
팩인홀 작업은 로봇이 핀 클래스를 홀의 어느 위치에 어떤 방향으로 얼마나 넣을지에 대한 정밀 작업일 수 있다. 홀의 방향(예: 데이터 속성 정보)을 고려하여 핀을 접근시키고 홀의 깊이(예: 데이터 속성 정보)와 재료의 특성(예: 데이터 속성 정보)을 고려하여 핀을 홀에 삽입할 수 있다.
용접 작업은 로봇이 어떤 라인을 따라 용접해야 하는가에 대한 정밀 작업일 수 있다. 접합될 부위의 물체의 형상(예: 데이터 속성 정보)을 고려하여 용접이음방법을 선택할 수 있다.
정밀 단위 작업을 수행할 때 정성 공간 상의 개체(예: 부품과 부품 또는 부품과 중간 조립 산출물(조립 설명서 상에 존재하는 중간 조립 결과물))의 개체 속성과 물리적 특성을 고려하기 위해 CAD 형상 정보가 사용될 수 있는 것일 수 있다.
작업 계획은 온톨로지(150)에 정의된 개체 속성과 데이터 속성에 기초하여 생성될 수 있다. 먼저, 작업 생성 계획 모듈(130)은 온톨로지(150)의 개체 속성 정보인 부품 클래스 간의 결합 관계 속성(예: isConnectedWith : [Domain] Part 클래스와 [Range] Part 클래스의 결합관계) 및 체결점 클래스 간의 결합 관계 속성(isLinkedOf : [Domain] Pin 클래스와 [Range] Hole 클래스의 체결관계)를 이용하여 작업에 필요한 부품 수량과 관계 정보를 확인할 수 있다. 이후, 작업 생성 계획 모듈(130)은 CAD 형상 정보를 토대로 사용되는 부품들 중 크기가 큰 부품을 기준으로 단위 작업의 순서를 결정할 수 있다.
정밀 단위 작업은 데이터 속성 정보를 활용하며 크게 정렬 작업, 파지 방식, 체결 방식로 구분될 수 있다. 정렬 작업은 데이터 속성 정보인 물체의 크기와 노말 방향을 고려하여 물체를 배치하는데 사용될 수 있다. 파지 방식과 체결 방식은 데이터 속성에 포함된 partType의 데이터를 기반으로 결정될 수 있다. 파지 방식은 물체의 형상을 이용해 파지 위치를 선별하고, 그 중 질량 중심과 재료 특성을 고려하여 하나의 파지점을 선정한 후 노말 방향을 이용하여 그리퍼의 자세를 제어하는 것일 수 있다. 체결 방식은 홀에 삽입할 물체의 크기와 홀의 깊이를 비교하여 결합할 길이를 지정하고, 재료 특성을 고려해 체결 강도를 결정한 후 노말 방향을 이용하여 그리퍼의 자세를 제어하는 것일 수 있다.
도 4에 도시된 바와 같이, 작업 계획 생성 모듈(130)은 단위 작업의 시퀀스를 포함하는 작업 계획을 생성할 수 있다. 도 4는 나무도막 형태의 part2 부품에 C122620 부품을 체결하는 작업 계획을 정의한 단위 작업의 시퀀스로 나타낸 것일 수 있다.
작업 계획 생성 모듈(130)은 제2 작업 계획을 생성한 후에 3차원 모델 가시화 엔진(113)이 제2 작업 계획에 대해 시뮬레이션을 수행하여 얻은 CAD 형상 정보가 저장된 온톨로지(150)를 이용하여 제3 작업 계획을 생성할 수 있다.
3차원 모델 가시화 엔진(113), 정보 추출 필터(115), 및 작업 계획 생성 모듈(130)은 전체 조립 설명서에 대해 작업 계획이 생성되도록 상술한 동작을 반복적으로 수행할 수 있다. 상술한 동작으로 루프로 계속 반복 수행될 수 있다.
도 5는 다양한 실시예에 따른 로봇 작업 계획 생성 장치의 다른 예를 나타낸다.
로봇 작업 계획 생성 장치(500)는 메모리(510) 및 프로세서(530)를 포함할 수 있다. 로봇 작업 계획 생성 장치(500)는 도 1의 로봇 작업 계획 생성 장치(100)와 실질적으로 동일할 수 있다.
메모리(510)는 프로세서(530)에 의해 실행가능한 인스트럭션들(또는 프로그램)을 저장할 수 있다. 예를 들어, 인스트럭션들은 프로세서(530)의 동작 및/또는 프로세서(530)의 각 구성의 동작을 실행하기 위한 인스트럭션들을 포함할 수 있다. 또한, 메모리(510)는 도 1의 온톨로지(150)를 저장할 수 있다.
프로세서(530)는 메모리(510)에 저장된 데이터를 처리할 수 있다. 프로세서(530)는 메모리(510)에 저장된 컴퓨터로 읽을 수 있는 코드(예를 들어, 소프트웨어) 및 프로세서(630)에 의해 유발된 인스트럭션(instruction)들을 실행할 수 있다.
프로세서(530)는 목적하는 동작들(desired operations)을 실행시키기 위한 물리적인 구조를 갖는 회로를 가지는 하드웨어로 구현된 데이터 처리 장치일 수 있다. 예를 들어, 목적하는 동작들은 프로그램에 포함된 코드(code) 또는 인스트럭션들(instructions)을 포함할 수 있다.
예를 들어, 하드웨어로 구현된 데이터 처리 장치는 마이크로프로세서(microprocessor), 중앙 처리 장치(central processing unit), 프로세서 코어(processor core), 멀티-코어 프로세서(multi-core processor), 멀티프로세서(multiprocessor), ASIC(Application-Specific Integrated Circuit), FPGA(Field Programmable Gate Array)를 포함할 수 있다.
프로세서(530)는 도 2 내지 도 4를 참조하여 로봇 작업 계획 생성 장치(100)의 동작을 실질적으로 동일하게 수행할 수 있다. 도 1의 구성(예: 3차원 모델 가시화 엔진(113), 정보 추출 필터(115), 작업 계획 생성 모듈(130))은 메모리(510)에 저장되어 프로세서(530)에 로딩되어 실행되거나, 또는 프로세서(530)에 임베디드될 수 있다. 프로세서(530)의 동작에 대해서는 상세한 설명을 생략하도록 한다.
상술한 바와 같이, 다양한 실시예들은 부품의 CAD 형상 정보를 사용해 부품 조립에 대한 작업 계획을 생성하고 일련의 단위 작업을 수행할 수 있다. 이에 무인화 및 자동화 추세에 접어든 제조 산업에서 작업 계획을 생성하는데 들어가는 비용을 절감할 수 있으며, CAD 형상 정보를 활용하기 때문에 보다 세밀한 단위 작업을 수행할 수 있다.
이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 컨트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 저장할 수 있으며 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
위에서 설명한 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 또는 복수의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 이를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.
Claims (8)
- 로봇 작업 계획 생성 장치에 있어서,
인스트럭션들을 포함하는 메모리; 및
상기 메모리와 전기적으로 연결되고, 상기 인스트럭션들을 실행하기 위한 프로세서
를 포함하고,
상기 프로세서에 의해 상기 인스트럭션들이 실행될 때, 상기 프로세서는,
온톨로지를 이용하여 생성된 생성된 작업 계획을 시뮬레이션하여 CAD 형상 정보를 생성하고,
상기 CAD 형상 정보를 상기 온톨로지에 데이터 속성으로 저장하고,
상기 데이터 속성이 저장된 상기 온톨로지를 이용하여 상기 작업 계획의 다음 작업 계획을 생성하는, 로봇 작업 계획 생성 장치.
- 제1항에 있어서,
상기 프로세서는,
제1 작업 계획의 다음에 생성된 제2 작업 계획을 수신하고,
전체 조립 설명서에 사용되는 전체 부품에 대한 전체 부품 CAD 파일에 기초하여 상기 제2 작업 계획에 대해 시뮬레이션을 수행하여 제2 작업 계획에 포함된 부품에 대응하는 3차원 모델이 가지는 물리적 특성에 대한 다양한 정보를 파악하고, 3차원 모델 간의 결합 단계에서 충돌 검사를 수행하는, 로봇 작업 계획 생성 장치.
- 제2항에 있어서,
상기 프로세서는,
상기 제2 작업 계획에 대해 시뮬레이션을 수행하여 상기 제2 작업 계획에 따른 제2 중간 조립 산출물을 생성하고,
상기 제2 중간 조립 산출물을 상기 제1 작업 계획에 따른 제1 중간 조립 산출물과 비교하여 추가 부품에 대한 추가 부품 CAD 파일을 생성하는, 로봇 작업 계획 생성 장치.
- 제3항에 있어서,
상기 프로세서는,
상기 제2 중간 조립 산출물에 대한 CAD 파일과 추가 부품 CAD 파일을 가공하여 조립에 필요한 정보인 상기 CAD 형상 정보를 생성하는, 로봇 작업 계획 생성 장치.
- 제1항에 있어서,
상기 온톨로지는,
전체 조립 설명서를 사전에 모델링한 것이며, 개체 속성 및 상기 데이터 속성을 포함하고,
상기 개체 속성은,
상기 전체 조립 설명서를 통해 사전에 정의되고,
상기 데이터 속성은,
상기 CAD 형상 정보에 기초하여 정의되는 것인, 로봇 작업 계획 생성 장치.
- 제5항에 있어서,
상기 온톨로지에는 상기 개체를 부품 클래스 및 체결점 클래스로 구분하여 클래스를 정의하며,
상기 개체 속성은,
체결점 클래스 간의 결합 관계 속성, 부품 클래스 간의 결합 관계 속성, 부품 클래스와 체결점 클래스의 구성 관계 속성, 및 체결점 클래스와 부품 클래스의 소속 관계 속성을 포함하는, 로봇 작업 계획 생성 장치.
- 제5항에 있어서,
상기 데이터 속성은,
partType을 포함하는 기호 모델(symbolic model); 및
boundboxSize, mesh, center, height, normal, centerofMass, 및 characteristic을 포함하는 명시적 모델(explicit model)
을 포함하는, 로봇 작업 계획 생성 장치.
- 제1항에 있어서,
상기 작업 계획은,
기본 단위 작업 및 정밀 단위 작업을 포함하는 단위 작업의 시퀀스인, 로봇 작업 계획 생성 장치.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210088028A KR102537633B1 (ko) | 2021-07-05 | 2021-07-05 | 조립 설명서로부터 로봇 작업 계획 생성 방법 및 장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210088028A KR102537633B1 (ko) | 2021-07-05 | 2021-07-05 | 조립 설명서로부터 로봇 작업 계획 생성 방법 및 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20230007147A true KR20230007147A (ko) | 2023-01-12 |
KR102537633B1 KR102537633B1 (ko) | 2023-05-31 |
Family
ID=84923673
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210088028A KR102537633B1 (ko) | 2021-07-05 | 2021-07-05 | 조립 설명서로부터 로봇 작업 계획 생성 방법 및 장치 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102537633B1 (ko) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001353631A (ja) * | 2000-06-09 | 2001-12-25 | Ricoh Co Ltd | 組立工程設計支援装置および分解工程設計支援装置 |
KR20190070074A (ko) * | 2017-12-12 | 2019-06-20 | 경기대학교 산학협력단 | 로봇 작업 제어 모델 자동 생성 시스템 |
KR20200079703A (ko) * | 2018-12-26 | 2020-07-06 | 서울시립대학교 산학협력단 | 서비스 패키지 생성 방법 및 이를 수행하는 로봇 서비스 개발 시스템 |
US20210018881A1 (en) * | 2019-07-16 | 2021-01-21 | University College Cardiff Consultants Limited (Uc3) | Autonomous and semantic optimization approach for real-time performance management in a built environment |
-
2021
- 2021-07-05 KR KR1020210088028A patent/KR102537633B1/ko active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001353631A (ja) * | 2000-06-09 | 2001-12-25 | Ricoh Co Ltd | 組立工程設計支援装置および分解工程設計支援装置 |
KR20190070074A (ko) * | 2017-12-12 | 2019-06-20 | 경기대학교 산학협력단 | 로봇 작업 제어 모델 자동 생성 시스템 |
KR20200079703A (ko) * | 2018-12-26 | 2020-07-06 | 서울시립대학교 산학협력단 | 서비스 패키지 생성 방법 및 이를 수행하는 로봇 서비스 개발 시스템 |
US20210018881A1 (en) * | 2019-07-16 | 2021-01-21 | University College Cardiff Consultants Limited (Uc3) | Autonomous and semantic optimization approach for real-time performance management in a built environment |
Also Published As
Publication number | Publication date |
---|---|
KR102537633B1 (ko) | 2023-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9811074B1 (en) | Optimization of robot control programs in physics-based simulated environment | |
US9671777B1 (en) | Training robots to execute actions in physics-based virtual environment | |
Ou et al. | Relationship matrix based automatic assembly sequence generation from a CAD model | |
Maksymova et al. | Voice control for an industrial robot as a combination of various robotic assembly process models | |
JP6255491B2 (ja) | コンピュータ支援設計(cad)モデルをシミュレートするためのファスナの自動作成 | |
US11281824B2 (en) | Authoring loading and boundary conditions for simulation scenarios | |
CN104252403A (zh) | 用于在组装过程中执行工具作业操作的实时反馈控制 | |
US11727166B2 (en) | Techniques for generating graph-based representations of complex mechanical assemblies | |
Crosby et al. | Integrating mission and task planning in an industrial robotics framework | |
Lächele et al. | SwarmSimX: Real-time simulation environment for multi-robot systems | |
von Szadkowski et al. | Phobos: A tool for creating complex robot models | |
US20220365518A1 (en) | Development of a product using a process control plan digital twin | |
Kaipa et al. | Design of hybrid cells to facilitate safe and efficient human–robot collaboration during assembly operations | |
Anagnostakis et al. | Automated coordinate measuring machine inspection planning knowledge capture and formalization | |
CN113190905B (zh) | 一种建筑模型的分析方法、装置及存储介质 | |
KR102537633B1 (ko) | 조립 설명서로부터 로봇 작업 계획 생성 방법 및 장치 | |
Vincent et al. | Reachable polyhedral marching (rpm): An exact analysis tool for deep-learned control systems | |
Wang et al. | An environment state perception method based on knowledge representation in dual-arm robot assembly tasks | |
Huckaby et al. | A case for SysML in robotics | |
Tutsoy et al. | Developing linear and nonlinear models of ABB IRB120 industrial robot with Maplesim multibody Modelling software | |
Bresolin et al. | Formal verification applied to robotic surgery | |
Koch et al. | Simulation-based verification for parallelization of model-based applications | |
CN113704085A (zh) | 用于检查技术系统的方法和设备 | |
Chen et al. | A flexible mixed reality simulation framework for software development in robotics | |
Najman et al. | Monte Carlo Based Detection of Parameter Correlation in Simulation Models |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |