KR20050009937A - 동작 제어기구를 이용한 모델 애니메이션 제작방법 및 그장치 - Google Patents

동작 제어기구를 이용한 모델 애니메이션 제작방법 및 그장치 Download PDF

Info

Publication number
KR20050009937A
KR20050009937A KR1020030049451A KR20030049451A KR20050009937A KR 20050009937 A KR20050009937 A KR 20050009937A KR 1020030049451 A KR1020030049451 A KR 1020030049451A KR 20030049451 A KR20030049451 A KR 20030049451A KR 20050009937 A KR20050009937 A KR 20050009937A
Authority
KR
South Korea
Prior art keywords
motion
robot
information
virtual robot
virtual
Prior art date
Application number
KR1020030049451A
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 KR1020030049451A priority Critical patent/KR20050009937A/ko
Publication of KR20050009937A publication Critical patent/KR20050009937A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • G06T13/403D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2004Aligning objects, relative positioning of parts

Landscapes

  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Architecture (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Processing Or Creating Images (AREA)
  • Manipulator (AREA)

Abstract

3차원 동작 시뮬레이션 프로그램 및 원격 로봇 제어 프로그램과 이와 상호 데이터 송,수신을 통해 제어가 가능한 마이크로 프로세서가 탑재된 로봇을 이용하여 자동화된 모델 애니메이션 제작 기법을 제시한다.
제작자는 3차원 가상공간에 구현된 가상 로봇을 이용하여 원하는 동작을 사전에 컴퓨터상으로 시뮬레이션 한다. 이후, 이를 제어 프로그램을 이용하여 로봇에 적용시켜 촬영함으로써 기존의 모델 애니메이션의 작업의 상당부분을 자동화 시킨다.
이를 통해 기존의 노동 집약적인 컨텐츠 제작 과정으로 인하여 부가가치가 정체된 모델 애니메이션 분야의 제작기법을 본 시스템의 사용을 통하여 획기적으로 개선한다.

Description

동작 제어기구를 이용한 모델 애니메이션 제작방법 및 그 장치 {PRODUCTION METHOD FOR MODEL ANIMATION USING ACTIVE MOTION CONTROL SYSTEM AND APPARATUS THEREFOR}
모델 애니메이션은 클레이(clay) 모델을 사용하는 클레이 애니메이션, 인형 모델을 사용하는 퍼핏(puppet) 애니메이션 및 클레이 애니메이션과 실사 합성의 형태인 오브제 애니메이션 등을 통칭하는 분류이며 이러한 애니메이션 기법의 특징은 실물을 이용한다는 점이다.
이러한 모델 애니메이션은 실사 모델을 제작하고 이를 물리적으로 움직이며 촬영하는 부분에 가장 많은 시간과 인력이 소모된다. 1초당 8~24프레임을 촬영하기 위해서는 수없이 많은 수작업이 반복적으로 이루어져야 한다. 4200만 불의 거금이 투입되고 결과적으로 공전의 흥행 성공을 거둔 아드만 스튜디오의 작품 <치킨 런>의 제작과정에서도 제작 기간 2년간 무려 120명이 넘는 모델링 인력이 투입되었다는 점은 모델 애니메이션이 갖는 본질적인 노동 집약성을 보여준다.
또한 이러한 모델들은 연속적인 동작의 촬영 시 계속적인 변형이 이루어지기 때문에 모델의 외관이 손상되어 새로운 모델을 제작해야 하는 상황에 이르게 된다. 이러한 모델의 잦은 파손과 제작은 수많은 장면을 촬영해야만 하는 상황과 맞물려 제작비의 기하 급수적인 증가를 가져오게 된다.
모델 애니메이션 제작에 소요되는 비용을 절감하기 위해서 여러 가지의 개선 방안이 이루어지고 있으나 그 성과가 미비한 실정이다. 클레이 애니메이션에 사용되는 철사모델의 경우 저렴하고 일반적으로 많이 사용되고 있는 방법이나 소모적인 성질 때문에 여러 모델을 작성해야 하는 단점이 있다. 철사 모델의 문제점을 개선한 것이 볼과 소켓을 이용한 골격 모델(puppet with ball-and-socket)이다. 이 기법은 철사 모델에 비하여 골격의 형상을 구성하기에 유리하며 내구성이 좋아 실제 모델 애니메이션 제작 시에 많이 활용되고 있다. 이 골격 모델은 철사에 비하여 반복적인 사용이 가능한 이점이 있기는 하지만 역시 계속적인 변형 시에 모델의 외관이 손상되어 추가 비용이 발생하게 되는 문제점이 있다.
본 발명에서는 제작자가 3차원 가상 현실 화면에 구성된 가상 로봇을 이용하여 임의의 동작 데이터를 생성하여 이를 제어하는 프로그램을 통해 모델 애니메이션의 캐릭터 안에 삽입된 로봇에 전달함으로써 자동화된 애니메이션 제작 기법을 제공하는 데 그 기술적 과제가 있다. 이를 통해서 제작자는 동작 데이터가 전송되기 이전에 가상 현실 화면에 구현된 가상 모델을 통해 동작을 시뮬레이션 함으로써 해당 동작을 검증한 후 동작을 실제 로봇에 전송하여 동작을 촬영할 수 있으며, 모델을 직접 조작하지 않고 제어 프로그램을 통하여 자동적으로 조작할 수 있는 방법을 제공한다. 또한 생성된 동작 데이터를 라이브러리화 시켜 추후 다른 모델 애니메이션에 재 사용할 수 있는 방법을 제공한다.
도 1은 관절의 구조를 보이고 있는 참고도이다.
도 2는 본 발명에 따른 데이터 흐름를 보이고 있는 참고도이다.
도 3은 본 발명에 따른 애니메이션의 제작과정 흐름도이다.
도 4는 본 발명에 따른 모델 애니메이션 제작 시스템의 구성도이다.
도 5는 본 발명에 따른 파일의 구조를 보이고 있는 참고도이다.
도 6은 인체구조를 보이고 있는 참고도이다.
도 7은 본 발명에 따른 가상로봇의 신체구조를 구현한 구성도이다.
도 8은 본 발명에 따라 구현되어진 가상로봇을 보이고 있는 참고도이다.
도 9는 본 발명에 따라 구현되어진 캐릭터 에디터의 사용자 인터페이스를 보이고 있는 참고도이다.
도 10a는 본 발명에 따른 4등신 캐릭터의 값의 바람직한 실시예를 보이고 있다.
도 10b는 상기 도 10a의 값에 따라 구현된 4등신 캐릭터의 가상로봇 모습을 보이고 있는 참고도이다.
도 11a는 본 발명에 따른 8등신 4족 보행 캐릭터의 값의 바람직한 실시예를 보이고 있다.
도 11b는 상기 도 11a의 값에 따라 구현되어진 8등신 4족 보행 캐릭터의 모습을 보이고 있는 참고도이다.
도 12는 본 발명에 따른 각각의 인자 값이 로봇의 전체 구조에 적용되는 흐름도를 보이고 있다.
도 13은 본 발명에 따른 모션 에디터의 구성도를 보이고 있다.
도 14는 본 발명에 따른 가상로봇의 상체의 구조도를 보이고 있다.
도 15는 본 발명에 따른 각 관절의 각도의 최대, 최소 예상 측정치를 보이고 있다.
도 16는 본 발명에 따른 모션에디터의 전체적인 인터페이스의 모습을 보이고 있는 참고도이다.
도 17은 본 발명에 따른 연속동작 정의의 흐름도이다.
도 18은 본 발명에 따른 정지동작의 실행모습을 보이고 있는 참고도이다.
도 19는 본 발명에 따른 카메라 움직임에 관한 인터페이스를 보이고 있는 참고도이다.
도 20은 본 발명에 따라 구현된 가상로봇을 여러 각도에서 촬영한 모습을 보이고 있는 참고도이다.
도 21은 본 발명에 따라 구현된 가상로봇에 모션블렌딩이 적용된 가상 로봇의 연속동작 모습을 보이고 있는 참고도이다.
도 22는 본 발명에 따른 모션 컨트롤러의 인터페이스를 보이고 있는 참고도이다.
도 23은 본 발명에 따른 모션 컨트롤러에서 모션 데이터의 흐름도를 보이고 있다.
도 24는 본 발명에 따른 실제 데이터를 전송받아 연속동작을 취하는 로봇의 모습을 보이고 있는 참고도이다.
도 25a는 본 발명에 따른 중앙처리부을 보이고 있다.
도 25b는 상기 도 25a의 중앙처리부의 상세역할 설정을 보이고 있다.
도 26 및 도 27은 상기 도 25a의 중앙처리부의 상세도면을 보이고 있다.
도 28은 서보 모터의 모습과 동작 원리(26)을 보이고 있는 참고도이다.
도 29는 서보 모터의 회전 구조도(27)를 보이고 있는 참고도이다.
도 30은 본 발명에 따른 실제 로봇의 모습(28)을 보이고 있는 참고도이다.
도 31은 본 발명에 따른 로봇의 골격구조 보완부의 구조(30)를 보이고 있다.
도 32 및 도 33은는 본 발명에 따른 로봇의 골격구조 제어부의 PCB(31,32)를 보이고 있는 참고도이다.
도 34 및 도 35는 본 발명에 따른 로봇의 골격 구조 이송부 전체 사시도(33,34)이다.
도 36은 본 발명에 따른 로봇의 골격 구조 이송부 정면도이다.
도 37은 본 발명에 따른 로봇의 골격 구조 이송부 좌측면도이다.
도 38은 본 발명에 따른 로봇의 골격 구조 이송부 평면도이다.
도 39는 본 발명에 따른 로봇의 골격 구조 이송부 사시도이다.
도 40은 본 발명에 따른 로봇의 골격 구조 이송부 기판 덮개를 보이고 있다.
도 41은 본 발명에 따른 로봇의 골격 구조 이송부 레버 덮개를 보이고 있다.
도 42는 본 발명에 따른 로봇의 골격 구조 이송부 하의 전,후판을 보이고 있다.
도 43은 본 발명에 따른 로봇의 골격 구조 이송부 상면 앞판을 보이고 있다.
도 44는 본 발명에 따른 로봇의 골격 구조 이송부 상면 뒷판을 보이고 있다.
도 45는 본 발명에 따른 로봇의 골격 구조 이송부 뒤쪽 좌 우측 지지대를 보이고 있다.
도 46은 본 발명에 따른 로봇의 골격 구조 이송부 앞쪽 우측 지지대를 보이고 있다.
도 47은 본 발명에 따른 로봇의 골격 구조 이송부 앞쪽 좌측 지지대를 보이고 있다.
도 48은 본 발명에 따른 로봇의 골격 구조 이송부 상하 이송부를 보이고 있다.
도 49는 본 발명에 따른 로봇의 골격 구조 지지부 직접 연결 부분 사시도를 보이고 있다.
도 50은 본 발명에 따른 로봇의 골격 구조 지지부 연결 부분 앞판를 보이고 있다.
도 51은 본 발명에 따른 로봇의 골격 구조 지지부 연결부분 상세 사시도를보이고 있다.
도 52는 본 발명에 따른 로봇의 골격 구조 지지부 고정장치 상세 사시도를 보이고 있다.
도 53은 본 발명에 따른 로봇의 골격 구조 지지부 골격 구조 연결부분 좌측 중간판를 보이고 있다.
도 54는 본 발명에 따른 로봇의 골격 구조 지지부 골격 구조 연결부분 우측 중간판를 보이고 있다.
도 55는 본 발명에 따른 로봇의 골격 구조 지지부 골격 구조 연결부분 뒷판를 보이고 있다.
도 56은 본 발명에 따른 로봇의 골격 구조 지지부 골격 구조 고정부분 상판를 보이고 있다.
도 57은 본 발명에 따른 로봇의 골격 구조 지지부 골격 구조 고정부분 중간판를 보이고 있다.
도 58은 본 발명에 따른 로봇의 골격 구조 지지부 골격 구조 고정부분 하판를 보이고 있다.
상기 문제점을 해결하기 위한 본 발명에 따른 모션 정보 제공방법은 (a) 구현될 가상 로봇의 신체 각 부분의 길이 및 각 관절의 기본 값을 포함하는 가상로봇 기초정보를 입력받고, 상기 입력받는 값을 기초로 소정의 가상 로봇을 생성시키는 단계, (b) 상기 생성된 가상 로봇의 신체 각 부분의 움직임에 관한 정보를 입력받고, 상기 움직임 정보를 기초로 상기 가상 로봇을 동작시켜 시뮬레이션 하는 단계 및 (c) 사용자로부터 상기 동작에 관한 정보를 출력할 것을 입력받은 경우 상기 동작을 적어도 하나이상의 정지동작과 각 정지동작 사이의 시간간격의 값으로 구성되는 동작정보를 생성시켜 외부로 출력하는 단계를 포함하는 것을 특징으로 한다.
또한 상기 모션 정보 제공방법의 상기 (b) 단계는 상기 동작을 소정의 각도에서 보았을때의 영상결과를 시뮬레이션하는 단계를 더 포함하는 것을 특징으로 할 수 있다.
또한 상기 모션 정보 제공방법의 상기 (c) 단계는 상기 출력되는 동작정보를 수신받아 실제로 동작을 수행하는 소정의 로봇을 구성하는 복수개의 모터들의 움직임이 상기 가상 로봇과 일치하지 않는 경우 상기 모터들 각각에 소정의 비율 값을 입력받아, 상기 비율 값을 적용시켜 변형된 움직임 정보를 생성시켜 출력하는 것을 특징으로 할 수 있다.
또한 상기 모션 정보 제공방법의 상기 (b) 단계는 상기 동작을 적어도 하나이상의 정지동작과 각 정지동작 사이의 시간간격의 값으로 구성되는 동작정보를 생성시켜 저장하는 단계를 더 포함하는 것을 특징으로 할 수 있다.
또한 상기 모션 정보 제공방법의 상기 (a) 단계는 미리 저장되어 있는 적어도 하나 이상의 로봇에 대한 가상 로봇 기초정보 중 어느 하나를 선택받고, 상기 선택받은 가상 로봇 기초정보에 기초하여 소정의 가상로봇을 생성시키는 것을 특징으로 할 수 있다.
상기 문제점을 해결하기 위한 본 발명에 따른 애니메이션 제작방법은 (a) 구현될 가상 로봇의 신체 각 부분의 길이 및 각 관절의 기본 값을 포함하는 가상로봇 기초정보를 입력받고, 상기 입력받는 값을 기초로 소정의 가상 로봇을 생성시키는 단계, (b) 상기 생성된 가상 로봇의 신체 각 부분의 움직임에 관한 정보를 입력받고, 상기 움직임 정보를 기초로 상기 가상 로봇을 동작시켜 시뮬레이션 하는 단계,(c) 사용자로부터 상기 동작에 관한 정보를 출력할 것을 입력받은 경우 상기 동작을 적어도 하나이상의 정지동작과 각 정지동작 사이의 시간간격의 값으로 구성되는 동작정보를 생성시키는 단계, (d) 상기 가상로봇에 대응되는 실제 로봇이 상기 동작정보를 제공받고, 상기 동작정보에 기초하여 소정의 동작을 수행하는 단계 및 (e) 소정의 카메라가 상기 동작을 수행하는 실제 로봇의 영상정보를 입력받아 저장하는 단계를 포함하는 것을 특징으로 한다.
또한 상기 애니메이션 제작방법은 상기 (b) 단계는 상기 동작을 소정의 각도에서 보았을때의 영상결과를 시뮬레이션하는 단계를 더 포함하는 것을 특징으로 할 수 있다.
또한 상기 애니메이션 제작방법의 상기 (c) 단계는 상기 출력되는 동작정보를 수신받아 실제로 동작을 수행하는 소정의 로봇을 구성하는 복수개의 모터들의 움직임이 상기 가상 로봇과 일치하지 않는 경우 상기 모터들 각각에 소정의 비율 값을 입력받아, 상기 비율 값을 적용시켜 변형된 움직임 정보를 생성시켜 출력하는 것을 특징으로 할 수 있다.
또한 상기 애니메이션 제작방법의 상기 (b) 단계는 상기 동작을 적어도 하나이상의 정지동작과 각 정지동작 사이의 시간간격의 값으로 구성되는 동작정보를 생성시켜 저장하는 단계를 더 포함하는 것을 특징으로 할 수 있다.
또한 상기 애니메이션 제작방법의 상기 (a) 단계는 미리 저장되어 있는 적어도 하나 이상의 로봇에 대한 가상 로봇 기초정보 중 어느 하나를 선택받고, 상기 선택받은 가상 로봇 기초정보에 기초하여 소정의 가상로봇을 생성시키는 것을 특징으로 할 수 있다.
또한 상기 애니메이션 제작방법의 상기 (d) 단계는 (d1) 상기 동작정보를 분석하여 상기 실제 로봇의 각 관절들의 움직임정보를 추출하는 단계 및 (d2) 상기 추출된 움직임 정보에 기초하여 상기 각 관절을 구성하는 서보 모터를 구동시키는 단계를 포함하는 것을 특징으로 할 수 있다.
상기 문제점을 해결하기 위한 본 발명에 따른 모션 정보 제공장치는 구현될 가상 로봇의 신체 각 부분의 길이 및 각 관절의 기본 값을 포함하는 가상로봇 기초정보를 입력받고, 상기 입력받는 값을 기초로 소정의 가상 로봇을 생성시키는 캐릭터 에디터부, 상기 생성된 가상 로봇의 신체 각 부분의 움직임에 관한 정보를 입력받고, 상기 움직임 정보를 기초로 상기 가상 로봇을 동작시켜 시뮬레이션 하는 모션 에디터부 및 사용자로부터 상기 동작에 관한 정보를 출력할 것을 입력받은 경우 상기 동작을 적어도 하나이상의 정지동작과 각 정지동작 사이의 시간간격의 값으로 구성되는 동작정보를 생성시켜 외부로 출력하는 모션 컨트롤부를 포함하는 것을 특징으로 한다.
또한 상기 모션 정보 제공장치의 상기 모션 에디터부는상기 동작을 소정의 각도에서 보았을때의 영상결과를 시뮬레이션하는 기능을 더 수행하는 것을 특징으로 할 수 있다.
또한 상기 모션 정보 제공장치의 상기 모션 컨트롤러부는 상기 출력되는 동작정보를 수신받아 실제로 동작을 수행하는 소정의 로봇을 구성하는 복수개의 모터들의 움직임이 상기 가상 로봇과 일치하지 않는 경우 상기 모터들 각각에 소정의비율 값을 입력받아, 상기 비율 값을 적용시켜 변형된 움직임 정보를 생성시켜 출력하는 것을 특징으로 할 수 있다.
또한 상기 모션 정보 제공장치의 상기 모션 에디터부는 상기 동작을 적어도 하나이상의 정지동작과 각 정지동작 사이의 시간간격의 값으로 구성되는 동작정보를 생성시켜 저장하는 기능을 더 수행하는 것을 특징으로 할 수 있다.
또한 상기 모션 정보 제공장치의 상기 캐릭터 에디터부는 미리 저장되어 있는 적어도 하나 이상의 로봇에 대한 가상 로봇 기초정보 중 어느 하나를 선택받고, 상기 선택받은 가상 로봇 기초정보에 기초하여 소정의 가상로봇을 생성시키는 것을 특징으로 할 수도 있다.
상기 문제점을 해결하기 위한 본 발명에 따른 애니메이션 제작 시스템은 모션 데이터 제공장치는 소정의 캐릭터 정보를 입력받아 가상 캐릭터를 생성시키고, 상기 가상 캐릭터의 소정의 움직임 정보를 입력받아 상기 가상 캐릭터를 동작시켜 시뮬레이션 하며, 사용자로부터 상기 동작 정보를 출력할 것을 명령받은 경우에는 상기 동작 정보를 출력하는 모션 데이터 제공장치, 상기 모션 데이터 제공장치로부터 상기 동작 정보를 제공받고, 상기 동작정보에 기초하여 소정의 동작을 수행하는 실제 로봇장치 및 상기 실제 로봇 장치의 동작영상을 촬영하여 저장하는 카메라를 포함하는 것을 특징으로 한다.
또한 상기 애니메이션 제작 시스템의 상기 모션 데이터 제공장치는 구현될 가상 로봇의 신체 각 부분의 길이 및 각 관절의 기본 값을 포함하는 가상로봇 기초정보를 입력받고, 상기 입력받는 값을 기초로 소정의 가상 로봇을 생성시키는 캐릭터 에디터부, 상기 생성된 가상 로봇의 신체 각 부분의 움직임에 관한 정보를 입력받고, 상기 움직임 정보를 기초로 상기 가상 로봇을 동작시켜 시뮬레이션 하는 모션 에디터부 및 사용자로부터 상기 동작에 관한 정보를 출력할 것을 입력받은 경우 상기 동작을 적어도 하나이상의 정지동작과 각 정지동작 사이의 시간간격의 값으로 구성되는 동작정보를 생성시켜 외부로 출력하는 모션 컨트롤부를 포함하는 것을 특징으로 할 수 있다.
또한 상기 애니메이션 제작 시스템의 실제 로봇장치는 소정의 동작을 수행하는 적어도 하나이상의 관절부, 상기 모션 제공장치로부터 상기 동작정보를 수신하는 유무선 데이터 수신부 및 상기 유무선 데이터 수신부로부터 상기 동작정보를 제공받고, 상기 동작정보로부터 상기 실제 로봇장치를 구성하는 상기 관절부의 움직임 정보를 추출하여 상기 관절부를 구동시키는 중앙처리부를 포함하는 것을 특징으로 할 수 있다.
이하에서는 본 발명의 원리를 상세히 설명한다.
본 발명에서는 이러한 기존의 재래적 모델 애니메이션 제작 기법을 혁신적으로 개선한 전자제어방식의 능동형 로봇 및 이를 제어하는 소프트웨어를 개발하여 하나의 시스템을 구성하는 자동화 모델 애니메이션 제작기법을 구성한다.
이하의 설명에서 가상 로봇은 3차원 공간에 그래픽상으로 구현된 인간과 비슷한 신체 조건을 가지는 가상 물체를 의미하며, 운동역학적 제약조건이란 여러 가지의 복합적인 구조로 이루어져 있는 로봇이나 가상 로봇이 각각의 관절이나 전체적인 동작을 움직일 때에 중력, 각 관절의 움직임의 한계 값, 두 관절이 하나의 구조를 움직임으로써 생기는 힘의 불균형 등의 여러 가지의 움직임의 제약 조건을 의미한다. 또한 순 방향 역학(Forward Kinematics)은 각도 중심의 좌표계에 나타난 물체들을 좌표 중심의 좌표계로 매핑시키는 분야를 다룬 학문 분야를 총칭하는 용어이며, 역 방향 역학(Inverse Kinematics)은 이 반대의 경우이다. 본 발명에서 정지동작(stop motion)이란 가상 로봇 혹은 실제 로봇이 각 관절에 대한 임의의 값들을 입력 받은 상태에서 특정한 모습으로 정지해 있는 상태를 나타내며, 연속 동작(continuous motion)이란 여러 정지 동작들이 특정한 시간을 간격으로 연속적으로 이루어지는 하나의 완성된 동작을 의미한다. 또한 모션 블렌딩이란 여러 개의 정지동작을 실행할 때에 두 정지동작 사이에 임의의 정지 동작들을 삽입시킴으로써 전체 연속 동작이 부드러워지도록 처리하는 과정을 뜻한다.
기본적으로 실제 인간의 하나의 관절은 실제 3개의 회전축을 가지고 움직이게 된다. 이러한 이상적인 구조를 가지기 위해서는 각각의 신체 부분의 회전축은 각각의 국부 좌표계(local coordinate) 들에 대해서 x, y, z방향 3개의 축에 대한 회전 이동이 자유롭다는 전제가 선행되어야 한다. 하지만 실존하는 모터에서는 각각의 모터는 단지 하나의 회전 축밖에는 담당할 수가 없는 실정이며 이 때문에 이러한 이상적인 구조를 현실적으로 변형한 구조를 사용할 수 밖에 없게 된다. 도 1은 이와 같은 현실을 감안할 때의 보다 현실적인 관절 구조를 나타내고 있다.
도 1에 사용된 변수들의 정의는 다음과 같다.
은 관절 i-1과 i사이의 거리 값이며은i-1을 중심으로 i와 i-1사이의 각도를 측정하였을 때의 각도 값이다.는 두 관절의 회전축 기준의 거리 값이며는 두 관절 사이의 각도 변형 값이다.
이 변수들을 이용하여 하나의 모터가 구조상 하위에 있는 모터의 좌표에 영향을 미칠 수학 식을 계산하여 보면 수학식 1을 산출할 수 있다.
수학식 1중 이상적으로 x, y, z의 axis가 한 점으로 응축되는 경우는 바로가 1이 되는 경우로 볼 수 있다. 이는 위에서 언급하였듯 현실적으로 불가능한 경우이며, 이의 식을 실제 좌표 이동 함수로 치환하였을 때에 수학식 2를 얻을 수가 있다.
이의 역함수를 구하면 얻고자 하는 수학식 4의 좌표 이동 변환 함수를 얻을 수 있다.
1. 자동화 애니메이션 시스템
상술한 기술적 과제를 달성하기 위한 본 발명은 크게 가상 로봇으로써 동작 데이터를 시뮬레이션 하고 실제 로봇을 컨트롤할 수 있는 소프트웨어부(모션 데이터 제공장치)와 소프트웨어의 제어부와의 통신이 가능하며 하드웨어 각각의 장치를 제어할 수 있는 중앙 처리부(Micom)가 내장된 하드웨어부로 나뉜다. 도2는 본 발명에서 구축된 시스템의 데이터의 전체 흐름도이다.
소프트웨어부는 다음과 같이 분류된다.
1) 임의의 동작을 생성하거나 외부 데이터로부터 받아들여 생성한 동작을 가상 로봇으로 미리 시뮬레이션 해볼 수 있는 '모션 에디터(Motion Editor)' (30)
2) 모델 애니메이션 제작 과정에서 반복적으로 사용되는 단위동작을 저장하는 ‘모션 라이브러리(Motion Database)' ( 25)
3) 소프트웨어상의 캐릭터와 실물 모델간의 좌표와 스케일 및 구조를 매핑시키는 ‘캐릭터에디터(Character Editor)'(10)
4) 생성된 동작과 캐릭터를 가지고 실물 모델을 제어하는 ’모션 컨트롤러(Motion Controller)' (15)
5) 외부 프로그램의 모션 캡쳐 데이터를 변형시켜 불러들이는 데이터 임포터(Data Importer)(35)
위의 소프트웨어부에서 전송된 데이터(20)은 하드웨어로 전달되며 하드웨어는 다음과 같이 분류할 수 있다.
1) 모션 데이터를 유선이나 무선으로 수신하는 데이터 수신부(40)
2) 소프트웨어에서 전송된 모션 데이터를 해석하여 각각의 관절에 있는 모터에 전송하거나 제어하는 중앙 처리부(45)
3) 실제 동작의 움직임을 담당하게 되는 구동부(50)
4) 그리고 로봇의 실제적 움직임(걷기, 뛰기)을 보완하여 로봇이 서거나 걸을 수 있게 도와주는 골격 지지 장치( 55)
또한 본 발명은 다음과 같은 제작 단계로 이루어져 있다.
1) 제작자가 캐릭터 에디터로 실제 모델 애니메이션에 이용될 캐릭터와 구조가 같은 가상 로봇을 생성하고 수정하는 단계
2) 모션 에디터를 통해 모션 데이터를 생성하거나 다른 모션 캡쳐 프로그램에서 생성된 모션 데이터를 임포트 하여 가상 로봇을 통하여 시뮬레이션 함으로써 해당 동작의 완성도를 예측해보는 단계
3) 완성된 단위 모션 데이터를 저장하여 해당 모션 데이터를 라이브러리화 하는 단계; 모션 컨트롤러를 통해 해당하는 모션 데이터를 실제 로봇에 전송하여 로봇을 움직이고 해당 동작을 촬영하는 단계
도3은 본 발명에서 모션 애니메이션이 생성되는 과정이다.
제작자는 우선 캐릭터 에디터를 통해 실제 로봇과 같은 구조의 가상 로봇을 생성해 낸다(100). 가상 로봇으로 촬영하고자 하는 동작을 시뮬레이션 할 수 있는데, 이는 실제 로봇이 동작을 실행하여 촬영에 들어가기에 앞서 보다 실제 로봇과 흡사한 시뮬레이션을 행하기 위해서 최대한 실제 로봇과 흡사한 가상 로봇을 생성해내는 과정이다. 제작자는 로봇의 각 관절의 길이, 각도, 구조, 위치 및 회전각 등을 정의하여 가상 로봇의 기본 형태를 구성할 수 있다.
가상 로봇의 설정이 마무리되면 이제 실제 로봇에 적용시킬 연속 동작을 생성한다(105). 하나의 연속 동작은 여러 개의 정지동작(stop motion)으로 구성된다. 즉, 하나의 연속 동작을 실행하기 위해서는 사전에 여러 개의 정지 동작을 생성해야 한다. 제작자는 제공되는 네비게이션 툴들을 이용해 여러 각도에서 가상 로봇을 관찰하여 원하는 정지 동작을 생성한다. 제공되는 네비게이션 툴에는 임의의 각도로 회전해서보기, 확대해서 보기, 시점 이동시키기, 가상 로봇 회전시키기, 가상 로봇 회전 각도 조절하기, 및 가상 로봇 모션 블렌딩 On/Off 시키기 기능이 제공된다. 이와 같은 네비게이션 툴들을 이용해 가상 로봇을 여러 각도에서 관찰하면서 제작자는 각 관절의 각도 값들을 입력시켜 하나의 정지동작을 생성할 수 있다. 생성한 정지동작이 예상한 동작과 일치하면 해당 정지동작을 연속 동작에 추가 시킨다. 다음으로는 이 정지동작과 이어지는 두 번째 정지동작을 생성한다. 해당하는 정지동작이 일치하면 두 번째 정지동작도 연속 동작에 추가 시킨다. 이와 같은 방법을 반복하여 여러 개의 정지동작으로 구성된 연속 동작을 완성한다. 본 발명에서는 두개의 정지동작 사이의 임의의 정지동작을 자동적으로 생성해내는 자동 정지동작 생성과정(Automatic Stop Motion Generator)또한 포함하고 있다. 또한 제작자는 다른 모션 캡쳐 프로그램에서 생성된 모션 데이터를 불러들여올 수 도 있다. 모션 데이터의 로딩이 완료되면 제작자는 이 데이터를 적절히 수정함으로써 자신의 촬영에 적합한 연속 동작으로 수정할 수 있다.
위와 같은 방법으로 연속 동작이 완성되면 제작자는 이 연속 동작을 실제 로봇이 연속 동작하여 촬영하기 이전에 가상 로봇을 통해 원하는 연속 동작과 일치하는지 시뮬레이션 할 수 있다(110). 우선 각 정지동작 사이의 모션 블렌딩 값을 주어 정지동작과 정지동작 사이의 움직임이 부드러워 보일 수 있도록 할 수 있으며 연속 동작을 시뮬레이션 하는 동안 네비게이션 툴을 이용하여 여러 카메라 각도에서 가상 로봇을 관찰함으로써 실제 촬영시의 상황을 재현해 볼 수도 있다.
시뮬레이션이 완료되면 이 데이터를 모션 라이브러리에 저장(115)하여 추후에 다시 이용함으로써 작업의 반복량을 줄이고 자원의 재 사용성을 높일 수 있다.
시뮬레이션을 통하여 완성된 연속 동작이 촬영에 적합하다고 판단되면 제작자는 모션 컨트롤러(Motion Controller)을 통해 연속 동작을 실제 로봇에 전달하여 로봇을 제어한다(120). 모션 컨트롤러를 통해 연속 동작의 반복 횟수, 각 연속 동작의 정지동작 사이의 간격 값(interval value), 동작의 동작 보정 정도(Motion Calibrator), 동작 값 조절(Motion Adjustment)을 조절할 수 있으며 실제 전송되는 데이터 값(16진수)을 10진수로 환산한 물리적 데이터 값도 확인해 볼 수 있다. 여기서 동작의 동작 보정 정도라 함은 실제 모터가 원하는 연속 동작을 행함에 있어서 그 회전 정도가 예상보다 더 작거나, 더 클 경우 전송되는 모션 데이터에 알파(α)값을 곱하여 실제 로봇의 연속 동작이 생성한 연속 동작과 일치하게 만드는 과정이다. 예를 들어, 사용자가 가상 로봇으로 연속 동작을 시뮬레이션 했을 때에 가상 로봇의 걷기 동작에서 다리의 각도가 90°였고 이 값을 실제 로봇에 전송한 결과 실제 로봇의 전압이 부족하여 60°만움직였다고 가정하자. 이 때 모션 컨트롤러에서는 다리에 보내지는 데이터에 9/6 즉 3/2을 곱하여 실제 로봇이 90°를 움직이게 동작을 보정할 수 있다.
또한, 동작 값 조절은 위의 동작 보정 정도와 흡사하나 기본적인 베타 값(β)을 모션 데이터에 더하거나 뺌으로써 그 정도를 조절하는 과정이다. 이 값은 실제 로봇의 켈리브레이션이 가상 로봇과 같지 않게 되어있을 경우 이용하는 값으로써 가상 로봇의 허리의 기본 각이 0°이고 실제 로봇의 허리 모터의 기본 각이 30°일 경우 가상 로봇에서 실제 로봇으로 모션 데이터를 전송 할 때에 모든 허리부분의 각도 값에 베타 값(30)을 더해서 전송하게 되는 것이다.
이와 같은 과정을 통해 동작 데이터가 실제 로봇에 전달되면 이때부터 촬영이 이루어지게 된다(125). 실제 로봇은 무선 데이터 수신부를 통해 모션 데이터를 수신하여 데이터 제어를 담당하는 중앙 처리부로 해당 데이터를 송신한다. 중앙 처리부에서는 수신한 데이터를 해석한 뒤 각 관절의 모터 값으로 분리하여 로봇 각 부분의 모터에 전달한다. 값을 전달 받은 모터는 해당 각도만큼 축을 회전시키게 되고 모든 모터가 회전을 완료하면 하나의 정지동작이 이루어 진다. 이 때 모션 데이터의 수신이 연속 동작에 따라서 일정한 시간 간격을 두고 연속적으로 이루어지게 되므로 로봇은 정지동작을 일정 시간 간격을 두고 연속적으로 행하게 된다. 이러한 정지 동작을 연속적으로 촬영함으로써 모델 애니메이션의 촬영이 이루어지게 된다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시 예를 보다 상세히 설명하기로 한다.
도4는 본 발명에 의한 동작 제어기구를 이용한 자동화 모델 애니메이션 제작 시스템을 설명하기 위한 구성도 이다.
자동화 모델 애니메이션 제작 시스템은 제작자가 반복적인 수작업 없이 자동적으로 모델 애니메이션을 제작할 수 있도록 한다. 즉, 모델 애니메이션 제작 과정 중 실사 모델을 제작하고 이를 하나씩 움직이며 촬영하는 부분을 제어가 가능한 로봇과 로봇 시뮬레이션 및 제어 소프트웨어로써 자동화 시키는 것이다. 제작자는 여러 가지 방법으로 촬영에 필요한 모델의 동작을 사전에 생성하고 시뮬레이션 한 뒤, 데이터를 로봇에 전달하여 개발된 시스템으로 로봇을 제어하며 촬영에 임할 수 있다.
도4에 도시 된 것과 같이, 본 발명의 자동화 모델 애니메이션 제작 시스템(150)은 크게 소프트웨어부(155) 및 하드웨어부(160)로 나뉘며 소프트웨어부는 다시 캐릭터 에디터부(170), 모션 에디터부(180), 모션 컨트롤러부(190) 및 모션 라이브러리부(200)로 구성되며 하드웨어부는 중앙 처리부(210), 구동부(220), 유무선 데이터 수신부(230) 및 골격 지지 장치(240)를 포함한다.
도4의 각 부를 설명하면 다음과 같다.
캐릭터 에디터부(170)에서는 실제 로봇으로 하여금 동작을 실행하여 촬영에들어가기에 앞서 가상 로봇으로 촬영하고자 하는 동작을 시뮬레이션 할 수 있으며, 보다 실제 로봇과 흡사한 시뮬레이션을 행하기 위해서 최대한 실제 로봇과 흡사한 가상 로봇을 생성해 낼 수 있다. 제작자는 가상 로봇 신체 각 부분의 길이를 설정하고 각 관절의 기본 값을 설정한다. 가상 공간상의 가상 로봇의 기본적인 위치를 변경할 수도 있으며 가상 로봇의 기본 회전 축을 변경, 회전시킬 수 있다. 또한 미리 저장된 디폴트 가상 로봇(8등신 인간형 로봇, 4등신의 인간형 로봇, 8등신의 짐승형 4족 보행 로봇)을 불러들여와서 가상 로봇을 설정할 수 있다. 제작자가 제어하게 될 캐릭터는 여러 가지의 구조와 모습을 가질 수 있으므로 임의의 설정이 가능한 것이 바람직하다. 보다 실제 로봇과 유사한 가상 로봇을 생성하기 위해 캐릭터 에디터에서 생성된 로봇은 실제 로봇과 유사한 운동역학적 구조를 가져야 하며 각 관절의 움직임 각도 역시 운동역학적 제약 조건 아래 정해져야 한다.
모션 에디터(180)부는 캐릭터 에디터에서 생성된 가상 로봇을 기준으로 임의의 연속 동작을 생성해 내는 역할을 담당한다. 제작자는 가상 로봇의 각 관절에 여러 가지의 각도 값을 주어 원하는 모습을 시뮬레이션 해보며 원하는 동작을 생성한다. 제작자는 모션 에디터 내부에서 직접적으로 연속 동작을 생성할 수 있으며 외부 모션 캡쳐 프로그램에서 생성된 데이터를 직접 불러들일 수도 있다. 이 때 외부 모션 캡쳐 프로그램에서 생성된 모션 데이터의 주체의 구조가 캐릭터 에디터에서 제작된 가상 로봇과 일치해야 한다. 제작자는 또한 생성된 연속 동작을 시뮬레이션 하는 도중 여러 가지의 카메라 동작을 미리 시험해 봄으로써 촬영 후의 결과 물을 미리 예측하여 비용의 절감 효과를 가져올 수 있다.
이렇게 시뮬레이션을 거친 모션 데이터는 저장되어 모션 라이브러리(200)화 된다. 사용자는 해당 연속 동작을 파일의 형태로 저장하고 다시 연속 동작을 분류하여 라이브러리를 수정할 수 있다.
도 5는 해당 파일의 구조를 나타낸다. 파일은 헤더부 바디부로 나뉘고 바디부는 여러 개의 정지동작 및 각 정지동작 사이의 시간간격의 값으로 구성된다.
라이브러리화 된 모션 데이터(250)는 추후 다른 촬영이 있을 때 다시 사용 됨으로써 시간과 노동을 절약하는 효과를 가져온다. 또한 이렇게 라이브러리화 된 데이터는 모델 애니메이션 뿐 아니라 로봇 완구 또는 운동 역학분야에도 활용 될 수 있다.
저장된 모션 데이터는 모션 컨트롤러(190)의 제어를 통해 실제 하드웨어의 유무선 데이터 수신부로 전달된다. 모션 컨트롤러는 해당 모션 데이터를 실제 로봇에 맞게 변형시켜 16진수로 전달하는 역할을 담당한다. 각각의 정지동작(stop motion)을 일정한 시간 선에 맞추어 연속적으로 보냄으로써 실제 로봇으로 하여금 원할 한 연속 동작을 이룰 수 있게 한다. 각각의 모터의 움직임의 폭이 가상 로봇과 일치하지 않을 경우 각각의 모터에 상대적으로 다른 비율을 적용시킨 필터링된 모션 데이터를 송신하여 원할 한 연속 동작을 유도할 수 있게 한다.
이렇게 전달된 모션 데이터는 데이터의 송신 및 수신의 역할을 담당하는 하드웨어의 유,무선 데이터 수신부(230)를 거쳐 중앙 처리부(210)를 통해 구동부(220)에 전달된다. 구동부는 각 관절을 구성하는 서보 모터(servo motor)로 이루어져 있다. 전달되는 데이터는 도 17에 나타나 있다. 송신된 데이터를 하드웨어가 연속적으로 해석하여 서보 모터에 전달하면 로봇은 제작자가 원하는 연속 동작을 수행하게 된다. 이 때 하드웨어가 중심을 잃지 않고 쓰러지지 않게 도와주거나 혹은 걷거나 뛰거나, 점프하는 등의 큰 동작을 행할 수 있도록 이러한 하드웨어 동작을 보조해주는 기구가 골격 지지 장치(240) 이다. 이렇게 전달된 데이터를 촬영함으로써 자동화된 모션 애니메이션 제작이 이루어지게 된다.
2. 소프트웨어부의 구성
먼저, 3차원 공간상에 캐릭터 에디터로써 실제 로봇과 흡사한 구조의 가상.
로봇을 구현하기 위해서는 인간과 흡사한 구조물의 가상 로봇이 구현되어야 한다.
도6은 본 발명에 의한 가상 로봇 구현 시 가장 적합한 인체 모델을 설계한 내용이다. 그림을 보면 알 수 있듯이 인체의 무게의 중심점은 골반 중심에서 조금 떨어진 부분으로 정한다. 이 부분을 중심으로 모든 신체의 회전이 이루어지게 되며 또한 골격 구조의 설계 역시 이를 중심으로 한다. 도 6을 보면 인체의 척추 뼈의 구조를 알 수 있다. 이를 중심으로 전체 가상 로봇의 윗 몸체(upper torso)를 설계한다. 실제 로봇 및 가상 로봇은 그림의 뼈대와 같이 좌우를 대칭으로 하고 무게중심은 중심보다는 약간 뒤쪽의 골반으로 정한다. 또한 갈비뼈의 중량 및 전체 중량 중심은 로봇의 중앙 처리부 및 제어 장치의 위치에 오도록 설계한다. 인간의 신체를 회전운동에 중심을 두고 설계하였을 때 삼각형의 형태로 설계되어야 한다는 것을 알 수 있다. 본 발명에서는 이를 참고로 하여 가상 로봇을 다이아몬드 형태로 설계 하였으며 이에 대한 자세한 구조 및 실제 구현 알고리즘은 도7과 같다.
도7에 도시된 바와 같이 가상 로봇의 구조는 인체의 무게 중심에서부터 시작되며 각각의 신체 부분의 회전이 다른 신체 부분의 회전 및 좌표 이동에 영향을 많이 미치는 부분부터 구현이 시작된다. 즉, 인체의 허리의 움직임은 목, 머리, 왼쪽 어깨, 왼쪽 팔, 왼쪽 손, 오른쪽 어깨, 오른쪽 팔 및 오른쪽 손목 등의 상체 전반에 걸쳐 회전운동에 영향을 미치기 때문에 가상 로봇 구현 시 가장 상단에 구현이 되어있다. 이에 비해 발목 또는 손목 등의 회전은 미치는 인체 부위가 극히 적기 때문에 인체 구현 시 가장 하단 항목에 구현이 되어 있는 것을 알 수 있다. 이렇게 구현된 가상 로봇은 실제와 유사한 움직임을 보여준다. 도 8은 이러한 요소들이 적용 되여 구현된 가상 로봇을 보여준다.
이렇게 기본적인 가상 로봇이 구현된 상태에서 이 가상 로봇을 실제 모델 애니메이션에 사용될 로봇과 같은 형태로 일치시키는 구조적 동기화 과정을 거쳐야 한다. 이 때 제작자는 캐릭터 에디터에서 각 신체 부위의 길이, 기본 각도, 회전각 및 가상로봇의 위치 등을 설정함으로써 자신에게 맞는 가상 로봇을 구현할 수가 있다.
도9는 제작자가 자신에 맞는 가상 로봇을 설정할 수 있도록 설계된 캐릭터 에디터의 사용자 인터페이스이다.
캐릭터 에디터에서 제작자는 각 로봇의 부위별 길이, 전체 로봇의 각 축에 대한 회전각의 값, 가상 로봇의 가상 공간상의 위치 및 각 관절의 기본 각도 값 을 설정할 수 있으며, 기본적으로 저장되어 있는 라이브러리 상의 캐릭터를 불러들일 수 있다. 제작자는 경우에 따라서 여러 가지의 캐릭터를 필요로 하게 된다. 본 발명은 이 때 자주 이용될 수 있는 캐릭터들을 따로 정리하여 제작자가 편리하게 불러들일 수 있도록 라이브러리화 한다. 자주 이용되는 캐릭터들은 총 3개로 구성되어있으며 8등신 2족 보행 캐릭터, 4등신 2족 보행 캐릭터 및8등신 4족 보행 캐릭터로 이루어져 있다. 각각의 캐릭터는 불러들인 후 제작자가 자신의 상황에 맞게 그 수치를 변형시킬 수 있도록 설계 되어있다. 도 9는 8등신 캐릭터의 기본 값들이며, 도10a 및 도 10b는 4등신 캐릭터의 값과 가상 로봇의 모습, 도11a 및 도 11b는 8등신 4족 보행 로봇의 설정 값과 해당 값 적용 후의 가상 로봇의 모습을 나타낸다.
이러한 캐릭터 에디터를 구현하기 위하여 기초적으로 구현된 캐릭터 구조에 각각의 신체 구조에 대한 크기 조절 인자와 각도 조절 인자 및 전체 위치 조절 인자를 부여하여 새롭게 적용시킬 수 있는 알고리즘이 고안되었다. 도7에 나타난 기본적인 캐릭터 구성 구조에 각각의 인자를 적용시킨 구조는 도 12에 나타나 있다.
도 12에서는 가상 로봇 구현 시 각각의 신체 부위에 대하여 정의할 수 있는 특정한 인자 값들이 표시되었다. 서로 다른 부위의 동작을 정의하는 상위 인자들의 값들은 하위 인자들의 값에 영향을 미치게 된다. 예를 들어, 상체의 크기를 크게 하고 상체의 기본 각도를 다르게 설정할 경우 팔, 어깨, 목 및 팔뚝 등의 상체 전체 다른 신체 부위들의 위치와 각도가 변경이 되게 된다. 이는 도7에서 설명한 바와 같이 여기에는 가상 로봇의 구조 구현과 똑같은 원리가 적용되기 때문이다.
이렇게 생성된 캐릭터에 동작을 부여하기 위해서 제작자는 도4에서 설명한 바와 같이 모션 에디터(300)를 통해 동작을 생성하게 된다. 모션 에디터는 크게 모션 임포터, 모션 제네레이터 및 모션 시뮬레이터로 구성된다(도 13). 모션임포터(300)는 외부 모션 데이터를 받아들이는 것이며 모션 제네레이터(310)는 제작자가 임의의 연속 동작을 생성해 내는 부분이며, 모션 시뮬레이터(320)는 생성하거나 로딩한 모션 데이터를 가상 로봇을 통해 미리 시뮬레이션 하는 역할을 담당한다.
가상 공간에 구현된 가상 로봇은 여러 가지의 제약조건을 고려한 상태에서 구현된다. 각각의 관절이 서로의 좌표계에 영향을 미치며, 각각의 관절이 회전한 상태에서의 동작 구현은 하위 신체 구조 상태 좌표에 영향을 미쳐 전체 가상 로봇이 일정한 시간을 두고 동작을 실행하게 된다. 가상 로봇이 실제 로봇과 같이 동작을 하게 하기 위해서는 이러한 운동 제약 조건상에서의 로봇의 동작이 올바로 예측이 되어야 한다. 이에 관한 원리는 다음과 같다.
식 3을 적용하면 모터의 각도 중심의 좌표계의 모든 값들을 가상 공간상의 거리 중심의 좌표계로 치환(순방향 역학 - Forward Kinematics)이 가능하게 된다. 이로써 제작자가 각각의 관절의 각도를 입력하면 그 각도의 3차원 공간상에서의 좌표가 산출되게 된다. 또한 식4 를 적용시키면 이 반대의 경우가 가능하다(역 방향 역학 - Inverse Kinematics). 즉, 외부 모션 캡쳐 프로그램의 모션 데이터를 로딩하거나 임포팅(다른 프로그램의 데이터를 프로그램에 맞게 변형시켜 로딩)할 경우 이러한 과정을 거쳐 데이터를 변환시키면 외부 프로그램의 데이터를 로딩하는 것 역시 가능해 진다. 이 식3을 기준으로 각 관절의 위치를 계산하였을 때에 각 관절이 가지는 회전축과 최대 회전 각도의 예상 측정치는 도14 및 도15에 나타나있다.
이와 같은 원리로 본 발명에서 제작자가 각 관절의 각도 값을 화면상에 입력하면 시스템이 그 각도 값을 거리 좌표계로 환산하여 가상 로봇으로 표현하면 가상 로봇은 해당하는 정지동작을 행하게 된다. 도 16은 상기 각 관절의 각도 값을 입력하는 모션 에디터의 인터페이스를 보이고 있다.
제작자가 원하는 모델 애니메이션을 촬영하기 위해서는 우선 동작을 만들어 내야 한다. 제작자는 모션 에디터에서 원하는 동작을 생성, 편집 및 로딩할 수 있다.
도 17에 나타난 바와 같이 하나의 연속 동작은 여러 가지의 정지동작과 정지동작 사이의 시간간격으로 구성되어 있다. 도 17을 설명하면 다음과 같다. 모션 컨트롤러가 첫번째 정지동작을 송신하면 실제 로봇은 그 정지동작의 자세로 변형된다. 첫번째 시간간격이 지나고 다시 모션 컨트롤러가 두 번째 정지동작을 보내면 로봇은 다시 두 번째 자세로 변형된다. 이와 같은 동작을 n회 반복하게 되면 하나의 연속 동작이 완료된다.
또한 하나의 정지동작은 가상 로봇의 각 관절의 각도 값의 집합으로 이루어져 있다. (도 18 )
도 18의 제작자가 각 관절의 각도 값을 설정하여 가상 로봇이 해당 정지 동작을 행한 모습이고 (350), (360)은 각 관절의 값을 나타낸다. 제작자는 도 16의 각 관절에 해당하는 값을 입력함으로써 정지 동작을 만들 수 있다.
제작자는 각 관절의 값을 입력한 다음 연속 동작에 추가하기 이전에 시뮬레이션 버튼을 누름으로써 사전에 해당 정지 동작을 미리 예측해 볼 수 있다.
연속 동작을 만들기 위해 제작자는 각 관절의 각도 값을 설정한 뒤 정지 동작을 연속 동작에 추가하고 이어질 정지 동작과의 시간 간격을 설정한 다음 이어지는 정지동작을 생성하는 식으로 연속 동작을 만들 수 있다. 또한 여러 가지의 정지 동작을 만들어 연속 동작을 구성한 다음에는 해당 연속 동작을 시뮬레이션 할 수 있다. 이 때 제작자는 해당 정지 동작과 다음 정지 동작 사이의 간격이 너무 넓어 움직임이 부드럽지 않을 경우에 모션 블렌딩 기능을 이용하여 정지 동작과 정지 동작 사이의 움직임을 부드럽게 할 수 있다. 모션 블렌딩에서 제작자는 그 부드러움의 정도를 설정할 수 있다. 또한 정지 동작을 만드는 도중이나, 연속 동작을 시뮬레이션 하는 도중에도 카메라의 각도를 여러 가지로 바꾸어 볼 수 있어 추후에 있게 될 촬영에서 카메라의 위치 및 앵글을 미리 예측해 볼 수 있다.
도 19는 제작자가 카메라를 움직일 시에 이용하는 제작자 버튼들이다. 제작자는 카메라를 임의의 각도로 회전(400), 확대(405), 이동(410), 특정한 정도로 확대(430), 축소(435), 특정한 정도로 좌우이동(440, 445) 및 상하이동(450, 455)할 수 있으며 캐릭터 회전(415), 캐릭터 회전각 조절(420), 조명 켜고 끄기(460) 및 모션 블렌딩 온 오프(425)등이 가능하다. 도 20은 같은 정지 동작을 여러 카메라로 보았을 때의 모습이다.
원하는 수의 정지동작이 생성되었을 경우 제작자는 각 정지동작 사이의 시간간격을 조절한 다음 모션 블렌딩 효과를 어느 정도 적용시킬지 결정하여 수치를 입력한다. 실제 로봇에 모션 데이터를 전송하기 이전에 연속 동작에 관한 정보를 시뮬레이션을 통하여 제작자는 모션 블렌딩이 적용된 부드러운 연속 동작으로 재현하여 볼 수 있다. 도 21은 모션 블렌딩이 적용된 가상 로봇이 다리를 들어올리는예이다.
본 발명은 또한 제작자가 연속 동작의 모든 정지동작을 생성하기가 힘들다고 느껴질 때에는 특정한 두 정지동작을 지정해서 그 사이의 연속적인 정지동작을 자동으로 생성하는 기능을 포함한다. 도21의 처음 동작과 끝 동작의 정지동작만을 설정한 뒤 중간에 총 4개의 정지동작을 생성할 시에 도21과 같은 연속적인 사이의 정지 동작들이 생성된다. 연속적인 정지동작 생성시에는 두 정지동작 사이의 각 관절 값의 차이의 절대값을 생성하기 원하는 정지 동작의 개수로 나누어 새로 생성된 정지 동작에 하나씩 더하거나 빼는 방법을 이용한다. 즉, 팔 관절의 움직임이 90도이며 정지동작 5개를 생성할 경우에 90/5 = 18도로써 각각의 정지동작에 각도를 할당한다. 각각의 정지 동작에 18도씩 각도를 더하거나 뺌으로써 부드러운 정지동작의 생성이 가능하다.
연속 동작의 생성이 완료되면 제작자는 해당 해동을 파일로써 저장할 수 있다. 파일 이름은 특정한 형식이 정해져 있지 않다. 이렇게 저장된 연속 동작 파일은 언제든지 다시 로딩이 가능하다. 파일의 구조는 도5에 나타나있다.
제작자는 최종적으로 해당 모션 데이터를 실제 로봇 구조물에 전송하여 촬영에 임하게 된다. 해당 데이터는 최종적으로 모션 컨트롤러를 거쳐서 16진수의 데이터 값으로 변형되어 하드웨어에 전달된다. 모션 컨트롤러는 단순히 데이터를 전달하는 역할 이외에 데이터의 16진수로의 변환, 제작자가 연속 동작에 설정한 시간 축과의 동기화, 동작의 동작 보정 정도, 동작 값 조절의 기능을 갖는다. 도22는 모션 컨트롤러의 제작자 인터페이스를 나타낸다.
제작자는 모션 컨트롤러를 통해 실제 로봇에 전달될 각 데이터의 물리적인 16진수 값을 확인할 수 있다. 또한 동작의 동작 보정 정도(501)란 가상 로봇과 실제 로봇과의 움직임 계수가 다를 경우, 즉 두 동작이 일치하지 않을 경우에 쓰이는 값으로써 만약 가상 로봇이 실제 로봇보다 그 움직임이 둔하다면 해당 관절의 동작 보정 정도를 더 크게 하여 실제 움직임과 데이터를 일치시킬 수 있다. 사용자는 각각의 관절에 동작 보정 정도의 인자 값을 설정할 수 있다(501). 동작 값 조절은 동작 보정 정도와는 달리 각 모터의 기본 각을 설정하는 부분이다. 즉 실제 골격 구조가 가상 로봇과 달리 모터의 기본 각이 설정되어 있을 경우 동작 값 조절을 통해 해당 각도를 가상 로봇과 일치시킬 수가 있다(505). 사용자는 모션 컨트롤러에서 동작 보정 정도와 동작 값 조절이 적용되지 않은 원시 모션 데이터(510)와 값들이 적용된 후의 모션 데이터(515)를 확인해 볼 수 있으며 각각의 정지동작(520)을 따로 불러들여 확인할 수 있다.
도 23은 모션 컨트롤러에서 실제 로봇에 데이터를 전달하는 과정을 나타낸 도식이다. 도 23에서 실제 로봇은 원시 모션 데이터K 에 각각의 인자 값이 적용된{(K x α) + β}이라는 값을 전송 받게 된다.
도 24는 모션 데이터가 모션 컨트롤러를 거쳐서 실제 로봇에 전달됨으로써 로봇이 해당 연속 동작을 행하는 모습이다.
도 24에서는 로봇이 총 4개의 정지 데이터를 특정한 시간 간격을 두고 연속적으로 전송 받아 해당 연속 동작을 취하는 것을 볼 수 있다. 첫번째 정지동작은 두 다리를 내리고 멈춰선 모습이고 마지막 정지 동작은 허벅지의 관절과 무릎 관절을 90°로 꺾은 모습이다. 이 여러 가지의 정지동작이 특정 시간 간격을 두고 연속적으로 보내지면 제작자는 각각의 동작을 따로 촬영하여 모델 애니메이션을 제작할 수 있다.
3. 하드웨어부의 구성
도 2에 나타나 있듯이 하드웨어부는 중앙 처리부, 구동부, 유무선 데이터 수신부 및 골격 지지 장치를 포함한다. 유무선 데이터 수신부는 소프트웨어로부터 모션 데이터를 수신하는 모듈로써 하드웨어적으로는 로봇을 제어하는 중앙 처리부 안에 부착되어 있으며 중앙 처리부의 구조는 도 25와 같다.
도 25a 및 도 25b에 나타난 중앙 처리부의 구조의 상세 역할은 다음과 같다.
A : RS232C통신포트:PC와 병렬로 통신을 하기 위한 포트
B,C : 슬라이드 DIP스위치로 CPU(ATMEGA103)내부의 프로그램을 바꾸기 위해 사용되며 스위치를 아래로 내리면 통신포트의 기능을 할 수 있도록 되어있다.
D : 하드웨어 강제 리셋 포트로 서보 모터의 동작 중에 오 작동 또는 서보 모터의 제어 미숙으로 인한 과전류가 발생되면 제작자가 하드웨어 리셋을 할 수 있다
E,H : 전원 공급 포트로 외부에서 DC 5V의 전원을 공급한다.
F : CPU 내부의 프로그램을 변경하기 위한 포트로 PC의 병렬포트를 이용해 사용된다.
G : 전원램프로 하드웨어의 전원상태를 알기 위한 램프로 사용된다.
도 26 및 도 27은 상기 도 25a의 중앙처리부의 상세도면을 보이고 있다.
도 28은 서보 모터의 모습과 동작원리를 보이고 있으며, 도 29는 서보 모터의 회전 구조를 보이고 있는 참고도이다.
서보 모터는 도 28에 나타난 모습과 같으며 도 28의 우측의 동작 규약에 정의된 바와 같이 작동한다. 중앙 처리부로 전달된 데이터는 중앙 처리부의 해석을 거쳐 구동부에 전달된다. 구동부는 각각의 관절을 이루는 서보 모터로 이루어져 있다. 서보 모터란 도24와 같이, 펄스에 따라서 그 각도가 제어되며 대부분의 서보 모터는 -90°부터 +90°까지 움직인다. 펄스가 올라갈 때(하이엣지) 카운터가 시작되며, 펄스가 내려올 때(로엣지) 카운터를 끝내게 되며, 카운트한 개수에 따라서 서보 모터의 각도가 결정된다.
본 발명에 사용된 모션 데이터에서 소프트웨어의 모션 컨트롤러를 거쳐 하드웨어에 전달되는 물리적 동작 데이터의 기본 값은16bit로써 총 18개의 블록으로 구성되어있다. 모터의 ID는 구별 없이 병렬 포트로 들어오는 데이터 순서대로 처음 들어오는 16bit 데이터는 1번 모터의 구동을 하고 이후 순차적으로 2번부터18번 모터 순으로 모터가 구동 되며 그 숫자의 값은 도29과 같이 화살표 방향으로 구동 된다.
각각의 모터는 180도의 구동범위를 갖으며 즉 절대값으로 좌측기준으로 0의 값을 갖으며 180도를 255의 분해능으로 구동 된다. 예를 들어 Data 값을 1을 주었을 경우 Motor는 0.706도 만큼 움직이는 것이다.
통신 속도는 delay time을 없애기 위해 board rate를 19,200bps에서 2400bps로 설정하였으며 board rate가 2400bps인 경우에는 블록과 블록사이에 delay time이 필요 없다.
서보 모터는 펄스에 따라서 그 각도가 제어되며 -90°부터 +90°정도까지 움직인다. 그러므로 16bit 데이터의 값에 따라 서보 모터에 공급되는 펄스 폭을 변경하여 구동 한다.
서보 모터의 구동은 펄스가 올라갈 때 카운터가 시작되며 그리고, 펄스가 내려올 때 카운터를 끝내게 되며, 카운트한 수에 따라서 서보 모터의 각도가 결정이 되는 것이다.
도30은 실제 구현된 8등신의 4족 보행 로봇과 2족 보행 로봇의 모습을 나타낸다.
도 30의 좌측 로봇의 모습은 도9에 나타난 수치가 적용된 8등신 2족 보행 로봇의 모습이며, 우측의 로봇은 도11에 나타난 수치가 적용된 8등신 4족 보행 로봇의 모습이다.
본 하드웨어는 다음과 같은 Spec을 갖는다.
A. 골격 구조부
- 서보모터 : 공급원 : Hitec HS-225MG
동작전압 : DC 4.8V - 6V
토크( kg.cm) : 3.9 / 4.8
스피드 : 0.14 / 0.11
크기(L x W x H) : 32 x 17 x 31 mm
무게 : 31g(MG)
- 시스템 컨트롤러
공급원 : 주)인벤트로닉스
동작전압 : DC 5V
입출력포트 : 33개
시리얼통신용 RS-232C 회로 내장
회로도 : 첨부
B. 골격 구조 보완부
- 재질 : SUS
- 크기(L x W x H) : 7470 x 9550 x 8600 mm
- 입력전압 : AC 220V
- 이동방향 : X, Y, Z
- 적용모터 : 국제정밀 KM3429-C 3개
- 회로도 : 첨부 (이송장치)
- 도면 : 첨부
본 로봇을 조작하기 위해서는 다음과 같은 사항을 주의해서 조작하도록 한다.
1. 주 기판 전원은 출력전압 DC5V 전용 어댑터를, 서보모터 구동전원은 출력전압 DC5V - DC6V를 사용한다. 전압이 초과되면 모터나 컨트롤러가 소손된다.
2. RS232C 통신 케이블을 이용하여 RX 단자와 GND단자가 컴퓨터와 연결되어야 한다.
3. PCB 도면에서와 같이 기판 최 좌측 및 우측의 세로 핀 들은 서보모터 GND 단자이다.
상기 GND 단자의 안쪽에 위치한 세로 단자들은 MOTOR 전원이다.
상기 MOTOR 전원 단자의 안쪽에 위치한 세로단자들은 서보모터를 제어하기위한 신호가 출력되는 데이터 단자이다.
4. 컨트롤러의 DATA 단자와 모터의 데이터 단자 접속방법
 예) 모터 M1(지노픽스의 로봇 첨부 그림참조)의 데이터 단자와는 B0의 컨트롤러 DATA 단자가 연결이 되어야하며, M2 모터와는 B1의 컨트롤러 DATA 단자가 연결되어야 한다.
