Mobile QR Code QR CODE : The Transactions of the Korean Institute of Electrical Engineers

  1. (Dept. of Mechanical and Aerospace Engineering, Konkuk University, Korea)



PILS, unity3d, navigation, GIS, integrated navigation, urban

1. 서 론

위성 신호가 좋지 못한 도심환경 등 특수 환경에서의 항법 성능 검증은 해당 환경에서의 비행 시험을 하는 것이 가장 확실한 방법이지만, 의도했던 항법의 성능이 나올 때 까지는 여러 번의 시행착오를 겪어야 하고, 그 과정에 생기는 비용이 크기 때문에, 실제비행시험 전에 시뮬레이션을 통해 비용을 줄여야 한다. 잘 알려진 3D 시뮬레이션 툴은 OpenSim (1), Delta3D (2), Gazebo (3), V-REP(Virtual Robot Experimentation Platform) (4) 등이 있다. OpenSim은 인체공학을 위하여 움직임을 시뮬레이션하기 위한 3D 시뮬레이터로 2001년부터 사용되어 왔지만 현재 개발이 멈춰져 있는 상태이다. Gazebo는 리눅스 환경 위주로 개발이 되어 하이브리드 시뮬레이션 수행이 어렵다 (5). V-REP은 유료제품으로, 오픈소스로 활용성이 떨어진다. Delta3D는 오픈소스 기반의 시뮬레이션 엔진으로, 다양한 플랫폼을 이용하여 개발이 가능하여 널리 사용하고 있다. 한편, 사용자 인터페이스, 네트워크 지원, 내장함수의 활용 등의 개발환경 측면에서 Unity3D는 기존 기법에 비해 용이한 운용성을 가지며, 고속의 물리엔진, 고해상도 그래픽 지원으로 실시간 환경 구현에 매우 유리한 특성을 갖는다. 또한 지리 정보 시스템(GIS) 맵 데이터 활용 및 다양한 환경 구성에 있어서 편리하기 때문에 많은 게임 개발자들이 이용한다. 근본적으로 게임을 위하여 만들어진 툴이나, 그 확장성으로 인하여 GIS에서 시뮬레이터 (6), 달 기지 시뮬레이션 시나리오에 대한 실시간 3D 시각화 (7), ROS(로봇 운영 체제) 시뮬레이션 (8) 등 현재 학문적으로도 다양하게 사용되고 있다 (9).

본 논문에서는 Unity3D기반으로 3D GIS맵과 복수의 거리센서/라이다를 이용한 도심환경 항법 검증을 위한 PILS(Pro- cessor-In-the-Loop) 시뮬레이터 설계를 제안한다. 2장에서 PILS로 수행되는 항법들을 소개하였다. 3장에서 PILS의 하드웨어 및 소프트웨어 구성 보여주고, 센서 모델링과 제어기, 유도기에 대해 설명한다. 4장에서 가상과 실제 비행시험을 통한 PILS 시뮬레이터의 성능을 검증하였고, 5장에서 결론을 맺는다.

2. 도심환경 맵연동 복합항법 알고리즘

2.1 관성 항법 모델

본 연구에서 시뮬레이션으로 수행된 복합 항법은 모두 오차를 추정하는 방법을 사용한다. 비행시험이나 시뮬레이션에서 활용한 관성측정유닛(IMU)은 저가의 MEMS (microeletrome- chanical system) 센서를 탑재한다. 이를 고려하여 상태변수는 식 (1)과 같이 위치 오차(), 속도 오차(), 자세 오차(), 그리고 가속도계 바이어스의 오차()로, 12차로 구성된다. 위 첨자 n은 n-frame (NED navigation frame)을 의미한다.

(1)
$$\delta \boldsymbol{x}=\left[\delta \boldsymbol{p}^{n} \delta \boldsymbol{v}^{n} \delta \boldsymbol{\psi}^{n} \delta \boldsymbol{b}_{a}\right]^{T}$$

센서 오차는 가속도계 바이어스만 포함하였으며, 자이로 바이어스는 생략하였다. 저급의 센서를 가정하므로 상대적으로 불안정한 바이어스 항으로 인한 추정 오차가 자세 추정 성능 저하를 가져오므로 초기 정지상태에서의 보정만을 활용토록 하였다. 또한, 지구 자전에 의한 코리올리 효과를 측정할 수준의 성능이 아니므로 축소된 관성식을 전개하였다. 최종적인 상태방정식은 다음과 같이 나타낼 수 있다.

(2)
$$\delta \boldsymbol{\dot{x}}=F \delta \boldsymbol{x}+G \boldsymbol{w}$$

(3)
$$F=\left[\begin{array}{ccc} 0_{3 \times 3} I_{3 \times 3} & 0_{3 \times 3} & 0_{3 \times 3} \\ 0_{3 \times 3} 0_{3 \times 3}-\left({\widehat{C}_{b}}^{n} \hat{\boldsymbol{f}}^{b}\right) & \times C_{b}^{n} \\ 0_{3 \times 3} 0_{3 \times 3} & 0_{3 \times 3} & 0_{3 \times 3} \\ 0_{3 \times 3} 0_{3 \times 3} & 0_{3 \times 3} & 0_{3 \times 3} \end{array}\right]$$

