드론 스트라이크 방지를 위한 3차원 충돌회피 알고리즘에 관한 연구

백 승 언1)․민 승 재*2)

한양대학교 미래자동차공학과1)

Study on 3D Collision Avoidance Algorithm for Drone Strike Prevention

Seung Eon Baek1)․Seungjae Min*2)

1)Department of Automotive Engineering, Hanyang University, Seoul 135-080, Korea

(Received  / Revised / Accepted)

Abstract : This paper describes a study of 3-dimensional collision avoidance algorithm to solve the ’Drone Strike’ problem that can’t be solved by the 2-dimensional collision avoidance method studies in the previous studies. The principle of the algorithm is derived by deriving the relative velocity vector in a direction that can avoid the collision geometrically. Through the simulation, it is confirmed that the drones do not collide with the aircraft by performing collision avoidance algorithm.

Key words : Drone(드론), Collision avoidance(충돌회피), Prohibited area(금지 구역), Relative velocity(상대 속도), Algorithm(알고리즘), Convert Coordinate(좌표 변환)

Nomenclature

* Corresponding author, E-mail: seungjae@hanyang.ac.kr

[eqn: V _{1}] : critical engine failure recognition speed, [eqn: m/s]

[eqn: V _{R}] : rotation speed, [eqn: m/s]

[eqn: V _{2}] : take-off safety speed, [eqn: m/s]

[eqn: R+r] : prohibited distance, [eqn: m]

Subscripts

[eqn: {vec{P}} (t)] : position vector of the aircraft at any time [eqn: t]

[eqn: {vec{D _{j}}} (t)] : position vector of the [eqn: j]th drone at any time [eqn: t]

[eqn: {vec{A _{j}}} (t)] : collision avoidance path vector of the [eqn: j]th drone
at any time [eqn: t]

[eqn: {vec{V _{d}}}] : velocity vector of the drones

[eqn: {vec{V _{a}}}] : velocity vector of the aircraft

[eqn: {vec{V _{t}}}] : relative speed vector of drones and aircraft
([eqn: {vec{V _{d}}} - {vec{V _{a}}}])

[eqn: {vec{T _{k}}}] : tangent vector of the drone and the prohibited
area

[eqn: Rr(i)] : distance between the aircraft and the drone at
any time [eqn: i]

[eqn: (X _{t} `,`Y _{t} )] : coordinate value of the tangent vector
[eqn: {vec{T}}] in the local coordinate system.

