검색 전체 메뉴
PDF
맨 위로
OA 학술지
물고기 로봇의 기하학적 경로 추종 Geometric Path Tracking for a Fish Robot
  • 비영리 CC BY-NC
  • 비영리 CC BY-NC
ABSTRACT
물고기 로봇의 기하학적 경로 추종

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.

KEYWORD
물고기 로봇 , 경로 추종 , 예견점
  • I. 서 론

    자연계에 존재하는 생물체의 특징을 흉내 내거나 메커니즘을 연구하여 제어 분야에 적용하는 연구가 많이 진행되고 있다. 신경회로망이나 퍼지제어 등과 같은 지능제어방법 역시 인간의 뇌 속의 신경 세포의 메커니즘을 모델링하거나 인간의 논리적 추론을 흉내 내어 모델링하는 방법이다[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)을 기준으로 방향 오차를 정의하여 물고기 로봇이 경로를 추종하도록 제어기를 설계하였다. 모의실험 결과 제안된 방법의 유용성을 확인할 수 있었다.

    II. 물고기 로봇의 직진유영 및 방향전환

    Carangiform형 물고기 로봇의 꼬리 모션 궤적은 물고기 로봇의 추진력과 방향을 결정하는 중요한 항목이다. 물고기 로봇의 직진 유형 모션 함수는 Lighthill에 의해 정의[10]된 몸체함수를 Liu 등이 변형한 모션함수를 사용하였다[6-8]. 이러한 모션 함수에 과거 본 연구자들에 의해 제안된 꼬리 모션 궤적 함수를 사용하여 적용하였다[8].

    로봇 물고기의 꼬리 관절 수를 4개로 사용하였으며, 꼬리 관절 각은 그림 1과 같이 정의하였다. 관절의 링크 길이는 lj로 정의하고, 각 링크의 좌표는 (xij, yij) 로 정의하였다. 각 관절 각도는 x축에 대하여 pij로 나타내며, 직전 링크에 대한 상대적인 관절 각도로 qij로 표시하였다.

    본 연구에서는 물고기 로봇의 링크 길이 [l1, l2, l3, l4]=[0.045, 0.045, 0.043, 0.085]로 설정하여, 로봇 물고기의 직진 유영에 대한 꼬리 관절 모션을 그림 2와 같이 구하였다.

    그림 2로부터 그림 1과 같이 각 링크에 대한 상대 관절 각도를 구하여 직진 유영 패턴을 만들었다. 본 연구에서는 위의 로봇 물고기의 링크 궤적을 식 (1)과 같이 푸우리에 급수 전개를 통하여 표현하고 이를 각 링크의 궤적으로 선정하였다.

    단, i=0,..., 19, j=1,..., 4, anj, ϕnj는 푸우리에 급수 전개에 의한 진폭스펙트럼과 위상스펙트럼

    물고기 로봇은 첫 번째 꼬리 관절이나 모든 꼬리 관절을 일정 각도로 치우쳐 진동(oscillation)하면 회전과 추력을 동시에 발생한다. 본 연구에서는 모든 꼬리 관절 모션에 경로 추종을 위한 PID 제어기를 구성하여 직진 유영과 회전이 동시에 발생하도록 제어기를 구성하였다. 식 (2)는 물고기 로봇의 각 관절 궤적에 경로추정을 위한 PID 제어기를 첨가하여 제어기를 구성하였다.

    단, Upid는 경로 추종을 위한 PID 제어기 출력

    III. 물고기 로봇의 가상 위치 검출 및 기하학적 경로 추정

       3.1. 물고기 로봇의 가상 위치 검출

    물고기 로봇의 경로 추종을 위하여 제어 대상인 물고기 로봇의 현재 위치를 정확히 알아야 한다. 그러나 물고기 로봇은 몸체 및 꼬리 관절이 사인파로 요동치며 추력을 받아 앞으로 움직이므로 현재의 위치를 정확히 안다고 하여도 제어를 행하기 어렵다. 그러므로 물고기 로봇의 전체 경로에 기초하여 현재의 물고기 로봇의 방향성을 바탕으로 가상의 위치를 검출하여야 한다. 로봇의 각 링크가 일정한 주파수 성분을 갖는다면 물고기 로봇의 진행방향의 속도성분이 거의 같으므로 진행 방향에 대한 위치 성분은 추정이 가능하다. 또한 진행 방향의 직각 방향 성분은 사인 함수와 같은 궤적을 형성하므로 이를 바탕으로 가상의 위치를 추정할 수 있다.

    그림 3과 같이 물고기 로봇 머리의 무게 중심이 직진유영 시 사인 함수와 같이 변화할 경우를 표시하였다. 진행 방향의 직각 성분 위 아래로 변화되는 위치의 최저점과 최고점을 식 (3)와 같이 평균점들을 구하고, 시간 t에서의 가상의 위치를 식 (4)과 같이 추정할 수 있다. 물고기 로봇의 진행 방향에 대한 가상의 위치는 현재의 위치 성분과 같다. 이는 물고기 로봇의 각 링크가 일정한 주파수 성분을 갖는 경우, 진행 방향의 속도가 일정하므로 가능하다.

    단, py(k)는 시간 tk에서의 물고기 로봇 머리의 무게 중심의 최저점이나 최고점의 좌표이다.

    단, tkt < tk+1이고, ΔT는 최저점과 최고점 사이의 시간 간격을 나타낸다.

       3.2. 기하학적 경로 추종

    일반적인 모바일 로봇의 경로 추종 방법은 기준 경로에서 이동 로봇이 떨어져 있는 정도와 기준 경로의 방향과 이동 로봇의 방향 간의 차이를 각각 위치 오차와 방향 오차로 정의한 뒤, 이 오차를 줄이도록 제어한다[11, 12].

    본 연구에서는 식 (4)와 같이 가상의 위치를 추정하고 기준 경로에 대한 방향 오차만을 정의하여 제어를 행하고자 한다. 이는 로봇의 각 링크가 일정한 주파수 성분을 갖는다면 물고기 로봇의 진행방향의 속도가 같으므로 위치 오차 부분은 고려할 필요가 없다. 그러므로 물고기 로봇이 주어진 경로 위에 목표점을 설정하여 목표점 방향으로 나아가도록 제어를 행하면 된다. 이는 운전자가 차량을 운전할 경우, 목표 지점을 쳐다보며 운전하듯이 물고기 로봇은 기준 경로 위에 예견점을 바라보며 제어를 하는 것이다.

    그림 4는 물고기 로봇의 추정된 위치(,)와 주어진 경로 위의 예견점(look-ahead point) 사이의 각도 오차를 θa(t)로 두고, 로봇의 추정된 위치에서의 물고기 로봇의 방향 오차를 θt(t)로 두었다. 예견점은 물고기 로봇 무게 중심의 추정 위치를 중심으로 반지름 R인 원과 주어진 경로가 만나는 점으로 만약 여러 개의 예견점이 존재할 경우, 궁극적인 로봇의 최종 위치와 가까운 값으로 선정한다. 이렇게 선정선 예견점에 대한 각도 오차 θa(t)와 추정 위치에 의한 방향 오차 θt(t)를 사용하여 식 (5)와 같이 기준 경로에 대한 방향 오차 θc(t)를 사용하여 제어를 행하고자 한다.

    단, (Lx(t), Ly(t))는 예견점을 나타내고, θc(t)는 제어를 위한 오차 변수이다

    기하학적 경로 추종을 위한 제어기는 일반적인 PID 제어기를 식 (6)과 같이 설계할 수 있다.

    여기서, 파라메터 a1,j는 각 링크의 최대 진폭 값이며, Kp , Ki, Kd는 제어기의 비례, 적분, 미분 이득을 나타낸다.

    그림 5는 물고기 로봇의 기하학적 경로 추종을 위한 전체적인 제어 블록다이어그램을 나타내었다. 물고기 로봇의 현재 위치로부터 식 (4)에 의해 위치를 추정하고, 추정된 위치와 주어진 경로를 사용하여 식 (5)와 같이 방향 오차를 구해낸다. 방향 오차를 사용하여 식 (6)과 같이 PID 제어기를 구성하여 직진 유영과 회전이 동시에발생하도록 직진 유영을 위한 꼬리 링크 궤적을 포함하여 제어기를 구성하였다.

    IV. 모의실험 및 결과 분석

    모의실험은 유체 속에서 다 관절 몸체에 대한 추력 및 모션 등을 연구할 수 있는 Biohydrodynamics Toolbox[13, 14]를 사용하였다. 기본적인 고체 역학과 유체 역학을 기초로 유체-구조 상호 작용 시스템에 대한 해석도 가능하다. 유체 모델은 완벽한 유체모델을 사용하여, 노이만 경계 값 문제를 사용하여 유체 내의 역학식을 해결하였다. 로봇 물고기의 몸체 설계는 carangiform 형태로 설계하였으며, 로봇 물고기의 제원은 표 1과 같으며, 로봇 물고기 머리 부분의 무게 중심을 원점으로 놓았으며, 각 꼬리 관절은 독립적인 좌표를 가지고 있다.

    [표 1.] 로봇 물고기 제원

    label

    로봇 물고기 제원

    그림 6은 물고기 로봇이 임의의 유영 시 로봇 머리의 무게 중심과 그에 대한 가상의 위치 값을 식 (4)에 의해 표시하였다. 초기 7초까지는 정지 상태에서 물고기 로봇의 꼬리 지느러미가 추력을 받아 진폭의 차이가 커선형 근사가 어려우나, 이 부분은 초기 위치에서 정상속도로 가는 가속 구간으로 간주하여 추정 위치를 시간에 대한 시그모이드 함수(sigmoid function)를 사용하여 영향을 적도록 설정하였다.

    로봇 물고기의 속도를 일정하게 설정하기 위하여 식(1)의 관절 링크의 주파수 𝜔 = 2π로 설정하고, 로봇 물고기의 경로 추종을 위해 식 (6)의 제어기 이득 [Kp, Ki, Kd]=[0.1, 0.009, 0.0002]으로 설정하였다. 그리고 로봇 물고기의 최초 위치는 원점 (0, 0)에서 출발하여, 식 (7)과 같이 추종 경로를 설정하였으며, 예견점 추정을 위해 반지름 R = 10.5로 설정하였다.

    단, yc(t)는 시간에 대한 경로 궤적

    그림 7-(a)는 물고기 로봇이 주어진 경로에 대한 경로 추종 결과를 나타낸다. 그림 7-(b), (c)는 시간에 대한 물고기 로봇의 무게 중심의 좌표를 표시하였다. 물고기 로봇의 주행 방향인 -x축 방향의 값이 일정하게 증가됨을 알 수 있다. 이는 물고기 로봇의 각 링크가 일정한 주파수 성분을 갖는 경우, 물고기 로봇의 진행방향의 속도가 거의 같음을 모의실험을 통하여 확인하였다. 또한 경로가 바뀌어도 잘 추종함을 알 수 있었다.

    V. 결 론

    물고기 로봇 연구는 몸체 및 꼬리 관절 궤적의 크기나 주파수의 크기에 따른 로봇의 추력 비교 또는 꼬리관절 궤적을 적절한 함수로 선정하여 물고기 로봇의 빠른 회전 등과 관련된 연구가 주를 이루고 있었다. 그러므로 물고기 로봇의 경로 추종 및 궤적 제어와 관련한 논문은 전무한 실정이다.

    본 연구에서는 물고기 로봇이 추력을 받아 앞으로 유영할 경우, 로봇의 몸체 및 꼬리 관절이 사인파와 같이 좌, 우로 요동치며 움직이므로 피드백 제어를 행하기 어렵다. 따라서 물고기 로봇의 경로에 기초한 가상의 위치를 검출하고, 검출된 위치를 사용하여 주어진 경로위의 예견 점(look-ahead point)을 기준으로 방향 오차를 정의하여 물고기 로봇이 경로를 추종하도록 제어기를 설계하였다. 모의실험 결과 제안된 방법의 유용성을 확인할 수 있었다.

