KR20110034713A - 사용자 제작 로봇을 위한 가상 테스트 시스템 및 그 방법 - Google Patents

사용자 제작 로봇을 위한 가상 테스트 시스템 및 그 방법 Download PDF

Info

Publication number
KR20110034713A
KR20110034713A KR1020090092099A KR20090092099A KR20110034713A KR 20110034713 A KR20110034713 A KR 20110034713A KR 1020090092099 A KR1020090092099 A KR 1020090092099A KR 20090092099 A KR20090092099 A KR 20090092099A KR 20110034713 A KR20110034713 A KR 20110034713A
Authority
KR
South Korea
Prior art keywords
robot
virtual
information
environment
hardware component
Prior art date
Application number
KR1020090092099A
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 KR1020090092099A priority Critical patent/KR20110034713A/ko
Publication of KR20110034713A publication Critical patent/KR20110034713A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/0095Means or methods for testing manipulators
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B17/00Systems involving the use of models or simulators of said systems
    • G05B17/02Systems involving the use of models or simulators of said systems electric

Abstract

본 발명은 사용자 제작 로봇을 위한 가상 테스트 시스템에 관한 것으로서, 본 발명의 목적은 전문지식이 없는 일반인들도 쉽게 로봇을 디자인하고 테스트할 수 있는 사용자 제작 로봇을 위한 가상 테스트 시스템을 제공하는 것이다.
본 발명의 따른 사용자 제작 로봇을 위한 가상 테스트 시스템은 물리엔진 속성을 포함하는 하드웨어 컴포넌트를 이용하여 가상로봇을 조립하기 위한 모델 조합기와, 상기 모델 조합기를 통해 조립 완성된 가상로봇을 동작시키는 행위 모델링을 수행하는 로봇 행위 모델링 도구와, 상기 가상로봇이 활동할 가상환경을 구성하기 위한 환경 구성기와, 상기 환경 구성기를 통해 구성된 가상환경에서 상기 조립된 가상로봇을 동작시키기 위한 시뮬레이션 도구를 포함하도록 구성된 것을 특징으로 한다.
로봇, 모델링, 시뮬레이션

Description

