DOI QR코드

DOI QR Code

Dynamic Model and P-PD Control based Flight Performance Evaluation for Hexa-Rotor Type UAV

헥사로터형 무인기의 모델링과 P-PD기반 비행성능평가

  • Jin, Taeseok (Dept. of Mechatronics Engineering, Dongseo University)
  • Received : 2015.05.27
  • Accepted : 2015.06.18
  • Published : 2015.07.01

Abstract

In the last decades, the increasing interest in unmanned aerial vehicle(UAV) for military, surveillance, and rescue applications made necessary the development of flight control theory and body structure more and more efficient and fast. In this paper, we describe the design and performance of a prototype hexarotor UAV platform featuring an inertial measurement unit(IMU) based autonomous-flying for use in bluetooth communication environments. The proposed system comprises the construction of the test hexarotor platform, the implementation of an IMU, dynamic modeling and simulation in the hexarotor helicopter. Furthermore, the hexarotor helicopter with implemented IMU is connected with a micro controller unit(ARM-cortex) board. The P-PD control algorithm was used to control the hexarotor. We used the Matlab software to help us to tune the P-PD control parameters for quick response and minimizing the fluctuation. The control simulation and experiment on the real system are implemented in the test platform, evaluated and compared against each other.

Keywords

1. 서 론

최근 UAV (Unmanned Aerial Vehicle)의 소형화 및 고성능화가 현저하게 진행되면서 물류서비스, 재난 구호, 감시 임무, 엔터테인먼트 등과 같은 다양한 응용분야로 연구와 제품화가 진행되고 있다. 이러한 배경에는 기존의 싱글 로터 형태의 헬기 메커니즘의 복잡성에 대하여 멀티 로터 헬기는 로터의 회전 수 제어만으로 비행이 가능하고 또한 소형 고출력 모터 및 초소형 경량 센서의 양산과 고성능 프로세서 개발로 인하여 멀티 로터 헬리콥터의 실용화에 큰 기여를 하였다고 볼 수 있다[1, 2]. 따라서 스와시 플레이트(Swashplate: 회전축의 운동이 상호운동으로 바꿔 주거나 상호운동을 회전으로 바꾸어주는 크랭크샤프트와 같은 메카니즘)를 갖는 단일 로터 헬기는 자동 제어 장치를 응용한 비행 메커니즘 제작에 어려움이 많았지만, 모터의 회전 수 제어만으로 비행이 가능한 멀티 로터 헬기는 쉽게 제작 가능하다. 특히 전자 회로 및 마이크로 소프트웨어뿐만 아니라 제어 공학을 학습하는 대학(원)생들에게는 매력적인 연구 대상이 되고 있는 것도 본 UAV분야가 급성장하고 있는 이유라고 생각된다[3, 4].

본 연구의 궁극적인 목표는 개발 중인 헥사로터(Hexarotor) 헬리콥터를 응용한 원격제어 기술구현을 위한 시스템 구조 및 제어를 위한 수학적 모델링을 기술하였다. 이러한 헥사로터 헬리콥터는 자율형 소형 비행 로봇을 활용함으로써 재난시와 경비를 위한 정보 수집 등 실제 임무에 응용하는 것이다. 이러한 목적을 달성하기위한 설계 및 제작과정, 비행원리, 비행을 위한 기초 시뮬레이션 등의 연구를 실시했다[5, 6].

논문의 구성으로는 2장에서 IMU(Inertial Measurement Unit)와 MCU (Micro Controller Unit)를 중심으로 한 소형이면서 강력한 처리 성능을 가진 전자 회로 설계를 위한 시스템구성을 소개하였고(그림 1), 3장에서는 헥사로터의 비행기체의 모델링과 비행동력학을 설명하였다. 끝으로 4장과 5장에서 제어기 설계 및 시뮬레이션을 통한 실험결과와 제안된 제어 알고리즘에 의한 실험결과를 각각 제시하였다.

