DOI QR코드

DOI QR Code

MPC based path-following control of a quadcopter drone considering flight path and external disturbances in MATLAB/Simulink

MATLAB/Simulink 기반 주행 경로와 외란을 고려한 쿼드콥터 드론의 모델 예측 제어 기반 경로 주행 제어

  • Soon-Jae Gwon (Department of Electronic Engineering Kookmin University) ;
  • Gu-Min Jeong (Department of Electronic Engineering, Kookmin University)
  • Received : 2023.12.05
  • Accepted : 2023.12.14
  • Published : 2023.12.29

Abstract

In this paper, we proposes the use of Model Predictive Control (MPC) techniques to enable quadcopter drones to effectively follow paths and maintain flight safety even under dynamic external environments and disturbances. Through simulations conducted in MATLAB/Simulink, the performance of two controllers, PID and MPC, is compared in flight scenarios with disturbances. The proposed design method shows that the MPC controller, when compared to the PID controller, exhibits a difference in the Mean Squared Error between the intended flight path and the actual path of the quadcopter drone. This difference is 0.2 in performance under no disturbance, and it increases to 0.8 under disturbance, demonstrating the improved path following accuracy of the MPC controller.

본 논문에서는 쿼드콥터 드론이 동적인 외부 환경 아래서도 외란에서도 효과적으로 경로를 추종하고 비행 안전성을 유지할 수 있도록 모델 예측 제어(MPC) 기법을 제안한다. MATLAB/Simulink에서 수행된 시뮬레이션을 통해, 외란이 주어지는 비행 시나리오에서 PID와 MPC 두 제어기의 성능을 비교한다. 제안된 설계 방법으로 MPC 제어기가 압력 변화와 공기 밀도 변동과 같은 외란에 대하여 MPC와 PID 제어기의 성능을 비교했을 때에 쿼드콥터 드론의 입력받은 주행 경로와 실제 경로의 Mean Squared Error 수치가 외란을 주기 전에는 0.2의 성능 차이를 보였다. 그리고, 외란을 주었을 때에는 0.8을 차이를 보이며 MPC 제어기의 향상된 경로 추종 정확도를 보여준다.

Keywords

1. 서론

현재 쿼드콥터(quad-copter)를 비롯한 드론 기술의 급속한 발전은 물류, 감시, 농업, 구조 및 여러 산업 분야에서 중요한 역할을 하고 있다. 이러한 드론의 다양한 응용 중에서 특히 주목받는 부분은 바로 드론 배송 시스템이다. 이 시스템은 도시와 시골 지역 모두에서 빠르고 효율적인 배송 서비스를 제공할 수 있는 잠재력을 가지고 있다. 이러한 드론 배송 시스템을 현실화하기 위해서는 드론이 복잡한 환경과 다양한 기상조건에서도 정확하고 안정적으로 경로를 추종할 수 있는 능력이 필수적이다. 드론의 경로 추종 능력은 배송의 신뢰성과 효율성을 결정하는 핵심 요소로, 드론이 예정된 경로를 정확히 따라가며 장애물을 피하고 목표지점에 정확히 도달하는 것이 중요하다.

현재 드론의 경로 추종 문제 해결에는 주로 비례- 적분-미분(PID) 제어 방식이 널리 사용되고 있다[1-2]. PID 제어는 그 간단한 구조와 설정의 용이성으로 인해 다양한 산업 분야에서 선호되어왔다[3-4]. 그러나 이 방식은 주로 정적인 또는 예측 가능한 환경에서의 운용에 최적화되어 있으며, 외부 환경의 급격한 변화나 고속 이동을 요구하는 드론의 동적 반응에는 한계를 보일 수 있다.

쿼드콥터 드론용 모델 예측 제어(MPC) 제어기의 성능을 평가한 논문에서는 PID, LQR, MPC 제어기를 사용한 경로 추종의 비교를 제시했으나, 드론이 주행 중 외부 환경 변화로 인한 외란에 대처하는 능력에 대한 분석은 포함되지 않았다[5].

본 논문은 MPC 방식을 사용하여 주행 중 외부 환경 변화로 인한 외란을 고려한 드론의 경로 추종 성능을 개선하는 방법을 제안한다. 이와 관련하여, MATLAB/Simulink에서 UAV Toolbox를 사용하여 쿼드콥터 드론의 MPC 제어기 경로 추종 성능과 외란에 대한 강인성을 시뮬레이션하고 검증한다.

2. 관련 연구