[eqn: ( {under{X _{tk} `,`Y _{tk} ,`Z _{tk}}} )] : coordinate value of the tangent
vector [eqn: {vec{T}}] in the global coordinate system.

[eqn: {vec{V _{dn}}}] : newly set velocity vector of the drones.
([eqn: {vec{T}} - {vec{V _{a}}}])

1. 서 론

Transactions of the Korean Society of Automotive Engineers, Vol. 1 , No. 1 , 2017

한국자동차공학회논문집 제 1권 제 1호, 2017

Transactions of KSAE, Vol.  1, No. 1, pp. 1-7  (2017)                                                    Copyright Ⓒ 2017 KSAE /

pISSN 1225-6382 / eISSN 2234-0149

DOI http://dx.doi.org/10.7467/KSAE

드론(Drone)은 사람이 탑승하지 않고 원격에서 지정된 임무를 수행할 수 있는 비행체를 의미하며, 최초 군사용으로 개발되었고, 군사용 목적으로만 사용되었다. 하지만, 저가형 드론의 보급과 대중화에 따라서 2013년 이후 개체 수와 특허 출원 등이 급증하였다. 또한, 최근 Amazone, Google, 알리바바 등 물류회사에서 드론을 운송용으로 활용하려는 등 응용 분야 또한 폭 넓게 확장되고 있는 중이다. 이러한 드론 활용이 확대되기 위해서는, 안전 신뢰도 확보가 중요하고, 이를 위해서는 드론의 감지 및 회피 기술의 발전이 필요한 상황이다. 실제로 드론으로 인한 사고는 현재 빈번하게 발생하고 있다. 이러한 사고 중에는 이·착륙 상황의 항공기와 드론이 충돌하는 드론 스트라이크가 가장 치명적이라고 할 수 있다. 항공기 동체와 드론이 충돌할 경우에는 이·착륙 상황의 불안정한 동체에 큰 영향을 줄 수 있고, 엔진에 드론이 빨려 들어갈 경우에도 돌이킬 수 없는 큰 사고로 이어지기 때문이다. FAA(미국 연방 항공청)에 따르면, 2015년 2월부터 9월까지 총 874번의 드론 스트라이크 위기 상황이 일어났으며, 2016년 동 시기에는 1274번의 드론스트라이크 위기 상황이 발생하여, 작년 대비 빈도수가 46% 증가하였다는 것을 알 수 있다. 또한 이는 이러한 위기가 일평균 5.3회 발생하였다는 것을 의미하므로, 빠른 시일 내에 해결해야 함을 알 수 있다. 그리하여, 본 논문에서는 드론 스트라이크 방지를 위한 알고리즘을 연구한다. 이전 연구들에서는 드론 간 충돌회피 알고리즘을 수행했지만, 충돌회피 경로에 대한 고민이 포함되어 있지 않았고, 항공기간 충돌회피를 연구한 논문의 경우, 3차원 공간이 아닌 2차원 공역 내 충돌회피 문제를 해결하는 것에 관한 연구를 수행한 것을 확인하였다. 본 논문에서는, 3차원 환경에서 드론과 항공기간 충돌회피에 적용할 수 있는 기하학적 최적화된 방법에 관한 연구를 수행하였다.

유성현,  <드론의 기술과 발전 동향소개.>, 전기의 세계, 제 66호, 2017년, 19쪽

Fedral Aviation Administration , FAA Releases Updated Drone Sighting Reports for 2016,  https://www.faa.gov/news/updates/?newsId=87565, 2017.

Si-Hyun Lee, “A Collision Avoidance Algorithm for Autonomous Drones,” Proceedings of Symposium of KICS, pp.428, 2016.

Su-Cheol Han. “Proportional Navigation -Based Optimal Collision Avoidance for UAVs,”Journal of ICROS, Vol. 10, No. 11, pp.1065-1070, 2004.

2. 모델링 및 알고리즘

본 논문에서는 이륙 상황의 항공기와 등속 운동 상태의 드론간의 충돌회피 알고리즘을 제안하였으며, 항공기의 위치, 드론의 출발점과 도착점, 출발 속도를 이용하여 알고리즘을 구성한다. 또한 충돌회피 상황에서 항공기의 기동을 바꾸는 것 보다 드론의 주행 궤적을 바꾸는 것이 효율적이라고 판단하여 충돌회피 알고리즘을 드론에 적용하였으며, Matlab을 이용하여 드론 스트라이크 상황을 모사, 모의실험을 수행하였고, 알고리즘의 한계와 실효성을 확인하였다.

2.1 드론 스트라이크 상황 모델링

드론 스트라이크는 이·착륙 상황 하의 항공기와 드론 간의 사고이고, 본 논문에서는 이륙 상황의 항공기만을 모델링 하였다.

Fig. 1 Aircraft and drones in take-off situations

2.1.1 항공기 이륙상황

유인항공기는 이륙 상황 시 정해진 속도 프로파일이 존재하며, 이는 이륙 상황에서 충분한 양력을 받기 위함이다. 밑의 사진은 구간 별 이륙 속도를 보여주는 사진이다. 전 구간 중에서 Ground Roll이라고 부르는 구간에서는 모든 엔진으로 가속하여, [eqn: V _{1}]의 속도로 지상을 활주한다. [eqn: V _{1}]에 다다른 후에는 이륙이 완료되기 전까지 하나의 엔진만 사용한다. [eqn: V _{R}]의 속력에 다다른 후에는 35ft의 높이에 다다를 때까지 기수의 각도를 유지하다가, 최종적으로 [eqn: V _{2}]에 다다른 후에는 최종 상승하는 것이 민간 유인항공기의 이륙 속도 프로파일이다.

Fig. 2 Take-off speed profile by slide section

실제 상황과 유사한 모델링을 위하여, 본 논문에서는 2016년 기준 시장점유율이 38%로 가장 높은 Boeing사의 항공기 중, B737-400을 선택하였다.

Fig. 3 Take-off speed of B747-400[eqn: V _{1} ``V _{R} ``V _{2}]

Boeing, http://www.b737.org.uk/vspeeds.htm, 2017.

2.1.2 드론·항공기 위치 및 충돌 인식

본 논문에서는 이미 유인항공기에 적용되고 있는 기술인 TCAS, ADS-B가 충돌회피를 해야 할 항공기에 사용되고 있다고 가정한다.

1) TCAS

TCAS(Traffic Collision Avoidance System)이라는 기술은 항공기간의 공역 내 충돌을 방지하기 위하여, 정해진 범위 내에 있는 모든 항공기에 위치를 ‘문의’하고 ‘응답’을 받는 기술이다. 이 기술을 통해 항공기는 상대 항공기의 비행경로를 계산하고, 이 경로가 자신의 충돌 구역 내에 있을 경우 조종사에게 TA와 RA라는 경고를 보낸다.

① TA

조종사가 침입 항공기를 인지하게 해 주어, 향후 RA 발생에 대비하게 하는 경고.

② RA

침입항공기를 회피하기 위하여 조종사로 하여금 항공기를 기동 하도록 하는 경고. (충돌 15초~ 35초 전)

2) 금지구역

TCAS는 위치를 파악 한 후, 상대 항공기가 최고 근접지점까지 도달하게 되는 시간을 계산하여, 고도와 기수 방향을 바꾸도록 조종사에게 경고를 보낸다. 이때, TCAS가 탑재된 항공기와 최고 근접지점까지의 영역이 바로 금지구역 혹은 충돌구역이다. 평균 850km/h의 속도로 기동하는 항공기 사이에서는, 보통 금지거리가 3NM(약 5.5km)정도이다. 하지만, 드론은 항공기만큼 빠르지 않고(FAA의 가이드라인에 의하면 상업용 드론의 최고 속도는 161km/h 미만), 기동도 쉽기 때문에, 금지 거리를 0.3NM(550m)로 정하였다.

Su-Chel Han, “Near Optimal Conflict Resolution Maneuvers Study for Multiple UAVs,” KSAS Annual Conference Proceedings, pp.1157-1161, 2003.

2.2 충돌회피 순서도

충돌회피 순서도는 충돌회피 알고리즘이 적용되는 과정을 보여주는 그림이며, 그림 4를 통해 표현하였다.

Fig. 4 Collision avoidance flowchart

2.3 충돌회피 알고리즘

앞에서 기재한 방법을 통하여, 드론이 항공기의 속도와 방향, 그리고 위치를 인식하고 있다는 것을 통하여 항공기의 주행 경로를 다음과 같이 표현할 수 있다.

Jong Tai Jang, “A Reference Trajectory Generation Method with Piecewise Constant Acceleration Condition for the Curved Flight of a Drone,” Journal of Institute of Control, Robot and Systems, Vol. 22, No. 3, pp.233-240, 2016.

[eqn: {vec{P}} (t)=X(t) {hat{x}} +Y(t) {hat{y}} +Z(t) {hat{z}} `````````````````````````````````````(1)]

또한, 드론도 자신의 속도, 방향 그리고 위치를 인식하고 있다는 것을 이용하여 드론의 주행경로를 다음과 같이 표현할 수 있다.

[eqn: ```````````````````````````````` {vec{D _{j}}} (t)=x _{j} (t) {hat{x}} +y _{j} (t) {hat{y}} +z _{j} (t) {hat{z}} ````````````````````````````````(2)# ````````````````````````````` {vec{`A _{j}}} (t)=x _{ja} (t) {hat{x}} +y _{ja} (t) {hat{y}} +z _{ja} (t) {hat{z}} ````````````````````]

[eqn: {vec{D _{j}}} (t)]는 항공기와 충돌 위험이 없는 상황에서의 [eqn: j]번째 드론의 일반 주행 경로이다. 또한, [eqn: {vec{A}} (t)]는 항공기와의 충돌을 회피하는 회피 주행 경로이다.

Fig. 5 Set the drone&airplane’s time position vector

2.3.1 기하학적 충돌회피 방법

드론과 항공기의 충돌회피는 임의의 시간[eqn: i]에서 드론과 항공기 사이의 거리 [eqn: R _{r} (i)]가 금지거리 [eqn: (R+r)]이상으로 유지되도록 하는 문제로 생각할 수 있다. 밑의 그림6~8은 충돌회피 알고리즘의 기하학적 원리를 설명해준다. 본 논문에서는 총 10단계의 과정을 통하여 충돌 회피가 일어난다.

Fig. 6 3-Dimensional tangent vector set

1) 임의의 시간[eqn: i]에서 글로벌 좌표계 내에서 드론의 위치 좌표인 [eqn: LEFT ( {under{x _{d} (i),`y _{d} (i),`z _{d} (i)}} RIGHT )]를 원점으로 하고 드론의 위치 좌표와 항공기의 위치 좌표인 [eqn: LEFT ( {under{X(i),`Y(i),`Z(i)}} RIGHT )]가 같은 평면, x축에 있도록 해 주는 로컬 좌표계를 생성.

2) 접선벡터 [eqn: {vec{T}}]를 구하기 위하여, 다음의 식(3)을 통하여 로컬 좌표계 내의 접점 [eqn: (X _{t} `,`Y _{t} )]를 구한다.

[eqn: cos( theta )`=` {R+r} over {sqrt {(X-x _{d} ) ^{2} +(Y-y _{d} ) ^{2} +(Z-z _{d} ) ^{2}}} ``# # {cases{Xt=&Rr(i)-(R+r)cos( theta )#Yt=&(R+r)sin( theta )}} ````````````````````````````````````````````````````````````(3)]

3) 접점 [eqn: (X _{t2} `,`Y _{t2} )]도 같은 방법을 이용하여 구하게 되면 밑의 식(4)와 같음을 알 수 있다.

[eqn: {cases{Xt2=&Xt#Yt2=&-(R+r)sin( theta )=-Yt}} `````````````````````````````````````````````````````(4)]

4)  [eqn: {vec{Rr(i)}}]를 이용하여, 로컬 좌표계와 글로벌 좌표계의 사이의 변환 행렬을 구해낸 후, [eqn: (X _{t} `,`Y _{t} )]와 [eqn: (X _{t2} `,`Y _{t2} )]를 통해 [eqn: (X _{t} `,`Y _{t} )]와 [eqn: (X _{t2} `,`Y _{t2} )]의 글로벌 좌표 [eqn: ( {under{X _{t} `,`Y _{t`} ,`Z _{t`}}} )],[eqn: ( {under{X _{t2} `,`Y _{t2`} ,`Z _{t2`}}} )]를 구한다.

Fig. 7 3-Dimensional tangent vector set (2)

5) 글로벌 좌표[eqn: ( {under{X _{t} `,`Y _{t`} ,`Z _{t`}}} )]와 [eqn: ( {under{X _{t2} `,`Y _{t2`} ,`Z _{t2`}}} )]를 이용하여 3차원 내의 다른 접점들의 좌표들을 찾은 뒤, 3차원 접선 벡터 [eqn: {vec{T _{k}}}]들을 설정해 준다.

6) 충돌 회피 문제는 상대속도 벡터인 [eqn: {vec{V _{t}}}]를 임의의 접선 벡터 [eqn: {vec{T _{k}}}]의 바깥으로 유도하는 문제와 같다. 가장 최적화된 충돌 회피는 상대속도 벡터[eqn: {vec{V _{t}}}]와  접선 벡터 [eqn: {vec{T _{k}}}]가 같은 것이다. 그러므로, 상대속도 벡터를 접선 벡터로 유도해야 한다.

Su-Cheol Han. “Proportional Navigation -Based Optimal Collision Avoidance for UAVs,”Journal of ICROS, Vol. 10, No. 11, pp.1065-1070, 2004.

7) 접선벡터는 무한하므로, 드론이 가장 적은 기동을 하여 상대속도 벡터가 접선벡터와 같아지는 접선벡터인 [eqn: {vec{T}}]를 찾아야 한다. 그를 위하여, 접선 벡터 [eqn: {vec{T _{k}}}]와 상대속도 벡터[eqn: {vec{V _{t}}}]의 내적이 최소가 되는 접선 벡터[eqn: {vec{T}}]를 [eqn: k]번의 iteration을 통해 찾는다.

Fig. 8 Set new path points for collision avoidance

9) [eqn: {vec{V _{dn}}}] =  [eqn: {vec{T}} - {vec{V _{a}}}]가 되도록 해 주는 [eqn: {vec{V _{dn}}}]의 방향을 설정해준다.