사용자 제작 로봇을 위한 가상 테스트 시스템 및 그 방법{VIRTUAL TEST SYSTEM AND METHOD FOR USER CREATED ROBOT}
본 발명은 사용자 제작 로봇을 위한 가상 테스트 시스템에 관한 것으로서, 보다 상세하게는 하드웨어 컴포넌트(Hardware Component) 구성과 시뮬레이션 설계 및 수행 기술을 통해 범용적인 모델링 및 시뮬레이션 기술을 구축할 수 있는 사용자 제작 로봇을 위한 가상 테스트 시스템에 관한 것이다.
최근들어 다관절 로봇은 산업, 교육 및 엔터테인먼트용으로 널리 이용 개발되고 있는 실정이다. 이러한 다관절 로봇의 일반적인 개발 및 제작 단계를 살펴보면, 로봇의 실 제작 전에 3D 모델러(Modeler)를 이용하여 3D 로봇모델을 생성하고, 생성된 3D 로봇모델을 동작시켜보는 시뮬레이션 단계를 통해 로봇의 동작을 실제와 똑같이 구현해 볼 수 있도록 하고 있다.
전술한 목적을 달성하기 위한 종래의 모델링 및 시뮬레이션 도구(이하, 시뮬레이터)는 특정된 하나의 시스템이나 환경에 맞도록 제작되었고, 이에 따라 기제작 된 시뮬레이터를 다른 시스템이나 환경을 기반으로하는 다양한 로봇에 적용하기 위해서는 그에 맞는 시뮬레이터를 다시 개발 구축해야 하기 때문에 중복 비용이 발생하는 문제점이 있었다.
상기와 같은 문제점을 해결하기 위하여 범용적인 모델링 및 시뮬레이션 도구의 개발이 요구되고 있지만, 다양한 로봇 환경에 맞는 모델링과 시뮬레이션을 구축하기에는 막대한 비용과 시간이 필요하다.
따라서, 범용적인 시뮬레이터를 구축할 수 있으면서도 그 개발 비용과 시간을 최소화할 수 있는 또 하나의 방법은 로봇을 구성할 수 있는 각종 부품에 대한 표준화 작업을 실시하고, 이것을 수행할 수 있는 시뮬레이션 환경을 제공하는 것이다.
로봇 구성 요소의 컴포넌트(Component)화는 상술한 목적에 합치하는 기술로서, 로봇 디자인을 일반인들도 쉽게 접근할 수 있도록 해주는 장점을 제공한다.
로봇 구성 요소의 컴포넌트화에 대한 종래 개발 수준을 살펴보면, 로봇 구성 요소 중 기계 파트에 해당하는 메카닉 프레임(Mechanic Frame)에 대해서는 CAD (Computer Aided Design) 데이터 포맷으로 국제적 표준이 구축되어 있다.
그러나, 기계 파트를 제외한 다른 로봇 구성 요소들은 아직 적절한 표준안도 없는 상태이고, 기존의 분야에서 사용하는 표준을 빌려서 쓰는 실정이다. 즉, 대부분의 경우 로봇의 조립 부품들을 3D 모델(Model)화해서 가상으로 조립할 수 있는 환경을 제공하고 있지만, 제공된 모델 부품을 단순히 쌓아 올리는 정도의 수준이기 때문에 조립된 가상 로봇을 실제와 같이 동작시킬 수 있는 방법은 없는 상태이다.
결국, 종래의 컴포넌트(Component)화 기술은 전반적인 로봇 구성 요소에 대한 컴포넌트화가 진행되지 않은 상태이기 때문에, 총체적인 로봇 전용 컴포넌트 관리 기술은 부존재하는 실정이다.
이에 따라, 종래 컴포넌트 관리 기술은 제품 별로 폐쇄적이어서 각각의 로봇마다 비용을 지불하지 않으면 사용할 수 없고, 그 비용도 매우 높아서 일반인들은 쉽게 사용하지 못하고 있다. 또한, 3D 모델러(Modeler)를 사용하기 위해서는 전문 지식을 필요로 하기 때문에 전문 지식이 없는 일반인들은 새로운 로봇을 디자인하기 위한 메카닉 프레임 컴포넌트를 활용하기 어려운 문제점이 있었다.
즉, 종래의 컴포넌트화 기술은 메카닉 프레임을 생성을 위한 기법과 전문적인 3D 모델 도구를 이용하는 방법 밖에 존재하지 않으며, 또한 로봇의 동작을 실행시키지 못하는 문제점을 가지고 있다.
본 발명은 상기와 같은 문제점을 해결하기 위하여 안출된 것으로서, 본 발명의 목적은 범용적인 하나의 모델링 및 시뮬레이션 도구만으로 다양한 시스템 환경의 가상로봇을 조립하고 테스트할 수 있는 사용자 제작 로봇을 위한 가상 테스트 시스템을 제공하는 것이다.
본 발명의 또 다른 목적은 전문지식이 없는 일반인들도 로봇 디자인을 용이하게 실시할 수 있는 사용자 제작 로봇을 위한 가상 테스트 시스템을 제공하는 것이다.
상기 목적을 달성하기 위한 본 발명에 따른 사용자 제작 로봇을 위한 가상 테스트 시스템은, 다양한 하드웨어 컴포넌트를 이용하여 가상로봇을 조립하기 위한 모델 조합기와; 상기 모델 조합기를 통해 조립 완성된 가상로봇이 움직임을 시현할 수 있도록 로봇의 다양한 행위들을 모델링하기 위한 로봇행위 모델링 도구와; 상기 가상로봇이 활동할 가상환경을 구성하기 위한 환경 구성기와; 상기 환경 구성기를 통해 구성된 가상환경 하에서, 상기 로봇행위 모델링 도구를 통해 생성된 로봇행위를 구동시키기 위한 시뮬레이션 도구를 포함한다.
상기 하드웨어 컴포넌트는 하드웨어 제어를 위해 필요한 정보를 데이터 시트로부터 추출한 것으로서, 레지스터를 포함하는 정보에 해당하는 하드웨어 정보와; 3D 그래픽 도구를 이용하여 실제 로봇 부품과 동일한 형태를 갖도록 제작한 부품 형태 정보에 해당하는 3D 그래픽 데이터와; 상기 3D 그래픽 데이터를 기반으로 조립 완성된 로봇의 물리엔진을 수행하기 위하여 필요한 정보로서, 크기, 무게, 조인트 타입을 포함하는 정보에 해당하는 물리엔진 속성을 포함하도록 구성된다.
본 발명에 따른 사용자 제작 로봇을 위한 가상 테스트 시스템에 의하면, 전문 지식이 없는 일반인들도 로봇의 모델링과 조립된 로봇의 가상 테스트까지 실시할 수 있어, 로봇 디자인은 물론 기구학 조립 검증까지 손쉽게 달성할 수 있는 현저한 효과가 있다.
또한, 종래에 그래픽 데이터로만 존재하였던 하드웨어 컴포넌트에 하드웨어 정보 및 물리엔진 속성을 결합한 컴포넌트화 기술을 구축함으로써 별도의 데이터 추가 없이 하드웨어 컴포넌트를 시뮬레이션 환경에서 곧바로 수행 가능한 장점이 있다.
또한, 로봇의 실제작 전에 로봇모델의 가상조립하고, 조립된 로봇모델을 다양한 가상환경 하에서 동작시켜 볼 수 있어, 실제 로봇을 가지고 동작 테스트시 발생할 수 있는 파손 위험을 방지할 수 있고, 로봇의 실 제작시 나타날 수 있는 위험 요소 및 구조적 문제점을 사전에 제거하여 설계 비용 및 제작 시간을 절감할 수 있으며, 다양한 가상 테스트를 통해 로봇의 보행 궤적 생성 및 최적 제어 알고리즘을 생성할 수 있는 장점이 있다.
본 발명에 따른 사용자 제작 로봇을 위한 가상 테스트 시스템 및 방법은 범용적인 로봇 모델링 및 시뮬레이션을 수행할 수 있는 하드웨어 컴포넌트 (Hardware Component) 구성과, 상기 하드웨어 컴포넌트를 기반으로 이루어지는 로봇 모델링 및 시뮬레이션 설계 그리고 그 수행 방법을 제시한다.
본 발명에 따른 하드웨어 컴포넌트화 기술을 기반으로 하는 로봇 모델링 및 시뮬레이션 환경을 구성하기 위해서는 세부적으로 (1)모델링 및 시뮬레이션 수행 절차, (2)통합 저장소 (3)하드웨어 컴포넌트 정의 및 분류, (4)XML 기반의 하드웨어 컴포넌트 표현 방법, (5)하드웨어 컴포넌트 리포지터리(Repository) 관리 기술, (6)하드웨어 컴포넌트 검색 및 호환성 판정기술, (7)하드웨어 컴포넌트 3D 조립 관련 기술, (8)3D 로봇모델의 행위 모델링, (9)환경 모델링, (10)기구학/역기구학 조립 검증 기술, (11)조립 히스토리(history) 재생 기술이 필요하다.
본 발명에 따른 사용자 제작 로봇을 위한 가상 테스트 시스템은 기본적으로, 다양한 하드웨어 컴포넌트를 이용하여 가상로봇을 조립하기 위한 모델 조합기와; 상기 모델 조합기를 통해 조립 완성된 가상로봇이 움직임을 시현할 수 있도록 로봇의 다양한 행위들을 모델링하기 위한 로봇행위 모델링 도구와; 상기 가상로봇이 활동할 가상환경을 구성하기 위한 환경 구성기와; 상기 환경 구성기를 통해 구성된 가상환경 하에서, 상기 로봇행위 모델링 도구를 통해 생성된 로봇행위를 구동시키기 위한 시뮬레이션 도구를 포함하도록 구성된다.
이하에서 첨부 도면을 참조하여, 본 발명의 가상 테스트 시스템을 통해 가상로봇을 모델링하고 시뮬레이션을 수행하기 위한 기술 흐름 및 기술 구성에 대하여 상세히 설명하도록 한다.
도 1은 본 발명의 가상 테스트 시스템을 통해 가상로봇 모델링 및 시뮬레이션을 수행하기 위한 기술 흐름을 도시한 블록 순서도이다.
본 발명에 따른 가상 테스트 시스템은 로봇 부품들을 가상 조립하고 로봇의 동작을 시현할 수 있도록 하는 것은 물론, 가상 조립된 로봇의 다양한 환경 테스트를 통해 결함없이 구동하는 실제 로봇의 제작까지 이어질 수 있도록 기구학적 조립 검증 및 제어 작업이 일괄적으로 이루어지는 소프트웨어 기능도 포함하는 것을 특징으로 한다.
전술한 목적을 구현하기 위하여는, 사용자가 원하는 모형을 자유자재로 구성할 수 있도록 설계된 하드웨어 컴포넌트(Hardware Component)가 필요하며, 상기 하드웨어 컴포넌트는 로봇을 구성하기 위한 부품 정보는 물론 소프트웨어 기능, 시뮬레이션과의 연동, 하드웨어 정보 등을 포함하고 있어야 한다.
상기와 같은 바, 본 발명의 하드웨어 컴포넌트는 하드웨어 정보, 3D 그래픽 데이터 및 물리엔진 속성을 포함하도록 구성된다.
상기 하드웨어 정보는 하드웨어 제어를 위해 필요한 정보를 기술하는 데이터 시트로부터 하드웨어 제약사항, 제어 방법, 구조 등의 정보를 추출한 것으로서, 구체적으로 타이밍 다이어그램, 레지스터 정보, 각종 명령어 정보 등을 포함하고 있다.
상기 3D 그래픽 데이터는 마야(Maya), 3D 맥스(MAX), 캐드(CAD) 와 같은 3D 그래픽 툴을 이용하여 실제 로봇 부품과 동일한 형상, 모양을 갖도록 제작한 부품 형태 정보로서, 구체적으로 정점(Vertex), 텍스처(Texture), 재질(Material) 정보 등을 포함하고 있다.
상기 물리엔진 속성은 종래의 시뮬레이터와 구별되는 본 발명의 기술적 특징 중 하나로서, 하드웨어 컴포넌트의 3D 그래픽 데이터를 기반으로 완성된 로봇모델의 물리엔진을 수행하기 위하여 필요한 정보에 해당하며 구체적으로 무게, 크기, 마찰력, 조인트 타입 등과 같은 정보를 포함하고 있다. 만약, 하드웨어 컴포넌트에 물리엔진 속성 정보가 포함되어 있지 않다면 시뮬레이션 단계에서 추가적으로 입력할 수 있다.
또한, 상기 물리엔진 속성은 다양한 하드웨어 컴포넌트 조립을 통해 완성된 가상로봇의 시뮬레이션 수행시 필요한 물리엔진(도2 : 250)의 데이터로 사용된다.
도 1을 참조하여 본 발명의 하드웨어 컴포넌트를 이용하여 가상로봇을 조립하고 시뮬레이션을 수행하는 기술 흐름을 살펴보면, 상술한 하드웨어 정보, 3D 그래픽 데이터 및 물리엔진 속성을 병합한 하드웨어 컴포넌트를 구성하고 이를 작업자에게 제공(S100)해준다. 작업자는 상기 모델 조합기를 통해 상기 하드웨어 컴포넌트들을 선택 취합함으로써 가상로봇을 조립(S200)한다.
가상로봇의 조립이 완료되면, 로봇행위 모델링 도구를 통해 로봇행위 모델링을 실시(S300)하고, 환경 구성기를 이용하여 시뮬레이션 구동시 로봇 활동에 필요한 가상 환경을 모델링(S400)한다.
상기 로봇행위 모델링(S300)은 본 발명의 하드웨어 컴포넌트를 이용하여 완성된 로봇 모델이 움직임을 시현할 수 있도록 다양한 행위들을 구성하는 작업을 의미한다. 또한, 상기 시뮬레이션 도구는 환경 모델링(S400)을 통해 꾸며진 가상환경에서 로봇모델을 구동시키 위한 수단으로서, 상술한 가상로봇 조립, 로봇행위 모델링, 환경 모델링을 통해 생성된 데이터에 근거하여 시뮬레이션을 수행(S500)하며, 특히 하드웨어 컴포넌트에 포함된 물리엔진 속성을 기반으로하여 이종 물리엔진의 동역학 시뮬레이션을 수행할 수 있게 된다.
도 2는 본 발명에 따른 가상 테스트 시스템을 구성하는 통합 저장소 및 이를 활용한 기술 흐름을 보여주는 블록 구성도이다.
이하에서 도 2를 참조하여, 본 발명에 따른 모델링 및 시뮬레이션을 효율적을 구현하기 위한 본 발명의 통합 저장소에 대하여 상세히 설명하도록 한다.
본 발명의 가상 테스트 시스템을 통해 사용자 임의대로 다양한 가상로봇을 조립 구성하기 위하여는 센서(Sensor), 프레임(Frame), 액추에이터(Actuator), 제어유닛 (Controller) 등과 같이 많은 종류의 컴포넌트들이 필요하고, 또한 가상로봇 조립, 로봇행위 모델링, 환경 모델링 과정에서 추가적으로 생성되는 데이터에 대한 저장 및 관리도 필요하다.
전술한 바와 같이 다양하고 많은 정보들로 채워지는 시스템을 체계적으로 구성 관리하지 않으면, 사용자는 수많은 컴포넌트들 중에서 원하는 것을 찾는데 많은 시간을 소요하게 되고, 응용프로그램의 응답 속도 역시 저하되는 문제점이 발생할 것이다.
따라서, 하드웨어 정보, 3D 그래픽 데이터 및 물리엔진 속성 정보를 담고 있는 하드웨어(HW) 컴포넌트 정보를 비롯하여, 가상로봇의 구성 및 행위 모델링 과정에서 생성되는 각종 데이터 정보를 총괄적으로 저장하고 관리하기 위한 공간이 필요하다. 이하에서는 상기 목적을 달성하기 위한 본 발명의 구성을 "통합 저장소(180)" 라 칭하기로 한다.
먼저, 본 발명의 통합 저장소(180)를 이용한 데이터 저장 방법에 대하여 상세히 설명하도록 한다. 통합 저장소(180)는 기본적으로 로봇 부문(201)과 환경 부문(203)으로 분할되고, 상기 로봇 부문은 하드웨어 컴포넌트 부문과 하드웨어 컴포넌트 이용 부문으로 나뉜다.
하드웨어 컴포넌트 부문은 하드웨어 정보(120), 3D 그래픽 데이터(130) 및 물리엔진 속성(150) 정보를 저장한다. 구체적으로는, 하드웨어 데이터 시트(110)로부터 하드웨어 정보(120)를 추출하고 3D 그래픽 도구(140)에서 3D 그래픽 데이터 (130)를 추출하여 하드웨어 컴포넌트를 생성한 후, 생성된 하드웨어 컴포넌트에 물리엔진의 속성(150)을 추가하여 하드웨어 컴포넌트(160)를 최종 완성한다. 최종 완성된 하드웨어 컴포넌트(160)는 표준 XML (Extensible Markup Language) 형식(170)으로 변환하여 통합 저장소(180)에 저장하는 것이 바람직하다.
표준 XML 형태로 변환된 하드웨어 컴포넌트(170)는 별도의 처리과정 없이 통합 저장소(180)에 저장 가능하고, 이는 본 발명에 따른 모델링 및 시뮬레이션 도구의 기본 데이터로서 최하위 레벨에 저장된다.
하드웨어 컴포넌트 이용 부문은 상기 하드웨어 컴포넌트(160)를 이용한 가상 로봇 조립, 로봇 행위 모델링, 환경 모델링을 실시함으로써 추가적으로 생성되는 데이터를 저장한다. 다양한 종류의 데이터를 저장하기 위해 메타 데이터 레지스트리를 이용하며, 상기 메타 데이터 레지스트리는 각 계층으로 분리되어있는 복잡한 구조의 데이터를 직접 접근하도록 하여 빠른 호출과 저장이 가능하게 하는 잇점이 있다.
전술한 바와 같은 각종 데이터가 저장되는 구조는 계층형 아키텍처를 사용하며, 각 계층은 하드웨어 컴포넌트(160), 로봇구성 정보(210), 행위 정보(220) 순으로 분할 저장되어 있다. 이것은 데이터의 중복 저장을 방지하기 위해서 데이터의 연관을 계층으로 분할한 것이다.
즉, 본 발명의 하드웨어 컴포넌트(160)는 가상로봇을 구성하기 위한 기본 데이터가 되고, 이들을 취합하여 구성한 로봇을 기반으로 행위 모델링 및 시뮬레이션을 수행한다.
또한, 상기 통합 저장소(180)는 계층형 아키텍처 형식으로 저장된 하드웨어 컴포넌트(160), 로봇구성 정보(210), 행위 정보(220) 이외에 환경 객체(230)와 객체 배치(240)에 대한 정보들도 병행하여 저장한다.
상기 환경 객체(230) 정보란 가상환경 모델링 과정에서 선택된 구체적인 지형, 물체 등에 대한 정보를 지칭하고, 상기 객체 배치(240) 정보란 상기 환경 객체들이 배치되어 있는 상태에 관한 정보를 지칭한다.
이하에서는, 통합 저장소(180)에 각종 데이터를 저장하기 위한 논리적 구성 으로 하드웨어 컴포넌트, 로봇 구성, 행위, 환경 객체 및 객체 배치 정보를 분할 형태로 저장하고 있는 공간을 논리적 뷰(View:200)라 칭하기로 한다.
다음으로, 본 발명의 통합 저장소(180)에 저장된 다양한 데이터를 관리하기 위한 방법에 대하여 상세히 설명하도록 한다.
다양하고 복잡한 데이터를 관리하기에 가장 적합한 방법은 메타 데이터 레지스트리(190)를 이용한 관리 기법이다. 메타 데이터 레지스트리(190)는 정보를 표현하는 구조를 만들 때 데이터의 상호 운영성을 위해 불일치되는 정보 표현을 하나로 통합관리 하는 기술로서, 본 발명의 통합 저장소(180)의 논리적 뷰(200)에 대한 정보를 쉽게 읽고 쓰기 위해 생성하는 정보 관리 체계에 해당한다.
메타 데이터 레지스트리(190)를 이용하면 데이터에 접근하는 측에서는 실제 데이터의 구조 파악 없이 제공되는 레지스트리를 통해서 간편하게 관리할 수 있고, 또한 저장소의 분리로 웹(Web) 시스템과 연동이 가능하여 기업 간의 비즈니스를 자동화할 수 있는 SOA(Service Oriented Architecture)도 지원할 수 있는 잇점이 있다.
상기에서 살펴본 바와 같이 본 발명의 가상 테스트 시스템은 통합 저장소(180)를 이용한 데이터 저장과 메타 데이터 레지스트리(190)를 통한 데이터 관리를 통해 모델링 및 시뮬레이션을 효율적을 구현할 수 있도록 구성된다.
즉, 하드웨어 데이터시트(110)를 통해서 하드웨어 정보(120)를 추출하고 3D 그래픽 도구(140)에서 3D 그래픽 데이터(130)를 추출하여 하드웨어 컴포넌트를 만든다. 또한, 생성된 하드웨어 컴포넌트에 물리엔진 속성(150)을 추가하여 표준 XML 컴포넌트(170)로 변환함으로써 최종적으로 통합 저장소(180)에 저장한다.
저장된 하드웨어 컴포넌트(160)는 메타 데이터 레지스트리(190)에 의해 관리되며 가상 로봇 조립 단계에서 사용된다. 가상 로봇 조립 단계에서 하드웨어 컴포넌트(160)들을 이용하여 각각을 조립 결합하면 이에 대한 로봇구성 정보(210)를 통합 저장소(180)에 저장하게 된다.
완성된 가상로봇은 행위 모델링 단계를 통해 움직임을 생성하게 되고, 이때 생성되는 각종 행위에 대한 정보(220) 역시 통합 저장소(180)에 저장하게 된다. 마지막으로 환경 모델링을 하게 되는데 이때 사용되는 환경 객체 및 객체 배치 정보 또한 통합 저장소(180)에 저장된다.
도 3은 본 발명에 따른 하드웨어 컴포넌트의 세부 분류를 도시한 블록 구성도이다.
상기에서 살펴본 바와 같이, 본 발명의 하드웨어 컴포넌트(160)는 하드웨어 정보, 3D 그래픽 데이터, 물리엔진 속성으로 구성된 하드웨어 모듈을 지칭하며, 세부적으로는 도 3에 도시된 바와 같이, 프레임(Frame), 액추에이터(Actuator), 제어유닛(Controller), 센서(Sensor)와 같이 다양한 종류의 하드웨어 컴포넌트로 분류된다.
프레임(Frame)은 로봇의 외관을 구성하는 기본 틀을 지칭하며 3D 그래픽 데이터와 조인트 타입(Joint type)으로 구성된다.
액추에이터(Actuator)는 구동모터와 같이 대상을 동적으로 움직일 수 있도록 해주는 하드웨어 컴포넌트로서 3D 그래픽 데이터, 조인트 타입 및 구동(Force)으로 구성된다.
제어유닛(Controller)은 모터나 센서 등과 같이 로봇의 구동과 관련된 모든 자원을 제어하기 위한 전자 회로 기판에 해당하는 하드웨어 컴포넌트로서 3D 그래픽 데이터, 조인트 타입, 기능(Function) 으로 구성된다.
센서(Sensor)는 외부 환경으로부터 소리, 빛, 온도, 초음파 등과 같은 물리량을 검출 수신하기 위한 하드웨어 컴포넌트로서 3D 그래픽 데이터, 조인트 타입, 이벤트(Event)로 구성된다. 상기 이벤트란 상기 센서 하드웨어 컴포넌트가 외부로부터 어떤 종류의 물리량 정보를 검출 수신하는 지에 대한 정보를 담고 있다.
이하에서는 각각의 하드웨어 컴포넌트를 구성하는 다양한 구성요소에 대하여 상세히 설명하도록 한다.
3D 그래픽 데이터는 정점(Vertex), 재질(Material), 텍스처(Texture)로 저장한다. 정점(Vertex)은 3D 그래픽 데이터에 대한 정점을 말한다. 이 정점들을 연결하면 폴리곤을 형성하며 가상의 물체를 표현할 수 있다. 재질(Material)은 물체에 대한 재질을 나타내며 재질에 따라 광택, 색깔의 표현이 달라진다. 텍스처 (Texture)는 정점과 색깔로는 실제 사물과 유사하게 보이지 않기 때문에 3D 물체에 2D 이미지를 입히게 되는데 이것을 텍스쳐 매핑(Texture Mapping)이라고 부른다. 결국 이러한 2D 형태의 이미지가 추가되어야 실제와 비슷한 모형을 화면에 표현할 수 있게 된다.
조인트 타입(Joint type)은 하드웨어 컴포넌트들 사이에 연결될 관절의 종류 를 지칭하며 구체적으로 볼(Ball), 힌지(Hinge), 슬라이더(Slider), 고정(Fixed) 형 4가지 형태로 구성된다. 볼(Ball)은 관절형태가 구형으로 구성되어 360도회전 가능하며, 힌지(Hinge)는 경첩형태로서 180도까지 한 방향으로 접히는 형태가 된다. 슬라이더(Slider)는 펌프와 같이 위 아래로 수직 이동이 가능한 관절이며, 고정형(Fixed)는 하드웨어 컴포넌트를 움직이지 못하도록 고정한다.
구동(Force)은 하드웨어 컴포넌트 스스로 움직일 수 있다는 것을 표현하는 것이다.
기능(Function)은 P(IN, OUT), ADC, PWM, TIMER, EEPROM, INTERRUT, UART로 구성된다. 이것은 8bit MCU의 기본적인 기능으로 32bit 프로세서를 기반으로 하는 하드웨어 컴포넌트는 내용이 확장될 수 있다. P(IN, OUT)은 핀에 입력되고 출력되는 하드웨어에 대한 기능이다. ADC는 아날로그 데이터를 디지털로 변환하는 기능이다. PWM은 주기적인 펄스를 생성해주는 장치이다. TIMER는 시간을 생성시켜주며 주기적으로 시간을 알려준다. INTERRUT는 외부로부터 데이터가 들어왔을 때 시스템의 수행을 잠시 멈추고 입력된 데이터를 처리할 수 있도록 해주는 기능이다. UART는 외부와의 데이터를 통신하기 위해 사용되는 기능이다.
이벤트(Event)는 외부로부터 데이터를 수신 받는 하드웨어 컴포넌트를 표현할 때 사용하며 세부적으로 능동형(Active)과 수동형(Passive)로 구성된다. 능동형 (Active)은 스스로 동작이 가능한 이벤트를 말하는데 외부의 입력없이 작동되는 종류의 하드웨어 컴포넌트를 의미한다. 수동형(Passive)은 스스로 동작이 불가능하며 외부로부터 입력이 있어야 동작되는 하드웨어 컴포넌트를 의미한다.
도 4는 본 발명의 하드웨어 컴포넌트 표현 기법을 도시한 블록 구성도이다.
도 4를 참조하면, 본 발명의 하드웨어 컴포넌트는 그래픽 데이터(130), 물리엔진 속성(150), 하드웨어 정보(120)로 구성된다.
그래픽 데이터(130)는 각각의 그래픽 도구 파일들 예컨데, 3D 맥스 파일(MAX File), 마야 파일(Maya File), 캐드 파일(CAD File) 등(501)을 추상화하여 구성하고, 추상화된 각각의 그래픽 데이터에는 정점(vertex), 재질(material), 텍스처 (texture) 정보가 들어간다.
상기 그래픽 데이터의 추상화란 다양한 구조로 분산되어 있는 3D 그래픽 도구 파일 포맷들을 하나의 상위 파일 포맷으로 통합하는 작업을 지칭한다.
마야, 캐드, 3D MAX 등과 같은 3D 그래픽 도구들이 생성할 수 있는 파일 포맷을 살펴보면, 3D MAX는 "*.3DS" 파일, CAD는 "*.DXF" 파일, 마야는 "IGES(*.IGE, *.IGS, *.IGES)" 파일과 같이 각 파일의 특성에 따라 다른 구조로 구성 되어 있다. 결국, 다른 형태의 파일을 하나로 묶을 수 있는 방법이 필요한데, 마야 파일, 캐드 파일 등을 추상화 한다는 것은 앞에 제시한 파일을 구조를 분석하고 공통요소를 추출 및 통합하여 여러 형태의 데이터를 하나의 파일 포맷으로 통합하는 것을 말한다.
물리엔진 속성(150)은 오드(ODE), 피직스(PhysX), 하복(Havok) 등과 같은 물리엔진들로부터 추상화하여 필요 요소를 추출한다. 추출된 요소는 예컨데, 조이트 타입(joint type), 무게(weight), 싸이즈(size), 탄성(bounce), 마찰(friction) 등 과 같다.
하드웨어 정보(120)는 하드웨어 데이터시트(Datasheet)로부터 데이터를 추출한다. 추출된 정보는 예컨데, 부품타입(device type), 제약사항(constraint), 펄스(pulse) 등과 같다.
즉, 본 발명의 하드웨어 컴포넌트(160)는 상술한 바와 같은 추상화 작업을 거쳐 다양한 형식으로 존재하던 그래픽 데이터, 물리엔진 속성 및 하드웨어 정보를 각각 하나의 통합된 형식으로 만들고, 이들로부터 필요 요소를 추출하여 병합시킨 것이다. 또한, 상기 하드웨어 컴포넌트에 중복되어 존재하는 여소는 매핑을 통하여 제거한다. 상술한 과정을 통해 하드웨어 컴포넌트가 생성되면 XML 기반의 표준 데이터 포맷으로 변환하여 통합 저장소(180)에 저장한다. 하드웨어 컴포넌트를 표준 XML로 표현하여 사용하기 때문에 응용프로그램에서 다양한 부품들을 손쉽게 사용할 수 있게 된다.
도 5는 본 발명에 따른 하드웨어 컴포넌트 리포지터리(Repository) 관리 방법을 설명하기 위한 도면이다.
도 5를 참조하면, 본 발명에 따른 하드웨어 컴포넌트 리포지터리 (Repository) 관리 방법은 도 2에서 설명한 바와 같이 통합 저장소(180)를 활용한 저장 방법과 메타 데이터 레지스트리(MetaData Registry)를 통해 관리될 수 있도록 구성된다.
즉, 하드웨어 컴포넌트(160), 로봇 구성(210), 행위(220), 환경 객체(230) 및 객체 배치(240) 데이터를 저장하기 위해 계층 구조를 사용하고, 통합 저장소(180)에 저장되는 데이터는 로봇 부문(201)과 환경 부문(203)으로 분할되고, 상기 모든 데이터는 메타 데이터 레지스트리(190)을 통해 관리되기 때문에 사용자는 메타 데이터 레지스트리(190)의 접근으로 모든 데이터에 손쉽게 접근할 수 있다.
본 발명의 통합 저장소(180)에 저장되는 데이터의 계층 구조는 하드웨어 컴포넌트(160)가 최하위 레벨에 저장되고, 그 상위 계층에 로봇 구성 정보(210)가 저장되며, 다시 그 상위 계층에 행위 정보(220) 순서로 계층 구조를 이루며 저장된다.
하드웨어 컴포넌트(160)는 로봇 구성을 위한 기본 데이터로 사용되고, 상기 하드웨어 컴포넌트(160)를 이용해 구성된 가상로봇(210)은 행위(220) 데이터에 사용된다. 상술한 바와 같이 통합 저장소(180)의 로봇 부문(201)의 각 계층에 저장되는 데이터는 상호 간에 유기적으로 관계를 맺고 있다.
통합 저장소(180)의 환경 부문(203)은 환경 객체 정보(230), 객체 배치 정보 (240)순서의 계층 구조로 구성된다. 상기 환경 부문(203)은 환경 객체 데이터를 기반으로 객체 배치를 수행하기 때문에 환경 객체와 객체 배치는 연관관계를 갖는다.
또한, 상기와 같이 객체와 배치 정보를 분할하여 저장하는 것은 데이터의 효율적인 관리를 위한 것으로서, 이는 하나의 객체가 여러 곳에 배치될 경우 배치 정보는 각 객체의 실제 값이 아닌 레퍼런스 값만으로 위치할 수 있기 때문이다.
도 6은 본 발명에 따른 하드웨어 컴포넌트 검색 방법 및 호환성 판정 방법을 보여주는 도면이다.
도 6을 참조하면, 본 발명에 따른 하드웨어 컴포넌트의 검색은 하드웨어 컴포넌트 요청 발생시 "Multi Model QL"을 사용하여 실행한다.
일반적으로, 데이터베이스에 저장되어 있는 데이터를 가져오기 위해서 SQL(Structured Query Language) 언어를 사용하는데, 상기 SQL은 관계형 데이터베이스에서 평행적인 데이터들(수평적인 테이블구조)을 가져오게 된다.
따라서, SQL은 테이블들의 데이터를 가져오는 것은 가능하지만, 계층형 구조와 같이 수직적인 형태로 구성되어 있는 데이터를 가져오기에는 적합하지 않은 한계가 있다.
본 발명의 "Multi Model QL"은 전술한 바와 같은 SQL을 확장한 언어로서, 상기 Multi Model QL은 여러 계층에 수직적으로 존재하는 데이터의 검색 및 호출이 가능하도록 구성된다. 또한, 상기 Multi Model QL은 SQL을 기본으로 하고 있기 때문에 상호 간의 변환이 가능하도록 구성된다.
또한, 상기 "Multi Model QL"은 직접 데이터를 검색하지 않고 메타 데이터 레지스트리를 이용한다. 이것은 메타 데이터 레지스트리가 실제 데이터에 대한 위치 정보를 가지고 있기 때문에 "Multi Model QL"이 실제 데이터에 접근할 필요가 없기 때문이다.
로봇을 가상 조립하기 위하여 사용되는 하드웨어 컴포넌트 정보(160), 이를 기반으로 완성된 로봇 구성 정보(210), 완성된 로봇의 행위 정보(220) 및 완성된 로봇 모델의 제약 사항(111)을 포함하고 있는 메타 데이터 집합(이하, 메타 모델이 라 칭함)은 계층 구조로 존재하게 되고, 이들은 구체적으로 데이터(Data: 310), 프로세스(Process: 320) 및 팔러시(Policy: 330)로 구성된 3 계층 구조(3 Layer Architecture: 300)에 대응관계로 저장된다.
즉, 본 발명의 통합 저장소(180)에 저장되는 각종 정보는 데이터(Data:310), 프로세스(Process:320) 및 팔러시(Policy:330)로 이루어진 3 계층 구조(3 Layer Architecture:300)로 저장되도록 구성함으로써, 데이터의 효율적인 검색뿐만 아니라 로봇 모델에 대한 호환성 검증을 가능하게 한다.
가상 조립된 로봇 모델의 호환성 검증 방법은 최상위 계층에 존재하는 모델 제약사항(111)에 근거하여 각 계층에 존재하는 행위(220), 로봇 구성(210), 하드웨어 컴포넌트(160)를 검증해 나가는 방법을 통해 달성 가능하다.
도 7은 본 발명에 따른 하드웨어 컴포넌트 조립 방식을 보여주는 도면이다.
본 발명의 하드웨어 컴포넌트(160)는 3D 그래픽 데이터를 통해 각종 로봇 부품을 3D 형태로 제공해 준다. 그러나 사용자는 3D 환경의 물체를 2D 화면에서 조립해야 하기 때문에 조립 과정이 용이하지 못하고 부정확한 경우가 발생할 수 있다.
따라서, 사용자가 쉽고 정확하게 조립을 실시할 수 있도록 안내 및 표시해 주는 수단이 필요하다.
본 발명의 모델 조합기는 조인트 마트(Joint Mark: 400), 가이드 라인(405) 및 2D 뷰(View: 410,420) 생성을 통해 조립 행위를 원활하게 수행할 수 있도록 한 다.
상기 조인트 마크(400)는 하나의 하드웨어 컴포넌트(도7:HW컴포넌트1)가 또 다른 하드웨어 컴포넌트(HW컴포넌트2)와 조립시 결합이 이루어지는 부위에 표시된 마크(Mark)를 의미하고, 상기 가이드 라인(405)은 각각의 하드웨어 컴포넌트에 표시된 조인트 마크를 연결하는 가상선으로서 하드웨어 컴포넌트 간의 조립 부위를 안내해 주는 역할을 한다.
도 7에 도시된 바와 같이, 특정 하드웨어 컴포넌트(161)와 또 다른 하드웨어 컴포넌트(163)가 작업 화면 상에 동시에 놓여져 있다면, 하드웨어 컴포넌트(161)에 표시된 조인트 마크(400)를 이용하여 또 다른 하드웨어 컴포넌트(163)에 표시된 조인트 마크를 연결하는 가이드 라인(405)을 생성해줌으로써 부품 간의 조립을 안내해 주게 된다.
또한, 하드웨어 컴포넌트들을 조립하기 위하여는 이들을 사용자 임의대로 자유롭게 움직일 수 있어야 하는데, 본 발명에 따른 모델링 및 시뮬레이션 도구는 마우스뿐만 아니라 키보드의 방향키(430)를 이용하여 조립할 하드웨어 컴포넌트(163)를 전방위로 움직일 수 있도록 구성된다.
또한, 본 발명의 모델링 및 시뮬레이션 도구는 측면도, 상측면도 및 정면도와 같이 조립 진행 중인 하드웨어 컴포넌트의 2D 화면에 해당하는 2D 뷰(View: 401,420)를 생성하여 작업 화면에 제공해줌으로써 사용자는 조립 행위를 보다 손쉽고 정확하게 할 수 있다.
상기 2D 뷰는 상측면 2D 뷰(410)와 측면 2D 뷰(420)로 이루어진 2개의 2D 뷰 로 구성하는 것이 바람직하나, 필요에 따라 2개 이상의 2D 뷰를 제공하도록 구성할 수 도 있음은 물론이다.
또한, 상기 2D 뷰(410,420)는 항상 화면에 나오는 것이 아니라 특정 하드웨어 컴포넌트와 조립되는 또 다른 하드웨어 컴포넌트가 임계영역에 도달하였을 경우 나타난다.
상기 임계영역이란, 로봇 부품의 조립을 위하여 두 개의 하드웨어 컴포넌트를 접근시킬 경우, 이들이 소정의 거리범위 내로 들어오게 되는 영역을 지칭하며, 상기 소정의 거리범위는 사용자가 설정 가능하다.
도 8은 본 발명에 따른 가상 테스트 시스템의 행위 모델링을 보여주는 일예이다.
일반적으로, 관절 형태의 로봇들은 로봇을 움직이기 위해 수많은 모터를 종합적으로 사용된다. 따라서, 각 관절에 있는 모터의 각도 값을 시나리오 형태로 저장하여 로봇의 행위를 만들어 내게 된다. 그러나 단순하게 시나리오 형태로 만들게 되면 로봇이 센서를 이용하여 데이터를 수신 받은 후의 행위를 결정하는 것이 아니라 정해진 순서로만 작동되기 때문에 지능형 로봇이 될 수가 없다.
상기와 같은 바, 본 발명의 가상 테스트 시스템은 로봇의 모션 데이터와 제어루틴을 결합하여 로봇 행위의 조건 분기를 가능하게 한다.
구체적으로 살펴보면, 3D 그래픽 툴을 통해 가상로봇 모델을 제작하고, 마우스 조작을 통해 상기 가상로봇을 움직이며 모션캡쳐를 실시함으로써 모션 데이 터(500)를 생성한다.
상기 모션 데이터(500)는 상기 모션캡쳐시의 가상로봇 모델의 이미지 정보를 담고 있는 그래픽 데이터와, 상기 그래픽 데이터에 표현되어 있는 3D 로봇모델의 각 관절이 상호 간에 형성하고 있는 각도 정보를 포함하는 수치 데이터를 포함하도록 구성된다. 상기 가상로봇의 행위 모델링은 다수 개의 모션 데이터 중 적어도 두 개이상의 모션 데이터를 선택하여 순차적으로 배열함으로써 구성되고, 상기 모션 데이터의 배열을 통해 구성되는 다양한 로봇 행위들은 제어루틴에 의해 동작의 분기 및 반복이 제어된다.
즉, 모션 생성기는 로봇의 행위들을 여러 개의 모션들로 분할하고 이것은 제어루틴과 연계하여 제어함으로써 로봇이 다양한 조건에 따른 동작의 분기 및 반복등을 실행할 수 있도록 한다.
또한, 상기 모션 데이터와 상기 제어루틴을 선택 취합하여 그래픽 형태로 표현한 로봇 행위는 스크립트 언어 형태로 변환함으로써, 사용자가 디자인한 로봇모델 및 행위 구성을 실제 로봇에도 적용할 수 있다.
도 8을 참조하면, 특정 행위를 표현하기 위하여 다수 개의 모션 데이터 (1,3,5,7,8)들이 나열되어 있고, 이들은 재생 순서를 나타내는 화살표를 통해 연결되고, 행위의 시작을 나타내는 표시(501)와 행위의 종료(505)를 나타내는 표시를 통해 하나의 행위를 구성하게 된다. 또한, 도 8에 예시된 시간지연(503)과 같은 제어루틴을 결합함으로써 로봇의 조건 분기 및 반복과 같은 지능형 행위를 수행하도록 할 수 있다.
도 9는 본 발명의 환경 모델링의 기술 흐름을 도시한 블록 순서도이다.
환경 모델링이란 본 발명의 하드웨어 컴포넌트를 이용하여 완성된 로봇의 시뮬레이션을 실행하기 위하여, 로봇이 활동할 가상환경을 구성하는 것을 의미하며, 이는 환경 구성기를 통해 이루어 진다.
가상환경을 구성하는 흐름을 설명하면, 실제 환경에 존재하는 다양한 물체들을 생성(S410)하고, 지형의 고저 및 경사도를 포함하는 지형 구조를 구성(S415)하는 단계와, 생성된 물체와 지형을 배치(S420,S425)하여 환경조합을 구성(S430)하는 단계와, 생성된 환경조합에 온도, 바람 조건을 포함하는 환경 제약 조건을 추가 (S440)하는 단계를 통해 가상환경을 최종 생성(S450)할 수 있다.
상기 환경 구성기는 물체 생성 기능과 지형 생성 기능 두 부분으로 나누어진다. 물체 생성은 TV, 소파, 의자와 같은 외부 환경에 존재하는 물체를 생성하는 것이고, 지형 생성은 지형(예컨데, 지면)의 높고 낮음, 굴곡, 경사도 등을 구성하는 것이다.
환경 구성기를 통해 물체와 지형 생성이 완료되면, 이들을 배치하여 환경 조합을 완성하게 된다. 완성된 상기 환경 조합은 가상 조립된 로봇이 활동할 공간에 해당한다.
그러나 상기 환경 조합은 현실에서 존재하는 제약 조건(예컨데, 온도, 바람, 습도 등)은 포함하고 있지 않은 상태이다. 따라서, 상기 환경 조합 구성시 해당 환경 조합 상에서 발생될 수 있는 제약조건을 추가함으로써 실질 환경과 동일한 조 건을 갖춘 환경 구성이 완료된다.
도 10은 본 발명의 하드웨어 컴포넌트를 이용해 조립된 가상로봇의 검증 방법을 설명하기 위한 도면이고, 도 11은 가상로봇의 검증을 위한 기술 흐름을 도시한 블록 순서도이다.
본 발명에 따른 가상 테스트 시스템은 조립된 로봇의 검증을 위하여 가상로봇을 구성하는 하드웨어 컴포넌트들을 계층구조로 변환(이하, 가상로봇 계층구조)하는 방법을 통해 검증 작업을 수행한다.
먼저, 가상로봇을 구성하는 다양한 하드웨어 컴포넌트의 연결성 적합 여부를 판단하는 과정을 설명하면, 상기 하드웨어 컴포넌트들의 조립을 통해 생성한 가상로봇을 계층구조로 변환하는 단계와, 상기 계층구조 변환을 통해 생성된 로봇 계층모델에, 상기 하드웨어 컴포넌트에 포함된 물리엔진 속성을 근거로 하는 모델 제약조건을 적용하여 하드웨어 컴포넌트 간의 연결이 적합한지 여부를 판단하는 단계와, 상기 판단 결과 상기 연결이 부적합 조합으로 판정되면 이를 작업자에게 알려주는 단계로 진행되고, 상기 부적합 조합을 판정받게 되면 작업자는 다른 하드웨어 컴퍼넌트를 사용하여 가상로봇 조립을 다시 실시하여 상기 확인 작업을 반복한다.
도 10에 도시된 바와 같이, 다양한 하드웨어 컴포넌트와 조인트를 결합하여 구성한 가상로봇은 상기 가상로봇을 구성하는 각 조인트를 상위계층으로 하는 계층구조로 변환된다.
예컨데, 조인트1의 하위 계층에 HW컴포넌트1 과 HW컴포넌트2 가 연결되어 있 는 계층구조로 변환함으로써, 로봇을 구성하는 조인트의 연결 상태 및 호환성 문제 등을 확인할 수 있다. 상기 확인 작업은 미리 설정되어 있는 판정 기준(이하, 모델 제약조건)에 부합하는 구성을 갖추고 있는지를 체크함으로써 수행된다.
상술한 계층구조 변환 및 확인 작업이 완료되면 다음으로 환경 모델링을 통해 구성된 가상환경 하에서 시뮬레이션을 실행함으로써, 가상로봇을 구성하는 하드웨어 컴포넌트들이 정상적으로 동작 실행될 수 있는지 검증하는 작업을 한다.
이하에서는 도 11을 참조하여, 조립 완성된 가상로봇의 검증을 위한 기술 흐름을 설명하도록 한다.
전술한 바와 같이, 다양한 하드웨어 컴포넌트들의 조립(S200)을 통해 생성한 로봇 모델을 가상로봇 계층구조로 변환(S210)하고, 상기 계층구조 변환을 통해 생성된 로봇 계층모델(S220)에 모델 제약조건을 적용(S230)하여 연결 문제 및 호환성 문제 등을 확인(Verification: S240) 한다.
상기 확인 결과, 예컨데 하드웨어 컴포넌트1과 하드웨어 컴포넌트2를 연결하는 조인트1이 모델 제약조건에 맞지 않는 부적합한 조합으로 판정되었다면, 사용자는 가상로봇 조립 단계부터 다시 실시하여 가상로봇을 재구성(S245)하게 된다.
상기 확인 결과 오류가 확인되지 않고 정상이라면 시뮬레이션 단계로 진입하여 환경 모델링을 통해 구성된 가상환경 하에서 상기 가상로봇을 구동(S500)시킨다. 가상환경에서 가상로봇을 동작시키는 시뮬레이션(S500)을 통해 로봇 동작에 대한 (역)기구학적 문제점 여부를 체크하는 검증(Validation:S510)을 실시한다. 상기 검증 과정에서 로봇 구동의 (역)기구학적인 문제점 발견되면 하드웨어 컴포넌트 의 선택 및 조립에 문제점이 있음을 의미하기 때문에 가상로봇 조립 단계로 다시 이동(S515)하고, 문제점이 없다면 가상로봇의 조립 및 테스트가 최종 완료(S520) 된다.
본 발명의 가상 테스트 시스템은 가상로봇의 히스토리 재생 기능을 제공함으로써, 누구나 쉽게 로봇에 대한 조립을 배울 수 있도록 한다.
가상로봇의 히스토리(History) 재생이란, 다양한 하드웨어 컴포넌트를 선택 취합하여 로봇을 조립하는 일련의 과정을 애니메이션 형태로 재생시켜 주는 것을 의미한다.
히스토리 재생 방법에 대하여 상세히 설명하면, 사용자가 특정 하드웨어 컴포넌트을 생성하면 자동으로 상기 하드웨어 컴포넌트의 위치정보가 타임라인에 기록된다. 상기 타임라인에는 특정 하드웨어 컴포넌트의 위치정보 및 상기 위치정보가 기록된 시각이 저장되어 있다. 따라서, 타임라인에 저장된 정보를 통해 특정 하드웨어 컴포넌트의 위치정보와 시각정보를 알 수 있게 된다.
이후, 타임라인에 기록 저장된 하드웨어 컴포넌트가 다른 하드웨어 컴포넌트와 결합되기 위하여 위치 이동하게 되면, 타임라인의 새로운 위치에 상기 위치 이동된 하드웨어 컴포넌트의 위치정보가 저장된다.
또한, 타임라인에 있어서, 이동 전의 하드웨어 컴포넌트 위치정보가 기록된 시간과 이동 후의 하드웨어 컴포넌트 위치정보가 기록된 시간 지점 사이에는 지연 시간이 존재하게 되고, 상기 지연시간의 설정에 따라 애니메이션의 플레이 속도가 달라지게 된다.
즉, 로봇을 구성하기 위하여 사용된 각 하드웨어 컴포넌트의 위치정보와 시각정보가 기록 저장되어 있는 타임라인에 근거하여 히스토리를 재생함으로써 로봇을 조립하는 일련의 과정을 애니메이션 형태로 제공할 수 있게 된다.
상기에서 본 발명의 바람직한 실시예가 특정 용어들을 사용하여 기술되었지만 그러한 용어는 오로지 본 발명을 명확히 설명하기 위한 것일 뿐이며, 본 발명의 바람직한 실시예 및 기술 용어는 다음의 청구범위의 기술적 사상 및 범위로부터 이탈되지 않고서 여러가지 변경 및 변화가 가해질 수 있는 것을 자명한 일이다.
이와 같이 변형된 실시예들은 본 발명의 사상 및 범위로부터 개별적으로 이해되어져서는 안되며, 본 발명에 첨부된 청구범위 안에 속한다고 해야 할 것이다.
도 1은 본 발명에 따른 모델링 및 시뮬레이션을 수행하기 위한 기술 흐름을 도시한 블록 순서도.
도 2는 본 발명에 따른 모델링 및 시뮬레이션 도구를 구성하는 통합 저장소 및 이를 활용한 기술 흐름을 보여주는 블록 구성도.
도 3은 본 발명에 따른 하드웨어 컴포넌트의 세부 분류를 도시한 블록 구성도.
도 4는 XML 기반의 하드웨어 컴포넌트 표현 기법을 도시한 블록 구성도.
도 5는 본 발명에 따른 하드웨어 컴포넌트 리포지터리(Repository) 관리 방법을 설명하기 위한 도면.
도 6은 본 발명에 따른 하드웨어 컴포넌트 검색 방법 및 호환성 판정 방법을 보여주는 도면.
도 7은 본 발명에 따른 하드웨어 컴포넌트 조립 방식을 보여주는 도면.
도 8은 본 발명에 따른 모델링 및 시뮬레이션 도구의 행위 모델링을 보여주는 일실시예.
도 9는 본 발명의 환경 모델링의 기술 흐름을 도시한 블록 순서도.
도 10은 본 발명의 하드웨어 컴포넌트를 이용해 조립된 로봇의 검증 방법을 설명하기 위한 도면.
도 11은 로봇의 검증을 위한 기술 흐름을 도시한 블록 순서도.