2.1 쿼드콥터 동작 원리 및 모델링

쿼드콥터 드론은 Roll, Pitch, Yaw와 같은 다양한 제어 메커니즘을 사용하며, 대부분은 쿼드콥터 기체의 중점을 중심으로 한 회전 각도로 표시된다.

쿼드콥터의 무게 중심을 기준으로 쿼드콥터에 부착된 바디 프레임 시스템과 지구에 고정된 지구 프레임 시스템이 존재하며, 이를 관성 좌표계라고 부른다. 두 좌표 사이의 각도 차이는 고도의 동작을 정의하는 데 도움이 된다. 자세 시스템은 지구 좌표계의 z축을 따라 Yaw 각도(φ)와 y축을 따라 Pitch 각도(∅)만큼 y축을 중심으로 회전한다. 마지막으로 Roll 각도(θ)로 회전하여 유도할 수 있다[6-7].

쿼드콥터의 동적 모델은 (Roll, Pitch, Yaw) 각도를 나타내는 회전 서브 시스템과 (Z, X, Y) 위치를 나타내는 병진 서브 시스템이라는 두 개의 서브 시스템으로 나뉜다. 회전의 효과는 공기 역학적 힘이라고 하는 힘과 공기 역학적 모멘트라고 하는 모멘트를 발생시키는 것이다. 공기 역학적 모멘트는 공기 역학적 힘에 거리를 곱한 값이다[8]. 이는 프로펠러의 기하학적 구조에 따라 달라지며, 프로펠러에서 발생하는 모멘트와 힘을 파악하면 쿼드콥터에 작용하는 모멘트를 이해할 수 있다. 같은 개념을 사용하여 F4는 양의 모멘트를 생성하여 X축에 대한 총 모멘트는 식 (1)-(2)와 같다.

MX = (F4 - F2)l       (1)

MY = (F1 - F3)l       (2)

Z축에 대한 모멘트의 경우 로터의 추력이 모멘트를 발생시키는 것이 아니라 로터 속도와 관련된 로터 회전이 모멘트를 발생시키며 식 (3)과 같이 표현된다.

Mz = (F1 + F3 - F2 - F4)lc       (3)

여기서 c는 로터 속도와 바디 프레임에 대한 쿼드로터 회전에 미치는 영향 사이의 관계를 나타낸다.

2.2 쿼드콥터 드론용 경로 추종 MPC 컨트롤러

기존 연구에서는 쿼드콥터 드론의 가속도계 신호와 자이로스코프 신호를 활용하여 드론의 방향을 추정하고, 이를 통해 드론이 주행하고자 하는 경로와 현재 위치를 비교하였다[5]. 이러한 비교를 통해 PID, LQR, MPC 제어기의 경로 추종 성능이 분석되었다. PID, LQR, MPC 제어기의 추종 성능을 비교했을 때, MPC 제어기는 다른 제어기에 비해 일관된 성능을 보였다. 또한, 실시간 조건에서 안정적인 제어와 부드러운 응답 성능을 나타낸 것을 보였다. 이는 MPC 제어기가 미래 예측을 기반으로 최적의 제어 결정을 내리는 것을 보여주었다. 하지만, MPC 제어기는 PID, LQR 제어기와 비교했을 때에 외부 외란에 강인한 특성이 존재하지만, 연구에서는 MPC 제어기의 외부 외란을 적용하지 않아서 본 논문에서 외란을 적용해서 MPC 제어기의 특성을 검증하려고 한다.

3. 주행 경로와 외란을 고려한 쿼드콥터 드론 제어기 설계

3.1 제안

논문에서 제시하는 주행 경로와 외란을 고려한 쿼드콥터 드론의 MPC 제어기 설계 전체 구조는 다음 그림 1. 과 같은 과정으로 설계된다. 제안된 제어 시스템은 두 가지 주요 구성 요소로 분할된다.

첫째, 경로 추종을 위한 MPC 제어 시스템이 포함된 제어기와 쿼드콥터 드론인 Plant Model이다. 제어기는 드론의 기존 주행 경로를 입력받아 MPC 제어기에서 연산을 통해 Plant Model에 드론 주행을 위한 Yaw, Pitch, Roll 제어 명령을 전달한다.

둘째, 외부 외란 신호를 입력하는 Environment와 외란 신호와 드론의 가속도계 신호와 자이로스코프 신호를 활용하여 실제 위치를 계산하는 Senor로 구성된다. Sensor는 Environment에서 받는 외란 신호와 Plant Model로부터 전달받은 드론의 위치 상태 정보를 통합하여 드론의 실제 위치를 계산하고 이를 제어기에 피드백한다.