Motor Data 단자 Motor Data 단자 Motor Data 단자
M1 B0 M8 B7 M15 D0
M2 B1 M9 C0 M16 D1
M3 B2 M10 C1 M17 D2
M4 B3 M11 C2 M18 D3
M5 B4 M12 C3 M19 D4
M6 B5 M13 C4
M7 B6 M14 C5
주의사항)
1. 전원콘센트를 조작할 경우에는 감전에 주의한다.
2. 본 장치는 애니메이션 촬영용 로봇 서보모터 제어용 기판이다. 전류의 흐름이 많은 서보모터를 사용할 시에는 과 전류로 인하여 회로가 탈 수 있다.
3. 컨트롤러를 임의로 교환하거나 탈, 부착하지 않음을 유의한다.
4. 컴퓨터 통신단자와 연결시는 반드시 컴퓨터와 본 기판의 전원을 모두 오프한 후 연결한다.
골격 구조 보완부의 구성
상기 골격 구조의 이동 및 지지를 보다 편리하기 위해 골격 구조는 골격 구조 보완부와 연결되어 보다 자유로운 이동을 할 수 있다. 사용자는 골격 구조 보완부를 이용하여 골격구조의 상,하,좌,우 이동을 모두 자동으로 행할 수 있으며, 골격 구조의 안정적인 움직임을 확보할 수 있다.
도 31 에 나타난 바와 같이 골격 구조 보완부는 골격 구조 제어부, 골격 구조 이송부, 그리고 골격 구조 지지부로 구성된다.
도 32, 33은 골격 구조 보완부의 핵심 장치인 골격 구조 제어부를 나타낸다.
본 골격 구조 보완부의 제어부는 다음의 방법으로 작동시킨다.
1. 전원 콘센트를 AC 220V 콘센트에 삽입 한다.
2. 전원스위치의 레버를 위로 올리면 기판에 전원이 투입 된다.
3. 조종레버를 전, 후, 좌, 우, 전좌, 전우, 후좌, 후우 8방향으로 움직이면 이에 따라 골격 구조물이 X-Y 방향으로 이동한다.
4. 상승버튼을 누르면 상하이송봉과 이에 연결된 로봇고정대가 윗방향으로 올라간다.
5. 하강버튼을 누르면 상하이송봉과 이에 연결된 로봇고정대가 아랫방향으로 내려간다.
6. 상하이송봉을 빼내고자 할 경우 골격 구조물을 제거한 후 하강버튼을 누른다.
본 골격 구조 보완부를 작동시킬 때에는 다음의 주의사항에 유의하여 작동시킨다.
1. 전원콘센트를 조작할 경우에는 감전에 주의한다.
2. 본 장치는 애니메이션 촬영용 로봇 이송 장치이다. 제공한 로봇보다 초과하는 중량을 가진 물건을 매달아 사용하면 모터나 상하이송봉등의 고장이 발생할 수 있사오니 사용하지 않는다.
3. 기판을 분해하거나 임으로 제거하지 않는다.
4. 상승버튼을 끝까지 누르고 있으면 상하이송봉 아래쪽 끝단부가 뭉치에 닿게 되어 고장이 발생합니다. 상하이송봉 아래쪽 끝단부가 뭉치에 닿지 않도록 주의한다.
5. 하강버튼을 계속 눌러 상하이송봉을 아랫방향으로 빼 내고자 할 경우 반드시 로봇을 제거한 후 작동시킨다.
도 34 ~도48은 골격 구조 이송부의 각 부분별 상세 도면을 나타낸다. 즉, 도 34 및 도 35는 본 발명에 따른 로봇의 골격 구조 이송부 전체 사시도(33,34)이며, 도 36은 본 발명에 따른 로봇의 골격 구조 이송부 정면도이고, 도 37은 본 발명에 따른 로봇의 골격 구조 이송부 좌측면도이며, 도 38은 본 발명에 따른 로봇의 골격 구조 이송부 평면도이고, 도 39는 본 발명에 따른 로봇의 골격 구조 이송부 사시도이고, 도 40은 본 발명에 따른 로봇의 골격 구조 이송부 기판 덮개를 보이고 있고, 도 41은 본 발명에 따른 로봇의 골격 구조 이송부 레버 덮개를 보이고 있고, 도 42는 본 발명에 따른 로봇의 골격 구조 이송부 하의 전,후판을 보이고 있고, 도 43은 본 발명에 따른 로봇의 골격 구조 이송부 상면 앞판을 보이고 있으며, 도 44는 본 발명에 따른 로봇의 골격 구조 이송부 상면 뒷판을 보이고 있고, 도 45는 본 발명에 따른 로봇의 골격 구조 이송부 뒤쪽 좌 우측 지지대를 보이고 있으며, 도 46은 본 발명에 따른 로봇의 골격 구조 이송부 앞쪽 우측 지지대를 보이고 있으며, 도 47은 본 발명에 따른 로봇의 골격 구조 이송부 앞쪽 좌측 지지대를 보이고 있으며, 도 48은 본 발명에 따른 로봇의 골격 구조 이송부 상하 이송부를 보이고 있다.
도 49~ 도58은 골격 구조 보완부를 구성하는 골격 구조 지지부의 각 부분 상세 도면을 나타낸다. 즉, 도 49는 본 발명에 따른 로봇의 골격 구조 지지부 직접 연결 부분 사시도를 보이고 있고, 도 50은 본 발명에 따른 로봇의 골격 구조 지지부 연결 부분 앞판를 보이고 있고, 도 51은 본 발명에 따른 로봇의 골격 구조 지지부 연결부분 상세 사시도를 보이고 있고, 도 52는 본 발명에 따른 로봇의 골격 구조 지지부 고정장치 상세 사시도를 보이고 있고, 도 53은 본 발명에 따른 로봇의 골격 구조 지지부 골격 구조 연결부분 좌측 중간판를 보이고 있으며, 도 54는 본 발명에 따른 로봇의 골격 구조 지지부 골격 구조 연결부분 우측 중간판를 보이고 있으며, 도 55는 본 발명에 따른 로봇의 골격 구조 지지부 골격 구조 연결부분 뒷판를 보이고 있으며, 도 56은 본 발명에 따른 로봇의 골격 구조 지지부 골격 구조 고정부분 상판를 보이고 있고, 도 57은 본 발명에 따른 로봇의 골격 구조 지지부 골격 구조 고정부분 중간판를 보이고 있고, 도 58은 본 발명에 따른 로봇의 골격 구조 지지부 골격 구조 고정부분 하판를 보이고 있다. 골격 구조 지지부는 골격 구조 이송부와 골격 구조물을 연결시키고 무게를 지지해주는 역할을 담당한다.
모델 애니메이션 제작에 제시된 자동화된 제작 기법을 활용 시에 종래 수작업에 의한 제작 방식에 비하여 모델링, 촬영 및 편집 시간을 약 50%수준으로 절감할 수 있으며, 인력 또한 40%정도의 절감이 가능하다. 또한 한번 제작된 동작들은 저장 후 라이브러리화 되어 추후 다른 작업 시에 이용함으로써 반복적인 모델 제작을 대폭 경감시킴으로써 획기적인 제작 단가 절감 효과를 가져온다. 따라서 애니메이터들은 단순 반복 작업에서 벗어나 보다 창조적인 작품의 품질 향상에 몰두 할 수 있게 됨으로써 작품의 궁극적인 질적 향상 효과를 가져올 수 있다. 또한 이에 사용되는 로봇을 이와 유사한 분야인 로봇 완구류에 기술적 파급효과를 가져올 수 있다.