(4)
$$G=\left[\begin{array}{cc} 0_{3 \times 3} & 0_{3 \times 3} \\ \widehat{C_{b}}^{n} & 0_{3 \times 3} \\ 0_{3 \times 3} & \widehat{C_{b}}^{n} \\ 0_{3 \times 3} & 0_{3 \times 3} \end{array}\right]$$

(5)
$\boldsymbol w =[\boldsymbol w_{acc}\boldsymbol w_{gyro}]^{T}$

$\hat {\boldsymbol{f}}^{b}$는 가속도계로 측정된 비력벡터, $\hat C_{b}^{n}$는 b-frame(body frame)에서 n-frame으로의 좌표변환행렬의 추정치이다. $\boldsymbol w_{acc}$는 가속도계의 잡음, $\boldsymbol w_{gyro}$는 자이로스코프의 잡음을 의미한다 (10).

본 연구에서 검증할 3D GIS 맵 연동 다중센서결합 복합항법 알고리즘은 크게 두가지로 구성된다. 즉, 기하학적으로 구성한 관측 모델을 이용한 GREKF(Geomery-based Range integrated EKF)와 후보 질점에 대한 가우시안 근사화를 적용한 MGPMF (marginalized Gaussian point mass filter)이다 (10-12). 2.2절 및 2.3절은 각각의 항법 알고리즘에 대한 구조를 설명한다.

2.2 GREKF(Geomery-based Range integrated EKF) (10)

그림 1은 근접비행환경에서 센서 측정벡터와 맵 상의 객체 간의 기하적 관계를 도시한다. 이때, i 번째의 수평거리센서로 측정되는 거리의 관측모델은 식 (6)-(7)로 주어진다.

(6)
$r_{i}=h_{r_{i}}(\boldsymbol x)+v=h_{r_{i}}(\boldsymbol{\hat x} -\delta \boldsymbol x)+v,\:v\sim N(0,\:\sigma_{r}^{2})$

(7)
$$\frac{\delta r_{i}}{\delta p^{n}}=\left[\begin{array}{c} \vec{o}_{r_{i}} \\ -\frac{\longrightarrow}{o_{r_{i}} \cdot\left(C_{b}^{n} \cdot \vec{d}_{r_{i}}^{b}\right)} \end{array}\right]_{1 \times 3}$$

관측모델을 선형화 하면 식 (8)과 같다.

(8)
$\left . H_{RNG,\:i}=\dfrac{\delta h_{r_{i}}(\boldsymbol x)}{\delta {\boldsymbol x}}=\left[\dfrac{\delta r_{i}}{\delta \boldsymbol{p}^{n}}0_{1\times 3}\dfrac{\delta r_{i}}{\delta \boldsymbol{\psi}}0_{1\times 3}\right]\right .$

(9)
$\dfrac{\delta r_{i}}{\delta \boldsymbol{p}^{n}}=\left[-\dfrac{\vec{o}_{r_{i}}}{\vec{o}_{r_{i}}\cdot(C_{b}^{n}\cdot\vec{d}_{r_{i}}^{b})}\right]_{1\times 3}$

(10)
$\dfrac{\delta r_{i}}{\delta \boldsymbol{\psi}^{n}}=\left[-\dfrac{\vec{o}_{r_{i}}\cdot(T_{r_{i}}- \boldsymbol{p}^{n})}{\vec{o}_{r_{i}}\cdot(C_{b}^{n}\cdot\vec{d}_{r_{i}}^{b})}\vec{o}_{r_{i}}^{T}\cdot\left[\times C_{b}^{n}\cdot\vec{d}_{r_{i}}^{b}\right]\right]_{1\times 3}$

높이방향의 추정은 기압계를 통해서 수행되며, 측정모델은 식 (11)로 표현되고, 식 (12)처럼 선형화가 가능하다. 최종적으로 관측행렬과 측정벡터가 식 (13)처럼 표현된다.

그림. 1. 물체와 거리사이의 기하적 관계

Fig. 1. Geometric Relation between Ranges and Obstacle

../../Resources/kiee/KIEE.2020.69.7.1117/fig1.png

(11)
$h_{b a ro,\:k}=\dfrac{h_{\max}-h_{\min}}{p_{h_{\max}}-p_{h_{\min}}}(p_{k}-p_{h_{\min}})+h_{\min}$

(12)
$H_{ba r o}=\left[0_{1\times 2}\quad 1 \quad0_{1\times 3}\quad 0_{1\times 3}\right]$ (12)

(13)
$H=\begin{bmatrix}H_{RNG,\:1}\\\vdots \\H_{RNG,\:m}\\H_{baro}\end{bmatrix}_{(m+1)\times 12}z_{k}=\begin{bmatrix}r_{1}\\\vdots \\r_{m}\\-h_{baro,k}\end{bmatrix}_{(m+1)\times 1}$

식 (14)는 칼만필터의 예측, 보정, 전파의 과정이다.

(14)
$$\begin{array}{r} P_{k}^{-}=A \cdot P_{k-1} \cdot A^{T}+B \cdot Q \cdot B^{T} \\ x_{k}^{-}=f\left(x_{k-1}, u\right) \\ K_{k}=P_{k}^{-} \cdot H^{T} \cdot\left(H \cdot P_{k}^{-} \cdot H^{T}+R\right)^{-1} \\ P_{k}=P_{k}^{-}-K_{k} \cdot H \cdot P_{k}^{-1} \\ x_{k}=x_{k}^{-}+K_{k} \cdot K_{k}\left(z_{k}-h\left(x_{k}^{-}\right)\right) \end{array}$$