그림 1실험용 헥사로터 헬리콥터 Fig. 1 Flight-capable prototype of Hexrotor

 

2. 시스템구성

2.1 회로구성

시스템의 전체 시스템은 메인회로와 모터 드라이버 회로로 구성하였다. 메인 회로는 그림 2와 같이 ARM, DDR SDRAM (Double Data Rate Synchronous Dynamic Random Access Memory), MCU, IMU(3축 가속도계, 3축 자이로 센서, 나침반 센서), 이미지 센서로 구성 되어있다. MCU는 주기적으로 호출되는 함수명령에 의해서 센서 정보에 근거한 자세 제어를 수행하게 되며, 또한 센싱에 따른 관측 및 비행을 위해 필요한 외부 정보를 처리하게 된다. 비행과 동시에 모니터링에 의한 다량의 영상정보 처리를 위하여 프론트 엔드 부분의 신호 처리를 ARM 프로세서에 의해 병렬 처리함으로써 이미지에서 실시간(30fps)으로 녹화 및 특징점 검출과 같은 기능을 수행하게 된다. 한편, 모니터링에 의한 녹화된 영상은 ARM MCU의 명령에 따라 DDR SDRAM의 이미지(160x120)정보를 저장할 수 있다. 또한 마이크로 컨트롤러에 대한 정보의 전송은 DMA 전송을 통해 이루지게 그림 3과 같이 구성하였다.

그림 2회로시스템구성 Fig. 2 Circuit System Overview

그림 3메인 회로보드 Fig. 3 Main circuit board of hexarotor

2.2 기구부

기체의 소재 및 기반은 육각형의 ABS 수지이며 보드장착을 위한 상위 보드판은 CAD 데이터를 기반으로 제작한 3D 프린터 출력물로 구성하였다 각 로터 끝단에는 사용품의 브러시리스 모터와 13인치 직경의 프로펠러가 탑재되어 있으며 중앙에는 ARM 프로세서 및 전자 회로, 배터리를 각각 장착하였고 하단의 부분에는 영상장비를 장착할 수 있는 2축의 짐벌(gimbal)이 장착되게 설계 및 구성하였다.

그 외 그림 3과 같이 하위제어기 구성으로서는 지상 기지국과의 통신 및 기체의 위치와 방향 등을 제어하기 위한 메인 제어(Main controller: MC)기를 사용화 NAZA 제품으로 적용하여 ESC와 RC 송신기를 사용하여 통신을 수행하고 자동 조종 기능을 수행할 수 있도록 하였다. 또한 Versatile Unit(VU) 유닛을 적용하여 NAZA 제품의 전용 헥사로터 시스템의 고소비전력 문제를 해결해주며 MC의 전원공유와 MC의 상태 및 환경설정 등을 USB를 통해서 설정해주는 펌웨어 기능을 담당하게 된다. 그리고 헥사로터의 위치 및 방향을 감지하기 위한 센서로는 GPS & 컴파스 모듈을 각각 적용하였다.

 

3. 헥사로터 모델링

3.1 기구학

본 절에서는 비행 테스트를 위해 적용된 헥사로터 형태의 헥사로터 헬리콥터의 수학적 모델을 소개하고자 한다. 우선 이 모델은 3차원 공간상의 좌표계로 표현되는 강체형태의 기체로서 소형 헥사로터를 기준으로 한 모델이 되겠다. 본 기체에 장착된 6개의 전기모터의 동역학에서는 고속회전으로 인한 블레이드의 유연성 등은 고려하지 않기로 하였다.

