Journal of the Korea Computer Graphics Society
The Korea Computer Graphics Society
Article

외부 자력을 이용한 촉수 생명체 애니매트로닉스 시뮬레이션

김예영1https://orcid.org/0009-0002-8487-6183, 김도희1https://orcid.org/0009-0008-2644-874X, 김주란1https://orcid.org/0009-0006-6422-3459, 오나현1https://orcid.org/0009-0007-2793-0127, 최명걸1,*https://orcid.org/0000-0002-6089-9455
Ye Yeong Kim1https://orcid.org/0009-0002-8487-6183, Do Hee Kim1https://orcid.org/0009-0008-2644-874X, Ju Ran Kim1https://orcid.org/0009-0006-6422-3459, Na Hyun Oh1https://orcid.org/0009-0007-2793-0127, Myung Geol Choi1,*https://orcid.org/0000-0002-6089-9455
1가톨릭대학교
1The Catholic University of Korea
*corresponding author: Myung Geol Choi/ The Catholic University of Korea (myunggeol@gmail.com)

© Copyright 2023 Korea Computer Graphics Society. This is an Open-Access article distributed under the terms of the Creative Commons Attribution Non-Commercial License (http://creativecommons.org/licenses/by-nc/4.0/) which permits unrestricted non-commercial use, distribution, and reproduction in any medium, provided the original work is properly cited.

Received: Jul 12, 2023; Revised: Sep 02, 2023; Accepted: Oct 23, 2023

Published Online: Dec 01, 2023

요약

애니매트로닉스 제어 기술은 공학, 의학, 예술 등 여러 학문 분야에서 흥미로운 주제이며 관련 연구가 활발히 진행되고 있다. 애니매트로닉스의 움직임을 제어하는 일반적인 방법은 몸체 내부에 장착된 전동 모터를 사용하는 것이다. 하지만 이러한 방식은 몸체 내부의 공간이 좁을 경우 적용하기 어렵다. 본 연구에서는 몸체가 가늘고 긴 촉수 생명체의 움직임을 제어하기 위해 몸체 내부에 기계 장치를 장착하는 대신 외부 자력을 이용하는 방법을 제안한다. 구체적으로 본 연구에서는 애니매 트로닉스의 관절체 몸체를 자성이 있는 금속 소재로 만들어 외부에 설치된 전자석의 인력에 영향을 받도록 하였다. 그리고 전자석의 세기를 PID 제어기로 제어하여 애니매트로닉스 몸체의 위치를 실시간으로 제어할 수 있도록 하였다. 또한 자석이 회전 운동을 하도록 하고 회전의 속도를 변화시켜 다양한 움직임을 연출할 수 있도록 하였다. 본 연구의 실험은 가상 환경에 구현하여 시뮬레이션을 통해 수행되었다. 사용자에 의한 실시간 제어의 결과뿐만 아니라 다양한 스타일의 애니메이션 생성 방법 및 결과를 제시하여 그 효용성을 증명하였다.

Abstract

The control technology of animatronics is an interesting topic explored in various fields, including engineering, medicine, and art, with ongoing research efforts. The conventional method for controlling the movement of animatronics is to use electric motors installed inside the body. However, this method is difficult to apply when expressing a narrow space inside the body. In this study, a method of using external forces instead of installing mechanical devices inside the body was proposed to control the movement of a thin and long tentacle organism. Specifically, in this study, the joint body of animatronics was made of magnetic metal material so that it could be affected by the force of an externally installed electromagnet. The strength of the electromagnet was controlled by a PID controller to enable real-time control of the position of the animatronics body. In addition, the magnet was made to rotate, and the speed of rotation was changed to create various movements. Through virtual environment simulations, our experiments demonstrate the superiority of the proposed method, showcasing real-time control by users and the creation of animations in various styles.

Keywords: 애니매트로닉스; 자력 제어; 촉수 운동 제어; PID 제어
Keywords: Animatronics; Magnetic force control; Tentacle motion control; PID controller

1. 서론

애니매트로닉스는 가상 캐릭터를 현실에서 살아 움직이는 것처럼 표현하는 기계 장치이고, 디즈니랜드와 같은 테마파크에서 사용되기 시작하였다. 초기에는 손을 흔들거나 내레이션에 맞추어 입술을 움직이는 등의 단순한 동작을 반복하는 수준이었다. 하지만 현재는 로봇 공학 기술의 발달 덕분으로 미묘한 표정 변화부터 역동적인 스턴트 동작까지 표현 범위가 넓어졌으며 영화, 연극, 뮤지컬 등 다양한 문화 콘텐츠에서 가상 캐릭터를 표현하기 위한 수단으로 널리 사용되고 있다. 애니매트로닉스 설계에서 가장 중요한 부분은 기계 장치라는 것을 최대한 숨기는 것이다. 예를 들어 사람이나 척추 동물 크기의 애니매트로닉스를 만들 때에는 몸체를 구성하기 위해 프레임, 전동 모터, 전선, 제어 회로, 배터리 등을 사용해야 한다. 그리고 이를 가리기 위해 옷을 입히거나 실리콘으로 만들어진 인공 피부로 전체를 덮을 수 있다. 하지만 이런 방법은 몸체의 부피가 작아질수록 문제가 된다. 모든 기계 장치가 몸체보다 작아져야 하기 때문이다. 같은 성능의 기계 장치를 보다 작게 만드는 것은 대체로 비용이 많이 드는 일이며 때로는 물리적으로 불가능한 일이다.

본 연구에서는 부피가 작은 생명체에 대한 애니매트로닉스를 구현하기 위해 외부 자석의 힘을 이용하는 방법을 제안한다. 캐릭터의 몸체를 자성체로 만들면 외부에 있는 자석의 힘을 이용하여 움직일 수 있다. 즉, 몸체 내부에 모터 등의 기계 장치를 넣지 않고 움직임을 만들어 낼 수 있다. 또한 적절한 제어 장치와 사용자 인터페이스를 통해 사용자가 원하는 움직임을 실시간으로 만들어 낼 수 있다. 이를 증명하기 위해 본 연구에서는 가상 시뮬레이션 환경에서 해파리와 유사한 촉수 생명체 애니매트로닉스를 만들고 가늘고 긴 촉수의 움직임을 제어하는 실험을 제시한다. 가상 시뮬레이션 환경에서 실험했지만 모든 설계 과정에서 실제 구현의 가능성을 고려하였다. 촉수는 자성체 필라멘트를 이용한 3D 프린터 출력을 가정하여 관절체 구조로 설계하였다. 자석의 힘은 쿨롱의 법칙에 기반하여 시뮬레이션 하였으며 자석의 회전 속도 변화는 일반적인 회전 모터 한 개로 구현할 수 있도록 설계하였다.

본 연구에서 제시하는 방법이 창의적 애니매트로닉스 제작 기 술로 유용함을 확인하기 위해 PID 제어기와 간단한 사용자 인터 페이스를 이용하여 사용자가 원하는 대로 촉수의 높이를 실시간 조정하는 실험을 진행하였다. 또한 자석 위치나 자석을 움직이는 모터의 회전 속도 등에 대한 간단한 설계 변경을 통해 다양한 움직임 연출이 가능함을 증명하였다.

2. 관련 연구

초기 애니매트로닉스의 주된 목적은 가상 생명체가 살아 움직이도록 표현하고 이를 통해 사람들의 흥미를 유발하는 것이었기 때문에 테마 파크 등의 설치 작품을 중심으로 발전되어 왔다. 최초의 현대적 애니매트로닉스는 1939년 뉴욕 월드 페어 [1]에서 공개된 로봇 개 스파코 (Sparko, The Robot Dog)로 여겨지고 있다. 기계 장치이지만 기계 장치가 아닌 실제 생물처럼 디자인하였다는 점에서 기존의 로봇과 차별화되었다. 대중에게는 디즈니 랜드에서 애니매트로닉스를 이용하여 가상 캐릭터를 표현하기 시작하면서 본격적으로 알려졌다. 특히 ‘마법에 걸린 티키룸’ [2] 에서는 주로 공기압으로 움직이는 255종류의 동물 애니매트로닉스가 등장했고, 그 중 소리를 내는 120개의 모델은 최초의 오디오-애니매트로닉스로 기록되었다. 그 후 애니매트로닉스는 영화나 공연에서 존재할 수 없는 가상의 생명체를 현실 세계에서 생동감 있게 표현하는 방법으로도 널리 사용되어 왔다 [3]. 최근에는 다이나믹한 스턴트맨의 동작을 모방하여 하늘을 날며 공중 제비를 수행할 수 있는 인간형 애니매트로닉스 [4]가 개발되는 등 애니매트로닉스의 표현력은 더욱 섬세해지면서 동시에 역동성도 높아지고 있다. 애니매트로닉스의 움직임 표현은 로봇 공학 기술에 기초하고 있지만, 반대로 애니매트로닉스의 발전이 로봇 기술의 발전에도 상당한 영향을 미쳐왔다. 예를 들어 휴머노이드 로봇은 신체 조건이 인간과 유사할 뿐만 아니라 사람과 함께 상호작용하며 협력하는 것을 목표로 한다. 따라서 거부감을 최소화해야하며 깊이 있는 감정 소통도 가능해야 한다. 이러한 목표를 위해 단순히 기능의 개발뿐만 아니라 사람들에게 거부감을 유발하지 않고 상호작용하는 방법 [5], 사람과 같은 표정으로 소통하는 방법 [6] 등도 함께 연구되어 왔으며 많은 부분 애니매트로닉스와 영향을 주고받으며 상호 발전하였다.

또한 3D 프린터 기술이 발전된 이후로 낮은 비용으로 정교한 프린 터가 가능해져 다양한 형태의 창의적 생명체를 누구나 쉽게 제작할 수 있는 기반이 마련되었다 [7]. Coros 등 [8]은 사용자가 지정한 애니메이션을 반복하는 애니매트로닉스를 자동으로 설계하고 최적화하는 기술을 제시하였다. 서로 연결된 여러 개의 기어의 회전 운동을 동력으로 사용하였고, 3D 프린터로 제작하며 실제 동작을 검증하였다. Megrao 등 [9]은 사용자가 관절체 구조 애니매트로닉스를 디자인하도록 돕는 사용자 인터페이스를 제시하였다. 애니매트로닉스는 각 관절에 장착된 모터를 제어하여 움직임을 만들어내는 구조이며, 해당 인터페이스는 사용자가 애니매트로닉스를 설계하는 동안 물리적 결함을 발견하고 균형을 잃지 않고 운동할 수 있도록 설계를 자동으로 최적화하는 역할을 한다. 몸체의 부피가 작아야 하거나 무게가 가벼워야 하는 애니매트로닉스의 경우 몸체 내부에 기어나 모터를 장착하기 어렵기 때문에 다른 접근 방식이 필요하다. 대표적인 접근 방법은 동물의 힘줄 구조를 모방하는 것이다. 몸체 각 부분에 줄을 연결시키고 외부에서 각각의 줄을 서로 다른 정도로 당기거나 푸는 방식으로 움직임을 제어하는 것이다 [10, 11, 12, 13, 14]. 하지만 줄을 이용하는 방식은 몸체 외부에 있는 동력원까지 연결하는 줄을 완전히 숨기기 힘들다는 단점이 있다. 한편 로봇 공학 분야에서는 동력 장치를 장착할 수 없는 소형 로봇을 원격으로 제어하기 위한 목적으로 전자기력을 사용하는 방법이 연구되어왔다 [15]. 이러한 로봇은 인체 내부로 침투시켜 원하는 목적지까지 가도록 제어할 수 있기 때문에 주로 의료 분야에서 중요하게 다루어져 왔다 [16, 17].

본 연구에서는 위와 같은 기존 연구들에 영감을 받아 전자기 력으로 제어되는 가늘고 긴 촉수 모양의 생명체에 대한 애니매트로닉스 제작 기술을 제시한다. 애니매트로닉스의 몸체는 자성체 물질로 3D 프린팅 [18] 하여 제작한다고 가정한다. 실험은 PhysX [19]로 물리적 시뮬레이션이 적용된 가상 환경에서 수행하고, 전자석 시뮬레이션은 기존의 자력 시뮬레이션 연구를 참고 [20, 21, 22]하여 본 실험의 목적에 적합하게 단순화하여 구현하였다.

3. 설계 방법

그림 1은 촉수 생명체 애니매트로닉스의 설계도이다. 애니매트로닉스 모델의 전체 무게는 100 g이며, 모델을 감싸는 어항의 가로 길이는 46.5 cm, 세로 길이는 25 cm이다. 추후 실물 구현에 필요한 부품의 크기와 무게를 고려하여, 실제 시뮬레이션 상황을 바탕으로 가상 환경에서의 구조를 설계하였다.

jkcgs-29-5-1-g1
Figure 1: Blueprint of our tentacle animatronics.
Download Original Figure

모델의 머리는 상단에 고정하였고, 모델의 촉수는 다른 지지대 없이 중력에 의해 아래로 가라앉도록 두었다. 촉수는 자성체로 구성하였으며, 촉수의 움직임은 자력에 의존하기 때문에 모델의 상단에 자석을 배치하였다. 촉수의 좌우 회전 운동은 자석의 위치 변화를 통해 만들어내었다. 따라서 모델의 상단에 모터가 설치된 회전막대를 설치하고 회전막대 양 끝에 2개의 자석을 배치하였다. 모터를 9.42 rad/s로 회전시켜 실제 촉수 생명체의 움직임을 모방할 수 있도록 하였다. 또한 촉수의 Z축 높이를 변화시키고, 필요에 따라 특정 높이를 유지시키기 위해 모델 위에서 당기는 자력과 아래에서 당기는 중력의 균형을 제어할 필요성이 있다. 따라서 제어 가능 자석을 두었고, PID 제어를 통해 자력을 제어하였다. 모델 우측에는 사용자 목표 위치를 입력 받는 제어기를 두었다 (그림 1 참조). 사용자가 제어기로 목표 값을 설정하면, 제어기와 촉수 사이의 오차를 계산하여 목표 위치에 도달하기 위해 필요한 자력을 계산한다. 계산된 자력은 촉수를 안정적으로 들어 올릴 수 있도록 PID 제어를 통해 조절된다.

4. 자석 시뮬레이션

본 연구에서는 쿨롱 법칙을 활용하여 자석의 인력을 모델링하였다. 이를 편리하게 구현하기 위해 두 자하 사이의 힘을 정규화하고, 자력과 거리를 상대적 비율로 구현하였다.

자기장에서의 쿨롱 법칙에 따르면 자력은 자하의 크기에 비례하고, 거리의 제곱에 반비례한다. 본 법칙은 투자율 μ, 자하 m1과 m2, 그리고 두 자하 간의 거리 r로 구성된다.

F = 1 4 π μ m 1   · m 2 r 2
(1)

우리의 설계는 자석이 인력만을 생성하며 상단에 위치한 자석이 관절체를 당기는 특수한 구조이다. 따라서 자석의 모양에 따른 힘의 변화나 척력을 고려하지 않았다.

4.1 자력 제한과 촉수 안정성

본 연구에서는 촉수를 제어하기 위해 PID 제어를 사용한다. 이때 PID 제어의 제어 입력 항은 자석의 인력이다. 이는 수식 (1)에 기반하여 설명할 수 있다. 제어 입력 항은 자석 간 상호작용하는 힘을 조절하고, 이를 통해 촉수의 움직임을 조절하는 핵심적인 역할을 한다. 따라서 촉수의 안정성을 위해 자력의 변화를 제한해야 한다. 이를 제한하지 않으면 자력이 급격하게 증가하거나 감소하여 제어가 어려워진다.

단위시간 당 자력 증감의 최대 수치는 자력을 제어하는 중요한 요소이다. 이에, 단위 시간당 자력이 증가할 수 있는 최대 수치는 0.09 N, 감소할 수 있는 수치는 −1.0 N으로 설정했다. 이를 최대 증가량과 최대 감소량이라 칭하겠다. 최대 증가량을 지나치게 크게 설정할 경우 촉수가 급격하게 상승하며 제어에 어려움이 발생한다. 최대 감소량을 지나치게 작게 설정할 경우 촉수 위치가 쉽게 변화하지 않아 실시간 제어가 어려움을 확인했다. 또한 물리적으로 자력이 무한대가 되는 것은 불가능하므로, Z축 제어 가능 자석의 자력의 최대 크기를 1 N으로 제한했다. 회전 자석의 경우, 자력의 최대 크기를 0.000001 N으로 제한하여, 제어에 영향을 미치지 않으면서도 자연스럽고 미세한 움직임을 만들어 낼 수 있도록 하였다. 자력의 크기는 추후 실제 소형 애니매트로닉스 제작을 위해 구현 가능한 수준으로 설정하였다.

5. 촉수 생명체

5.1 관절체 구조

모델의 촉수는 총 4개이고, 촉수별로 6개의 마디와 관절을 두었다. 각 마디의 질량은 2 g이며, 길이는 1.125 cm이다. 마디의 굵기는 촉수 끝으로 갈수록 얇아지도록 0.5 cm, 0.45 cm, 0.4 cm, 0.35 cm, 0.3 cm, 0.25 cm로 설정하였다 (그림 2 참조). 또한 관절의 자유도는 2로 설정하였다.

jkcgs-29-5-1-g2
Figure 2: structure of tentacle
Download Original Figure

모델의 촉수와 마디의 개수를 하나씩 조정해가며 실험한 결과, 촉수가 4개이고 마디가 6개일 때 촉수 간 엉킴이 없고 다양한 움직임을 보여줄 수 있음을 확인했다. 촉수와 마디가 많을 경우 촉수끼리 엉키며 제어가 불가능하게 되고, 촉수와 마디가 적을 경우 움직임을 직관적으로 파악하기 어렵다. 또한 마디가 끝으로 갈수록 얇아지도록 설계하여 가장 자연스러운 움직임을 표현할 수 있도록 하였다. 마디는 0.05 cm 간격으로 얇아지도록 설계하였다 (그림 2 참조). 또한 모델의 총 질량이 100 g이 되도록 촉수 무게를 설정하였다. 이는 실제 모델 구현 시 자력 제어에 어려움이 없고, 자연스러운 움직임을 표현할 수 있도록 하기 위함이다.

5.2 촉수의 움직임 구현

촉수 생명체의 움직임 구현을 위해 모델 상단에 회전 자석과 제어 가능 자석을 설치하였다.

사용자 인터페이스에 따라 모델이 제어될 수 있도록 하기 위해 제어 가능 자석을 이용한다. 사용자가 제어기로 목표 위치를 설정하면 제어 가능 자석의 자력 변화에 의해 촉수의 Z축 위치 값이 변화하며 역동적인 움직임을 만들어낸다. 이때 Z축 제어를 위해 PID 제어를 이용한다. 그림 3은 사용자가 제어기를 이용하여 목표 위치를 설정했을 때, 촉수의 Z축 위치가 어떻게 변화하는지 시각적으로 보여준다. 그림 3의 첫 번째 그림은 제어기의 위치를 변화시키지 않아 촉수가 중력에 의해 아래로 가라앉은 모습이다. 두 번째 그림과 세 번째 그림을 보면 제어기로 목표 위치를 설정했을 때 촉수의 Z축 위치가 제어기를 따라 변화하는 것을 볼 수 있다.

jkcgs-29-5-1-g3
Figure 3: The z-axis position of the tentacle varying with the position of the controller.
Download Original Figure

물을 부유하는 듯한 움직임을 위해서는 촉수의 좌우 움직임이 필요하다. 모터가 부착된 막대 양 끝에 2개의 자석을 배치하여 회전시키면, 촉수의 좌우 움직임이 만들어진다. 막대의 양 끝에 설치된 자석이 금속 촉수에 자력을 가하여, 자연스럽게 X축과 Y축 움직임이 표현된다. 그림 4에서는 회전 자석에 의해 생성되는 자연스러운 촉수의 좌우 움직임을 보여준다. 그림 4의 첫 번째 그림에서는 막대를 회전시키지 않아 좌우 움직임 없이 중력에 의해 촉수가 아래로 가라앉은 모습을 볼 수 있다. 두 번째와 세 번째 그림에서는 모터로 막대를 회전시켜 촉수가 회전 자석의 자력에 의해 좌우로 자연스럽게 흔들리는 모습을 관찰할 수 있다.

jkcgs-29-5-1-g4
Figure 4: The lateral movement of the tentacles when the rod is rotated and when it is not rotated.
Download Original Figure

회전 자석을 이용하면 제어 가능 자석만 사용하는 경우보다 시각적으로 더 흥미로운 효과를 얻을 수 있다. 제어 가능 자석은 주로 기술적 목적에 중점을 두어 심미적인 측면이 부족하지만, 회전 자석을 도입하면 촉수의 운동을 더 동적으로 표현할 수 있어 공중에서 부유하거나 아름다운 물결 모양의 움직임을 구현할 수 있다.

5.3 촉수의 움직임 제어 방법 (PID)

촉수의 움직임을 효과적으로 제어하기 위해 PID 제어를 도입하였다. PID 제어는 일반적으로 쓰이는 피드백 제어기이며 외부 영향에 민감한 얇고 가벼운 촉수 제어에 적합하다. 따라서 촉수가 목표 위치에 도달할 수 있도록 PID 제어를 이용하였다. PID 제어는 아래의 식과 같이 세 개의 항을 더하여 제어 값(MV: Manipulated Variable)을 계산한다.

M V   ( t ) = K p e ( t ) +   K i 0 t e ( t ) d t +   K d d e d t
(2)

PID 제어는 비례 (P), 적분 (I), 미분 (D) 세 가지 요소로 구성되며, 각각의 역할은 다음과 같다. P (비례) 제어는 목표와 현재 위치 간의 오차에 비례하여 제어 신호를 생성한다. I (적분) 제어는 오랜 시간에 걸친 오차를 보상하여 시스템을 안정시킨다. D(미분) 제어는 오차의 변화율을 고려하여 제어 신호를 조절하여 진동을 감소시킨다.

본 연구에서는 PID 제어를 통해 촉수가 목표 위치에 도달하도록 하였으며, 이를 위해 공 모양의 제어기를 제작하여 실시간 사용자 입력을 받았다 (그림 1 참조). 제어기를 통해 목표 위치를 설정하고, 제어 가능 자석을 이용하여 촉수의 Z축 위치 값을 제어하였다. 이를 위해 제어기의 Z축 위치와 각 촉수 끝마디의 평균 Z축 위치의 차를 합하여 오차를 구하고, 이 오차를 통해 촉수의 Z축 위치 값을 제어하였다. 이번 연구에서는 모델에 4개의 촉수를 설계하고, 하나의 제어기로 움직임을 제어하도록 구성했다.

본 연구에서는 촉수의 다양한 움직임을 구현하는 것이 목표이다. 이를 위해 촉수가 목표 위치 주변을 진동하도록 설계하였고, 추가적인 제어 없이 PID 제어를 통해 움직임을 조절하였다.

PID 제어에서 매개변수는 제어의 안정성과 성능에 큰 영향을 미치므로 매개변수의 값을 조정하는 것은 중요하다. 실험을 통해 각 매개변수의 역할과 설정에 따른 다양한 움직임을 확인할 수 있었다.

Kp는 움직임의 빠르기와 안정성을 결정하는 매개변수이다. 따라서 Kp를 작게 설정하면 움직임이 느리며 안정적이고, Kp를 크게 설정하면 움직임이 빠르고 역동적인 움직임을 관찰할 수 있다. Ki는 오랜 시간 동안 발생한 누적 오차를 보상하는 역할을 한다. 따라서 Ki를 작게 설정하면 안정적이고 Ki를 크게 설정하면 움직임이 빨라진다. Kd는 오차의 변화율을 고려하여 진동을 감소시키는 역할을 한다. 따라서 Kd를 작게 설정하면 안정적이고 Kd를 크게 설정하면 진동이 증가하여 움직임이 불안정해진다.

본 연구에서는 각 매개변수의 영향을 실험적으로 확인하여 최적의 값의 선택하였고, 최적의 매개변수 값은 다음과 같다.

Kp = 100, Kd = 10, Ki = 0 .1

그림 4는 위의 최적의 매개변수 값으로 설정한 애니매트로닉스의 움직임이다(그림 3 참조).

6. 연구 결과

본 연구에서는 실시간 사용자 입력을 받아 소형 애니매트로닉스의 움직임을 제어하기 위해 PID 제어를 이용하였다. 실험 결과, 제어기로 목표 위치가 설정되면 자력 제어를 통해 모델의 촉수가 목표 위치에 도달하는 것을 확인했다. 이에 여러 실험을 진행하여 모델의 다양한 움직임을 표현할 수 있었다.

6.1 자석 회전 각속도에 따른 다양한 움직임

본 연구에서는 모델의 X축, Y축 운동을 구현하기 위해 회전 자석을 사용하였다. 이때 자석이 놓인 막대의 회전 속도를 변화시키면 다양한 움직임을 만들 수 있었다. 여러 번의 시뮬레이션을 통해 가장 자연스러운 해파리의 움직임을 표현하는 회전 각속도 값을 9.42 rad/s로 설정하였다(그림 5 두 번째 그림 참조). 그림 5의 첫 번째 그림은 회전 각속도를 0.01배 하여 0.0942 rad/s로 설정한 경우이고, 해파리의 움직임이 작아져 잔잔한 파도 속에 있는 해파리의 모습을 구현할 수 있었다. 반면에 세 번째 그림은 회전 각속도를 100배 하여 942 rad/s로 설정한 경우이고, 해파리가 더 크게 요동쳐 거친 파도 속의 해파리의 모습을 표현할 수 있었다. 이처럼 자석의 회전 속도에 따라 촉수의 움직임이 다양하게 나타남을 확인했다.

jkcgs-29-5-1-g5
Figure 5: the movement of the tentacle according to the angular velocity of the magnets. In the order shown, the rotational angular velocities are 0.0942, 9.42, and 942 rad/s.
Download Original Figure
6.2 자유도에 따른 다양한 움직임

앞서 실험에서는 안정적인 제어를 위해 X, Z축에 대해서만 관절의 회전을 허용했다. 그림 6의 두 번째 그림이 자유도 2인 경우이고, 제어가 안정적으로 되며 자연스러운 촉수의 움직임이 표현되었다. 자유도의 설정을 변경하면 해파리의 움직임을 더욱 다양하게 만들 수 있다. 그림 6의 첫 번째 그림은 관절체의 자유도가 3일 때이고, 움직임을 제어하는 것은 어렵지만 촉수의 움직임이 더욱 자연스럽게 표현되었다. 반면에 세 번째 그림은 자유도가 1일 때이고, 수월한 제어가 가능했지만 촉수가 딱딱한 움직임을 보였다. 해파리로서는 부자연스러운 움직임이었으나, 애니매트로닉스의 목적성에 따라 다양한 움직임 구현이 가능함을 확인할 수 있었다.

jkcgs-29-5-1-g6
Figure 6: the movement of the tentacle according to the degree of freedom. In the order shown, the degree of freedom is 3, 2, and 1.
Download Original Figure
6.3 PID 파라미터에 따른 다양한 움직임

Kp, Ki, Kd 값의 조절은 안정적인 높이 제어뿐만 아니라 다양한 해파리의 움직임을 조절하는 핵심 역할을 한다. 예를 들어, Kp 값을 변경하면 움직임의 반응 속도가 변하며, Kd 값을 변화시키면 목표 위치까지의 도달 오차가 변동하게 된다. 이처럼 Kp, Ki, Kd값을 변경하면 다양한 해파리의 움직임을 만들 수 있다.

그림 7에서 볼 수 있듯, Kp 값이 작으면 목표 위치까지 느리게 이동하며 좌우 방향 진동이 줄어들어 소극적인 움직임을 표현할 수 있다. 반면에 그림 8에서 볼 수 있듯, Kp 값이 크면 촉수가 빠르게 이동하며 좌우 방향 진동이 커져 역동적인 움직임을 표현할 수 있다. 이때, 그림 7그림 8은 제어기를 동일한 위치에 배치하고 동일한 시간이 경과한 후의 촉수 움직임을 보여준다. 그림을 비교해보면, Kp 값이 작을 때보다 클 때 목표 위치로 모든 촉수가 더 빠르게 이동하며 좌우로 더 큰 움직임을 나타낸다.

jkcgs-29-5-1-g7
Figure 7: Low Kp results in slow and sluggish tentacle movement.
Download Original Figure
jkcgs-29-5-1-g8
Figure 8: High Kp results in rapid and dynamic tentacle movement.
Download Original Figure

또한 그림 9에서는 Kd 값이 클 때 촉수가 목표 위치보다 낮은 위치에서 진동하는 것을 볼 수 있다.

jkcgs-29-5-1-g9
Figure 9: High Kd values result in the tentacle staying below the target position.
Download Original Figure
Table 1: PID parameters.
Kp Kd Ki
Stable movement (Fig. 3) 100 10 0.1
Low Kp (Fig. 7) 1 10 0.1
High Kp (Fig. 8) 200 10 0.1
High Kd (Fig. 9) 100 100 0.1
Download Excel Table

7. 결론

본 연구에서는 외부 자력으로 제어되는 소형 애니매트로닉스 모델이 실시간 사용자 요구를 반영할 수 있도록 PID 제어를 사용하는 방식을 제시하였다. 가상 환경을 구현하여 실험하였으며, 실험 결과 해파리 모델의 촉수 높이를 실시간으로 제어할 수 있음을 확인하였다. 또한 자석의 회전 각속도, 자유도 등을 변화시키며 소형 애니매트로닉스의 다양한 움직임을 구현할 수 있었다.

7.1 한계점

본 연구에서는 한 개의 제어기로 모델의 촉수 4개를 동시에 제어하였다. 그러나 각 촉수는 모두 다른 Z축 위치를 가지며 이 값은 지속적으로 변하기 때문에 정확한 오차 측정에 한계가 있었다. 이러한 한계를 보완하기 위하여 제어기를 촉수 개수만큼 설치하여 각 촉수를 독립적으로 제어한다면 보다 정확한 제어를 할 수 있을 것이다.

모델의 상단에 네 개의 제어 가능 자석과 두 개의 회전 자석을 배치했으나, 제한된 공간 때문에 자석 간 간섭이 발생하였다. 이러한 간섭이 제어에 영향을 미쳤기 때문에 이를 해결할 필요성이 있다. 또한 회전 모터를 통해 자석을 한 방향으로만 회전시켰는데, 방향을 변경하거나 회전 이외의 다른 동작을 추가한다면 더 다양한 움직임을 구현할 수 있을 것이다.

본 연구에서는 자석의 인력을 이용하여 모델의 촉수를 들어올리기 때문에 모델 몸체의 무게가 커지기 어렵다는 단점이 있다. 따라서 3D 프린팅 시 촉수 마디의 내부를 비우거나 구멍을 만드는 등 가볍게 만드는 방법을 고려할 필요가 있다.

7.2 향후 연구 방안

본 연구의 시뮬레이션 결과를 실제 소형 애니매트로닉스로 구현하는 향후 방향성을 제시하고자 한다. 소형 애니매트로닉스를 정교하게 구현하기 위해서는 자력에 반응하는 금속 실물 모델을 구현해야 한다. 이에, 레이저로 금속 분말을 녹여 모델을 생성하는 PBF(Powder Bed Fusion) 방식으로 3D 프린팅 모델을 제작할 예정이다. 다음으로 전자석과 자력 컨트롤러를 통해 자력의 크기를 조절하는 장치를 설치하여 움직임을 제어할 것이다. 이후 모델의 강화학습을 통해 최적의 PID 파라미터 값을 찾는다면 더욱 정확한 제어가 이뤄질 것으로 보인다.

실제 모델로 구현할 시 다양한 제한 요인 및 변수가 생길 가능성이 있으므로 더욱 세부적이고 명확한 모델의 설계가 필요할 것으로 보인다.

감사의 글

본 연구는 정부(과학기술정보통신부)의 재원으로 한국 연구 재단의 지원을 받아 수행된 연구(No. 2021R1F1A1048002) 입니다.

References

[1].

B. Cotter, The 1939-1940 New York World’s Fair. Arcadia Publishing, 2009.

[2].

C. Svonkin, “A southern california boyhood in the simu-southland shadows of walt disney’s enchanted tiki room,” Disneyland and culture: Essays on the parks and their in-fluence, pp. 107–121, 2011.

[3].

E. Jochum, P. Millar, and D. Nu ̃nez, “Sequence and chance: Design and control methods for entertainment robots,” Robotics and Autonomous Systems, vol. 87, pp. 372–380,2017.

[4].

M. T. Pope, S. Christensen, D. Christensen, A. Simeonov, G. Imahara, and G. Niemeyer, “Stickman: Towards a human scale acrobatic robot,” in 2018 IEEE International Conference on Robotics and Automation (ICRA). IEEE, 2018, pp.2134–2140.

[5].

G. Venture and D. Kuli ́c, “Robot expressive motions: a survey of generation and evaluation methods,” ACM Transactions on Human-Robot Interaction (THRI), vol. 8, no. 4, pp.1–17, 2019.

[6].

B. Chen, Y. Hu, L. Li, S. Cummings, and H. Lipson, “Smile like you mean it: Driving animatronic robotic face with learned models,” in 2021 IEEE International Conference on Robotics and Automation (ICRA). IEEE, 2021, pp. 2739–2746.

[7].

M. M. Porter, N. Ravikumar, F. Barthelat, and R. Martini, “3d-printing and mechanics of bio-inspired articulated and multi-material structures,” Journal of the mechanical behavior of biomedical materials, vol. 73, pp. 114–126, 2017.

[8].

S. Coros, B. Thomaszewski, G. Noris, S. Sueda, M. For-berg, R. W. Sumner, W. Matusik, and B. Bickel, “Computational design of mechanical characters,” ACM Transactions on Graphics (TOG), vol. 32, no. 4, pp. 1–12, 2013.

[9].

V. Megaro, B. Thomaszewski, M. Nitti, O. Hilliges, M. Gross, and S. Coros, “Interactive design of 3d-printable robotic creatures,” ACM Transactions on Graphics (TOG), vol. 34, no. 6, pp. 1–9, 2015.

[10].

V. Megaro, E. Knoop, A. Spielberg, D. I. Levin, W. Ma-tusik, M. Gross, B. Thomaszewski, and M. B ̈acher, “Designing cable-driven actuation networks for kinematic chains and trees,” in Proceedings of the ACM SIGGRAPH/Eurographics symposium on computer animation, 2017, pp. 1–10.

[11].

J. M. Bern, K.-H. Chang, and S. Coros, “Interactive design of animated plushies,” ACM Transactions on Graphics (TOG), vol. 36, no. 4, pp. 1–11, 2017.

[12].

H. Xu, E. Knoop, S. Coros, and M. B ̈acher, “Bend-it: design and fabrication of kinetic wire characters,” ACM Transactions on Graphics (TOG), vol. 37, no. 6, pp. 1–15, 2018.

[13].

S. Zimmermann, R. Poranne, J. M. Bern, and S. Coros, “Pup-petmaster: Robotic animation of marionettes,” ACM Transactions on Graphics (TOG), vol. 38, no. 4, pp. 1–11, 2019.

[14].

G. Maloisel, E. Knoop, C. Schumacher, and M. B ̈acher, “Automated routing of muscle fibers for soft robots,” IEEE Transactions on Robotics, vol. 37, no. 3, pp. 996–1008, 2021.

[15].

L. Yang and L. Zhang, “Motion control in magnetic micro-robotics: From individual and multiple robots to swarms,” Annual Review of Control, Robotics, and Autonomous Systems, vol. 4, pp. 509–534, 2021.

[16].

S. H. Kim and K. Ishiyama, “Magnetic robot and manipulation for active-locomotion with targeted drug release,” IEEE/ASME Transactions On Mechatronics, vol. 19, no. 5, pp. 1651–1659, 2013.

[17].

A. Li, H. Li, Z. Li, Z. Zhao, K. Li, M. Li, and Y. Song, “Programmable droplet manipulation by a magnetic-actuated robot,” Science advances, vol. 6, no. 7, p. eaay5808, 2020.

[18].

X. Wei, M.-L. Jin, H. Yang, X.-X. Wang, Y.-Z. Long, and Z. Chen, “Advances in 3d printing of magnetic materials: Fabrication, properties, and their applications,” Journal of Advanced Ceramics, vol. 11, no. 5, pp. 665–701, 2022

[19].

A. Maciel, T. Halic, Z. Lu, L. P. Nedel, and S. De, “Using the physx engine for physics-based virtual surgery with force feedback,” The International Journal of Medical Robotics and Computer Assisted Surgery, vol. 5, no. 3, pp. 341–353, 2009.

[20].

B. Thomaszewski, A. Gumann, S. Pabst, and W. Straßer, “Magnets in motion,” ACM Transactions on Graphics (TOG), vol. 27, no. 5, pp. 1–9, 2008.

[21].

S.-W. Kim, S. Y. Park, and J. Han, “Magnetization dynamics for magnetic object interactions,” ACM Transactions on Graphics (TOG), vol. 37, no. 4, pp. 1–13, 2018.

[22].

S.-w. Kim and J. Han, “Fast stabilization of inducible magnet simulation,” in SIGGRAPH Asia 2022 Conference Papers, 2022, pp. 1–8.

<저 자 소 개>

김 예 영

jkcgs-29-5-1-i1

  • 2020년 가톨릭대학교 물리학과 재학

  • 관심분야 : 컴퓨터 그래픽스, 머신러닝, 딥러닝

김 도 희

jkcgs-29-5-1-i2

  • 2020년 가톨릭대학교 미디어기술콘텐츠학과 재학

  • 컴퓨터그래픽스랩 학부연구생

  • 관심분야 : UX, 그래픽스

김 주 란

jkcgs-29-5-1-i3

  • 2021년 가톨릭대학교 미디어기술콘텐츠학과 재학

  • 관심분야 : 컴퓨터 그래픽스, 딥러닝, CFX, 컴퓨터 애니메이션

오 나 현

jkcgs-29-5-1-i4

  • 2019년 가톨릭대학교 물리학과 재학

  • 관심분야 : 컴퓨터 그래픽스, 모션그래픽, 딥러닝, 게임

최 명 걸

jkcgs-29-5-1-i5

  • 2004년 경북대학교 컴퓨터공학과 학사

  • 2010년 서울대학교 컴퓨터공학부 박사

  • 2011년 JST ERATO Design Interface Project 박사후 연구원

  • 2012년~2013년 IPAB, Edinburgh University 박사후 연구원

  • 2014년~현재 가톨릭대학교 미디어기술콘텐츠학과 미디어공학전공 교수

  • 관심분야: 컴퓨터 그래픽스, 캐릭터 애니메이션, 가상현실