2.3 Marginally Gaussian Point Mass Filter (11,12)

도심환경을 고려하여 분석한 두 번째 복합항법 알고리즘은 가우시안 근사화 기반 MGPMF이다. 도심 비행환경에 존재하는 일반적 건물은 여러 평면의 조합으로 구성되며, 평면과 다른 평면과의 법선 벡터가 수직에 가까운 영역이 다수 존재한다. 이러한 비선형 측정환경에서 추정 강인성과 연산 복잡도를 낮추기 위해 후보 질점에 대한 정규분포 근사화를 채택하는 MGPMF를 도입하였다. 특히 실시간 항법 구현 시 질점의 성김 문제가 발생할 수 있는데 이를 방지하기 위하여 가우시안 근사를 수행하였다. 따라서 질점 간의 사이를 선형보간한 결과로부터 기대값과 분산을 구하는 방법을 취하게 된다. MGPMF의 전체적인 구조는 그림 2와 같다.

다음으로 예측 단계는 칼만필터의 전파와 같은 과정을 거치며, 수평 위치에 관해 선형 상태변수와 비선형 상태변수를 Marginalization을 통해 식 (15)와 같이 나눈다.

(15)
$p(\delta \boldsymbol{x}_{k}^{n},\:\delta \boldsymbol{x}_{k}^{l}| Z_{k-1})=p(\delta \boldsymbol{x}_{k}^{l}| Z_{k-1},\:\delta \boldsymbol{x}_{k}^{n})p(\delta \boldsymbol{x}_{k}^{n}| Z_{k-1})$

식 (6)식 (16)와 같이 선형부분과 비선형 부분으로 나누어 표현할 수 있다.

(16)
$$r_{i}^{j}=h_{r_{i}}^{j}\left(\hat{\boldsymbol{x}}_{k}^{n}-\delta \boldsymbol{x}_{k}^{n}\right)+H^{j}\left(\hat{\boldsymbol{x}}_{k}^{l}-\delta \boldsymbol{x}_{k}^{l}\right)+v$$

그림. 2. MGPMF의 구조

Fig. 2. The Overview of MGPMF

../../Resources/kiee/KIEE.2020.69.7.1117/fig2.png

비선형 상태변수의 사후 분포는 전파된 수평 위치 오차, 수직 축에 대한 회전 오차의 평균 및 공분산을 이용해 질점들을 구성하고 각 질점에 대한 가상의 거리 값을 생성하고 각 질점들의 가중치를 계산한 뒤 사후 가우시안 분포를 도출하여 얻어낸다. 그 식은 다음과 같다.

(17)
$$\hat{\mathbf{x}}_{(k)+}^{n}=\left(\sum_{i=1}^{N} w_{i} \mathbf{x}^{n,(i)}\right) /\left(\sum_{i=1}^{N} w_{i}\right)$$

(18)
$$P_{(k)+}^{n}=\left[\sum_{i=1}^{N} w_{i}\left(\mathbf{x}^{n,(i)}-\hat{\mathbf{x}}_{(k)+}^{n}\right)\left(\mathbf{x}^{n,(i)}-\hat{\mathbf{x}}_{(k)+}^{n}\right)^{T}\right] /\left(\sum_{i=1}^{N} w_{i}\right)$$

선형 상태변수는 칼만필터의 보정을 통해 분포를 알아내고, 식 (19)와 같이 최종적으로 결합 분포를 도출한다.

(19)
$$p\left(\delta \mathbf{x}_{k}^{n}, \delta \mathbf{x}_{k}^{\prime} \mid Z_{k}\right)=p\left(\delta \mathbf{x}_{k}^{\prime} \mid Z_{k}, \delta \mathbf{x}_{k}^{n}\right) p\left(\delta \mathbf{x}_{k}^{n} \mid Z_{k}\right)$$

3. PILS 시뮬레이터 설계 및 구현

3.1 PILS 시스템 구성

본 절에서는 제안된 항법 알고리즘의 성능 검증을 위하여 3차원 가상공간 물리엔진과 실시간 센서 데이터 전송 및 항법 알고리즘이 연동하는 PILS 시뮬레이터 설계에 대하여 설명하기로 한다. 그림 3은 제안된 PILS 시뮬레이터의 하드웨어 구성도를 도시한다. 그림에서 RC조종기 혹은 키보드, PC 두 대, 항법 모듈로 쓰이는 Jetson TX2와, Serial 통신을 위한 USB-TTL모듈 1개, RF통신을 위한 RF모뎀 1세트, UDP통신을 위한 공유와 랜선으로 구성된다. 데이터의 흐름은 우선 사용자가 매뉴얼로 조종입력을 넣거나 waypoint를 설정함으로써 정해진 비행경로를 따라 조종입력이 생성되는 것으로 시작한다. PC1에서는 가상의 센서데이터를 만들어 Serial 통신으로 항법 모듈인 Jetson TX2로 보낸다. 항법모듈에서는 항법 해와 여러 정보를 GCS(지상 관제 시스템)가 있는 PC2로 무선RF통신을 이용하여 보낸다. GCS에서는 항법 해를 PC1으로 UDP통신을 이용하여 전송한다. PC1에서는 GCS로부터 받은 항법 해와 State의 참값을 비교한다. 세부적인 데이터 흐름과 소프트웨어 구성은 그림 5에 도시되었다.