참고문헌
  • 1. Zadeh L. A. 1965 Fuzzy Sets [“Fuzzy Sets,”] Vol.8 P.338-358 google cross ref
  • 2. Mamdani E. H. 1974 “Application of Fuzzy Algorithms for the Control of a Dynamic Plant,” [Proceeding of IEEE] Vol.121 P.1585-1588 google
  • 3. Hines J. W. 1997 MATLAB Supplement to Fuzzy and Neural Aproaches in Engineering google
  • 4. Liu Jinding, Hu Huosheng 2010 "Biological Inspiration: From Carangiform Fish to Multi-Joint Robotic Fish," [Journal of Bionic Engineering] Vol.7 P.35-48 google cross ref
  • 5. shao J., Wang L., Yu J. 2008 "Development of an artificial fish-like robot and its application in cooperation transportation," [Control Engineering Practice] Vol.16 P.569-584 google cross ref
  • 6. Liu J D, Dukes I, Hu H S 2005 "Novel mechatronics design for a robotic fish," [IEEE/RSJ International Conference on Intelligent Robots and Systems] P.2077-2082 google
  • 7. Liu J D, Hu H S 2005 "Mimicry of sharp turning behaviours in a robotic fish." [Proceedings of the IEEE International Conference on Robotics and Automation] P.3329-3334 google
  • 8. Park Jin-Hyun, Lee Tae-Hwan, Choi Young-Kiu 2011 'A study on the straight cruise of fish robot according to biological mimic' [Journal of the Korea Institute of Information and Communication Engineering] Vol.15 P.1756-1763 google cross ref
  • 9. Yan Qun, Han Zhen, Zhang Shi-wu, Yang Jie 2008 "Parametric Research of Experiments on a Carangiform Robot Fish," [Journal of Bionic Engineering] Vol.5 P.95-101 google cross ref
  • 10. Lighthill M J 1960 “Note on the swimming of slender fish.” [Journal of Fluid Mechanics] Vol.9 P.305-317 google cross ref
  • 11. Koh K.C., Cho H.S. 1999 "A smooth path tracking algorithm for wheeled mobile robots with dynamic contraints," [Journal of Intellignet and Robotics Systems] Vol.24 P.367-385 google cross ref
  • 12. Kim D. H., Kim C. J., Han C. S. 2010 "Geometric path tracking and obstacle avoidance methds for an autonomous navigation of nonholonomic mobile robot," [Journal of Intellignet and Robotics Systems] Vol.16 P.771-779 google
  • 13. Munnier A., Pincon B. Biohydrodynamics MATLAB Toolbox google
  • 14. Mathworks, matlabcentral File Exchange page google