10) 드론의 운동을 등속운동으로 가정하고, 충돌회피 경로 점 [eqn: LEFT ( {under{x _{d} (i+1)+y _{d} (i+1)+z _{d} (i+1)}} RIGHT )]을 정해준다.

이 10단계의 충돌회피 과정을 통해 구한 충돌회피 경로 점 [eqn: LEFT ( {under{x _{d} (i+1)+y _{d} (i+1)+z _{d} (i+1)}} RIGHT )]을 드론의 충돌회피 경로 [eqn: {vec{A}} (i+1)]로 설정해준다.

2.3.2 충돌회피 알고리즘 순서도

일련의 충돌회피 과정은, 그러나 항상 일어날 필요가 없다. 이 과정은 드론과 항공기가 충돌 위험에 있을 때만 실행되어, 드론의 경로 점을 바꿔주어야 한다. 밑의 그림(9)는 충돌 위험 인식과 경로를 바꿔주는 알고리즘의 순서도이다.

Fig. 9 Collision avoidance algorithm flowchart

충돌회피 알고리즘은 [eqn: j]번째 드론에 대하여, 어느 시각[eqn: i]에서의 항공기의 위치좌표 [eqn: {vec{P}} (i)]와 드론의 위치좌표 [eqn: {vec{D}} (i)]사이의 거리인 [eqn: Rr(i)]가 미리 정의한 금지거리([eqn: R+r])보다 작을 경우, Strike flag가 1이 되어, 수행된다. 수행 결과로, [eqn: j]번째 드론의 다음 경로를 일반 주행 경로인  [eqn: {vec{D}} (i+1)]이 아닌 회피 주행 경로인 [eqn: {vec{A}} (i+1)]가 되게끔 드론의 주행 경로를 바꿔준다. 이 과정을 드론의 수만큼 [eqn: n]번 반복하여, 모든 드론의 주행 경로를 수정 혹은 유지함으로써 드론 스트라이크 상황을 방지해준다.