JBJTBH_2023_v16n6_472_f0002.png 이미지

그림 1. 쿼드콥터 드론의 MPC 제어기 전체 구조

Fig. 1. Overall structure of MPC controller for Quadcopter drone

3.2 MPC 제어기 구현

쿼드로터 모델용 MPC 제어기는 제어 제약 처리, 상태 추정, 예측 동작, 잡음 및 외란 제거와 같은 특성을 포함하고 있다. 또한, 모델 예측 제어는 현재 상태변수를 이용해 미래 제어 입력을 예측하고, 이에 따른 상태변수 변화를 피드백으로 받는다. 이 과정에서 비용함수를 업데이트하는 최적화하는 과정도 복잡하고, 상대적으로 연산량도 많다[9]. 하지만, 제어 출력과 입력의 제약조건을 통해 정해진 범위 안에서 시스템을 안정적으로 설계할 수 있고, 다중입력 다중출력(MIMO) 시스템과 비선형 제어에 용이하다[10].

Yaw, Pitch, Roll에 각각 기존에 널리 사용되던 PID 제어기 대신 MPC 제어기를 설계하여 드론의 궤도 추종에 대한 성능을 시뮬레이션으로 검증한다. MPC 제어기에서는 쿼드콥터 Plant에서 나온 현재 드론의 X, Y, Z 축과 Yaw, Pitch, Roll 값을 피드백하여 받아온 값과 기존에 들어오던 원형 주행인 Reference 입력값을 MPC Controller에 입력하여 현재 드론의 위치와 추종 값을 비교하여 연산한다.

JBJTBH_2023_v16n6_472_f0001.png 이미지

그림 2. MPC 제어 시스템의 블록도

Fig. 2. Block diagram of a MPC control system

모델 예측 제어기의 설계 절차는 호버링 동작점에 대해 선형화된 이산시간 모델을 사용한다. 모델 예측 제어기는 예측 범위 N 내의 상태 동작을 지속해서 예측한다. 모델 예측 제어 최적화는 적절한 차원의 두 개의 서로 다른 가중치 행렬 \(\begin{align}\widehat{W}_{U}\end{align}\)\(\begin{align}\widehat{W}_{X}\end{align}\)을 사용하여 이차 비용함수를 최소화한다. 이는 식 (4)와 같이 표현된다.

\(\begin{align}J_{M P C}=\sum_{k=0}^{N} \widehat{W}_{X}\left(x_{s, k}-x_{s, r}\right)^{2}+\widehat{W}_{U} \delta U_{k}\end{align}\)      (4)

여기서 Xs, k = Xs(t - kTs)는 현재 순간 t 이후의 예측 상태에 대한 샘플 스텝, δUk는 제어 신호의 미래값을 나타낸다.

4. 쿼드콥터 제어 시스템의 성능 평가

4.1 쿼드콥터 주행 시뮬레이션 시나리오 구성

4.1.1 시나리오 개요

본 연구에서는 MATLAB/Simulink UAV Toolbox의 Orbit Follower 기능을 활용하여, 쿼드콥터 드론의 원형 주행 추종 능력을 평가하기 위한 시뮬레이션 시나리오를 개발하였다. 이 시나리오는 드론이 지정된 궤도 반경 0.5m의 원형 경로를 따라 시계방향으로 비행하는 것을 기본적인 주행으로 정하였다. 총 두 단계의 시뮬레이션을 통해 PID와 MPC의 경로추종에 대한 성능을 분석한다. 드론이 기존 경로의 주행 경로를 벗어났을 때 얼마나 안정적으로 기존 경로를 다시 추종하는지에 대한 부분을 시나리오로 작성한다.

4.1.2 쿼드콥터 주행 시나리오

첫 번째 시나리오는 orbit Follower 기능을 활용하여 쿼드콥터 드론이 이륙을 시작해서 원형 주행을 한 후 다시 착륙하는 시나리오로 진행된다. 해당 드론의 기본적인 원형 주행을 PID, MPC 제어기를 각각 사용해서 경로 추종을 비교한다.

두 번째 시나리오는 첫 번째 시나리오와 같게 orbit Follower 기능을 활용하여 쿼드콥터 드론의 기본적인 원형 주행을 총 20초의 주행을 수행하는 동안 4초와 8초일 때에 외부 환경의 변화를 주어 PID, MPC 제어기를 각각 사용해서 경로 추종을 비교한다.