Claims (12)

  1. 다양한 하드웨어 컴포넌트를 이용하여 가상로봇을 조립하기 위한 모델 조합기;
    상기 모델 조합기를 통해 조립 완성된 가상로봇이 움직임을 시현할 수 있도록 로봇의 다양한 행위들을 모델링하기 위한 로봇행위 모델링 도구;
    상기 가상로봇이 활동할 가상환경을 구성하기 위한 환경 구성기; 및
    상기 환경 구성기를 통해 구성된 가상환경 하에서, 상기 로봇행위 모델링 도구를 통해 생성된 로봇행위를 구동시키기 위한 시뮬레이션 도구를 포함하고,
    상기 하드웨어 컴포넌트는,
    하드웨어 제어를 위해 필요한 하드웨어 제약사항, 구조를 포함하는 정보를 데이터 시트로부터 추출한 것으로서, 레지스터를 포함하는 정보에 해당하는 하드웨어 정보;
    3D 그래픽 도구를 이용하여 실제 로봇 부품과 동일한 형태를 갖도록 제작한 부품 형태 정보에 해당하는 3D 그래픽 데이터; 및
    상기 3D 그래픽 데이터를 기반으로 조립 완성된 로봇의 물리엔진을 수행하기 위하여 필요한 정보로서, 크기, 무게, 조인트 타입을 포함하는 정보에 해당하는 물리엔진 속성을 포함하도록 구성된 것을 특징으로 하는 사용자 제작 로봇을 위한 가상 테스트 시스템.
  2. 제 1 항에 있어서,
    사용자 제작 로봇을 위한 가상 테스트 시스템은
    상기 하드웨어 컴포넌트 정보와; 가상로봇 조립시 선택 사용된 하드웨어 컴포넌트에 대한 정보에 해당하는 로봇 구성 정보와; 상기 조립된 가상로봇의 행위 모델링 과정에서 생성된 행위 정보를 저장하는 통합 저장소를 포함하고,
    상기 통합 저장소에 저장되는 정보는 하드웨어 컴포넌트 정보가 최하위 레벨에 저장되고, 상기 하드웨어 컴포넌트의 상위 계층에 로봇 구성 정보가 저장되며, 상기 로봇 구성 정보의 상위 계층에 행위 정보가 저장되는 계층형 저장 구조로 구성된 것을 특징으로 하는 사용자 제작 로봇을 위한 가상 테스트 시스템.
  3. 제 2 항에 있어서,
    상기 하드웨어 컴포넌트 정보, 로봇 구성 정보, 행위 정보 및 하드웨어 제약사항은 데이터(Data), 프로세스(Process) 및 팔러시(Policy)로 구성된 3 계층 구조(3 Layer Architecture)에 대응관계로 저장되는 것을 특징으로 하는 사용자 제작 로봇을 위한 가상 테스트 시스템.
  4. 제 2 항에 있어서,
    상기 통합 저장소는
    상기 환경 구성기를 통한 가상환경 구성에서 선택된 지형, 물체를 포함하는 환경 객체 정보; 및 상기 환경 객체들이 배치되어 있는 상태에 관한 객체 배치 정보를 더 포함하고,
    상기 환경 객체 정보 및 객체 배치 정보는 상기 하드웨어 컴포넌트 정보, 로봇 구성 정보 및 행위 정보로부터 분할된 공간에 계층 구조로 저장되는 것을 특징으로 하는 사용자 제작 로봇을 위한 가상 테스트 시스템.
  5. 제 2 항에 있어서,
    상기 하드웨어 컴포넌트는 표준 XML (Extensible Markup Language) 형식으로 변환하여 상기 통합 저장소에 저장되는 것을 특징으로 하는 사용자 제작 로봇을 위한 가상 테스트 시스템.
  6. 제 2 항 또는 제 4 항에 있어서,
    상기 통합 저장소에 저장된 모든 정보는 메타데이터 레지스트리 (MetaData Registry)을 통해 접근하고 관리되는 것을 특징으로 하는 사용자 제작 로봇을 위한 가상 테스트 시스템.
  7. 제 1 항에 있어서,
    상기 모델 조합기는
    하나의 하드웨어 컴포넌트가 또 다른 하드웨어 컴포넌트와 조립시 결합이 이루어지는 부위에 조인트 마크를 표시 제공하고,
    각각의 하드웨어 컴포넌트에 표시된 조인트 마크를 연결하는 가상선으로서 하드웨어 컴포넌트 간의 조립 부위를 안내해 주는 가이드 라인을 생성 제공하는 것을 특징으로 하는 사용자 제작 로봇을 위한 가상 테스트 시스템.
  8. 제 1 항에 있어서,
    상기 환경 구성기는 외부 환경에 존재하는 물체를 생성해 주는 물생 생성 기능;
    지형의 고저, 경사도를 포함하는 지형 상태를 표현해 주는 지형 생성 기능;
    상기 환경 구성기를 통해 생성된 물체와 지형을 배치하여 환경 조합을 구성하는 기능; 및
    상기 환경 조합 구성시 해당 환경 조합 상에서 발생될 수 있는 온도, 바람을 포함한 제약조건을 추가시켜 주는 기능을 포함하는 것을 특징으로 하는 사용자 제작 로봇을 위한 가상 테스트 시스템.
  9. 사용자 제작 로봇을 위한 가상 테스트 방법으로서,
    조인트 타입 정보를 포함하는 물리엔진 속성과, 하드웨어 정보와, 3D 그래픽 데이터를 병합 구성한 하드웨어 컴포넌트를 제공하는 제 1 단계;
    모델 조합기를 통해 상기 하드웨어 컴포넌트들을 선택 취합함으로써 가상로봇을 조립하는 제 2 단계;
    상기 제 2 단계를 통하여 조립된 가상로봇이 움직임을 시현할 수 있도록 로봇의 다양한 행위들을 모델링하는 제 3 단계;
    환경 구성기를 통해 로봇이 활동할 가상환경을 구성하는 제 4 단계; 및
    상기 제 4 단계를 통해 생성된 가상환경 하에서, 상기 제 3 단계를 통해 행위 모델링 완료된 가상로봇의 시뮬레이션을 실시하는 제 5 단계를 포함하는 것을 특징으로 하는 사용자 제작 로봇을 위한 가상 테스트 방법.
  10. 제 9 항에 있어서,
    상기 제 4 단계는
    실제 환경에 존재하는 다양한 물체들을 생성하고, 지형의 고저 및 경사도를 포함하는 지형 구조를 구성하는 제 4-1 단계;
    상기 제 4-1 단계를 통해 생성된 물체와 지형을 배치하여 환경조합을 구성하는 제 4-2 단계; 및
    상기 4-2 단계를 통해 생성된 환경조합에 온도, 바람 조건을 포함하는 환경 제약 조건을 추가하는 제 4-3 단계를 통해 가상환경을 구성하는 것을 특징으로 하는 사용자 제작 로봇을 위한 가상 테스트 방법.
  11. 제 9 항에 있어서,
    상기 제 2 단계는
    상기 하드웨어 컴포넌트들의 조립을 통해 생성한 가상로봇을 계층구조로 변환하는 제 2-1 단계;
    상기 계층구조 변환을 통해 생성된 로봇 계층모델에, 상기 하드웨어 컴포넌트에 포함된 물리엔진 속성을 근거로 하는 모델 제약조건을 적용하여 하드웨어 컴포넌트 간의 연결이 적합한지 여부를 판단하는 제 2-2 단계; 및
    상기 판단 결과 상기 연결이 부적합 조합으로 판정되면 이를 작업자에게 알려주는 제 2-3 단계를 더 포함하는 것을 특징으로 하는 사용자 제작 로봇을 위한 가상 테스트 방법.
  12. 제 9 항에 있어서,
    상기 제 5 단계는
    가상환경에서 가상로봇을 동작시키는 시뮬레이션을 통해 로봇 동작에 대한 기구학적 문제점을 체크하는 검증 단계를 더 포함하는 것을 특징으로 하는 사용자 제작 로봇을 위한 가상 테스트 방법.