3. 모의실험 방법 및 결과

Study on 3D Collision Avoidance Algorithm for Drone Strike Prevention

모의실험을 통해 충돌회피 알고리즘의 실효성을 확인하기 위하여, 본 논문에서는 Matlab을 이용 하였다. 모의실험 공간은 유인 항공기의 이륙 거리를 고려하여,  3500mX3500mX3500m (가로X세로X높이)로 정해주었으며, 총 3대의 드론과 한 대의 항공기가 정해준 경로를 따라서 움직인다. 드론은 총 3대가 항공기의 주변에서 비행하고 있는 상황을 만들었으며, 드론의 출발점과 도착점, 그리고 속력을 입력받는 UI를 만들어서, 충돌 각도의 변화 등 여러 상황을 실험해 볼 수 있도록 하였다. 밑의 그림(10)이 저자가 Matlab의 GUI기능을 이용하여 구현한 시뮬레이션 환경이다.

Fig. 10 Simulation using Matlab’s GUI

그림을 보면 위에서 설명하지 않은 기능들이 있는데, 주행모드의 Normal, Strike 라디오 버튼은 충돌회피 상황과 항공기가 없을 때의 드론의 궤적을 비교하기 위하여 만든 기능이다. 또한 그래프는 3차원 공간에서의 그래프만이 아니라, 같은 상황을 XY, YZ, ZX 총 3개의 2차원 그래프로도 보여주었다. 이 3개의 2차원 그래프를 통해서, 회피가 일어난 경우에 주행 경로의 변화를 조금 더 자세히 확인할 수 있다.