Claims (20)

  1. (a) 구현될 가상 로봇의 신체 각 부분의 길이 및 각 관절의 기본 값을 포함하는 가상로봇 기초정보를 입력받고, 상기 입력받는 값을 기초로 소정의 가상 로봇을 생성시키는 단계;
    (b) 상기 생성된 가상 로봇의 신체 각 부분의 움직임에 관한 정보를 입력받고, 상기 움직임 정보를 기초로 상기 가상 로봇을 동작시켜 시뮬레이션 하는 단계; 및
    (c) 사용자로부터 상기 동작에 관한 정보를 출력할 것을 입력받은 경우 상기 동작을 적어도 하나이상의 정지동작과 각 정지동작 사이의 시간간격의 값으로 구성되는 동작정보를 생성시켜 외부로 출력하는 단계를 포함하는 것을 특징으로 하는 모션 정보 제공방법.
  2. 제1항에 있어서, 상기 (b) 단계는
    상기 동작을 소정의 각도에서 보았을때의 영상결과를 시뮬레이션하는 단계를 더 포함하는 것을 특징으로 하는 모션 정보 제공방법.
  3. 제1항에 있어서, 상기 (c) 단계는
    상기 출력되는 동작정보를 수신받아 실제로 동작을 수행하는 소정의 로봇을 구성하는 복수개의 모터들의 움직임이 상기 가상 로봇과 일치하지 않는 경우 상기모터들 각각에 소정의 비율 값을 입력받아, 상기 비율 값을 적용시켜 변형된 움직임 정보를 생성시켜 출력하는 것을 특징으로 하는 모션 정보 제공방법.
  4. 제1항에 있어서, 상기 (b) 단계는
    상기 동작을 적어도 하나이상의 정지동작과 각 정지동작 사이의 시간간격의 값으로 구성되는 동작정보를 생성시켜 저장하는 단계를 더 포함하는 것을 특징으로 하는 모션 정보 제공방법.
  5. 제1항에 있어서, 상기 (a) 단계는
    미리 저장되어 있는 적어도 하나 이상의 로봇에 대한 가상 로봇 기초정보 중 어느 하나를 선택받고, 상기 선택받은 가상 로봇 기초정보에 기초하여 소정의 가상로봇을 생성시키는 것을 특징으로 하는 모션 정보 제공방법.
  6. (a) 구현될 가상 로봇의 신체 각 부분의 길이 및 각 관절의 기본 값을 포함하는 가상로봇 기초정보를 입력받고, 상기 입력받는 값을 기초로 소정의 가상 로봇을 생성시키는 단계;
    (b) 상기 생성된 가상 로봇의 신체 각 부분의 움직임에 관한 정보를 입력받고, 상기 움직임 정보를 기초로 상기 가상 로봇을 동작시켜 시뮬레이션 하는 단계;
    (c) 사용자로부터 상기 동작에 관한 정보를 출력할 것을 입력받은 경우 상기 동작을 적어도 하나이상의 정지동작과 각 정지동작 사이의 시간간격의 값으로 구성되는 동작정보를 생성시키는 단계;
    (d) 상기 가상로봇에 대응되는 실제 로봇이 상기 동작정보를 제공받고, 상기 동작정보에 기초하여 소정의 동작을 수행하는 단계; 및
    (e) 소정의 카메라가 상기 동작을 수행하는 실제 로봇의 영상정보를 입력받아 저장하는 단계를 포함하는 것을 특징으로 하는 애니메이션 제작 방법.
  7. 제6항에 있어서, 상기 (b) 단계는
    상기 동작을 소정의 각도에서 보았을때의 영상결과를 시뮬레이션하는 단계를 더 포함하는 것을 특징으로 하는 애니메이션 제작 방법.
  8. 제6항에 있어서, 상기 (c) 단계는
    상기 출력되는 동작정보를 수신받아 실제로 동작을 수행하는 소정의 로봇을 구성하는 복수개의 모터들의 움직임이 상기 가상 로봇과 일치하지 않는 경우 상기 모터들 각각에 소정의 비율 값을 입력받아, 상기 비율 값을 적용시켜 변형된 움직임 정보를 생성시켜 출력하는 것을 특징으로 하는 애니메이션 제작방법.
  9. 제6항에 있어서, 상기 (b) 단계는
    상기 동작을 적어도 하나이상의 정지동작과 각 정지동작 사이의 시간간격의 값으로 구성되는 동작정보를 생성시켜 저장하는 단계를 더 포함하는 것을 특징으로 하는 애니메이션 제작방법.
  10. 제6항에 있어서, 상기 (a) 단계는
    미리 저장되어 있는 적어도 하나 이상의 로봇에 대한 가상 로봇 기초정보 중 어느 하나를 선택받고, 상기 선택받은 가상 로봇 기초정보에 기초하여 소정의 가상로봇을 생성시키는 것을 특징으로 하는 애니메이션 제작방법.
  11. 제6항에 있어서, 상기 (d) 단계는
    (d1) 상기 동작정보를 분석하여 상기 실제 로봇의 각 관절들의 움직임정보를 추출하는 단계; 및
    (d2) 상기 추출된 움직임 정보에 기초하여 상기 각 관절을 구성하는 서보 모터를 구동시키는 단계를 포함하는 것을 특징으로 하는 애니메이션 제작방법.
  12. 제1항 내지 제11항의 방법 중 어느 한 항의 방법을 컴퓨터로 실행시킬 수 있는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
  13. 구현될 가상 로봇의 신체 각 부분의 길이 및 각 관절의 기본 값을 포함하는 가상로봇 기초정보를 입력받고, 상기 입력받는 값을 기초로 소정의 가상 로봇을 생성시키는 캐릭터 에디터부;
    상기 생성된 가상 로봇의 신체 각 부분의 움직임에 관한 정보를 입력받고, 상기 움직임 정보를 기초로 상기 가상 로봇을 동작시켜 시뮬레이션 하는 모션 에디터부; 및
    사용자로부터 상기 동작에 관한 정보를 출력할 것을 입력받은 경우 상기 동작을 적어도 하나이상의 정지동작과 각 정지동작 사이의 시간간격의 값으로 구성되는 동작정보를 생성시켜 외부로 출력하는 모션 컨트롤부를 포함하는 것을 특징으로 하는 모션 정보 제공장치.
  14. 제13항에 있어서, 상기 모션 에디터부는
    상기 동작을 소정의 각도에서 보았을때의 영상결과를 시뮬레이션하는 기능을 더 수행하는 것을 특징으로 하는 모션 정보 제공장치.
  15. 제13항에 있어서, 상기 모션 컨트롤러부는
    상기 출력되는 동작정보를 수신받아 실제로 동작을 수행하는 소정의 로봇을 구성하는 복수개의 모터들의 움직임이 상기 가상 로봇과 일치하지 않는 경우 상기 모터들 각각에 소정의 비율 값을 입력받아, 상기 비율 값을 적용시켜 변형된 움직임 정보를 생성시켜 출력하는 것을 특징으로 하는 모션 정보 제공장치.
  16. 제13항에 있어서, 상기 모션 에디터부는
    상기 동작을 적어도 하나이상의 정지동작과 각 정지동작 사이의 시간간격의 값으로 구성되는 동작정보를 생성시켜 저장하는 기능을 더 수행하는 것을 특징으로 하는 모션 정보 제공장치.
  17. 제13항에 있어서, 상기 캐릭터 에디터부는
    미리 저장되어 있는 적어도 하나 이상의 로봇에 대한 가상 로봇 기초정보 중 어느 하나를 선택받고, 상기 선택받은 가상 로봇 기초정보에 기초하여 소정의 가상로봇을 생성시키는 것을 특징으로 하는 모션 정보 제공장치.
  18. 소정의 캐릭터 정보를 입력받아 가상 캐릭터를 생성시키고, 상기 가상 캐릭터의 소정의 움직임 정보를 입력받아 상기 가상 캐릭터를 동작시켜 시뮬레이션 하며, 사용자로부터 상기 동작 정보를 출력할 것을 명령받은 경우에는 상기 동작 정보를 출력하는 모션 데이터 제공장치;
    상기 모션 데이터 제공장치로부터 상기 동작 정보를 제공받고, 상기 동작정보에 기초하여 소정의 동작을 수행하는 실제 로봇장치; 및
    상기 실제 로봇 장치의 동작영상을 촬영하여 저장하는 카메라를 포함하는 것을 특징으로 하는 애니메이션 제작 시스템.
  19. 제18항에 있어서, 상기 모션 데이터 제공장치는
    구현될 가상 로봇의 신체 각 부분의 길이 및 각 관절의 기본 값을 포함하는 가상로봇 기초정보를 입력받고, 상기 입력받는 값을 기초로 소정의 가상 로봇을 생성시키는 캐릭터 에디터부;
    상기 생성된 가상 로봇의 신체 각 부분의 움직임에 관한 정보를 입력받고,상기 움직임 정보를 기초로 상기 가상 로봇을 동작시켜 시뮬레이션 하는 모션 에디터부; 및
    사용자로부터 상기 동작에 관한 정보를 출력할 것을 입력받은 경우 상기 동작을 적어도 하나이상의 정지동작과 각 정지동작 사이의 시간간격의 값으로 구성되는 동작정보를 생성시켜 외부로 출력하는 모션 컨트롤부를 포함하는 것을 특징으로 하는 애니메이션 제작 시스템.
  20. 제18항에 있어서, 실제 로봇장치는
    소정의 동작을 수행하는 적어도 하나이상의 관절부;
    상기 모션 제공장치로부터 상기 동작정보를 수신하는 유무선 데이터 수신부; 및
    상기 유무선 데이터 수신부로부터 상기 동작정보를 제공받고, 상기 동작정보로부터 상기 실제 로봇장치를 구성하는 상기 관절부의 움직임 정보를 추출하여 상기 관절부를 구동시키는 중앙처리부를 포함하는 것을 특징으로 하는 애니메이션 제작 시스템.