KR1020090092099A 2009-09-29 2009-09-29 사용자 제작 로봇을 위한 가상 테스트 시스템 및 그 방법 KR20110034713A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090092099A KR20110034713A (ko) 2009-09-29 2009-09-29 사용자 제작 로봇을 위한 가상 테스트 시스템 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090092099A KR20110034713A (ko) 2009-09-29 2009-09-29 사용자 제작 로봇을 위한 가상 테스트 시스템 및 그 방법

Publications (1)

Publication Number Publication Date
KR20110034713A true KR20110034713A (ko) 2011-04-06

Family

ID=44043165

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090092099A KR20110034713A (ko) 2009-09-29 2009-09-29 사용자 제작 로봇을 위한 가상 테스트 시스템 및 그 방법

Country Status (1)

Country Link
KR (1) KR20110034713A (ko)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013022151A1 (ko) * 2011-08-08 2013-02-14 주식회사 쌤스인터내셔널 3차원 모델 조립 장치 및 방법
KR101296597B1 (ko) * 2011-06-10 2013-08-14 (주)로보티즈 그래픽 유저 인터페이스를 기반으로 하는 로봇 조립 장치
WO2015129959A1 (ko) * 2014-02-28 2015-09-03 주식회사 로보티즈 로봇 조립 장치
KR102034665B1 (ko) * 2018-08-24 2019-10-21 주식회사 라이브메이커스 가상 현실을 이용한 모형 키트의 조립 및 활용을 위한 방법
CN111142490A (zh) * 2019-12-31 2020-05-12 江苏苏宁物流有限公司 Agv智能仓储仿真方法、系统、装置及计算机可读存储介质
KR102146375B1 (ko) * 2019-04-03 2020-08-20 전남과학대학교 산학협력단 혼합 현실 기반의 로봇 시뮬레이터 플랫폼 시스템
KR102225110B1 (ko) * 2019-12-05 2021-03-08 강원대학교산학협력단 로봇 작업장 구성을 위한 메타 데이터 생성 방법 및 이를 수행하는 장치들
CN112541278A (zh) * 2020-12-25 2021-03-23 中国航空工业集团公司沈阳飞机设计研究所 一种面向模型传递的虚拟试验流程设计方法及系统

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101296597B1 (ko) * 2011-06-10 2013-08-14 (주)로보티즈 그래픽 유저 인터페이스를 기반으로 하는 로봇 조립 장치
WO2013022151A1 (ko) * 2011-08-08 2013-02-14 주식회사 쌤스인터내셔널 3차원 모델 조립 장치 및 방법
US9798834B2 (en) 2011-08-08 2017-10-24 Sems Games Co., Ltd. Apparatus and a method for assembling a 3D model
WO2015129959A1 (ko) * 2014-02-28 2015-09-03 주식회사 로보티즈 로봇 조립 장치
KR102034665B1 (ko) * 2018-08-24 2019-10-21 주식회사 라이브메이커스 가상 현실을 이용한 모형 키트의 조립 및 활용을 위한 방법
KR102146375B1 (ko) * 2019-04-03 2020-08-20 전남과학대학교 산학협력단 혼합 현실 기반의 로봇 시뮬레이터 플랫폼 시스템
KR102225110B1 (ko) * 2019-12-05 2021-03-08 강원대학교산학협력단 로봇 작업장 구성을 위한 메타 데이터 생성 방법 및 이를 수행하는 장치들
CN111142490A (zh) * 2019-12-31 2020-05-12 江苏苏宁物流有限公司 Agv智能仓储仿真方法、系统、装置及计算机可读存储介质
CN112541278A (zh) * 2020-12-25 2021-03-23 中国航空工业集团公司沈阳飞机设计研究所 一种面向模型传递的虚拟试验流程设计方法及系统
CN112541278B (zh) * 2020-12-25 2024-02-23 中国航空工业集团公司沈阳飞机设计研究所 一种面向模型传递的虚拟试验流程设计方法及系统