PC1에서는 Vehicle을 움직이고 가상의 센서데이터를 만들기위해 Unity3D가 사용되고, 항법해와 참값의 실시간 비교를 위한 Matlab이 사용된다. PC2에서의 GCS는 Unity3D가 사용되었다.

그림. 3. PILS 시뮬레이터의 구조

Fig. 3. The Structure of PILS

../../Resources/kiee/KIEE.2020.69.7.1117/fig3.png

게임엔진인 Unity3D는 에디터를 이용하여 3D모델, 물리적 조건 등을 만들기 편하고 C#기반의 스크립트를 이용하여 게임을 만드는 데 있어 유용한 내장함수와 물리엔진이 갖춰져 있다. 따라서 Unity3D를 이용하여 항법 수행에 필요한 특정환경을 만들기 아주 좋은 툴로 사용될 수 있다. 또한 많은 개발자들이 이미 게임개발을 위하여 수많은 맵과 환경을 만들었고, 커뮤니티나 Asset store에서 공유가 가능하기 때문에 다른 시뮬레이션 툴보다 개발에 매우 편리하고 유용하다.

그림. 4. 맵 데이터 생성 및 형식 변환

Fig. 4. Making and converting format of map data

../../Resources/kiee/KIEE.2020.69.7.1117/fig4.png

본 논문에 소개되는 항법은 3D GIS맵을 이용한다. GIS 맵데이터는 삼각형의 꼭지점들과 면에 대한 정보로 이루어져 있다. 항법 모듈에서는 Vworld 형식(*.xdo)의 파일로부터 꼭지점과 면에 대한 정보를 추출하여 사용하고, Unity3D에서는 3D object 형식(*.obj)의 파일을 import하여 사용한다. Matlab을 이용하면 xdo 파일로부터 추출한 꼭지점과 면에 대한 정보를 이용하여 흔히 쓰이는 3D object 파일 형식인 stl형식으로 변환할 수 있다. 그리고 Inventor 등의 3D툴을 이용하면 stl 파일과 obj 파일간의 변환을 쉽게 할 수 있다. 이와 같은 방식으로 사전에 Unity3D와 항법 모듈에 각각 동일한 맵 데이터를 사용하도록 처리한다.

그림 5는 구성된 시뮬레이터의 소프트웨어 구성도를 도시한다. 항법 모듈인 Jetson에서 항법 수행을 위하여 메인코드는 Python을 이용하였다. 항법은 앞서 소개한 거리계를 이용한 항법과 GPS/INS 결합 항법이 복합적으로 수행이 되는데 맵 처리나 행렬 연산이 필요하므로 C++/CUDA 기반으로 코드가 작성되었다.

그림. 5. PILS 시스템 S/W 구성

Fig. 5. The structure of software of PILS system

../../Resources/kiee/KIEE.2020.69.7.1117/fig5.png

한편, 그림 5의 항법모듈 내부에서 확인할 수 있듯이 도심 환경을 고려한 위성과 수신부 사이에 LOS(가시선)를 판단하는 알고리즘이 병렬로 처리된다. 위성과의 LOS를 판단하면 가용한 위성 신호만을 선별함으로써 더욱 정확한 항법해를 추정할 수 있다 (13). 그림 6은 GPS 위치결과 비가용 위성 신호를 제외하여 얻어낸 실시간 위치 결과를 비교하며 내부 가용성 판단 알고리즘을 통하여 성능 개선을 확인할 수 있다.

그림. 6. 멀티패스 제거 후 얻은 위성항법 위치해 비교 (13)

Fig. 6. Position result - GPS only (left), multipath removed (right) (13)

../../Resources/kiee/KIEE.2020.69.7.1117/fig6.png

본 논문에서 도시된 시뮬레이션 수행 결과 및 실제 비행 결과 분석시 위성 LOS 판단 알고리즘은 GPS/INS 결합항법과 거리센서/INS 결합항법 간의 모드 전환에 사용되었다.

3.2 센서 모델링

항법 수행에 필요한 센서는 IMU, GPS, 거리센서, 기압계가 있다. Unity3D는 내부 물리엔진으로부터 물체의 위치, 속도, 자세를 얻어 낼 수 있고, Raycasting 함수를 이용하여 주어진 빔의 방향에 대하여 거리센서 측정치에 해당하는 값을 얻어 낼 수 있다. 이를 이용하여 센서들을 모델링하여 가상으로 출력을 만들어 낼 수 있다. IMU는 가속도계와 자이로스코프, 자력계의 조합을 이용하여 비력, 각속도, 자기장을 측정하는 장치로, 본 연구에서는 ADIS 16448을 참고하여 모델링 되었다. 가속도는 시간에 대한 속도 차분을 이용하여 생성하고, 각속도는 DCM(Direction Cosine Matrix) Derivation Formula (14)로 부터 추출하여 얻어냈다. 자력계는 사용하지 않으므로 모델링하지 않았다. 표 1은 약 4시간동안 ADIS 16648를 이용하여 allan variance를 분석한 결과와 Datasheet상의 Specification과 비교를 나타낸 것이다. Allan variance 분석결과를 토대로 bias stability와 random walk를 고려한 노이즈를 생성하였다. 해당 노이즈를 가속도와 각속도에 더해줌으로써 가상의 IMU출력을 만든다 (15).