KR1020030049451A 2003-07-18 2003-07-18 동작 제어기구를 이용한 모델 애니메이션 제작방법 및 그장치 KR20050009937A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020030049451A KR20050009937A (ko) 2003-07-18 2003-07-18 동작 제어기구를 이용한 모델 애니메이션 제작방법 및 그장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020030049451A KR20050009937A (ko) 2003-07-18 2003-07-18 동작 제어기구를 이용한 모델 애니메이션 제작방법 및 그장치

Publications (1)

Publication Number Publication Date
KR20050009937A true KR20050009937A (ko) 2005-01-26

Family

ID=37222517

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030049451A KR20050009937A (ko) 2003-07-18 2003-07-18 동작 제어기구를 이용한 모델 애니메이션 제작방법 및 그장치

Country Status (1)

Country Link
KR (1) KR20050009937A (ko)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100697975B1 (ko) * 2005-12-07 2007-03-23 한국전자통신연구원 인간형 다관절체의 애니메이션 생성 장치 및 그 방법
KR100895979B1 (ko) * 2007-08-29 2009-05-07 한국전자통신연구원 가상현실 기반 프로토타입을 이용한 모바일 장치의 디자인평가 시스템 및 방법
KR100920056B1 (ko) * 2006-12-04 2009-10-07 한국전자통신연구원 조립식 다관절체를 이용한 자세/모션 캡쳐 및 편집 장치와 그 방법
KR101052740B1 (ko) * 2009-09-29 2011-07-29 홍익대학교 산학협력단 모션캡쳐를 이용한 다관절 로봇 행위 모델링 도구 및 방법
KR101103586B1 (ko) * 2009-12-04 2012-01-09 재단법인 포항지능로봇연구소 로봇용 시뮬레이션 시스템 및 방법
WO2017030840A1 (en) * 2015-08-14 2017-02-23 Sphero, Inc. Data exchange system
KR102079122B1 (ko) * 2019-10-31 2020-02-19 주식회사 뉴로메카 로봇을 위한 동역학 시뮬레이션 기반 제어 프레임 워크

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100697975B1 (ko) * 2005-12-07 2007-03-23 한국전자통신연구원 인간형 다관절체의 애니메이션 생성 장치 및 그 방법
KR100920056B1 (ko) * 2006-12-04 2009-10-07 한국전자통신연구원 조립식 다관절체를 이용한 자세/모션 캡쳐 및 편집 장치와 그 방법
KR100895979B1 (ko) * 2007-08-29 2009-05-07 한국전자통신연구원 가상현실 기반 프로토타입을 이용한 모바일 장치의 디자인평가 시스템 및 방법
US7856343B2 (en) 2007-08-29 2010-12-21 Electronics And Telecommunications Research Institute System and method for design evaluation of mobile devices using virtual reality based prototypes
KR101052740B1 (ko) * 2009-09-29 2011-07-29 홍익대학교 산학협력단 모션캡쳐를 이용한 다관절 로봇 행위 모델링 도구 및 방법
KR101103586B1 (ko) * 2009-12-04 2012-01-09 재단법인 포항지능로봇연구소 로봇용 시뮬레이션 시스템 및 방법
WO2017030840A1 (en) * 2015-08-14 2017-02-23 Sphero, Inc. Data exchange system
KR102079122B1 (ko) * 2019-10-31 2020-02-19 주식회사 뉴로메카 로봇을 위한 동역학 시뮬레이션 기반 제어 프레임 워크