그림 4는 헥사로터의 기구학적 좌표 관계를 보여주고 있다. 헥사로터의 운동을 표현하기 위해서는 두 개의 기준좌표인 고정 프레임좌표와 이동프레임 좌표를 필요로 한다. 비행기체의 운동은 지리적인 맵을 기준으로 표현하는 전역좌표계를 사용하게 된다. 이러한 기준이 되는 전역좌표계를 E={xE, YE, zE}로 표시하고 헥사로터 기체에 대한 이동 프레임 좌표계를 B = {xB, yB, zB}, 전역좌표계에서 헥사로터의 절대위치를 (x, y, z)로 표현하였다. 그리고 관성계에 대한 비행기체의 각변위 위치를 각각 오일러 각 (롤 ϕ, 피치 θ, 요우 ψ)으로 표시하였다. 따라서, 비행기체의 관성계에 따른 위치벡터와 오일러 각 벡터는 ξ= [x,y,z]T, η = [ϕ, θ, ψ]T 으로 각각 표현할 수 있다[7-9].

그림 4고정 프레임 좌표와 이동 프레임 좌표 관계 Fig. 4 Two frames of reference and their relation

이동프레임에서 관성프레임까지의 변환은 다음과 같은 회전행렬 R로 표현할 수 있다.

여기서 R은 대칭행렬로서 역행렬과 전치행렬이 동일하게 표현된다. 따라서 전역좌표계에서 비행기체로의 변환행렬은 R−1 = RT로 표현된다.

따라서 관성계에서 이동프레임으로 각속도에 대한 변환행렬은 다음과 같이 T로 표현할 수 있다.

반면 이동프레임에서 관성계로의 변환행렬 은 다음과 같다.

따라서 변환법칙을 정리하면 다음과 나타낼 수 있게된다.

여기서 각속도는 v=[p q r]T 벡터, p,q,r은 각각 이동프레임 좌표축 xB,yB,zB에 대한 기체의 각속도 성분으로 표현된다.

3.2 사원수

앞 절에서 오일러 각으로 표현되는 공간상의 강체의 회전과 변환관계를 정리하였다. 하지만, 변환법칙의 특이점은 전위 좌표계에 대한 헥사로터의 방향을 표현하기 위하여 사원수와 같은 새로운 매개 변수화 방법을 적용하고자 한다. 사원수는 일반적으로 컴퓨터 게임 개발 및 3D 가상세계 표현뿐만 아니라 3차원 공간에서 강체 회전방법과 같은 여러 응용 분야에서 이용된다.

이러한 사원수 표현은 포인트가 고정 된 임의의 강체의 병진운동은 회전운동과 동일한 변수로 표현하는 오일러의 회전 이론을 기반으로 본 모델링을 적용하고자 한다.

