최근 드론이란 이름으로 알려진 소형 무인항공기(Small Unmanned Aerial Vehicle : SUAV)가 비약적으로 진화하면서 각종 산업 분야에 응용되기 시작했다. SUAV의 응용 범위는 넓다. 기존부터 응용되어 온 촬영 분야 외에 인프라 구조물 점검 작업, 측량, 경비, 물류 분야 응용도 검토되고 있다. 하지만 SUAV의 응용 범위가 넓어지면서 기존에 비행 제어에 이용되고 있는 센서, 특히 위치와 속도 취득에 사용되는 GPS(Global Positioning System)의 문제가 거론되고 있다.
GPS는 실외의 광대한 환경에서는 일정 이상의 정도로 위치 확인 가능하지만, 구조물 부근과 실내 환경에서는 측위 정밀도가 크게 떨어지거나 위치를 확인할 수 없는 경우가 있다. 그래서 GPS가 없는 환경에서 GPS를 대체할 센서를 이용한 SUAV의 자율 비행에 관한 연구가 한창이다.
현재 GPS가 없는 환경에서 가장 유력한 센서는 Laser Imaging Detection and Ranging(LIDER) 센서이다. LIDER 기반의 Simultaneous Localization and Mapping(SLAM) 기술은 자율주행차 등에도 이용되는 성숙한 기술로, 실내외 환경에서 정밀한 측위 데이터를 얻을 수 있다. 그러나 LIDER 센서에도 약점이 있어서 레이저가 반사하는 대상물이 없는 공간이나 레이저가 산란하는 유리 등의 대상이 존재하는 공간에서는 사용할 수 없다.
모든 센서에는 각각 약점이 되는 공간이 존재한다. 다양한 환경에 적용할 수 있는 내비게이션 시스템을 구축하기 위해서는 각 센서의 데이터를 어떤 방법으로든 통합할 필요가 있다. 통합 방법으로서 각 센서의 관측 오차를 정량적으로 고려할 수 있는 칼만 필터가 적당하다고 생각한다.
여기서는 GPS/비GPS 환경에 대해 심리스하게 적용할 수 있는 자율비행 드론의 내비게이션 시스템을 확장 칼만 필터를 이용해 구축한다.
통합 내비게이션 시스템
GPS, LIDER 및 칼만 필터를 이용한 통합 내비게이션 시스템의 구축에 대해서 설명한다. 이번에는 뒤에서 설명할 프로세스 모델에 비선형 방정식을 포함하고 있기 때문에 비선형 시스템에 적용할 수 있는 칼만 필터의 근사 방법인 확장 칼만 필터를 이용한다.
1. 센서 시스템
여기서는 내비게이션에 이용하는 센서 시스템의 개요와 그 기초방정식에 대해서 설명한다. 우선 사용하는 3개의 좌표계를 정의한다(그림 1). 첫 번째 좌표계는 글로벌 좌표계라고 하며, 이라고 표기한다. 이 좌표계는 지상의 임의의 점에 원점을 가지며, 축이 정북, 축이 동쪽 방향, 축이 중력 방향을 가리킨다. 이 좌표계는 로봇 분야에서의 월드 좌표계와 같은 뜻이다. GPS가 출력하는 위치와 속도는 이 좌표계 상의 벡터로 나타낸다.
▲ 그림 1 좌표계의 정의
두 번째 좌표계는 기체 좌표계라고 하며, 으로 표기한다. 이 좌표계는 SUAV의 중심에 원점을 가지며, SUAV의 운동과 함께 움직이는 동좌표 시스템이다. SUAV에 탑재된 가속도 센서 및 자이로 센서의 출력은 이 좌표계 상의 벡터로서 나타낸다. 세 번째 좌표계는 로컬 좌표계라고 하며, 으로 표기한다. 이 좌표계는 LIDER가 위치 확인을 시작한 지점을 원점으로 하며, 각 좌표축의 방향은 그때의 의 좌표축과 일치한다. LIDER 기반 SLAM을 출력하는 측위 데이터는 이 좌표계 상의 벡터로 나타낸다.
추정하는 SUAV의 상태 벡터를 식 (1)로 정의한다.
와 는 위에 나타난 SUAV의 위치와 속도를 나타내며, 는 SUAV의 자세를 나타낸다. 는 오일러각이나 사원수(quaternion)로 나타내는 것이 일반적이다. 여기서 내비게이션 시스템에서 이용되는 각 센서의 출력과 상태 벡터 의 관계를 도출한다.
우선, SUAV에 탑재된 가속도 센서, 자이로 센서에 의해서 관측되는 3축 가속도 및 각속도를 각각 라고 하면 그것들과 SUAV의 자세를 나타내는 사원수 , SUAV의 속도 의 관계는 다음 식에서 나타낼 수 있다.
여기서 는 사원수 곱을 나타내는 연산자, 는 공역 사원수로 나타내고 있다. 또한, g는 중력가속도이다.
GPS는 지구상에서의 SUAV의 절대위치 및 속도를 출력하므로 GPS가 출력하는 위치 및 속도를 라고 하면 이들은 시스템의 상태를 이용하여 다음 식으로 나타낼 수 있다.
단, 여기서 및 는 GPS 관측 오차를 나타낸다.
마지막으로 LIDER 기반 SLAM은 GPS와 마찬가지로 SUAV의 위치를 출력한다. 이것은 GPS 출력과 같은 절대위치가 아니라 SLAM을 시작한 지점에서의 상대 위치가 된다. 과 사이의 상대성을 나타내는 사원수를 , 의 원점 위치를 , SLAM 출력 위치를 로 했을 때, 이것과 시스템 상태의 관계는 다음 식이 된다.
여기서 위 식은 에서 로 좌표가 변환된 것을 나타내며, 는 SLAM의 측위 오차이다.
2. 확장 칼만 필터의 구축
여기서는 확장 칼만 필터를 이용한 내비게이션 시스템을 구축한다. 우선, 앞에서 도출한 각 센서의 기초방정식을 바탕으로 프로세스 모델을 도출한다. SUAV의 상태 벡터 추정값을 다음 식으로 정의한다.
여기서 와 는 가속도 센서 및 자이로 센서의 바이어스 오차 추정값을 나타내고 있다. 일반적으로 가속도 센서나 자이로 센서와 같은 관성 센서는 출력에 바이어스 오차가 포함되는 것으로 알려져 있으며, 이 바이어스 오차의 누적이 내비게이션 시스템의 출력에 악영향을 끼친다. 그래서 여기서는 바이어스 오차를 추정해 센서 출력을 보정하고자 한다. 바이어스 오차를 포함한 가속도 센서 출력을 , 자이로 센서 출력을 로 정의하고, 프로세스 노이즈 를 도입하면, 식 (2)와 (3)에 의해 사원수 및 속도 추정값의 전파방정식은 다음 식으로 얻을 수 있다.
또한, 위치 추정값의 시간 미분과 속도 추정값의 관계는 다음 식이 된다.
또한, 앞서 설명한 바이어스 오차의 역학을 다음 식의 무작위 행보로 정의한다.
식 (8)~(12)를 이산화함으로써 시스템의 이산시간 상태방정식을 다음 식에서 얻을 수 있다.
여기서 는 t단계째 시스템 상태의 추정값을 나타내고 있다. 또, 는 시스템 프로세스 노이즈를 나타내고, 는 식 (8)~(12)의 우변에 대응한 비선형 벡터 함수이다.
각 센서의 관측방정식을 구한다. 여기서 GPS 출력은 에서의 SUAV의 절대위치 및 속도이며, 이것은 현재의 상태 벡터와만 관련되어 있다. GPS 출력을 로 정의하면, 식 (4)와 (5)에 의해 GPS 관측방정식은 다음 식이 된다.
단, 이다. 는 식 (4)와 (5)의 우변을 나타내는 벡터 함수이다. 한편, LIDER 기반 SLAM의 출력은 전술한 대로 상대 위치 정보이며, 원점 는 과거의 절대 위치, 즉 과거의 상태 벡터에 연관된다. 이보다, SLAM출력을 로 하면 LIDER기반 SLAM의 관측 방정식은 아래의 형식이 된다.
여기서 는 T스텝 과거의 상태 추정값을 나타내고 있다. 이상에서 얻은 식 (13)과 (15), (16)이 시스템 프로세스 모델이 된다.
이상에서 얻은 프로세스 모델을 이용하여 확장 칼만 필터를 다음 식으로 구성한다.
여기서 는 칼만 게인, 는 추정 잔차의 공분산 행렬, 는 관측 노이즈의 공분산 행렬, 는 프로세스 노이즈의 공분산 행렬을 각각 나타낸다.
식 (17)은 최신 상태 추정값과 관련된 식이지만, SLAM 출력을 이용하기 위해서는 과거의 상태를 계산에 포함시켜야 한다. 그래서 여기서는 이하에 설명하는 방법을 이용하여 상태를 확장한다. 과거의 상태를 포함한 확장 상태를 다음 식으로 정의할 수 있다.
여기서 는 센서의 과거 출력과 관련된 확장 상태를 나타낸다. LIDER 기반 SLAM의 경우, 이 확장 상태는 원점의 절대위치 및 의 자세와 관련될 수 있다. 한편, 확장 상태와 관련된 공분산 행렬 는 다음 식으로 정의된다.
LIDER 기반 SLAM은 위치 확인이 불가능한 공간에서 위치 확인이 가능한 공간으로 이동했을 때, 측위를 리셋하고 의 원점을 변경한다. 그래서 위 식에서 정의된 확장 상태는 일정하지 않고, 리셋이 이뤄질 때마다 변경되어야 한다. 이상의 조작은 다음의 식에서 나타내는 행렬 연산에 의해서 실현된다.
여기서 식 (20)은 현재의 상태를 확장 상태에 추가하는 조작을, 식 (21)은 확장 상태에 포함되는 과거의 상태를 제거하는 조작을, 식 (22)는 공분산 행렬의 확장 및 축소 조작을 각각 나타낸다. 는 현재의 상태 추정값과 를 연계하는 행렬이며, 의 관계가 있다. 이 식에서 는 0 또는 1을 요소로 가지는 행렬임을 알 수 있다.
검증 실험
구축한 내비게이션 시스템의 유효성을 보여주기 위해 검증 실험을 했다. 시험에 이용한 SUAV의 외관은 그림 2와 같다. 기체에는 센서로서 가속도 센서, 자이로 센서, GPS, LIDER가 탑재되고 있으며, 이들 데이터를 내장 온보드 PC를 이용하여 수집해 내비게이션 연산을 한다. GPS/비GPS 환경에서 실시한 비행 시험 결과를 그림 3에 나타낸다.
▲ 그림 2 소형 무인항공기
▲ 그림 3 내비게이션 실험 결과(점선 : GPS, 실선 : 내비게이션 시스템,
GPS환경에서 비GPS 환경으로 진입하고, 다시 GPS 환경으로 돌아가는 비행을 했다)
그림은 GPS로부터 얻은 위치 데이터 및 내비게이션 시스템으로 추정한 위치 데이터를 지도상에 궤적으로 나타냈다. 그림의 점선이 GPS 데이터, 실선이 내비게이션 시스템의 출력을 각각 나타내고 있다. 그림에서 내비게이션 시스템의 출력은 시종일관 안정되었음을 알 수 있다. 특히, 건물 사이의 좁은 공간에 진입했을 때에는 GPS 데이터에 큰 오차를 가지며 궤적이 건물과 겹친 것에 대해 내비게이션 시스템의 출력은 건물 사이의 비행 궤적을 정확히 나타내고 있다. 이 결과로부터 구축한 내비게이션 시스템이 GPS/비GPS 환경 모두에게 유효하다는 것이 확인되었다.
맺음말
여기서는 GPS/비GPS 환경에 심리스하게 적용할 수 있는 소형 무인항공기의 내비게이션 시스템을 구축했다. 확장 칼만 필터를 사용하여 GPS, LIDER, 가속도 센서 및 자이로 센서의 데이터를 통합하는 알고리즘을 설계하고, 비행 실험으로 그 유효성을 보여주었다. 여기에서 설명한 시스템의 기술적 핵심으로서 각 센서의 관측 오차에 적합한 오차 공분산 행렬의 결정을 꼽을 수 있다. 각 센서가 약한 공간을 파악하고 그 공간에서의 관측 데이터로부터 적절한 오차 공분산 행렬을 결정함으로써, 정밀한 내비게이션을 실현할 수 있었다.
앞으로는 다른 측위 센서와 통합해 다양한 환경에서 3차원 위치, 속도를 취득할 수 있는 시스템을 개발할 것이다.
鈴木 智, 신슈대학
野波 健蔵, 자율제어 시스템 연구소
本 記事는 日本 「計測自動制御學會」가 發行하는 「計測と制御」誌와의 著作權協定에 依據하여 提供받은 資料입니다.
게재월 | 2018 - 02 2741 0