초록
본 논문은 사용자의 제어가 가능한 3차원 물리 기반 가상생명체를 생성하는 2단계 진화 시스템을 제안한다. 기존의 방법은 가상생명체의 형상과 기동, 그리고 목표지점추적(target-following)과 같은 상위 레벨의 행위를 한꺼번에 하나의 진화 시스템으로 생성해냄으로 인하여 진화 단계에서의 사용자의 개입을 허용하지 않았다. 본 논문은 하나로 묶여있던 시스템을 다루기 용이한 두 개의 서브시스템으로 분리함으로써 사용자의 개입을 허용한다. 첫 번째 단계로 가상생명체의 몸체와 직진 기동을 위한 하위 레벨 모터 컨트롤러가 진화 알고리즘(evolutionary algorithm)으로 동시에 생성된다. 두 번째 단계에는 생성된 기본 생명체 위에 주어진 경로를 따라가기 위한 상위 레벨 컨트롤러가 인공 신경망을 사용하여 탑재된다. 경로제어(path-following)를 위한 신경망의 연결 가중치는 유전자 알고리즘(genetic algorithm)을 사용하여 최적화되며 한번 진화된 신경망 컨트롤러는 어떠한 임의의 경로도 잘 따라감을 보여준다. 이로써 사용자는 모든 진화과정이 끝나지 않고도 중간단계에서 기호에 맞는 생명체를 골라내거나 버릴 수 있으며, 동일한 기본 생명체 위에 또 다른 형태의 상위레벨 행위를 생성하는 것도 가능해진다. 본 논문은 이러한 2단계 알고리즘과 함께 직진기동을 위한 새로운 분절 삼각 함수(Piecewise sinusoidal) 컨트롤러를 제안하고 마개 실린더(capped-cylinder)를 기본 요소로 하는 가상생명체에 대한 효율적인 실시간 수중역학 모델링 기법도 함께 소개한다.
We present a two-step evolution system that produces controllable virtual creatures in physically simulated 3D environment. Previous evolutionary methods for virtual creatures did not allow any user intervention during evolution process, because they generated a creature's shape, locomotion, and high-level behaviors such as target-following and obstacle avoidance simultaneously by one-time evolution process. In this work, we divide a single system into manageable two sub-systems, and this more likely allowsuser interaction. In the first stage, a body structure and low-level motor controllers of a creature for straight movement are generated by an evolutionary algorithm. Next, a high-level control to follow a given path is achieved by a neural network. The connection weights of the neural network are optimized by a genetic algorithm. The evolved controller could follow any given path fairly well. Moreover, users can choose or abort creatures according to their taste before the entire evolution process is finished. This paper also presents a new sinusoidal controller and a simplified hydrodynamics model for a capped-cylinder, which is the basic body primitive of a creature.