Similar Documents

Publication Publication Date Title
KR101098834B1 (ko) 동역학 기반 동작 생성 장치 및 방법
CN106078752A (zh) 一种基于Kinect的仿人机器人人体行为模仿方法
CN113359987B (zh) 基于vr虚拟现实的半实物综采实操平台
JP2005125460A (ja) ロボット装置のためのモーション編集装置及びモーション編集方法、並びにコンピュータ・プログラム
Badler et al. Positioning and animating human figures in a task-oriented environment
CA2249822A1 (en) Off-line teaching method and apparatus
CN104008256B (zh) 一种基于delmia的电缆维修仿真的工程实践方法
CN109591013A (zh) 一种柔性装配仿真***及其实现方法
US5586224A (en) Robot or numerical control programming method
KR20050009937A (ko) 동작 제어기구를 이용한 모델 애니메이션 제작방법 및 그장치
Signer et al. Tangible holograms: towards mobile physical augmentation of virtual objects
CN207937787U (zh) 扩增实境仿真***
JP3614824B2 (ja) 脚式移動ロボットのための動作編集装置及び動作編集方法
Inaba Remote-brained humanoid project
Nakamura et al. V-HRP: Virtual humanoid robot platform
CN101995835B (zh) 一种三维软件控制演出的***
CN105619390B (zh) 十自由度机器人的制造方法
CN205736018U (zh) 制作真人人形玩偶的***与服务器
Bhatti et al. Expression driven trigonometric based procedural animation of quadrupeds
JPH08329272A (ja) アニメーション作成方法
Tripicchio et al. A 6-DOF haptic manipulation system to verify assembly procedures on CAD models
Mobalegh Development of an autonomous humanoid robot team
Xia et al. Recent advances on virtual human synthesis
CN112947238A (zh) 一种基于vr技术的工业机器人实时控制***
Zhou et al. Development of a synchronized human-robot-virtuality interaction system using cooperative robot and motion capture device

Legal Events

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