The study of fish robot is a main subject that are related with the propulsive force comparison using a varying amplitude and frequency for body and tail motion trajectory, and the quick turn using a proper trajectory function. In this study, when a fish robot thrusts forward, feedback control is difficult to apply for a fish robot, because body and tail joints as a sine wave are rolled. Therefore, we detect the virtual position based on the path of the fish robot, define the angle errors using the detected position and the look-ahead point on the given path, and design a controller to track given path. We have found that the proposed method is useful through the computer simulations.
자연계에 존재하는 생물체의 특징을 흉내 내거나 메커니즘을 연구하여 제어 분야에 적용하는 연구가 많이 진행되고 있다. 신경회로망이나 퍼지제어 등과 같은 지능제어방법 역시 인간의 뇌 속의 신경 세포의 메커니즘을 모델링하거나 인간의 논리적 추론을 흉내 내어 모델링하는 방법이다[1-3].
로봇 물고기 역시 수중에서의 물고기 운동 메커니즘을 연구 분석하여 로봇 물고기의 추력이나 빠른 방향회전 등과 같은 연구가 진행되어왔다[4-6]. 이는 수중생물체들은 여러 세대를 걸쳐 수중 환경에 최적화된 운동 메커니즘을 가지고 있기 때문이다. 특히 물고기의 유형 중 몸체와 꼬리 지느러미를 사용하는 BCF(Body and/or Caudal Fin)는 빠른 속도와 추진 효율이 뛰어나 많은 연구자들의 기본 연구 테마로 연구가 되어왔다[4,5,7-9]. 90년대 초 MIT에서 Robotuna가 개발되었고, Mason과 Burdick은 carangiform 모델을 개발하여 꼬리지느러미의 추력을 실험적으로 확인하였다. Liu 등은 Lighthill의 시간과 거리에 따른 물고기 몸체 형상 함수[10]를 물고기 로봇의 꼬리 관절 모션함수로 변화하여고기 로봇에 적용하였다[4-8]. 그러므로 물고기 로봇연구는 몸체 및 꼬리 관절 궤적의 크기나 주파수의 크기에 따른 로봇의 추력 비교 또는 꼬리 관절 궤적을 적절한 함수로 선정하여 물고기 로봇의 빠른 회전과 관련된 연구 등이 주를 이루고 있어 물고기 로봇의 경로 추종 및 궤적 제어와 관련한 논문은 전무한 실정이다.
경로 추종 방법은 일반적인 모바일 로봇의 경우 기준 경로(reference path)에서 이동로봇이 떨어져 있는 정도와 기준 경로의 방향과 이동 로봇의 방향간의 차이를 각각 위치 오차와 방향 오차로 정의한 뒤, 이 오차를 줄이도록 제어한다[11,12]. 본 연구에서도 이와 유사한 방법을 적용하려면 제어 대상인 물고기 로봇의 현재 위치를 정확히 알아야 한다. 그러나 물고기 로봇이 추력을 받아 앞으로 유영할 경우, 로봇의 몸체 및 꼬리 관절이 사인파와 같이 좌, 우로 요동치며 움직이므로 현재의 로봇 위치를 정확히 안다고 하여도 제어를 행하기 어렵다. 따라서 물고기 로봇의 경로에 기초한 현재의 가상위치를 검출하여 물고기 로봇의 경로 추종 제어를 행하고자 한다.
본 연구는 물고기 로봇의 경로 추종과 관련하여 물고기 로봇의 가상 위치를 검출하고, 검출된 위치를 사용하여 주어진 경로 위의 예견 점(look-ahead point)을 기준으로 방향 오차를 정의하여 물고기 로봇이 경로를 추종하도록 제어기를 설계하였다. 모의실험 결과 제안된 방법의 유용성을 확인할 수 있었다.
Carangiform형 물고기 로봇의 꼬리 모션 궤적은 물고기 로봇의 추진력과 방향을 결정하는 중요한 항목이다. 물고기 로봇의 직진 유형 모션 함수는 Lighthill에 의해 정의[10]된 몸체함수를 Liu 등이 변형한 모션함수를 사용하였다[6-8]. 이러한 모션 함수에 과거 본 연구자들에 의해 제안된 꼬리 모션 궤적 함수를 사용하여 적용하였다[8].
로봇 물고기의 꼬리 관절 수를 4개로 사용하였으며, 꼬리 관절 각은 그림 1과 같이 정의하였다. 관절의 링크 길이는
본 연구에서는 물고기 로봇의 링크 길이 [
그림 2로부터 그림 1과 같이 각 링크에 대한 상대 관절 각도를 구하여 직진 유영 패턴을 만들었다. 본 연구에서는 위의 로봇 물고기의 링크 궤적을 식 (1)과 같이 푸우리에 급수 전개를 통하여 표현하고 이를 각 링크의 궤적으로 선정하였다.
단,
물고기 로봇은 첫 번째 꼬리 관절이나 모든 꼬리 관절을 일정 각도로 치우쳐 진동(oscillation)하면 회전과 추력을 동시에 발생한다. 본 연구에서는 모든 꼬리 관절 모션에 경로 추종을 위한 PID 제어기를 구성하여 직진 유영과 회전이 동시에 발생하도록 제어기를 구성하였다. 식 (2)는 물고기 로봇의 각 관절 궤적에 경로추정을 위한 PID 제어기를 첨가하여 제어기를 구성하였다.
단,
III. 물고기 로봇의 가상 위치 검출 및 기하학적 경로 추정
물고기 로봇의 경로 추종을 위하여 제어 대상인 물고기 로봇의 현재 위치를 정확히 알아야 한다. 그러나 물고기 로봇은 몸체 및 꼬리 관절이 사인파로 요동치며 추력을 받아 앞으로 움직이므로 현재의 위치를 정확히 안다고 하여도 제어를 행하기 어렵다. 그러므로 물고기 로봇의 전체 경로에 기초하여 현재의 물고기 로봇의 방향성을 바탕으로 가상의 위치를 검출하여야 한다. 로봇의 각 링크가 일정한 주파수 성분을 갖는다면 물고기 로봇의 진행방향의 속도성분이 거의 같으므로 진행 방향에 대한 위치 성분은 추정이 가능하다. 또한 진행 방향의 직각 방향 성분은 사인 함수와 같은 궤적을 형성하므로 이를 바탕으로 가상의 위치를 추정할 수 있다.
그림 3과 같이 물고기 로봇 머리의 무게 중심이 직진유영 시 사인 함수와 같이 변화할 경우를 표시하였다. 진행 방향의 직각 성분 위 아래로 변화되는 위치의 최저점과 최고점을 식 (3)와 같이 평균점들을 구하고, 시간
단,
단,
일반적인 모바일 로봇의 경로 추종 방법은 기준 경로에서 이동 로봇이 떨어져 있는 정도와 기준 경로의 방향과 이동 로봇의 방향 간의 차이를 각각 위치 오차와 방향 오차로 정의한 뒤, 이 오차를 줄이도록 제어한다[11, 12].
본 연구에서는 식 (4)와 같이 가상의 위치를 추정하고 기준 경로에 대한 방향 오차만을 정의하여 제어를 행하고자 한다. 이는 로봇의 각 링크가 일정한 주파수 성분을 갖는다면 물고기 로봇의 진행방향의 속도가 같으므로 위치 오차 부분은 고려할 필요가 없다. 그러므로 물고기 로봇이 주어진 경로 위에 목표점을 설정하여 목표점 방향으로 나아가도록 제어를 행하면 된다. 이는 운전자가 차량을 운전할 경우, 목표 지점을 쳐다보며 운전하듯이 물고기 로봇은 기준 경로 위에 예견점을 바라보며 제어를 하는 것이다.
그림 4는 물고기 로봇의 추정된 위치(,)와 주어진 경로 위의 예견점(look-ahead point) 사이의 각도 오차를
단, (
기하학적 경로 추종을 위한 제어기는 일반적인 PID 제어기를 식 (6)과 같이 설계할 수 있다.
여기서, 파라메터
그림 5는 물고기 로봇의 기하학적 경로 추종을 위한 전체적인 제어 블록다이어그램을 나타내었다. 물고기 로봇의 현재 위치로부터 식 (4)에 의해 위치를 추정하고, 추정된 위치와 주어진 경로를 사용하여 식 (5)와 같이 방향 오차를 구해낸다. 방향 오차를 사용하여 식 (6)과 같이 PID 제어기를 구성하여 직진 유영과 회전이 동시에발생하도록 직진 유영을 위한 꼬리 링크 궤적을 포함하여 제어기를 구성하였다.
모의실험은 유체 속에서 다 관절 몸체에 대한 추력 및 모션 등을 연구할 수 있는 Biohydrodynamics Toolbox[13, 14]를 사용하였다. 기본적인 고체 역학과 유체 역학을 기초로 유체-구조 상호 작용 시스템에 대한 해석도 가능하다. 유체 모델은 완벽한 유체모델을 사용하여, 노이만 경계 값 문제를 사용하여 유체 내의 역학식을 해결하였다. 로봇 물고기의 몸체 설계는 carangiform 형태로 설계하였으며, 로봇 물고기의 제원은 표 1과 같으며, 로봇 물고기 머리 부분의 무게 중심을 원점으로 놓았으며, 각 꼬리 관절은 독립적인 좌표를 가지고 있다.
로봇 물고기 제원
그림 6은 물고기 로봇이 임의의 유영 시 로봇 머리의 무게 중심과 그에 대한 가상의 위치 값을 식 (4)에 의해 표시하였다. 초기 7초까지는 정지 상태에서 물고기 로봇의 꼬리 지느러미가 추력을 받아 진폭의 차이가 커선형 근사가 어려우나, 이 부분은 초기 위치에서 정상속도로 가는 가속 구간으로 간주하여 추정 위치를 시간에 대한 시그모이드 함수(sigmoid function)를 사용하여 영향을 적도록 설정하였다.
로봇 물고기의 속도를 일정하게 설정하기 위하여 식(1)의 관절 링크의 주파수 𝜔 = 2π로 설정하고, 로봇 물고기의 경로 추종을 위해 식 (6)의 제어기 이득 [
단,
그림 7-(a)는 물고기 로봇이 주어진 경로에 대한 경로 추종 결과를 나타낸다. 그림 7-(b), (c)는 시간에 대한 물고기 로봇의 무게 중심의 좌표를 표시하였다. 물고기 로봇의 주행 방향인 -
물고기 로봇 연구는 몸체 및 꼬리 관절 궤적의 크기나 주파수의 크기에 따른 로봇의 추력 비교 또는 꼬리관절 궤적을 적절한 함수로 선정하여 물고기 로봇의 빠른 회전 등과 관련된 연구가 주를 이루고 있었다. 그러므로 물고기 로봇의 경로 추종 및 궤적 제어와 관련한 논문은 전무한 실정이다.
본 연구에서는 물고기 로봇이 추력을 받아 앞으로 유영할 경우, 로봇의 몸체 및 꼬리 관절이 사인파와 같이 좌, 우로 요동치며 움직이므로 피드백 제어를 행하기 어렵다. 따라서 물고기 로봇의 경로에 기초한 가상의 위치를 검출하고, 검출된 위치를 사용하여 주어진 경로위의 예견 점(look-ahead point)을 기준으로 방향 오차를 정의하여 물고기 로봇이 경로를 추종하도록 제어기를 설계하였다. 모의실험 결과 제안된 방법의 유용성을 확인할 수 있었다.