따라서, 만약 각속도 v=[p q r]T이고 α가 단위벡터 u= (u1,u2,u3)에 대한 회전각라면 사원수는 q=[q0 q1 q2 q3]T으로 표현할 수 있게 된다(단, q0 = cos(α/2), q1 = sin(α/2)u1, q2 = sin(α/2)u2 q3 = sin(α/2)u3 .

사원 수 회전은 지속적으로 단축을 변경할 수 있기 때문에 오일러 각 방법과는 달리 사전에 정의된 일련의 회전축이 필요하지 않는다. 그리고, 임의의 방향 축을 주위로 하는 회전 방법은 단지 하나의 회전축만을 갖는다는 사실에 기인하기 때문에 자유도가 손실 되지 않는다. 따라서 짐벌 잠금이 발생할 수 없다.

본체 프레임에서 관성 프레임으로 표현되는 병진속도의 변환은 ξ= QξB로 표현된다. 여기서 위치 ξ= [x y z]T, 자세 η= [ϕ θ ψ]T를 나타내며 Q는 다음과 같은 행렬로 표현된다.

회전행렬 R에 있어서 Q는 Q−1 = QT 을 성립하는 orthogonal matrix 이다.

따라서, 변환행렬을 각속도 변수로 표현하게 되면 다음과 나타낼 수 있다.

여기서 행렬S는 다음과 같은 사원수 성분으로 구성된다.

3.3 동역학

이전 연구[1]에서 제시한 헥사로터(Hexa rotor)의 일반식을 기준으로 하여 헥사로터의 동역학적 운동을 표현하는 수학적 모델을 제시하고자 한다. 기체의 모션은 변환(Translation)과 회전(Rotation)부분으로 분리할 수 있는데, 동역학을 표현하기 위해서는 강체형태로 가정한 뉴턴-오일러(Newton-Euler)기법을 적용한 선형화된 각속도 운동으로 고려하였다[4, 5].

우선 기체에 작용하는 힘은 다음과 같이 표현할 수 있다.

여기서 v는 각속도로 정의하고 벡터 v = [p q r]T로 표현한다. 질량 m은 상수이다.

각 로터 i는 각속도 ωi를 가지며 추력 상수 k와 함께 추력힘, 를 발생하게 된다. 따라서 추진력 TB는 TB= [0 0 T]T의 차원을 갖는 아래의 식으로 표현할 수 있다.

또한, 기체에 작용하는 중력힘을 고려한 전체 추진력은 다음과 같이 다시 표현 할 수 있다.

여기서 Q는 사원수라고 하는 것으로서 3D 공간상에 회전연산을 위한 연산자로서 [2]에서 제시한 수식을 인용하도록 하였다.

그리고 전체 외부모멘트 M은 각 운동량, H= Iv의 변화율을 적용함으로서 헥사로터에 작용하는 모멘트는 다음과 같이 표현할 수 있다.

따라서, 각 로터는 로터회전축을 중심으로 다음과 같은 각속도와 가속도 성분을 포함하는 토크 힘을 만들어 낸다.

여기서 b는 항력상수, IM은 로터 i의 관성모멘트이다.

헥사로터 형태의 헥사로터의 기하학적 구조와 전체 프레임에 대한 fi와 τMi 성분을 이용하여 롤, 피치, 요값을 아래의 식으로 표현할 수 있다.

여기서, l은 각 로터에서 헥사로터의 무게중심까지의 거리이다. 는 시간 t에 대한 ωi(t)의 미분(dωi(t)/dt)값으로 표시하였다.

결과적으로 헥사로터의 회전운동학을 결정하는 수식은 아래와 같이 정할 수 있다.

여기서 Γ는 자이로 힘, τB 는 외부토크를 나타낸다. 수학적 결과 식에서 는 다음과 같이 표현이 된다.

여기서 ωΓ = ω1 − ω2 + ω3 − ω4 + ω5 − ω6, 반면 식 (8)은 식(9)와 같이 풀어서 표현할 수 도 있다.

결국, 각속도가 도출이 되면 관성좌표계상의 각가속도는 와 같이 구할 수 있다.

 

4. P-PD제어기 설계

로터의 회전 각 및 각속도 제어기는 기본적으로 PID기법을 적용하였다. PID제어 기법은 일반적이면서 사용자들이 쉽게 구현할 수 있는 방법이다. 따라서, 제어기 구현을 위하여 아래와 같은 이상적인 PID 제어기의 기본 형태를 적용하였다[8, 10].

여기서, e(t)는 기준값과 관측값의 오차이다. 실 상황에서 완벽한 미분항 계산은 불가능하므로 다음과 같이 제어기의 전달함수를 정의할 수 있다.

여기서, μ는 설계 파라미터가 되며 구현된 제어기는 이산시간 제어기 형태의 PID제어기로 구현하였다. 또한, 미분항은 후방 오일러(Euler backward) 방식을 적용하여 s = 1/Ts(1 − z−1)으로 근사화 하였다. 여기서 Ts는 샘플링 타임이며, 이산시간형태의 전달함수는 다음과 같다.

미분항을 이산시간시스템으로 표현하기 위한 미분항의 전달함수의 재귀적 관계를 이용한 점화식은 식(20)과 같다.

여기서 d[k]는 미분항으로 표시되는 출력단이 된다.

따라서, 이산시간 형태의 PD제어기는 다음과 같이 구현하였다.

우선 롤 제어 구현을 위하여 외부 P제어기와 내부 PD제어기로 각각 구성하였다. 외부 제어기는 다음과 같이 정의하였고 PD제어기에 적용하여 내부 속도를 측정하도록 하였다[6, 7].

여기서 출력 은 목표 롤 값, ϕC는 지상 PC로부터 받은 롤 명령값, 은 추정된 롤 각도이다. 따라서 롤 제어기를 다음과 같이 설계하였다.

여기서 , 는 측정된 롤 값, Up는 가상의 롤 제어값이 된다. 그런데 롤 각도 φ와 피치 각도 θ는 항상 작은 값을 유지하기 때문에 로 가정할 수 있다.

다음으로 피치 제어기를 롤 제어기 설계와 동일한 방법으로 아래와 같이 외부제어기로 설계하였다.

여기서 출력 는 목표 피치 값, θC는 지상 PC로부터 받은 롤 명령값, 은 추정된 피치 각도이다. 따라서 피치 제어기를 다음과 같이 설계하였다.

, 는 측정된 피치 값, Uq는 가상의 피치 제어값이 된다. 그런데 롤 각도 ϕ와 피치 각도 θ는 항상 작은 값을 유지하기 때문에 로 가정하였다[8, 9].

끝으로, 요우(Yaw) 제어는 내부 PD제어기로만 구현하였고, 조종자가 직접 조정이 가능하도록 하였다. 요우 제어기의 설계는 다음과 같이 설계하였다.

여기서 , 는 조종자의 명령값, ȓ은 측정된 요우 변화값, Ur은 가상의 요우 제어값이 된다. 여기서도 동일하게 로 가정하였다.

그림 5는 본 논문에서 제안하는 헥사로터 비행 로봇의 P-PD 제어기의 최종 형태이며, 제어기는 각의 가속도와 속도의 입력 그리고 헥사로터의 실제 출력된 각의 가속도와 속도의 차이 값을 받아 설계된 제어 규칙에 따라서 출력 값을 결정하여 헥사로터 모델의 각의 입력을 보내주게 되어 헥사로터의 안정적인 주행을 가능하게 한다.

그림 5롤, 피치, 요우 제어를 위한 P-PD루프 블록도 Fig. 5 P-PD control block diagram for roll, pitch, yaw control

 

5. 실 험

5.1 비행시뮬레이션

앞 절에서 소개한 6축 헥사로터 형태의 헥사로터 헬리콥터의 수학적 모델을 제시하였다. 제시한 모델을 기반으로 한 비행에 따른 자세(위치 및 요)에 대한 실험적 특성을 관찰하고자 한다.

그림 6은 비행시뮬레이션의 x, y, z 위치 및 요각에 대한 MATLAB기반의 시뮬레이션 결과를 제시하였다. 시뮬레이션에서 입력단은 지상의 원격조정기단에서 비행 방향에 대한 입력신호의 디코더로 설정하였고 제안한 수학적 모델에 따른 계단응답의 응답결과에서 PD제어는 그림 6(a)과 같이 6초정도에서 정상상태로 진입하는 것을 알 수 있었고, P-PD제어는 그림 6(b) 3초 정도에서 정상상태 진입하는 것을 알 수 있었다.

그림 6MATLAB기반 위치 시뮬레이션 결과 Fig. 6 Position and angle in Matlab with the mathematical model

5.2 실험결과

실험의 방법으로 동역학 모델을 기반으로 한 P-PD제어기의 성능을 검증하기 위하여 각 가속도 값을 고려하지 않은 기체의 자세와 각 가속도 값을 고려한 기체의 자세에 대한 각각의 제어 파라미터(표 1 참조)에 따른 실험결과를 각각 제시하였다.

표 1자세제어를 위한 제어파라미터 Table 1 Control parameters for attitude control of hexarotor

그림 7~8은 회전운동에 발생된 토크와 헥사로터의 주행을 위한 위치 [x,y,z]T 및 롤, 피치, 요우[ϕ,θ,ψ]T 값이 적용되어 발생하는 전체의 힘으로써, 로터 여섯 개에 들어가는 힘의 양을 표현한다.

그림 7기준값에 대한 PD 제어 결과값 Fig. 7 Attitude control results for PD control

그림 8기준값에 대한 P-PD 제어 결과값 Fig. 8 Attitude control results for P-PD control

그림 7과 그림 8은 수학적 모델을 기반으로 한 자세 목표치에 대한 자세 각의 응답을 보여주고 있다. 무인 헥사로터 비행 로봇의 PD제어와 P-PD 제어기에 따른 각각의 롤, 피치, 요우의 기준 값 대비 출력형태를 비교하였다. 그림 7의 PD제어 결과에서는 전체적으로 추종은 이뤄지고 있으나 롤과 피치의 오차범위는 12% 정도 관측되었고 요우에 대한 추종값은 20초 이상이 지나서야 안정적인 상태가 됨을 알 수 있었다. 또한, 그림 8은 P-PD제어의 최종 출력형태이며 제어기는 각의 가속도와 속도의 입력 그리고 헥사로터의 실제 출력된 각의 가속도와 속도의 차이 값을 받아 설계된 제어 규칙에 따라서 출력 값을 결정하여 헥사로터 모델의 각의 입력을 보내주게 되어 헥사로터의 안정적인 주행을 가능하게 한다.

그림 7의 PD제어 결과와 비교하여 6%정도의 오차범위가 관측되었음 알 수 있었으나, 다소 시간지연으로 인한 추종현상이 일어나는 것을 알 수 있었다. 이러한 문제는 LQG/LTR과 같은 타보정방법을 적용한 실시간 보정을 위한 추가적 방법이 개선될 필요가 있다.

그림 8의 실험 데이터 값에서 목표치에 대한 응답은 오버 슈트하지 않고 추종 하는 것을 알 수 있으며 안정된 자세 제어를 실현할 수 있다는 것을 확인할 수 있었다. 롤 및 피치 자세 제어는 지연 시간이 0.4초 정도 이며 4%의 보정시간이 0.75초가 되도록 설계되어있어 다소 반응이 느린 것을 볼 수 있다.

실 운전 실험에서 헥사로터가 기준 헤딩 입력 값이 0.08rad(5o)일 때, 회전운동인 토오크 량과 이를 통해 발생하는 힘의 양의 값을 보여준다. 기준 입력값을 0으로 제한하였으며 제어에 따라 헥사로터의 롤 위치오차와 피치 위치오차가 점점 줄어 들어 0으로 수렴하였으며 피치에 대한 위치오차는 양호하게 나타남을 알 수 있다.

 

6. 결 론

본 연구에서는 기존의 쿼드로터 설계 및 연구에서 한층 더 발전된 헥사로터 형태의 헬리콥터 제작에 따른 시스템 구성과 비행을 위한 각 로터회전에 따른 비행동작을 분석하였다. 헥사로터 형태의 멀티 로터 헬기 제어를 위한 소형 온보드 프로세서와 직경 1m 크기의 헥사로터 기체의 모델링 및 제어기에서 구현한 헥사로터 기체 비행성능을 평가하였다. 롤 및 피치제어에서 헥사로터의 횡방향 제어 성능 평가를 위하여 수학적 모델링과 P-PD제어기 설계에 따른 기준 호버링 각 입력에 따른 응답 성능을 시뮬레이션 결과로 제시하였다.

제안 시스템의 PD제어와 P-PD제어에 따른 실험결과로 헥사로터 시스템의 제어기 설계 및 제작과 횡방향 제어를 위한 응답의 오버슈트의 개선과 안정적인 헤딩 비행이 가능함을 보였다. 제안한 P-PD 제어기의 실험 결과를 보면 헤딩각 제어 응답에서 오버슈트가 미소하고 기준 응답으로의 빠른 수렴을 보여줌으로써 외란에 강인한 롤, 피치, 요우의 제어 성능을 검증할 수 있었다