표 1. IMU 잡음 사양

Table 1. IMU Noise Specification

Measurement

Specification

VRW [(m/sec)/ √hr ]

0.12~0.14

0.11

Acc Bias Instability [mg]

0.09~0.12

0.25

ARW [°/√hr]

0.67~0.83

0.66

Gyro Bias Instability [°/√hr]

15~17

14.5

GPS 수신기는 BESTPOS와 함께 의사거리, 도플러 등의 원시정보들을 전달해준다. GPS/INS 항법 수행에는 BESTPOS가 이용되고 의사거리는 가용 위성 판단에 이용된다. 그리고 도플러는 WDOP계산에 각각 활용된다. 가용한 위성의 의사거리 정보로 최소자승법을 이용하여 위치를 계산하면 보조항법으로 사용이 가능하다 (13). GPS 모의 데이터를 만들기 위하여 9대의 위성을 모델링 하였다. BESTPOS는 Unity3D 물리엔진이 제공하는 Vehicle의 위치를 이용하여 만든다. 노이즈는 정지한 수신기의 GPS위치값의 노이즈를 추출하여 Vehicle의 위치에 더해주는 방식으로 사용한다. 의사거리는 Vehicle의 위치에 위성 위치와의 LOS를 Unity3d 내부함수인 Raycast를 이용하여 판단하고, LOS가 존재할 때 Vehicle과 위성의 거리를 사용한다. 위성의 동역학 모델로부터 위성의 각각 위치에 해당하는 속도벡터를 계산하고 Vehicle과의 속도벡터의 차이로 Doppler를 모델링한다.

거리센서는 Unity3D 내장함수인 Raycast를 이용하여 collider와의 거리를 얻어 낸다. 실험을 통하여 측정 거리에 따른 오차특성과, 유리창 같은 특정 물체와의 거리 측정에 따른 오차특성을 파악하여 적용하였다. 측정 거리에 비례하는 랜덤오차를 더하고, 유리창과의 거리 측정 시 랜덤오차를 더한다 (15). 또한, 측정 각도에 따라 측정확률을 달리 하였다 (16). 건물 주변 환경에서 수행한 MGPMF 항법의 경우 수평으로 60도 간격으로 6개의 거리센서와 수직방향의 거리센서 하나를 이용하였다. 다리의 하부 환경에서 수행한 GREKF 항법의 경우 라이다를 이용하였다. 라이다는 HOKUYO사의 UST-20LX를 기준으로 모델링하여 -135도 부터 135도까지 일정한 간격의 여러 개의 거리센서로 모델링하였다.

기압계는 Sea level 기준으로 높이에 따른 기압 변화 관계를 이용하였고 (17), Vehicle의 높이에 노이즈를 섞어 모델링하였다.

(20)
$$p=101325\left(1-2.25577 \times 10^{-5} \times(h+\text {noise})\right)^{5.25588}$$

3.3 제어기 및 유도기 모델링

제어기는 그림 7과 같이 유도기와 Unity 내부 물리엔진에서 계산되는 상태변수 목표값과 항법추정값을 바탕으로 위치/속도 제어기 및 자세 제어기를 구성한다. 목표 위치 및 속도값 추종을 위하여 멀티곱터의 제어 모멘트를 생성하는 방식으로 구성되며 상세 모델은 아래와 같다.

그림. 7. 제어시스템 구성도 (18)

Fig. 7. Control System Configuration (18)

../../Resources/kiee/KIEE.2020.69.7.1117/fig7.png

본 논문의 Vehicle 모델은 쿼드로터로, 제어 모멘트와 각 로터에서 생성해야 하는 추력은 제어 모멘트로부터 다음과 같이 나타낼 수 있다.

(21)
$$\vec{M}_{c o n}=\left[\begin{array}{c} M_{x} \\ M_{y} \\ M_{z} \end{array}\right]=\left[\begin{array}{c} l \cdot\left(T_{F L}+T_{B L}-T_{F R}-T_{B R}\right) \\ l \cdot\left(T_{F L}-T_{B L}+T_{F R}-T_{B R}\right) \\ \kappa \cdot\left(T_{F L}-T_{B L}-T_{F R}+T_{B R}\right) \end{array}\right]$$

(22)
$$\begin{array}{l} T_{F R}=-\frac{M_{x}}{4 \cdot l}+\frac{M_{y}}{4 \cdot l}-\frac{M_{z}}{4 \cdot \kappa}+\frac{\left\|\vec{F}_{c o n}\right\|}{4} \\ T_{B R}=-\frac{M_{x}}{4 \cdot l}-\frac{M_{y}}{4 \cdot l}+\frac{M_{z}}{4 \cdot \kappa}+\frac{\left\|\vec{F}_{c o n}\right\|}{4} \\ T_{F L}=+\frac{M_{x}}{4 \cdot l}+\frac{M_{y}}{4 \cdot l}+\frac{M_{z}}{4 \cdot \kappa}+\frac{\left\|\vec{F}_{c o n}\right\|}{4} \\ T_{B L}=+\frac{M_{x}}{4 \cdot l}-\frac{M_{y}}{4 \cdot l}-\frac{M_{z}}{4 \cdot \kappa}+\frac{\left\|\vec{F}_{c o n}\right\|}{4} \end{array}$$