3.1 모의실험 절차 설명

모의실험 절차는 다음과 같은 단계를 거쳐서 행해진다.

1) 3대의 드론의 출발점, 도착점, 속도 설정.

항공기의 경우, 원점을 출발점으로 하여, X축과 Y축의 가운데 부분으로 설정해준 이륙속도와 이륙거리 정보를 이용하여 이동한다. 하지만, 드론은 여러 상황을 고려하기 위하여, 출발점과 도착점, 속도를 설정해 주었을 때만, 시뮬레이션을 시작하도록 구현하였다.

2) 시뮬레이션의 속도를 설정.

항공기와 드론의 충돌회피상황을 조금 더 자세히 보기 위하여, 시뮬레이션의 속도를 느리게 할 수 있도록 속도 조절 창을 만들었다.

3) 모의실험 후 결과 확인

시뮬레이션 내 드론의 시간별 위치와, 항공기의 시간별 위치 사이의 거리가 정해둔 금지거리보다 작을 경우, 드론이 충돌회피 경로 점으로 다음 경로를 바꾼다. 이러한 일련의 회피과정이 일어났을 경우, 경로 점을 바꾼 횟수를 avoid_count라는 변수에 값을 받아서 충돌회피 횟수와 알고리즘의 실효 여부를 알 수 있다.

3.2 모의실험 결과