외부 환경의 변화는 그림 1에서 드론의 실제 위치를 구하는 Sensor 블록에 Environment 블록의 데이터가 입력되고 있다. Environment 블록에는 드론이 주행할 때의 환경 값을 담고 있다. 여기에는 중력, 공기 밀도, 압력 등의 환경 데이터가 입력되어 있는데, 이 Environment 블록의 환경 값 중에 드론은 공기밀도와 중력의 값에 민감하다. 그래서 첫 번째 시나리오 주행 중에 Environment 블록 내부의 값을 조절하여 외란을 주었다.

두 번째 시나리오에서 4초에는 중력의 값을 쿼드콥터 드론의 주행 중 변경시켜주어 드론이 순간적으로 경로를 이탈하도록 하였다. 중력에는 X, Y, Z 축의 중력을 부여할 수 있는데 기본적인 환경에는 Z축에 중력가속도인 9.81 값을 부여하고 있다. 본 논문에서는 드론이 원행 주행을 구동하는 동안에 기존 원형 주행 바깥으로 이탈하였을 때의 드론의 경로 추종 성능을 확인하기 위해 X축의 중력값을 4초 이후부터 0에서 0.4의 값을 가지도록 모델링 하였다. 그리고 8초에는 공기 밀도의 값을 바꾸어 외란을 주었다. 공기 밀도는 압력에 비례하기에 공기 밀도가 증가하게 되면 비행기에 가해지는 항력이 커지게 된다. 기존의 공기 밀도가 1.184의 값을 유지하도록 하다가 8초가 지난 후 값을 0.2 올려주어 공기 밀도 값이 1.384로 공기 밀도가 올라 항력이 커지게 외란을 모델링하였다.

4.2 쿼드콥터 주행 시뮬레이션 결과

4.2.1 기본 Orbit Follower 드론 주행 시나리오 결과

첫 번째 시나리오인 Oribt Follower 기능을 활용하여 쿼드콥터 드론의 PID와 MPC 제어기를 적용한 궤도 추종 결과는 그림 3.과 같다.

JBJTBH_2023_v16n6_472_f0003.png 이미지

그림 3. 기본 Orbit Follower 시나리오에서 드론의 PID, MPC 제어기 시뮬레이션 비교 결과

Fig. 3. Simulation results comparing PID and MPC controllers for a drone in a basic Orbit Follower scenario

PID에 비하여 MPC 제어기를 적용했을 때에 궤도 추종에서 진동이 적고 안정적으로 추종하는 모습을 볼 수 있다. 이를 Reference 경로와 실제 주행 경로의 MSE(Mean Squared Error)를 비교하면 결과는 다음과 같다.

표 1. 기본 시나리오에서 PID, MPC 제어기의 MSE 비교 결과

Table 1. MSE comparison of PID and MPC controllers in a basic scenario

JBJTBH_2023_v16n6_472_t0001.png 이미지

본 Reference 경로와 실제 주행 경로의 MSE 비교는 기존 Reference 경로에서 얼마나 벗어나 있는지에 대한 MSE를 계산하였다. 표 1에서 PID 제어기일 때에는 1.6392의 수치를 가지고 MPC 제어기일 때 1.4068의 수치를 가져 MPC 제어기가 더욱 경로 추종에서 안정적이다는 것을 보여준다.

4.2.2 외란 입력에 따른 Orbit Follower 드론 주행 시나리오 결과

두 번째 시나리오인 orbit Follower 기능을 활용하여 쿼드콥터 드론이 주행 중에 4초와 8초에서 드론의 X,Y 축 압력 변화와 공기 밀도의 값을 변경시켰다. 각 외란의 입력을 통해 X,Y 축과 Z축으로 드론이 주행 중 경로를 이탈하고 이에 따른 PID, MPC 제어기의 궤도 추종 결과는 그림 4.와 같다.

JBJTBH_2023_v16n6_472_f0004.png 이미지

그림 4. 외란 개입 시나리오에서 PID, MPC 제어기 시뮬레이션 비교 결과

Fig. 4. PID, MPC Controller Simulation Results in Disturbance Intervention Scenario