로터 위치에 각각의 힘과 토크를 가하면 내부 물리엔진에 의해 Vehicle이 움직이게 된다. 매뉴얼 비행으로는 같은 경로의 실험을 여러 번 하기에 한계가 있고 비행 시나리오대로 시뮬레이션을 정밀하게 수행하기 위하여 경로 유도기를 설계하였다. Hovering과 직선비행을 수행하며, Vehicle이 직선 경로에 수렴하도록 현재위치 기준으로 경로벡터에 수직한 방향으로 유도하였고 경로벡터 방향으로의 속도 제어를 하는 방법을 채택하였다 (18).

4. 시뮬레이터 성능 분석

본 절에서는 서로 다른 두개의 위성항법 음영환경을 고려하여 제안된 시뮬레이터의 성능을 검증하기로 한다. 먼저 4.1절은 교량 하부 지도환경을 고려하여 PILS 시뮬레이션 만의 결과를 제시하고, 4.2절은 고층 건물 주변에 대한 실제 비행실험 결과를 이용하여 시뮬레이터 성능을 분석하였다.

4.1 교량 하부 비행환경 시뮬레이션

관측성이 떨어지는 교량 하부의 경우, 라이다와 같은 공간 분해도가 높은 거리 센서가 필요하다. 본 연구에서는 HOKUYO사의 UST-20LX 라이다의 사양을 참고하였다. UST-20LX는 최대 40hz의 송신주기를 갖고 60m까지 측정이 가능하며, 수평으로 -135도에서 135도 까지 0.25도의 분해능을 갖는다. 시뮬레이션에서는 항법 연산시간을 고려하여 -135도에서 135도까지 2.5도의 일정한 간격의 측정값을 사용하였고, 데이터 송수신 주기를 5hz로 설정하였다. 항법 알고리즘으로는 측정치 분해도와 연산량을 고려하여 GREKF를 이용하여 항법해 도출을 수행하였다. 또한, 실제 교량 하부 환경과 유사하게 교량상판에 의한 위성항법 음영지역을 반영하였다. 이에 따라 GPS/INS 항법과 GREKF 항법간의 모드전환이 발생하며, 아래 그림과 같이 North방향의 특정 구간인 위성항법 음영지역에서 GREKF가 수행되도록 하였다. 그림 8의 왼쪽그림은 Unity로 원기둥 환경구성을 나타내고, 오른쪽 그림은 해당환경에서 PILS를 수행하였을 때 위치결과이다. 녹색이 GREKF를 수행하였을 때 결과이며, 빨간선이 물리엔진으로 구한 True값이다. 그림 9은 속도, 자세 결과를 나타낸 결과이며, 항법해가 True값을 잘 추종하는 것을 확인할 수 있다. 그림 10은 각 상태변수에 대한 오차를 도시한다. 3축 RMS 위치오차는 0.2972m, 자세오차 0.5도 이내를 산출한다.

그림. 8. 교량 기둥 환경 GREKF 이용한 위치 결과

Fig. 8. Performing PILS with Unity3d and position result of GREKF PILS around cylinder structures

../../Resources/kiee/KIEE.2020.69.7.1117/fig8.png

그림. 9. 교량 기둥환경 GREKF를 이용한 속도/자세 결과

Fig. 9. The velocity and the attitude results of GREKF simulation around cylinder structures

../../Resources/kiee/KIEE.2020.69.7.1117/fig9.png

그림. 10. 교량환경 시뮬레이터 오차 특성

Fig. 10. The error results of GREKF simulation around cylinder structures

../../Resources/kiee/KIEE.2020.69.7.1117/fig10.png

4.2 도심 환경 비행시험을 이용한 성능검증

실제 고층건물 주변 비행실험을 수행한 결과에 대해서 시뮬레이터와 성능 비교를 수행하였다. 그림 11-12는 비행실험 수행시 탑재된 항법 모듈에서 수행한 실시간 항법해와 동일한 비행조건에 대하여 물리엔진에서 생성된 데이터를 이용하여 PILS 시뮬레이터에서 도출된 항법해를 비교, 도시한다. 그림에서 녹색점은 MGPMF, 빨간선은 참값, 파란선은 INS/GPS 결합항법의 결과를 각각 표시한다. 앞서와 같이, 고층 건물에 의한 음영지역이 존재하므로 위성가용성 판별조건에 따라 INS/GPS 항법과 MGPMF간의 모드 전환이 일어남을 관찰할 수 있다. 그림 11에 빌딩 근접비행환경과 실험결과를 도시했고, 구축된 PILS 시뮬레이션 결과의 타당성을 확인할 수 있다. 이때 MGPMF 추정 항법해의 정확도와 정밀도를 그림 12에 도시하였다. PILS 시뮬레이터로 추정된 위치오차의 정확도와 정밀도(2$\sigma$)는 각각 1.18m와 2.12m로 계산되며 실 비행시험의 결과에 비해 낮은 수준의 오차를 갖는 것을 확인할 수 있다. 이는 시뮬레이터에 반영된 다중거리센서의 측정치가 가우시안 잡음 특성만 포함하는 것에 기인한다. 따라서 실제 비행시험에서 발생할 수 있는 유리 등에 의한 빛 산란이나 반사효과는 실제 비행시험 결과의 오차 증가를 가져올 수 있으며, 조건에 따라 발생하고 모델링이 어려운 특징이 있다.