Similar Documents

Publication Publication Date Title
KR20110034713A (ko) 사용자 제작 로봇을 위한 가상 테스트 시스템 및 그 방법
Gibson et al. A comparative study of virtual prototyping and physical prototyping
Shaer et al. A specification paradigm for the design and implementation of tangible user interfaces
Marir et al. OSCONCAD: A model-based CAD system integrated with computer applications
CN108153932B (zh) 桌面式三维虚拟维修模型的建模系统
Yun et al. Using VR technology combined with CAD software development to optimize packaging design
Walczak et al. Semantic modeling of virtual reality training scenarios
CN106096145A (zh) 一种基于状态空间的复杂系统图形化建模与分析环境
El Nimr et al. Application of gaming engines in simulation driven visualization of construction operations
Fruchter et al. Interdisciplinary communication medium for collaborative conceptual building design
Alam et al. EvoSpaces: 3D Visualization of Software Architecture.
Bowman et al. Virtual-SAP: an immersive tool for visualizing the response of building structures to environmental conditions
CN116229788A (zh) 虚拟服务器组装仿真培训系统设计方法、系统及应用方法
Mahboob Modelling and use of SysML behaviour models for achieving dynamic use cases of technical products in different VR-systems
Kent et al. Mixed reality prototyping: synchronicity and its impact on a design workflow
Park et al. Integrating dynamic and geometry model components through ontology-based inference
KR101286141B1 (ko) 다관절 로봇 uml 설계 모델의 자동 생성방법
Turk et al. Object-oriented modeling of design system for RC buildings
González-Calleros et al. A structured approach to support 3d user interface development
Eriksson et al. Automating the CAD to Virtual Reality Pipeline for Assembly Simulation
Gomez Conceptual structural design through knowledge hierarchies
Liang A web-based collaborative design architecture for developing immersive VR driving platform
Hammouda et al. Tool-supported customization of UML class diagrams for learning complex system models
WO2010000774A1 (en) Product development support system
Podbreznik et al. Modeling conditions required for recognition of building elements from site images

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application