이미지 / 테이블
  • [ 그림 1. ]  관절 각의 정의
    관절 각의 정의
  • [ 그림 2. ]  직진 유영 시 꼬리 관절 모션
    직진 유영 시 꼬리 관절 모션
  • [ 그림 3. ]  물고기 로봇의 위치 추정
    물고기 로봇의 위치 추정
  • [ 그림 4. ]  물고기 로봇의 예견점 및 각도 오차
    물고기 로봇의 예견점 및 각도 오차
  • [ 그림 5. ]  경로 추종을 위한 제어 시스템
    경로 추종을 위한 제어 시스템
  • [ 표 1. ]  로봇 물고기 제원
    로봇 물고기 제원
  • [ 그림 6. ]  물고기 로봇의 무게 중심과 가상의 위치
    물고기 로봇의 무게 중심과 가상의 위치
  • [ 그림 7. ]  물고기 로봇의 경로 추종 (a) 경로 추종 (b) px (t) (c) py (t)
    물고기 로봇의 경로 추종 (a) 경로 추종 (b) px (t) (c) py (t)
(우)06579 서울시 서초구 반포대로 201(반포동)
Tel. 02-537-6389 | Fax. 02-590-0571 | 문의 : oak2014@korea.kr
Copyright(c) National Library of Korea. All rights reserved.