마지막으로 그림 13은 실 비행시험에 따른 자세 추정 결과를 도시한다. 그림에서 왼쪽은 비행시 탑재된 항법에서 수행된 자세 추정 결과를, 오른쪽은 동일한 환경에서 모의 비행데이터를 이용한 PILS 자세추정 결과를 비교한다. 사각 궤적비행에 따른 롤, 피치 자세 변화와 우축 하단 호버링 점에서 회전기동에 따른 요 특성이 잘 도출됨을 확인할 수 있다. 특히 실 비행시험의 경우, 소형 비행체는 고정밀도의 항법 장비 탑재가 불가하므로 자세오차에 대한 정량적 분석이 어려울 수 있다. 그림 13의 실험에 의한 자세값은 레퍼런스값이 없으므로 정확한 오차 추정이 불가능하다. 반면, PILS 시뮬레이터를 이용할 경우, 동일한 비행 조건에 대하여 자세를 포함한 전체 항법해의 오차 성능을 정량적으로 검증할 수 있는 장점이 있다.

그림. 11. 실험기체(좌상) 및 비행환경(우상), MGPMF 비행실험 결과(좌하) 및 PILS 결과(우하)

Fig. 11. MGPMF Position Result of Real-flight (left) and Simulation (right) around buildings

../../Resources/kiee/KIEE.2020.69.7.1117/fig11.png

그림. 12. 도심비행 항법 성능비교: PILS 시뮬레이션 결과(좌) vs. 비행실험결과(우)

Fig. 12. MGPMF Velocity Result of PILS Result(upper) vs. Real-flight (lower)

../../Resources/kiee/KIEE.2020.69.7.1117/fig12.png

그림. 13. 빌딩 주변에서 MGPMF 비행실험(왼쪽), PILS(오른쪽) 자세 결과

Fig. 13. MGPMF Attitude Result of Real-flight (left) and Simulation (right) around buildings

../../Resources/kiee/KIEE.2020.69.7.1117/fig13.png

표 2. PILS 항법 결과의 오차

Table 2. RMSE Result of PILS

Navigation State

PILS RMSE

Position (Hor.) [m]

0.683

Position (3Dim.) [m]

1.030

Velocity [m/s]

0.182

Roll [ ° ]

0.329

Pitch [ ° ]

0.650

Yaw [ ° ]

2.763

표 2는 수행된 빌딩 근접 비행시험에 대한 PILS 시뮬레이터 항법해의 평균 제곱근 오차(RMSE)를 나타낸다. 결론적으로 본 논문에서는 고층 건물 근접비행 결과를 직접적으로 이용하여 PILS 시뮬레이터의 성능 검증에 활용하였으나, 실제 비행이 어려운 고층건물 숲이나 도심거리, 인프라 등의 안전시설 환경에서 주변 구조물의 맵 정보와 가상비행 데이터를 이용하여 구현된 항법 알고리즘의 성능을 효과적으로 검증하는데 활용될 수 있을 것으로 판단된다.

5. 결 론

도심 비행 환경에서의 주변 맵 정보와 관성 및 거리계 결합 복합항법 성능 검증을 위한 PILS 시뮬레이터를 개발하였다. 특히 비행 안전성으로 인해 실제 비행시험이 제한되는 환경에 대해 고속 3차원 물리엔진과 기하적 함수를 포함하는 Unity3D를 활용하여 고정밀도의 비행 모사환경을 구현하였다. 개발된 시뮬레이터는 교량하부 및 빌딩 근접환경과 같은 위성음영 복합지역에 대한 시뮬레이션과 실 비행시험 데이터를 이용하여 성능을 검증하였다. 결론적으로 제안된 시뮬레이터를 활용하여 직관적 영상시연기능, 연산 실시간성, 항법해 분석 편의성을 제공할 수 있다. 무엇보다 비행 안전성 문제로 인해 실제 비행시험이 어려운 도심환경에 대한 정확한 모사와 항법 성능 검증에 효율적으로 활용할 수 있는 장점이 제공할 수 있다.

Acknowledgements

This paper is supported by the Korea Research Foundation (2015M3C1B1034536 and 2019R1A2B5B01069412) and the Korea Agency for Infrastructure Technology Advancement's task of developing an automatic inspection system for vulnerable railway facilities based on unmanned vehicles (16511063).

References