외부 환경의 변화에 취약한 PID에 비해 MPC 제어기는 경로 이탈 상황에서의 경로 복구가 훨씬 안정적으로 추종하는 모습을 볼 수 있다. Reference 경로와 실제 주행 경로의 MSE를 비교했을 때 기본적인 Orbit Follower 시나리오에서는 MSM 차이가 0.2의 값의 차이를 보였다면 해당 시나리오에서는 MSE 차이가 0.8이상의 차이를 보였다. 이로 인해 외부 환경의 변화되는 외란 입력 상황에서는 MPC 제어기를 이용한 경로 추종에서 안정적인 궤도 추종의 모습을 보여준다.

표 2. 외부 환경 변화 시나리오에서 PID, MPC 제어기의 MSE 비교 결과

Table 2. MSE Comparison of PID and MPC Controllers in an External Environment Change Scenario

JBJTBH_2023_v16n6_472_t0002.png 이미지

5. 결론

본 논문에서는 쿼드콥터 드론의 주행 안정성 향상을 위한 MPC 제어기 설계 기법을 제안한다. PID 제어기 설계는 기체의 안정화와 수평 주행 제어에 초점을 맞췄으며, 다양한 센서를 활용하여 비행 데이터를 수집하고 이득 값을 조정함으로써 주행 안정성을 개선했다. 또한, 시뮬레이션 결과는 PID 제어기가 기체의 호버링과 기본적인 비행 조작에 효과적임을 보여주었다. 그러나 해당 방식만으로는 동적인 환경에서의 경로 추종과 빠른 반응성에 대한 요구 사항을 충족시키기 어려웠다.

이에 반해, MPC 제어기 설계는 미래 예측을 바탕으로 한 고급 제어 전략을 채택하여, 동적 환경에서의 정밀한 경로 추종과 빠른 반응성을 달성하였다. 시뮬레이션 결과는 MPC 제어기가 외부 환경적인 변화에서도 안정적인 드론의 비행경로 추종 능력을 보유하고 있음을 확인시켜주었다.

연구 과정에서 MPC 제어기는 제한된 시나리오에서만 테스트 되었으며, 더욱 다양한 실제 환경 조건에서의 테스트가 부족한 한계점을 보였다. 다양한 테스트를 위해 대표적인 쿼드콥터 드론의 하드웨어인 Pixhawk에 제안된 MPC 제어기를 탑재하여 하드웨어 기반 시뮬레이션 테스트 혹은 실제 쿼드콥터 드론을 사용하여 실제 외부 환경에서 테스트를 통한 MPC 제어기의 안전성을 검증하는 것은 향후 연구과제로 남긴다.

References

  1. Sheta, A. Braik, M. Maddi, D.R. Mahdy, A. Aljahdali, S. Turabieh, H. "Optimization of PID Controller to Stabilize Quadcopter Movements Using Meta-Heuristic Search Algorithms", Applied Sciences, 2021.
  2. D. Yoon, K. Lee, S. Han, and S. Lee, "A Study on Filght Stabilization of Drones by Gyro Sensor and PID Control", J. of the Korea Institute of Electronic Communication Sciences, 2017.
  3. Bolandi, H. Rezaei, M. Mohsenipour, R. Nemati, H. Smailzadeh, S.M. "Attitude Control of a Quadrotor with Optimized PID Controller", ICA 2013.
  4. Sahul, M.P.V. Chander, V.N. Kurian, T. "A novel method on Disturbance Rejection PID Controller for Quadcopter based on Optimization algorithm", IFAC Proc. Vol, 2014.
  5. Okasha M, Kralev J, Islam M. "Design and Experimental Comparison of PID, LQR and MPC Stabilizing Controllers for Parrot Mambo Mini-Drone", Aerospace, 2022.
  6. Al-Mahturi, A. Santoso, F. Garratt, M.A. Anavatti, S.G. "Nonlinear Altitude Control of a Quadcopter Drone Using Interval Type-2 Fuzzy Logic", IEEE, 2018.
  7. C. Ha, Z. Zuo, F. B. Choi and D. J. Lee, "Passivitybased adaptive backstepping control of quadrotortype UAVs", Robotics and Autonomous Systems, 2014.
  8. J. A. Hesch, D. G. Kottas, S. L. Bowman and S. I. Roumeliotis, "Camera-IMU-based localization: Observability analysis and consistency improvement", International Journal of Robotics Research, 2014.
  9. Qin, S.J. Badgwell, T.A. "A survey of industrial model predictive control technology", Control Eng. Pract, 2003.
  10. Cesari, G. Schildbach, G. Carvalho, A. Borrelli, F. "Scenario model predictive control for lane change assistance and autonomous driving on highways", IEEE , 2017.