모의실험은 2가지 경우를 진행하였다. 첫 번째는 드론과 항공기가 서로 충돌하는 방향을 향해 비행하고 있을 때, 회피를 할 수 있는지에 대한 실험을 하였으며, 두 번째로는 드론과 항공기가 마주보는 방향은 아니지만, 한 점에서 충돌이 일어날 경우에 대한 실험을 했다. 두 실험 모두 첫 번째 드론에게만 드론 스트라이크 위기가 있도록 하여 실험하였다.

Table 1. Simulation result

	Situation1	Situation2
avoid_count1	6	1
avoid_count2	0	0
avoid_count3	0	0

모의실험의 결과, 첫 번째 마주보는 상황에서는 충돌회피가 6회 일어났지만, 항공기의 속도가 드론의 속도에 비해 빠르기 때문에, 결국 충돌을 하는 것을 확인하였다. 두 번째 상황에서는 충돌회피가 1회 일어났지만, 위와 같은 이유로, 더 이상 회피를 하지 않아도 드론 스트라이크 상황이 일어나지 않아서, 시뮬레이션을 이어가는 것을 확인했다. 밑의 그림(11)은 그 결과를 보여준다.

Fig. 11 Simulation2 result

4. 결 론

서론~본론까지의 내용을 통해 기존의 2차원에서의 유[eqn: BULLET]무인기 충돌 회피 연구를 확장하여, 3차원에서의 충돌회피 알고리즘을 연구[eqn: BULLET]고안해 보았다

이 알고리즘은 항공기와 드론의 속도, 진행방향 등을 이용하여 제안하였다. 그 결과, 마주보는 방향으로 항공기와 드론이 비행을 하고 있는 상황이 아니라면, 이 알고리즘을 통해서 충분히 드론 스트라이크가 방지됨을 모의실험을 통하여 알 수 있고, 드론 스트라이크의 빈도수가 점점 늘어나는 상황에서 이 알고리즘이 매우 유용하다는 것을 알 수 있다.

후    기

제가 처음, 기하학적 원리로 이 문제를 해결했을 때에는 승리감과 도취감을 느꼈을 정도로, 기분이 좋았지만 그 뒤로, 그 기하학적 원리로 해결한 충돌회피 방법을 program으로 구현을 하였을 때, 짐벌락 현상이라고 하는, 부동 소수점계산의 한계로 인하여, 좌표계의 변환이 잘 안 되었고, 그것을 해결하는 방법이 계산의 scale을 줄여야 한다는 것이었습니다. 그렇기 때문에, 저는 항공기와 드론의 크기, 속도를 바꾸거나 아니면 경로점 사이의 거리(dL)을 줄여야만 했습니다. 저는 그 상황에서 실제와 비슷한 모델링을 위하여 경로점 사이의 거리를 줄이는 선택을 하였고, 이는 모의실험의 가시화를 낮추는 결과를 불렀습니다.(회피 경로의 변화가 아주 작음) 이것이 약간 아쉬운 점이었습니다. 제가 matlab이 아닌 다른 툴을 골랐다면 조금 더 좋은 결과를 얻을 수 있지 않았을까 하는 생각이 들었습니다. 감사합니다.

References

- Fedral Aviation Administration , FAA Releases Updated Drone Sighting Reports, https://www.faa.gov/news/updates/?newsId=87565, 2017.

- Si-Hyun Lee, So-Hee Moon, Young-Hyu Oh, Kyung-Sik Kim, Yoan Sin. “A Collision Avoidance Algorithm for Autonomous Drones,” Proceedings of Symposium of the Korean Institute of communications and Information Sciences, pp.428-429, 2016.

- Su-Cheol Han, Hyochoong Bang. “Proportional Navigation-Based Optimal Collision Avoidance for UAVs,”Journal of Control, Automation, and Systems Engineering, Vol. 10, No. 11, pp.1065-1070, 2004.

- Boeing, http://www.b737.org.uk/vspeeds.
htm, 2017.

- Su-Chel Han, Hyochoong Bang, “Near Optimal Conflict Resolution Maneuvers Study for Multiple UAVs,” KSAS Annual Conference Proceedings, pp.1157-1161, 2003.

- Jong Tai Jang, Hyeon Cheol Gong, Joon Lyou. “A Reference Trajectory Generation Method with Piecewise Constant Acceleration Condition for the Curved Flight of a Drone,” Journal of Institute of Control, Robot and Systems, Vol. 22, No. 3, pp.233-240, 2016.

- 유성현, 안춘기, 김정훈. (2017). 드론의 기술과 발전 동향 소개. 전기의세계, 66(2), 19-23.