1 
“Opensim”, http://opensimulator.sourceforge.net/Google Search
2 
McDowell Perry, Darken Rudolph, Sullivan Joe, Johnson Erik, 2006, Delta3d: a complete open source game and simu- lation engine for building military training systems, The Journal of Defense Modeling and Simulation: Applications, Methodology, Technology, Vol. 3, No. 3, pp. 143-154DOI
3 
Koenig Nathan, Howard Andrew, 2004, Design and use paradigms for gazebo, an open-source multi-robot simulator, Proc. of 2004 IEEE/RSJ International Conference, Vol. 3, pp. 2149-2154DOI
4 
Freese Marc, Singh Surya, Ozaki Fumio, Matsuhira Nobuto, 2010, Virtual robot experimentation platform v-rep: a versatile 3d robot simulator, Simulation Modeling, and Programming, for Autonomous Robots, pp. 51-62DOI
5 
Xu Jun, Xie Lihua, Ghee Toh Teow, Khing Toh Yue, 2012, Hnmsim: A 3D multi-purpose hybrid networked multi- agent simulator, Control, Conference (CCC), 2012 31st Chinese, pp. 5915-5920Google Search
6 
Wang Sa, Mao Zhengli, Zeng Changhai, Gong Huili, Li Shanshan, Chen eibei, 2010, A new method of virtual reality based on Unity3D, Geoinformatics, 2010 18th Inter- national Conference, pp. 1-5DOI
7 
Falcone Alberto, Garro Alfredo, Longo Francesco, Spadafora Francisco, 2014, Simulation exploration experience: A communication system and a 3D real time visualization for a moon base simulated scenario, Distributed Simulation and Real Time Applications (DSRT), 2014 IEEE/ACM 18th International Symposium, pp. 113-120DOI
8 
W. Meng, Y. Hu, J. Lin, F. Lin, R. Teo, 2015, ROS+Unity: An Efficient High-fidelity 3D Multi-UAV Navigation and Con- trol Simulator in GPS-Denied Environments, IECON 2015- 41st Annual Conference of the IEEE Industrial Electronics Society, pp. 2562-2567DOI
9 
Liao Hongjian, Qu Zhe, 2013, Virtual experiment system for electrician training based on kinect and unity3d, Mecha- tronic Sciences, Electric Engineering and Computer (MEC), Proceedings 2013 International Conference, pp. 2659-2662DOI
10 
K. S. Park, B. J. Lee, D. K. Kim, Y. J. Lee, S. k. Sung, Nov 2019, Performance Test on Integrated Navigation Using 3D Map and Multiple Sensors for Urban Navigation, Proc. of the Korean Space and Aeronautical Society Conference, pp. 259-260Google Search
11 
Y. K. Choe, C. G. Park, J. W. Song, 2018, Importance Sampling Kalman Filter for Urban Canyon Navigation, Proceedings of IEEE/ION PLANS, pp. 1264-1269DOI
12 
Y. K. Choe, J. W. Song, C. G. Park, Sep 2018, Cluster Sampling Kalman Filter for Urban Canyon Navigation, 31st Inter- national Technical Meeting of the Satellite Division of the Institute of Navigation (ION GNSS+ 2018), pp. 244-252Google Search
13 
K. S. Ryu, J. H. Lee, Y. J. Lee, S. K. Sung, Apr 2018, Method for removing GNSS multipath signal and determining satellite visibility using interaction with 3D map information in urban canyon, Proc. of the Korean Space and Aeronautical Society Conference, pp. 213-214Google Search
14 
F. Hamano, 2013, Derivative of Rotation Matrix - Direct Matrix Derivation of Well-Known Formula, Proceeding of 2013, Green Energy and Systems Conference, pp. 1-2Google Search
15 
B. J. Lee, G. S. Park, K. S. Ryu, Y. J. Lee, S. K. Sung, 2018, Design of Integrated Navigation System Using IMU and Multiple Ranges from In-Flight Rotating Hexacopter System, Proceedings of IEEE/ION PLANS, pp. 673-679DOI
16 
P. Foster, Z. Sun, J. J. Park, B. Kuipers, 2013, VisAGGE: Visible angle grid for glass environments, 2013, IEEE International Conference on Robotics and Automation (ICRA)DOI
17 
M. Kutz, 2006, Mechanical Engineers’ Handbook., Wiley, New York, 3rd edGoogle Search
18 
J. H. Bae, D. G. Kim, B. J. Lee, Y. J. Lee, S. K. Sung, Apr 2019, Cyclic Heading Hexacopter Control System Design and Flight Test with Independent Horizontal Maneuverability, Journal of Institute of Control, Robotics and Systems, Vol. 25, No. 4, pp. 285-294Google Search

저자소개

고은학(Eun-Hak Koh)
../../Resources/kiee/KIEE.2020.69.7.1117/au1.png

He graduated from Konkuk University in 2019 with a degree in aerospace information systems engineering.

Currently, he has been studying for a master’s degree in aerospace information systems engineering at Konkuk University since 2019.

Areas of interest include aircraft navi- gation and control.

유강수(Kang-Soo Ryu)
../../Resources/kiee/KIEE.2020.69.7.1117/au2.png

He graduated in 2017 from Seoul National Uni- versity of Science and Technology’s Department of Mechanical and Automotive Engineering.

Currently, he is attending the Master’s and Doctor’s Integration Course in the aerospace information systems engineering department of Konkuk University.

Areas of interest include aircraft navigation and control.

성상경(Sangkyung Sung)
../../Resources/kiee/KIEE.2020.69.7.1117/au3.png

He graduated from the Dept. of Electrical Engineering, Seoul National University in 1996.

In 2003, he received his Ph.D. in the School of Electrical Engineering.

Currently, he is professor of Department of Mechanical and Aerospace Engineering, Konkuk University.

His areas of interest include the integrated navigation systems, unmanned autonomous navigation and control systems, nonlinear filters and sensor fusion, and inertial navigation applications.