본 개시에서 사용되는 용어들은 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 다른 실시 예의 범위를 한정하려는 의도가 아닐 수 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 용어들은 본 개시에 기재된 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가질 수 있다. 본 개시에 사용된 용어들 중 일반적인 사전에 정의된 용어들은, 관련 기술의 문맥상 가지는 의미와 동일 또는 유사한 의미로 해석될 수 있으며, 본 개시에서 명백하게 정의되지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다. 경우에 따라서, 본 개시에서 정의된 용어일지라도 본 개시의 실시 예들을 배제하도록 해석될 수 없다.
이하에서 설명되는 본 개시의 다양한 실시 예들에서는 하드웨어적인 접근 방법을 예시로서 설명한다. 하지만, 본 개시의 다양한 실시 예들에서는 하드웨어와 소프트웨어를 모두 사용하는 기술을 포함하고 있으므로, 본 개시의 다양한 실시 예들이 소프트웨어 기반의 접근 방법을 제외하는 것은 아니다.
이하 본 개시는 이동체에 탑재된 관성항법장치의 자세 오차를 보정하기 위한 방법 및 시스템에 관한 것이다. 본 개시는 관성항법장치의 복수의 오차 요인을 산출하고, 상기 복수의 오차 요인에 따라 추가 회전 절차를 통해 관성항법장치의 자세 오차를 보정할 수 있는 기술을 설명한다.
아래에서는 첨부한 도면을 참조하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 다양한 실시예들을 상세히 설명한다. 그러나 본 개시의 기술적 사상은 다양한 형태로 변형되어 구현될 수 있으므로 본 명세서에서 설명하는 실시예들로 제한되지 않는다. 본 명세서에 개시된 실시예들을 설명함에 있어서 관련된 공지 기술을 구체적으로 설명하는 것이 본 개시의 기술적 사상의 요지를 흐릴 수 있다고 판단되는 경우 그 공지 기술에 대한 구체적인 설명을 생략한다. 동일하거나 유사한 구성요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
본 명세서에서 어떤 요소가 다른 요소와 "연결"되어 있다고 기술될 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라 그 중간에 다른 요소를 사이에 두고 "간접적으로 연결"되어 있는 경우도 포함한다. 어떤 요소가 다른 요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 요소 외에 또 다른 요소를 배제하는 것이 아니라 또 다른 요소를 더 포함할 수 있는 것을 의미한다.
일부 실시예들은 기능적인 블록 구성들 및 다양한 처리 단계들로 설명될 수 있다. 이러한 기능 블록들의 일부 또는 전부는 특정 기능을 실행하는 다양한 개수의 하드웨어 및/또는 소프트웨어 구성들로 구현될 수 있다. 예를 들어, 본 개시의 기능 블록들은 하나 이상의 마이크로프로세서들에 의해 구현되거나, 소정의 기능을 위한 회로 구성들에 의해 구현될 수 있다. 본 개시의 기능 블록들은 다양한 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 본 개시의 기능 블록들은 하나 이상의 프로세서들에서 실행되는 알고리듬으로 구현될 수 있다. 본 개시의 기능 블록이 수행하는 기능은 복수의 기능 블록에 의해 수행되거나, 본 개시에서 복수의 기능 블록이 수행하는 기능들은 하나의 기능 블록에 의해 수행될 수도 있다. 또한, 본 개시는 전자적인 환경 설정, 신호 처리, 및/또는 데이터 처리 등을 위하여 종래 기술을 채용할 수 있다.
또한, 본 개시에서, 특정 조건의 만족(satisfied), 충족(fulfilled) 여부를 판단하기 위해, 초과 또는 미만의 표현이 사용되었으나, 이는 일 예를 표현하기 위한 기재일 뿐 이상 또는 이하의 기재를 배제하는 것이 아니다. '이상'으로 기재된 조건은 '초과', '이하'로 기재된 조건은 '미만', '이상 및 미만'으로 기재된 조건은 '초과 및 이하'로 대체될 수 있다.
도 1은 본 발명의 일 실시예에 따른 관성항법장치의 자세 오차 보정 시스템을 개략적으로 도시한다.
도 1을 참조하면, 이동체(100)에 탑재된 관성항법장치(INS: inertial navigation system, 200)의 자세 오차 보정 시스템(210)은 오차 생성부(211), 오차 획득부(213), 오차 판단부(215), 보정 결정부(217) 및 오차 보정부(219)를 포함한다.
관성항법장치(200)는 외부의 도움 없이 관성측정장치(Inertial measurement unit, IMU)를 이용하여 이동체(100)의 각속도 및 가속도를 측정함으로써 이동체(100)의 위치, 속도 및 자세를 계산하는 항법 장치이다. 관성항법장치(200)는 잠수함, 항공기, 선박, 및 미사일 등의 이동체(100)에 탑재될 수 있다. 관성항법장치(200)는 관성측정장치에 포함된 관성센서의 출력 값을 적분함으로써 이동체(100)의 위치, 속도, 및 자세와 같은 항법 정보를 산출하는 항법 알고리즘을 이용할 수 있고, 항법 정보를 기초로 항법을 수행할 수 있다. 예컨대, 관성항법장치(200)는 3개의 가속도계와 각속도계로 이루어진 관성측정장치를 Local-level frame(LLF)에 대해서 일정 자세를 유지하도록 하는 김블형 관성항법장치Gimbaled INS, GINS)일 수 있다. 관성항법장치(200)는 외부의 도움 없이 추측 항법(Dead reckoning navigation)이 가능하지만, 관성센서의 출력 값을 적분하는 과정에서 관성센서 오차가 누적되고, 관성센서 오차는 시간이 지남에 따라 관성항법장치(200)의 항법 성능을 저하시키는 주 요인으로 작용할 수 있다. 따라서, 관성항법장치(200)의 항법 성능을 향상시키기 위해서는 관성항법장치(200)의 자세 오차를 감소시키는 기술이 필요하다.
이하, 본 발명에 따른 관성항법장치(200)는 관성센서조립체를 일정한 절차로 회전시켜 관성센서 오차를 상쇄시킴로써 항법 성능을 개선시킬 수 있는 회전형 관성항법장치(Rotational Inertial Navigation System, RINS)인 것으로 가정하고 기술한다. 회전형 관성항법장치는 관성항법장치(200)의 축 별로 발생하는 관성센서 오차를 상쇄할 수 있는 회전 절차를 설계하여 운용될 수 있다. 예컨대, 회전형 관성항법장치에 포함된 축의 개수는 단일축, 2축, 및 3축 중 적어도 하나일 수 있다. 회전형 관성항법장치는 각 축 별 다양한 회전 순서를 이용하여 관성센서의 바이어스(bias) 오차, 척도계수(scale factor) 오차, 및 비정렬(misalignment) 오차를 상쇄시킬 수 있다. 본 발명의 자세 오차 보정 시스템(210)에서 관성항법장치(200)는 2축으로 구성되고, 2축은 롤(roll) 축 및 요(yaw) 축으로 구성되는 것으로 가정하고 기술한다.
이하, 본 발명에 따른 유동적 회전 절차인 보정 회전이 필요한 환경에 대해 기술한다. 일 예에 따라, 관성항법장치(200)에 자세 안정화 시스템이 없는 경우, 이동체(100)가 계속 이동함에 따라 회전형 관성항법장치의 회전과 상관없는 오차가 계속 누적되므로 기존 고정된 회전 절차로 오차를 상쇄시킬 수 없다. 다른 예에 따라, 관성항법장치(200)의 외축이 롤(Roll) 축이고 내축이 요(Yaw) 축인 경우일 수 있다. 관성항법장치(200)의 외축이 롤 축인 경우, 안정화 시스템이 있더라도 구조적인 문제로 항체와 외축이 고정되어 있어 롤 축 기준으로 회전을 하기 위해서는 이동체(100)의 자세에 영향을 받게 된다. 따라서, 이동체(100)가 이동함에 따라 오차가 누적되고 상기 오차는 고정된 회전 절차로 상쇄될 수 없다. 상기 기술한 환경에서는 고정된 회전 절차인 기본 회전 시퀀스에 추가로 본 발명에 따른 보정 회전을 수행하여 관성항법장치(200)의 자세 오차를 보정하는 시스템이 필요할 수 있다.
오차 생성부(211)는 이동체(100)에 탑재된 관성항법장치(200)를 복수의 기본 회전을 포함하는 기본 회전 시퀀스에 따라 회전시킬 수 있다. 본 발명에 따르면, 관성항법장치(200)의 자세 오차를 발생시키는 오차 요인 중 적어도 하나를 기초로, 관성항법장치(200)의 자세 오차를 발생시키는 기본 회전 시퀀스를 미리 설정할 수 있다. 본 발명은 상기 오차 요인 별로 오차 방향 및 오차 값을 획득하고, 오차 방향 및 오차 값에 따라 결정되는 보정 회전을 통해 관성항법장치(200)의 자세 오차를 감소시키는 것을 특징으로 한다. 따라서, 오차 생성부(211)는 특정 오차 요인에 따른 자세 오차를 발생시키는 기본 회전 시퀀스를 미리 설정하고, 상기 기본 회전 시퀀스에 따라 관성항법장치(200)를 회전시킬 수 있다. 기본 회전 시퀀스는 관성항법장치(200)의 위치를 원점으로 갖는 ENU 좌표계 상의 E축, N축, 및 U축 중 적어도 하나 이상을 기초로 결정되는 축을 기준으로 회전할 수 있다. 예컨대, ENU 좌표계 상의 E축은 관성항법장치(200)의 피치 축, N축은 관성항법장치(200)의 롤 축, U축은 관성항법장치(200)의 요 축에 대응될 수 있다. 다만 이는 예시적인 것이며, ENU 좌표계의 축과 대응하는 관성항법장치(200)의 축의 종류가 본 발명을 제한하지 않는다.
관성항법장치(200)가 회전함에 따라 척도계수 오차 및 비정렬 오차가 발생할 수 있다. 다만, 특정 회전 이후에는 척도계수 오차 및 비정렬 오차 중 하나의 오차만 발생시키고, 다른 하나의 오차는 회전에 의해 상쇄시킬 수 있다. 이하 특정 회전 수행 이후, 척도계수 오차 및 비정렬 오차 중 하나의 오차만을 발생시키는 기본 회전 시퀀스에 대해 기술한다. 일 예에 따르면, 기본 회전 시퀀스가 척도계수 오차에 의한 관성항법장치(200)의 자세 오차를 발생시키는 회전 시퀀스인 경우, 기본 회전 시퀀스에 포함된 복수의 기본 회전은 관성항법장치(200)를 한 방향으로 360도 회전시키는 것을 특징으로 할 수 있다. 관성항법장치(200)를 한 방향으로 360도 회전시키는 기본 회전 시퀀스에 따르면, 비정렬 오차는 회전 중 발생하였다가 360도 회전 후에는 오차 값이 0으로 수렴할 수 있다. 이 경우, 관성항법장치(200)의 자세 오차의 요인이 되는 오차는 척도계수 오차일 수 있다.
다른 예에 따르면, 기본 회전 시퀀스가 비정렬 오차에 의한 관성항법장치(200)의 자세 오차를 발생시키는 회전 시퀀스인 경우, 기본 회전 시퀀스에 포함된 복수의 기본 회전 각각은 한 방향이 아닌 특정 방향으로 180도씩 회전하는 것을 특징으로 할 수 있다. 예컨대, 관성항법장치(200)를 특정 방향으로 180도씩 4회전시키는 기본 회전 시퀀스에 따르면, 척도계수 오차는 회전 중 발생하였다가 180도씩 4회전 후에는 오차 값이 0으로 수렴할 수 있다. 이 경우, 관성항법장치(200)의 자세 오차의 요인이 되는 오차는 비정렬 오차일 수 있다. 관성항법장치(200)의 자세 오차를 유발하는 기본 회전 시퀀스의 예시에 대해서는 도 6에서 더 자세히 기술한다.
오차 획득부(213)는 관성항법 장치로부터 오차 값 및 오차 방향을 포함하는 자세 오차를 획득할 수 있다. 자세 오차는 관성항법 장치에 탑재된 관성센서의 오차이고, 각속도계 오차 및 가속도계 오차 중 적어도 하나일 수 있다. 오차 획득부(213)는 오차 방향 산출부 및 오차 값 산출부를 포함할 수 있다.
오차 방향 산출부는 관성항법 장치에 탑재된 엔코더(encoder) 및 관성 센서를 이용하여 관성항법 장치의 자세를 계산하고, 관성항법 장치의 자세에서 롤(roll) 축이 진북 방향을 기준으로 틀어진 각도를 기초로 오차 방향을 계산할 수 있다. 엔코더는 회전 운동이나 직선운동을 하는 기계 장치의 위치와 속도의 정보를 전기적인 신호로 출력하는 센서로, 기계 장치의 위치, 각도, 속도 등을 측정하거나 모터의 회전속도, 회전량을 제어하기 위해 이용될 수 있다. 관성 센서는 이동관성을 측정할 수 있는 가속도계(accelerometer)와 회전관성을 측정할 수 있는 각속도계(gyroscope)를 포함할 수 있다. 오차 획득부(213)는 가속도계 및 각속도계를 이용하여 관성센서 측정치에 내재되어 있는 오차 데이터를 획득할 수 있다. 오차 획득부(213)는 항법 좌표계 상에서 관성항법장치(200)의 각속도계의 오차가 포함된 각속도 측정치를 제공하는 각속도계 및 항법 좌표계 상에서 관성항법장치(200)의 가속도계의 오차가 포함된 가속도 측정치를 제공하는 가속도계를 포함할 수 있다.
오차 값 산출부는 자세 오차에 포함되는 복수의 오차 요인을 기초로 오차 값을 산출할 수 있다. 복수의 오차 요인은 바이어스(bias) 오차, 척도계수(scale factor) 오차, 및 비정렬(misalignment) 오차를 포함할 수 있다. 오차 값은 이동체(100)의 동체 좌표계와 관성항법 장치의 항법 좌표계 간 좌표 변환 행렬, 방향코사인행렬(Direction Cosine Matrix), 및 복수의 오차 요인 각각의 자세 오차 벡터를 기초로 산출될 수 있다.
자세 오차는 관성항법 장치에 탑재된 관성센서의 오차이고, 각속도계 오차 및 가속도계 오차 중 적어도 하나일 수 있다. 일 예에 따라, 자세 오차가 각속도계 오차인 경우, 각속도계 오차 모델(δωb ib)은 수학식 (1)와 같이 정의될 수 있다.
수학식 (1)
다른 예에 따라, 자세 오차가 가속도계 오차인 경우, 가속도계 오차 모델(δfb)은 수학식 (2)와 같이 정의될 수 있다.
수학식 (2)
여기서, Ba, Ka, Aa, ga는 각각 바이어스 오차, 척도계수 오차, 비정렬 오차, 백색 잡음을 나타낼 수 있다. 바이어스 오차(Ba), 척도계수 오차(Ka), 비정렬 오차(Aa)는 각각 아래 수학식(3) 내지 (5) 같은 행렬 모델로 표현할 수 있다.
수학식 (3)
수학식 (4)
수학식 (5)
아래에서는 자세 오차가 각속도계 오차인 경우로 기술한다. 회전형 관성항법장치의 자세 오차에 가장 큰 영향을 주는 요소는 척도계수 오차(Ka) 및 비정렬 오차(Aa)일 수 있다. 본 발명에서는 복수의 오차 요인 중 척도계수 오차(Ka) 및 비정렬 오차(Aa)을 고려하여 관성항법장치(200)의 자세 오차를 보정하는 시스템인 것으로 가정하고 기술한다.
오차 값 산출부는 플랫폼 좌표계를 동체 좌표계로 변환하는 좌표 변환 행렬(Cb p), 동체 좌표계를 항법 좌표계로 변환하는 좌표 변환 행렬(Cn b), 및 자세 오차 벡터의 곱을 적분함으로써 복수의 오차 요인 별 자세 오차 값을 산출할 수 있다. 여기서 Cn b은 동체 좌표계(b-frame)와 항법 좌표계(n-frame) 사이의 좌표변환 행렬로 관성항법장치(200)의 자세 오차 보정 후 자세 오차가 없다고 가정하면 Cn b는 단위 행렬일 수 있다. 자세 오차 값이 미리 설정된 임계값을 초과하는 경우, 보정 회전을 통해 관성항법장치(200)의 자세 오차를 감소시키는 보정을 수행할 수 있다. 예컨대, 플랫폼 좌표계를 동체 좌표계로 변환하는 좌표 변환 행렬(Cb p)은 방향코사인행렬(Direct Cosine Matrix, DCM)로 나타낼 수 있다. 방향 코사인 행렬은 회전 행렬(Rotation matrix)이라고도 하며, 두 좌표계 간의 상대적인 회전을 기술하는 행렬이다. 예컨대, 방향 코사인 행렬의 각 요소들은 각도를 포함하는 삼각함수(예컨대, sin(.), cos(.) 등)로 표현될 수 있다.
복수의 오차 요인 각각의 자세 오차 벡터는 x축, y축, 및 z축으로 구성된 좌표계에서 관성항법장치(200)의 기준 자세 대비 현재 상대적인 자세의위치에 따른 각속도 벡터에 오차 요인 별 행렬을 더하거나 곱해줌으로써 산출될 수 있다. 복수의 오차 요인 중 바이어스 오차(Ba)만 존재하는 경우, 바이어스 오차(Ba)에 따른 자세 오차 벡터는 수학식 (3)에 따른 벡터에 관성항법장치(200)의 각속도 벡터를 더함으로써 산출될 수 있다. 예컨대, 각속도 벡터는 자이로 센서에서 출력되는 센서 출력 값일 수 있다. 각속도 벡터는 각 증분 값으로 관성항법장치가 일정 각속도로 회전하였을 때, 회전 후 위치에서 자이로 센서에 의해 측정되는 각속도를 나타낼 수 있다. 일 예에 따라, 복수의 오차 요인 중 척도계수 오차(Ka)만 존재하는 경우, 척도계수 오차(Ka)에 따른 자세 오차 벡터는 수학식 (4)에 따른 행렬에 관성항법장치(200)의 각속도 벡터를 곱함으로써 산출될 수 있다. 다른 예에 따라, 복수의 오차 요인 중 비정렬 오차(Aa)만 존재하는 경우, 비정렬 오차(Aa)에 따른 자세 오차 벡터는 수학식 (5)에 따른 행렬에 관성항법장치(200)의 각속도 벡터를 곱함으로써 산출될 수 있다. 이를 통해, 복수의 오차 요인 별 자세 오차로부터 오차 값을 산출함으로써, 항법 좌표계(n-frame) 상에서의 오차 값을 획득할 수 있다.
일 예에 따르면, 오차 판단부(215)는 자세 오차를 기초로 미리 설정된 회전 조건을 만족하는지 판단할 수 있다. 회전 조건은 관성항법 장치의 자세에 따라 결정되는 오차 방향 및 오차 값이 미리 설정된 임계값을 초과하는지 여부를 기초로 미리 설정될 수 있다. 오차 판단부(215)는 복수의 오차 요인 중 척도계수 오차(Scale-factor) 및 비정렬(misalignment) 오차에 대응하는 오차 값이 미리 설정된 임계값을 초과하는지 판단할 수 있다.
일 예에 따르면, 오차 판단부(215)는 복수의 오차 요인 중 척도계수 오차를 나타내는 복수의 제1 오차 요소 및 복수의 제1 오차 요소 각각에 대해 설정된 복수의 제1 임계값을 기초로 척도계수 오차를 판단할 수 있다. 복수의 제1 오차 요소는 롤축 오차 요소 및 요축 오차 요소를 포함할 수 있다. 예컨대, 제1 오차 요소가 롤축 오차 요소인 경우 보정 회전축은 롤축이고, 제1 오차 요소가 요축 오차 요소인 경우 보정 회전축은 요축일 수 있다.
일 예에 따라 오차 생성부(211)에서 척도계수 오차를 발생시키는 기본 회전 시퀀스에 따라 관성항법장치(200)를 회전시킨 경우, 오차 판단부(215)는 척도계수 오차를 판단할 수 있다. 예컨대, 관성항법장치(200)를 한 방향으로 360도 회전시킨 기본 회전 시퀀스에 따라, 수학식 (4)와 같이 대각 행렬에 대한 성분의 오차가 발생할 수 있다. 이 경우, 비정렬 오차는 기본 회전 시퀀스 수행 중 발생하였다가 0으로 수렴할 수 있다.
척도계수 오차 모델을 나타내는 수학식 (4)를 참고하면, 복수의 제1 오차 요소는 K11, K22, 및 K33 일 수 있다. 예컨대, K11은 피치 축 오차 요소, K22는 롤 축 오차 요소, K33는 요 축 오차 요소를 나타낼 수 있다. 다만, 본 제안 발명에서는 롤 축 및 요 축으로 구성된 관성항법장치(200)인 것으로 가정하였으므로, 복수의 제1 오차 요소는 롤 축을 나타내는 K22와 요 축을 나타내는 K33 일 수 있다. 따라서, K22는 관성항법장치(200)의 롤 축이 발생시키는 척도계수 오차를 나타낼 수 있다. K33는 관성항법장치(200)의 요 축이 발생시키는 척도계수 오차를 나타낼 수 있다. 다만, 이는 예시적이며 수학식 (4)의 행렬 내 각각의 요소가 나타내는 축의 종류가 본 발명을 제한하지 않는다. 복수의 제1 오차 요소는 관성항법장치(200)의 관성센서를 통해 획득할 수 있다. 예컨대, 복수의 제1 오차 요소는 관성항법장치(200)의 관성센서 개발 시 교정 절차를 후 획득되는 관성센서의 규격 값일 수 있다.
오차 판단부(215)는 복수의 제1 오차 요소 중 제1 오차 요소가 복수의 제1 임계값 중 제1 오차 요소에 대해 설정된 제1 임계값을 초과하는지에 따라 척도계수 오차를 판단할 수 있다. 제1 임계값은 제1 오차 요소 각각에 대해 미리 설정된 값일 수 있다. 예컨대, 오차 판단부(215)는 척도계수 오차 판단시, 오차 값이 복수의 제1 오차 요소 중 롤 축을 나타내는 K22에 대응하는 값이고 오차 값이 K22에 대해 설정된 제1 임계값을 초과하는 것으로 판단할 수 있다. 이는, 관성항법장치(200)의 롤 축 오차에 의해 척도계수 오차가 발생하는 것을 나타낼 수 있다.
보정 결정부(217)는 회전 조건의 만족 여부를 기초로 복수의 기본 회전에 따라 보정 회전축을 결정할 수 있다. 보정 결정부(217)는 회전 조건의 만족 여부에 따라 오차 값을 기초로 보정 회전각을 결정할 수 있다. 보정 결정부(217)는 복수의 기본 회전 각각의 방향의 반대 방향을 보정 방향으로 결정할 수 있다. 보정 방향은 기본 회전 시퀀스에 포함된 복수의 기본 회전 각각의 방향의 반대 방향들의 집합일 수 있다. 보정 회전축은 롤 축, 피치 축 및 요 축 중 적어도 하나의 축일 수 있다. 보정 회전각은 180도 및 360도 중 적어도 하나의 각도일 수 있다.
오차 판단부(215)에서 척도계수 오차 판단시, 오차 값이 제1 오차 요소에 대응하는 값이고 오차 값이 제1 오차 요소에 대해 설정된 제1 임계값을 초과하는 것으로 판단한 경우, 보정 결정부(217)는 보정 회전각은 360도이고 보정 회전축은 제1 오차 요소를 기초로 결정할 수 있다. 오차 판단부(215)에서 예컨대, 오차 값이 복수의 제1 오차 요소 중 롤 축을 나타내는 K22에 대응하는 값이고 오차 값이 K22에 대해 설정된 제1 임계값을 초과하는 것으로 판단한 경우, 보정 결정부(217)는 보정 회전각은 360도이고 보정 회전축은 롤 축, 보정 방향은 기본 회전 시퀀스에 포함된 방향의 역방향으로 결정할 수 있다.
오차 보정부(219)는 보정 회전축을 기준으로 보정 회전각만큼 회전하는 보정 회전에 따라 관성항법 장치를 회전시켜 자세 오차를 감소시킬 수 있다. 보정 회전은 보정 회전축을 기준으로 복수의 기본 회전 각각의 방향인 보정 방향에 따라 보정 회전각만큼 회전시키는 것을 특징으로 할 수 있다.
일 예에 따라, 척도계수 오차를 발생시키는 기본 회전 시퀀스에 따라 보정 결정부(217)에서 보정 방향, 보정 회전축, 및 보정 회전각을 결정한 경우, 오차 보정부(219)는 기본 회전 시퀀스에 포함된 360도 회전 방향의 반대 방향을 보정 방향으로 결정할 수 있다. 오차 값이 복수의 제1 오차 요소 중 롤 축을 나타내는 K22에 대응하는 값이고 오차 값이 K22에 대해 설정된 제1 임계값을 초과하는 것으로 판단된 경우, 오차 보정부(219)는 관성항법장치(200)를 롤 축을 기준으로 하여 보정 방향으로 360도 회전시킴으로써 척도계수 오차를 감소시킬 수 있다. 상기 기술한 예에서 오차 값이 복수의 제1 오차 요소 중 요 축을 나타내는 K33에 대응하는 값인 경우, 자세 오차 보정 시스템(210)은 관성항법장치(200)의 요 축 자세 오차를 감소시키기 위해 동작할 수 있다.
다른 예에 따르면, 오차 판단부(215)는 복수의 오차 요인 중 비정렬 오차를 나타내는 복수의 제2 오차 요소 및 복수의 제2 오차 요소 각각에 대해 설정된 복수의 제2 임계값을 기초로 비정렬 오차를 판단할 수 있다. 복수의 제2 오차 요소는 관성항법장치(200)의 관성센서를 통해 획득될 수 있다. 예컨대, 복수의 제2 오차 요소는 관성항법장치(200)의 관성센서 개발 시 교정 절차를 후 획득되는 관성센서의 규격 값일 수 있다.
일 예에 따라 오차 생성부(211)에서 비정렬 오차를 발생시키는 기본 회전 시퀀스에 따라 관성항법장치(200)를 회전시킨 경우, 오차 판단부(215)는 비정렬 오차를 판단할 수 있다. 예컨대, 관성항법장치(200)를 한 방향이 아닌 특정 방향으로 180도씩 회전시킨 기본 회전 시퀀스에 따라, 수학식 (5)와 같이 행렬의 대각 성분을 제외한 성분에 대한 오차가 발생할 수 있다. 이 경우, 척도계수 오차는 기본 회전 시퀀스 수행 중 발생하였다가 0으로 수렴할 수 있다.
비정렬 오차 모델을 나타내는 수학식 (5)를 참고하면, 복수의 제2 오차 요소는 K12, K13, K21, K23, K31, K32 일 수 있다. 비정렬 오차를 나타내는 행렬(Aa)의 행 성분 및 열 성분은 순서대로 관성항법장치(200)의 피치 축, 롤 축, 및 요 축을 나타낼 수 있다. 복수의 제2 오차 요소 각각은 관성항법장치(200)의 롤 축, 피치 축, 및 요 축 간의 각도 차이를 나타낼 수 있다. 비정렬오차는 각 축 간에 틀어진 정도를 의미할 수 있다. . 다만, 본 제안 발명에서는 롤 축 및 요 축으로 구성된 관성항법장치(200)인 것으로 가정하였으므로, K23 및 K32 은 관성항법장치(200)의 롤 축 및 요 축 간의 각도 차이를 나타내는 제2 오차 요소일 수 있다. 예컨대, K23은 롤 축 기준으로 요 축이 틀어진 각도를 나타낼 수 있다. K32는 요 축 기준으로 롤 축이 틀어진 각도를 나타낼 수 있다. 따라서, K23 및 K32 은 관성항법장치(200)의 롤 축 및 요 축 간의 각도 차이의 오차에 따라 발생되는 비정렬 오차를 나타낼 수 있다. 다만, 이는 예시적이며 수학식 (5)의 행렬 내 각각의 요소가 나타내는 축의 종류가 본 발명을 제한하지 않는다.
오차 판단부(215)는 복수의 제2 오차 요소 중 제2 오차 요소가 복수의 제2 임계값 중 제2 오차 요소에 대해 설정된 제2 임계값을 초과하는지에 따라 비정렬 오차를 판단할 수 있다. 제2 임계값은 제2 오차 요소 각각에 대해 미리 설정된 값일 수 있다. 예컨대, 오차 판단부(215)는 비정렬 오차 판단시, 오차 값이 복수의 제2 오차 요소 중 롤 축 및 요 축과 같은 관성센서의 축 간 비정렬에 따른 오차를 나타내는 K23에 대응하는 값이고 오차 값이 K23에 대해 설정된 제2 임계값을 초과하는 것으로 판단할 수 있다. 이는, 관성항법장치(200)의 롤 축 및 요 축에 따른 오차에 의해 비정렬 오차가 발생하는 것을 나타낼 수 있다.
오차 판단부(215)에서 예컨대, 오차 값이 복수의 제2 오차 요소 중 롤 축 및 요 축과 같은 관성센서의 축 간 비정렬에 따른 오차를 나타내는 K23에 대응하는 값이고 오차 값이 K23에 대해 설정된 제2 임계값을 초과하는 것으로 판단한 경우, 보정 결정부(217)는 보정 회전각은 180도이고 보정 방향은 기본 회전 시퀀스에 포함된 회전 방향들의 역방향으로 결정할 수 있다. 이 경우, 보정 결정부(217)는 복수의 기본 회전 각각의 회전축을 기초로 롤 축 및 요 축 중 적어도 하나를 보정 회전축으로 결정할 수 있다.
오차 보정부(219)는 관성항법 장치를 보정 회전축을 기준으로 보정 회전각만큼 회전하는 보정 회전에 따라 회전시켜 자세 오차를 감소시킬 수 있다. 보정 회전은 보정 회전축을 기준으로 복수의 기본 회전 각각의 방향의 반대 방향인 보정 방향에 따라 보정 회전각만큼 회전시키는 것을 특징으로 할 수 있다. 일 예에 따라, 비정렬 오차를 발생시키는 기본 회전 시퀀스에 따라 보정 결정부(217)에서 보정 방향, 보정 회전축, 및 보정 회전각을 결정한 경우, 오차 보정부(219)는 상기 기본 회전 시퀀스에 포함된 180도 회전 각각의 반대 방향을 보정 방향으로 결정할 수 있다. 오차 값이 복수의 제2 오차 요소 중 롤 축 및 요 축과 같은 관성센서의 축 간 비정렬에 따른 오차를 나타내는 K23에 대응하는 값이고 오차 값이 K23에 대해 설정된 제2 임계값을 초과하는 것으로 판단된 경우, 오차 보정부(219)는 관성항법장치(200)를 보정 회전축을 기준으로 하여 보정 방향으로 180도씩 회전시킴으로써 비정렬 오차를 감소시킬 수 있다.
관성 센서 오차는 관성항법장치(200)의 자세 변화를 통해 항법 축에서 항법 오차로 전파될 수 있다. 본 발명은 관성항법장치(200)를 일정하게 회전시켜, 회전에 따라 항법 중 발생하는 관성 센서의 오차 전파를 상호 반대 방향으로 만드는 추가 회전을 통해 항법 좌표계에서의 관성 센서 오차를 서로 상쇄시킴으로써 감소시키는 회전형 관성항법장치에 관한 것이다. 이를 통해, 관성 센서 오차는 항법 중 항법 축에서 전파되지 않게 되고 관성항법장치(200)의 위치 오차 성능을 향상시킬 수 있다.
도 2는 본 발명의 일 실시예에 따른 관성항법장치의 자세 오차 보정 방법을 실행하기 위한 컴퓨팅 장치의 개략적인 블록도이다. 이하 사용되는 '...부', '...기' 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어, 또는, 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. 컴퓨팅 장치(10)는 메모리(20), 프로세서(30), 통신부(40), 디스플레이부(50) 및 입출력 인터페이스(60)를 포함할 수 있다.
메모리(20)는 컴퓨팅 장치(10)의 동작을 위한 기본 프로그램, 응용 프로그램, 설정 정보 등의 데이터를 일시적 또는 영구적으로 저장한다. 메모리(20)는 RAM(random access memory), ROM(read only memory) 및 디스크 드라이브와 같은 비소멸성 대용량 기록장치(permanent mass storage device)를 포함할 수 있으나, 본 발명이 이에 한정되는 것은 아니다. 이러한 소프트웨어 구성요소들은 드라이브 메커니즘(drive mechanism)을 이용하여 메모리(20)와 별도의 컴퓨터에서 판독 가능한 기록 매체로부터 로딩될 수 있다. 이러한 별도의 컴퓨터에서 판독 가능한 기록 매체는 플로피 드라이브, 디스크, 테이프, DVD/CD-ROM 드라이브, 메모리 카드 등의 컴퓨터에서 판독 가능한 기록 매체를 포함할 수 있다. 일 실시예에 따라서, 소프트웨어 구성요소들은 컴퓨터에서 판독 가능한 기록 매체가 아닌 통신부(40)를 통해 메모리(20)에 로딩될 수도 있다. 또한, 메모리(20)는 프로세서(30)의 요청에 따라 저장된 데이터를 제공할 수 있다. 본 개시의 일 실시 예에 따르면, 메모리(20)는 복수의 기본 회전을 포함하는 기본 회전 시퀀스에 관한 데이터를 미리 저장할 수 있다. 메모리(20)는 관성항법장치의 보정 회전 수행 여부를 결정하는 회전 조건에 관한 데이터를 미리 저장할 수 있다. 메모리(20)는 관성센서로부터 획득한 관성항법장치의 자세 데이터 및 자세 오차 데이터를 저장할 수 있다.
프로세서(30)는 컴퓨팅 장치(10)의 전반적인 동작들을 제어한다. 예를 들어, 프로세서(30)는 통신부(40)를 통해 신호가 송신 및 수신되도록 제어할 수 있다. 또한, 프로세서(30)는 기본적인 산술, 로직 및 입출력 연산을 수행함으로써, 컴퓨터 프로그램의 명령을 처리하도록 구성될 수 있다. 명령은 메모리(20) 또는 통신부(40)에 의해 프로세서(30)로 제공될 수 있다. 예를 들어 프로세서(30)는 메모리(20)와 같은 기록 장치에 저장된 프로그램 코드에 따라 수신되는 명령을 실행하도록 구성될 수 있다.
본 개시의 일 실시 예에 따르면, 프로세서(30)는 이동체에 탑재된 관성항법장치의 자세 오차 데이터를 기초로 미리 설정된 회전 조건을 만족하는지 판단할 수 있다. 프로세서(30)는 메모리(20)에 저장된 회전 조건의 만족 여부를 기초로 관성항법장치의 보정 방향 및 보정 회전축을 결정하고, 오차 값을 기초로 보정 회전각을 결정할 수 있다. 프로세서(30)는 보정 회전축, 보정 회전각 및 보정 방향을 기초로 관성항법장치의 자세 오차를 감소시킬 수 있다. 예를 들어, 프로세서(30)는 컴퓨팅 장치(10)가 후술하는 다양한 실시 예들에 따른 동작들을 수행하도록 제어할 수 있다.
통신부(40)는 무선 채널을 통해 신호를 송수신하기 위한 기능들을 수행한다. 통신부(40)의 전부 또는 일부는 송신부, 수신부, 송수신부로 지칭될 수 있다. 통신부(40)는 통신망을 통해 컴퓨팅 장치(10)와 적어도 하나의 다른 노드가 서로 통신하기 위한 기능을 제공할 수 있다. 본 개시의 일 실시 예에 따르면, 컴퓨팅 장치(10)의 프로세서(30)가 메모리(20)와 같은 기록 장치에 저장된 프로그램 코드에 따라 요청 신호를 생성한 경우, 요청 신호는 통신부(40)의 제어에 따라 통신망을 통해 적어도 하나의 다른 노드로 전달될 수 있다. 역으로, 적어도 하나의 다른 노드의 프로세서의 제어에 따라 제공되는 제어 신호나 명령, 콘텐츠, 파일 등이 통신부(40)를 통해 컴퓨팅 장치(10)로 수신될 수 있다.
디스플레이부(50)는 하나 이상의 디스플레이를 포함하는 디스플레이 모듈을 지시한다. 디스플레이부(50)에 포함된 하나 이상의 디스플레이 각각은 개별적으로 독립된 컨텐츠를 표시할 수 있고, 전술한 하나 이상의 디스플레이가 결합하여 단일 컨텐츠를 표시할 수도 있다. 본 개시의 일 실시 예에 따르면, 디스플레이부(50)에 포함된 하나 이상의 디스플레이는 물리적으로 분리된 다중 디스플레이를 포함할 수 있고, 물리적으로 결합된 다중 디스플레이일 수도 있으며, 하나의 화면을 분할하여 사용할 수 있는 디스플레이일 수도 있음에 유의한다.
입출력 인터페이스(60)는 입출력 장치와의 인터페이스를 위한 수단일 수 있다. 이때 입력 장치는 예를 들어 키보드 또는 마우스 등의 장치를, 그리고 출력 장치는 이미지를 표시하기 위한 디스플레이부 등과 같은 장치의 형태로 구비될 수 있다. 다른 예로 입출력 인터페이스(60)는 터치스크린과 같이 입력과 출력을 위한 기능이 하나로 통합된 장치와의 인터페이스를 위한 수단일 수도 있다. 구체적으로, 컴퓨팅 장치(10)의 프로세서(30)는 메모리(20)에 로딩된 컴퓨터 프로그램의 명령을 처리함에 있어서 서버가 제공하는 데이터를 이용하여 구성되는 서비스 화면이나 컨텐츠가 입출력 인터페이스(60)를 통해 디스플레이에 표시될 수 있다. 본 개시의 일 실시 예에 따르면, 입출력 인터페이스(60)는 디스플레이부(50)와의 인터페이스를 위한 수단을 포함할 수 있다. 입출력 인터페이스(60)는 디스플레이부(50)에 표시된 웹 브라우징 윈도우에 대한 사용자 입력을 수신할 수 있고, 전술한 사용자 입력에 응답하여 디스플레이부(50)를 통해 출력할 출력 데이터를 프로세서(30)로부터 전달받을 수 있다.
도 3은 본 발명의 일 실시예에 따른 관성항법장치의 자세 오차 보정 방법을 설명하기 위한 순서도를 도시한다.
도 3은 본 개시의 다양한 실시 예들에 따른 이동체에 탑재된 관성항법장치(도 1의 200)의 자세 오차 보정 방법에 관한 순서도를 도시한다. 도 3은 도 2의 컴퓨팅 장치(도 2의 10)가 프로세서(도 2의 30)를 이용하여 동작하는 방법을 예시한다. 도 3에 도시된 자세 오차 보정 방법을 참조하면, 이동체에 탑재된 관성항법장치의 오차 요인 별 자세 오차 정보에 따라 보정 회전을 통해 관성항법장치의 자세 오차를 보정할 수 있다.
이동체에 탑재된 관성항법 장치(INS: inertial navigation system)를 복수의 기본 회전을 포함하는 기본 회전 시퀀스에 따라 회전시킬 수 있다(S10).
관성항법 장치로부터 오차 값 및 오차 방향을 포함하는 자세 오차를 획득할 수 있다(S20). 자세 오차는 관성항법 장치에 탑재된 관성센서의 오차일 수 있다. 예컨대, 자세 오차는 각속도계 오차 및 가속도계 오차 중 적어도 하나를 포함할 수 있다. 단계(S20)에서 관성항법 장치에 탑재된 엔코더(encoder) 및 관성센서를 이용하여 관성항법 장치의 자세를 계산할 수 있다. 단계(S20)에서 관성항법 장치의 자세에서 롤(roll) 축이 진북 방향을 기준으로 틀어진 각도를 기초로 오차 방향을 계산할 수 있다. 단계(S20)에서 자세 오차에 포함되는 복수의 오차 요인을 기초로 오차 값을 산출할 수 있다. 복수의 오차 요인은 바이어스(bias) 오차, 척도계수(scale factor) 오차, 및 비정렬(misalignment) 오차를 포함할 수 있다. 오차 값은 이동체의 동체 좌표계와 관성항법 장치의 항법 좌표계 간 좌표 변환 행렬, 방향코사인행렬(Direction Cosine Matrix), 및 복수의 오차 요인 각각의 자세 오차 벡터를 기초로 산출될 수 있다. 오차 값을 산출하는 내용은 도 1에 기술된 내용을 참조한다.
자세 오차를 기초로 미리 설정된 회전 조건을 만족하는지 판단할 수 있다(S30). 회전 조건은 관성항법 장치의 자세에 따라 결정되는 오차 방향 및 오차 값이 미리 설정된 임계값을 초과하는지 여부를 기초로 설정될 수 있다. 일 예에 따르면, 단계(S30)에서 복수의 오차 요인 중 척도계수 오차를 나타내는 복수의 제1 오차 요소 및 복수의 제1 오차 요소 각각에 대해 설정된 복수의 제1 임계값을 기초로 척도계수 오차를 판단할 수 있다. 단계(S30)에서 복수의 제1 오차 요소 중 제1 오차 요소가 복수의 제1 임계값 중 제1 오차 요소에 대해 설정된 제1 임계값을 초과하는지에 따라 척도계수 오차를 판단할 수 있다.
회전 조건의 만족 여부를 기초로 복수의 기본 회전에 따라 보정 회전축을 결정하고, 오차 값을 기초로 보정 회전각을 결정할 수 있다(S40).
단계(S30)의 척도계수 오차를 판단하는 단계에서 오차 값이 제1 오차 요소에 대응하는 값이고 오차 값이 제1 오차 요소에 대해 설정된 제1 임계값을 초과하는 경우, 단계(S40)에서 보정 회전각은 360도이고 보정 회전축은 제1 오차 요소를 기초로 결정될 수 있다. 복수의 제1 오차 요소는 롤축 오차 요소 및 요축 오차 요소를 포함할 수 있다. 예컨대, 제1 오차 요소가 롤축 오차 요소인 경우 보정 회전축은 롤축이고, 제1 오차 요소가 요축 오차 요소인 경우 보정 회전축은 요축일 수 있다.
다른 예에 따르면, 단계(S30)에서 복수의 오차 요인 중 비정렬 오차를 나타내는 복수의 제2 오차 요소 및 복수의 제2 오차 요소 각각에 대해 설정된 복수의 제2 임계값을 기초로 비정렬 오차를 판단할 수 있다. 예컨대, 복수의 제2 오차 요소 중 제2 오차 요소가 복수의 제2 임계값 중 제2 오차 요소에 대해 설정된 제2 임계값을 초과하는지 판단할 수 있다. 단계(S30)의 비정렬 오차를 판단하는 단계에서 오차 값이 제2 오차 요소에 대응하는 값이고 오차 값이 제2 오차 요소에 대해 설정된 제2 임계값을 초과하는 경우, 단계(S40)에서 보정 방향은 기본 회전 시퀀스에 포함된 복수의 기본 회전들에 포함된 방향의 반대 방향이고, 보정 회전축은 복수의 기본 회전 각각의 회전축이고, 보정 회전각은 180도로 결정될 수 있다.
관성항법장치를 보정 회전축을 기준으로 보정 회전각만큼 회전하는 보정 회전에 따라 회전시켜 자세 오차를 감소시킬 수 있다(S50). 단계(S50)에서 보정 방향은 복수의 기본 회전 각각의 방향의 반대 방향으로 결정될 수 있다. 단계(S50)에서 관성항법 장치를 보정 회전축을 기준으로 보정 방향에 따라 보정 회전각만큼 회전시킴으로써 관성항법장치의 자세 오차를 보정할 수 있다.
도 4는 본 발명의 일 실시예에 따른 관성항법장치의 구조를 개략적으로 도시한다.
도 4를 참조하면, 관성항법장치(200)는 가속도계(201), 각속도계(203), 롤(roll) 축 모터(205), 피치(pitch) 축 모터(207), 및 요(yaw) 축 모터(209)를 포함할 수 있다. 도 4에 도시되어 있지는 않으나, 관성항법장치(200)는 도 1에 도시된 항공기와 같은 이동체(도 1의 100)에 탑재되어 이동체의 위치를 감지하고 목적지까지 유도하기 위한 장치일 수 있다. 관성항법장치(200)는 본 발명에 따른 자세 오차 보정 시스템(도 1의 210)을 포함할 수 있다. 도 4에 도시된 ENU 좌표계(동북상 좌표계)는 관성항법장치(200)를 회전시키는 기준이 되는 좌표계일 수 있다. ENU 좌표계에 대해서는 도 6에서 더 자세히 기술한다.
롤 축 모터(205), 피치 축 모터(207), 및 요 축 모터(209)는 각각 롤 축, 피치 축, 및 요 축을 기준으로 관성항법장치(200)를 회전시킬 수 있다. 관성항법장치(200)가 탑재된 이동체가 롤 축을 향해서 이동을 하고 있는 경우, 종축은 롤 축, 횡축은 피치 축, 수직 축은 요 축으로 정의될 수 있다. 롤 축 모터(205), 피치 축 모터(207), 및 요 축 모터(209) 중 적어도 하나 이상의 모터는 관성항법장치(200)의 자세 오차 보정을 위해 작동되어 롤 축, 피치 축, 및 요 축 중 적어도 하나 이상의 축을 기준으로 관성항법장치(200)를 회전시킬 수 있다.
도 4에 도시되어 있지는 않으나, 관성항법장치(200)는 가속도계(201)(Accelerometer)와 각속도계(203)(Gyroscope)로 구성된 관성측정장치(Inertial Measurement Unit, IMU) 및 연산 장치(마이크로프로세서)로 구성될 수 있다. 관성측정장치(IMU)는 가속도계(201)를 이용하여 관성항법장치(200)로부터 선형 가속도를 감지 및 계산하고, 각속도계(203)를 이용하여 회전 속도를 감지 및 계산할 수 있다. 예컨대, 관성측정장치(IMU)는 3차원 공간 정보를 계산하기 위해 3개의 축(예컨대, x축, y축, 및 z축) 별로 가속도계(201) 및 각속도계(203)를 포함할 수 있다. 예컨대, 가속도계(201) 및 각속도계(203)는 각각 롤 축, 피치 축, 및 요 축 각 축 별로 복수의 가속도계(201) 및 각속도계(203)로 구성될 수 있다. 3축 가속도계(201)는 x축, y축, 및 z축 방향으로의 이동체의 가속도를 측정할 수 있고, 가속도의 단위는 [g]일 수 있다. 3축 각속도계(203)는 x축, y축, 및 z축 방향으로의 이동체의 각속도를 측정할 수 있고, 각속도의 단위는 [degree/sec]일 수 있다.
관성항법장치(200)는 내장된 관성측정장치(IMU)로부터 획득한 가속도 및 각속도를 각각 시간에 대해 적분하여 이동체의 속도를 계산하고, 이동체의 속도를 적분하여 이동거리를 계산할 수 있다. 관성항법장치(200)는 초기 위치에 이동거리를 더하여 현재 관성항법장치(200)의 위치를 계산할 수 있다. 관성항법장치(200)는 측정된 각속도를 시간에 대해 적분하여 각도를 획득할 수 있다. 다만, 각속도계(203)에서 측정되는 각속도는 노이즈 등에 의해 측정 값에 오차가 발생할 수 있고, 측정 값 적분 시 오차가 누적됨에 따라 각도가 변하게 될 수 있다.
도 5는 본 발명의 일 실시예에 따른 이동체의 동체 좌표계를 도시한다.
도 5를 참조하면, 관성항법장치가 탑재된 이동체(100)의 동체 좌표계(body frame)를 개략적으로 도시한다. 도 1 및 도 5를 참조하면, 이동체(100)는 자세 오차 보정 시스템을 포함할 수 있다. 동체 좌표계는 항공기, 선박과 같은 이동체(100)의 무게중심(CG: center of gravity)을 원점으로 가질 수 있다. 각속도 및 가속도 성분이 동체 좌표계 상에서 정의됨에 따라, 동체 좌표계는 관성센서 측정치 및 관성센서 오차를 기술하는데 이용될 수 있다.
도 5에 도시된 동체 좌표계는 XB 축, ZB 축, 및 YB 축으로 구성된 직교좌표계(orthogonal coordinate system)로 정의될 수 있다. 일 예에 따라, 동체 좌표계의 XB 축은 이동체(100)의 전면 방향 축, ZB 축은 이동체(100)의 하단 방향 축, YB 축은 오른손 법칙에 의해 결정되는 축일 수 있다. 예를 들어, 항공기의 경우 동체 좌표계에서 XB 축은 기준 기수 방향 축(roll 회전축), YB 축은 오른쪽 날개 방향 축(pitch 회전축), ZB 축은 배면 방향 축(yaw 회전축)으로 정의될 수 있다. 이동체(100)의 동체 좌표계는 관성항법장치의 오차 값 산출 시 이용되는 좌표 변환 행렬, 예컨대 방향 코사인 행렬(Direction Cosine Matrix)에 이용될 수 있다. 방향 코사인 행렬은 이동체(100)의 위치, 속도 및 자세 계산 시 이용될 수 있다. 방향 코사인 행렬은 회전 행렬(Rotation matrix)이라고도 하며, 두 좌표계 간의 상대적인 회전을 기술하는 행렬이다. 예컨대, 방향 코사인 행렬의 각 요소들은 각도를 포함하는 삼각함수(예컨대, sin(.), cos(.) 등)로 표현될 수 있다. 예컨대, 관성항법장치의 항법 좌표계(navigation frame)와 이동체(100)의 동체 좌표계 간 변환을 수행하는 좌표 변환 행렬(Cn b), 플랫폼 좌표계(platform frame)와 동체 좌표계 간 변환을 수행하는 좌표 변환 행렬(Cb p)을 이용하여 관성항법장치의 오차 값을 산출할 수 있다. 관성항법장치의 항법 좌표계와 이동체(100)의 동체 좌표계 간 변환하는 좌표 변환 행렬(Cn b)은 동체 좌표계와 항법 좌표계 사이의 상대적인 자세각(attitude angle)을 기초로 결정될 수 있다. 본 제안 발명에 따라 관성항법장치의 자세 오차를 보정한 경우, 관성항법장치의 항법 좌표계(navigation frame)와 이동체(100)의 동체 좌표계 간 변환을 수행하는 좌표 변환 행렬(Cn b)은 단위 행렬일 수 있다. 플랫폼 좌표계(platform frame)와 동체 좌표계 간 변환을 수행하는 좌표 변환 행렬(Cb p)의 예시는 아래 도 7에서 기술하는 자세 오차 보정 방법의 일 예를 참고한다.
도 6은 본 발명의 일 실시예에 따른 관성항법장치의 자세 오차 보정 방법의 개념도를 개략적으로 도시한다.
도 6을 참조하면, 정육면체(200)의 무게중심에 관성항법장치가 위치하고, 정육면체(200)의 내부에 관성항법장치의 위치를 원점으로 갖는 ENU 좌표계가 정의될 수 있고, 이하 이를 전제로 기술한다. 관성항법장치는 정육면체(200)의 무게중심에 고정되어 ENU 좌표계 상의 E축, N축, 및 U축 중 적어도 하나 이상을 기초로 결정되는 축을 기준으로 회전할 수 있다. ENU 좌표계 상의 E축은 관성항법장치의 피치 축, N축은 관성항법장치의 롤 축, U축은 관성항법장치의 요 축에 대응될 수 있다. 다만 이는 예시적인 것이며, ENU 좌표계의 축과 관성항법장치의 롤 축, 피치 축, 및 요 축 중 ENU 좌표계의 각축과 대응되는 축의 종류가 본 발명을 제한하지는 않는다.
도 6을 참조하면, 관성항법장치는 복수의 기본 회전을 포함한 기본 회전 시퀀스(220) 및 보정 회전(240)에 따라 회전할 수 있다. 도 6에 도시된 바와 같이 기본 회전 시퀀스는 복수 회 수행될 수 있으나, 이하 기본 회전 시퀀스(220)는 하나의 정육면체에서 수행되는 관성항법장치의 4회 기본 회전을 포함하는 것으로 가정하고 기술한다. 보정 회전(240)은 기본 회전 시퀀스(220) 수행 후 관성항법장치의 자세 오차가 미리 설정된 회전 조건을 만족하였는지 여부에 따라, 회전 조건을 만족한 경우 기본 회전 시퀀스(220) 다음 단계에 추가로 수행되는 회전일 수 있다.
일 예에 따라, 도 6에 도시된 A, B, C, 및 D는 한 회전이 끝난 후 관성항법장치의 정지 시간 동안 자세를 나타낼 수 있다. 예컨대, 관성항법장치의 자세는 롤 축 방향을 기준으로 정의될 수 있다. 예컨대, 관성항법장치의 A에서의 자세는 관성항법장치의 롤 축이 A 방향을 향하고 있을 때의 자세를 나타낼 수 있다. 다만, 이는 예시적이며 관성항법장치의 한 회전이 끝난 후 정지 시간 동안의 자세에 대한 축의 종류가 본 발명을 제한하지는 않는다. 관성항법장치의 복수의 기본 회전 각각은 도 6에 도시된 A, B, C, 및 D를 기초로 결정된 화살표 방향의 회전일 수 있다. 예컨대, 도 6에 도시된 바와 같이 복수의 기본 회전 각각은 ENU 좌표계를 기준으로 각 축에 대해 시계 방향 또는 반시계 방향으로의 180도 회전일 수 있다.
보정 회전(240)은 관성항법장치의 자세 오차가 척도계수 오차에 의한 오차인지와 비정렬 오차에 의한 오차인지에 따라 보정 회전축, 보정 방향 및 보정 회전각이 결정될 수 있다. 일 예에 따라, 기본 회전 시퀀스(220)에 포함된 복수의 기본 회전에 따라 관성항법장치가 한 방향으로 360도 회전을 수행한 경우, 관성항법장치의 자세 오차는 척도계수 오차에 의해 발생한 오차일 수 있다. 보정 회전축은 롤 축 및 요 축 중 적어도 하나일 수 있고, 보정 회전각은 360도로 보정 방향은 관성항법장치가 360도 회전을 수행한 방향의 반대 방향일 수 있다. 다른 예에 따라, 기본 회전 시퀀스(220)에서 복수의 기본 회전에 따라 관성항법장치가 한 방향이 아닌 특정 방향으로 180도씩 회전을 수행한 경우, 관성항법장치의 자세 오차는 비정렬 오차에 의해 발생한 오차일 수 있다. 이 경우, 보정 회전축은 롤 축, 피치 축 및 요 축 중 적어도 하나 이상의 축을 기초로 결정되는 축일 수 있고, 보정 회전각은 180도일 수 있다. 보정 방향은 특정 방향을 갖는 복수의 기본 회전을 포함하는 기본 회전 시퀀스(220)에 따라 관성항법장치가 회전을 수행한 방향의 반대 방향일 수 있다. 도 6은 특정 4회전에 따라 비정렬 오차에 의한 관성항법장치의 자세 오차가 발생하고 이를 감소시키는 방법의 개념도를 개략적으로 도시하고, 이를 전제로 기술한다.
도 6은 관성항법장치가 4회의 기본 회전을 포함하는 기본 회전 시퀀스(220)를 각각 4회 수행하고 보정 회전(240)을 수행한 예를 도시한다. 예컨대, 도 6에서 복수의 기본 회전 각각은 회전 1 내지 16으로 도시되어 있고, 회전 1 내지 16 각각에 표시된 화살표는 관성항법장치의 회전 방향을 나타낼 수 있다.
도 6에서 관성항법장치는 4번의 기본 회전을 포함하는 기본 회전 시퀀스(220)에 따라 회전을 수행한 후에 기본 회전 전 초기 자세로 되돌아올 수 있다. 예컨대, 관성항법장치는 4번의 기본 회전 시퀀스(220)에 따라 회전을 수행한 후, 마지막 기본 회전인 회전 16에서의 관성항법장치의 자세(A)는 회전 13 수행 전 관성항법장치의 초기 자세(A)와 동일할 수 있다. 다만, 기본 회전 시퀀스(220)를 수행하는 중에 척도계수 오차 및 비정렬 오차와 같은 자세 오차가 발생하여 기본 회전 시퀀스(220) 수행 후 실제 관성항법장치의 자세는 자세 오차를 포함할 수 있다. 기존 회전형 관성항법장치의 회전 절차는 기본 회전 시퀀스(220)만을 이용하지만, 본 제안 발명은 회전 조건 만족 여부에 따라 오차를 감소시켜주는 보정 회전(240)을 추가로 수행함으로써 관성항법장치의 자세 오차를 보정할 수 있다.
본 발명에 따르면, 기본 회전 시퀀스(220)를 1회 수행할 때 마다 미리 설정된 회전 조건을 만족하는지 여부를 판단할 수 있다. 도 6에서는 관성항법장치가 3번째 기본 회전 시퀀스(220)에 따라 회전하였을 때까지는 회전 조건을 만족하지 않았으나, 4번째 기본 회전 시퀀스(220)를 수행한 후에는 회전 조건을 만족하여 보정 회전(240)을 수행한 예를 도시한다. 회전 조건은 관성항법장치의 회전 후 오차 값이 특정 임계값을 초과하였는지 여부로 결정될 수 있다. 예컨대, 회전 조건은 관성항법 장치의 자세에 따라 결정되는 오차 방향 및 오차 값이 미리 설정된 임계값을 초과하는지 여부를 기초로 설정될 수 있고, 회전 조건에 대한 내용은 도 1에 기술된 내용을 참고한다. 도 6에는 하나의 기본 회전 시퀀스(220)에 4개의 기본 회전이 포함된 것으로 도시되어 있으나, 기본 회전 시퀀스(220)에 포함된 기본 회전의 개수가 본 발명을 제한하지는 않는다. 보정 회전(240)에서 보정 회전축은 롤 축, 피치 축, 및 요 축 중 적어도 하나일 수 있다. 다른 예에 따라, 보정 회전 축은 롤 축, 피치 축, 및 요 축 중 적어도 2 이상을 기초로 결정되는 축일 수 있다. 보정 회전각은 기본 회전의 회전각과 동일하게 180도일 수 있다. 도 6에 도시되어 있지는 않으나, 보정 회전각은 360도 일 수 있다. 보정 방향은 기본 회전 시퀀스(220)에 포함된 복수의 기본 회전(회전 1 내지 16) 각각의 방향의 반대 방향일 수 있다. 보정 방향은 한 방향으로의 360도 회전이 아닌 특정 방향일 수 있다. 도 6에 도시되어 있지는 않으나, 보정 방향은 한 방향일 수 있다. 관성항법장치는 보정 회전축을 기준으로 보정 방향에 따라 보정 회전 각만큼의 보정 회전(240)을 수행함으로써 자세 오차를 감소시킬 수 있다. 도 6에 도시된 관성항법장치의 자세 오차 보정 개념도에 따라 자세 오차를 보정하는 예시는 도 7에서 더 자세히 기술한다.
도 7은 본 발명의 일 실시예에 따른 관성항법장치의 회전을 통한 자세 오차 보정 방법의 일 예를 도시한다.
도 7은 관성항법장치의 자세 오차를 발생시키는 복수의 오차 요인 중 비정렬(misalignment) 오차를 감소시키는 방법의 일 예이다.
본 발명에 따른 회전형 관성항법장치의 자세 오차 보정 방법은 기본 회전 시퀀스 이후 추가로 보정 회전에 따라 관성항법장치를 회전시켜 센서 오차를 상쇄시킬 수 있다. 도 7에 도시된 관성항법장치의 기본 회전 방향은 관성항법장치의 항법 좌표계 및 ENU 좌표계에서 U축 및 N축 중 하나의 축에 표시된 화살표를 참고할 수 있다. 관성항법장치는 4회전 마다 회전 전 초기 자세로 돌아올 수 있다.
도 7에 도시된 ENU 좌표계에서 E축은 관성항법장치의 피치 축, N축은 관성항법장치의 롤 축, U축은 관성항법장치의 요 축을 나타낼 수 있다. 이에 대응하여 항법 좌표계에서 x축은 피치 축, y축은 롤 축, z축은 요 축을 나타낼 수 있다. 도 7에서 관성항법장치의 회전은 총 8회전(R1 내지 R8)으로 각 회전 이후 관성항법장치의 자세(221 내지 230)를 항법 좌표계의 3축을 통해 개략적으로 도시한다. 이 때 R1 내지 R4의 회전 각각은 기본 회전으로 이들의 집합은 기본 회전 시퀀스일 수 있다. 마찬가지로, R5 내지 R8의 회전 각각은 기본 회전으로 이들의 집합은 또 다른 기본 회전 시퀀스일 수 있다. 기본 회전 시 회전 축은 롤 축(예컨대, N축, y축) 및 요 축(예컨대, U축, z축) 중 적어도 하나이고, 회전 각도는 180도일 수 있다. 상기 기본 회전 시퀀스는 복수의 오차 요인 중 비정렬 오차를 발생시키기 위한 기본 회전들을 포함할 수 있다.
관성항법장치는 기본 회전 시퀀스에 따라 회전을 수행한 후, 회전 전 초기 자세로 되돌아올 수 있다. 도 7에 따르면, 관성항법장치는 4번의 기본 회전(R1 내지 R4) 후의 자세(225)는 초기 자세(221)와 동일할 수 있다. CR1(241) 및 CR2(242)는 기본 회전 시퀀스 이후 수행되는 보정 회전일 수 있다. 다른 예로, 보정 회전은 복수의 기본 회전 시퀀스 수행 중 추가적으로 수행될 수 있다. 보정 회전의 보정 방향, 보정 회전축 및 보정 회전각은 기본 회전 시퀀스에 따라 결정될 수 있다. 상기 예에 따르면, 척도계수에 의한 관성항법장치의 자세 오차는 R1 내지 R4 회전 중 발생하였다가 R4 회전 이후 0으로 수렴할 수 있다. R4 회전 이후에는 비정렬 오차에 의한 자세 오차만 발생할 수 있다.
비정렬 오차를 나타내는 행렬(Aa)은 복수의 제2 오차 요소를 포함하여 도 1에서 정의한 수학식 (5)와 같이 정의될 수 있다.
수학식(5)
수학식(5)를 참고하면, 복수의 제2 오차 요소는 K12, K13, K21, K23, K31, K32 일 수 있다. 비정렬 오차를 나타내는 행렬(Aa)의 행 성분 및 열 성분은 순서대로 관성항법장치의 피치 축, 롤 축, 및 요 축을 나타낼 수 있다. 복수의 제2 오차 요소 각각은 관성항법장치의 롤 축, 피치 축, 및 요 축 간의 각도 차이를 나타낼 수 있다. 예컨대, K23, K32 은 관성항법장치의 롤 축 및 요 축 간의 각도 차이를 나타내는 제2 오차 요소일 수 있다.
복수의 제2 오차 요소 중 K23, K32 의 경우, 도 7에 도시된 바와 같이 롤 축 및 요 축 기준으로 일정 방향의 회전(예컨대, 시계 방향 또는 반시계 방향)을 통해 비정렬 오차를 발생시킬 수 있다. 도 7을 참조하면, ENU 좌표계는 관성항법장치를 원점으로 갖고 E축, N축, 및 U축을 포함하는 3축으로 구성될 수 있다. ENU 좌표계에 대한 자세한 설명은 도 6을 참조한다. 항법 좌표계는 관성항법장치를 원점으로 갖고 x축, y축, 및 z축을 포함하는 3축으로 구성될 수 있다. 관성항법장치는 ENU 좌표계 및 항법 좌표계의 원점에 위치하여, 롤 축 및 요 축을 기준으로 회전할 수 있다. 도 7에 도시된 바와 같이 관성항법장치가 회전함에 따라 관성항법장치의 자세를 나타내는 항법 좌표계의 축 방향이 달라질 수 있다.
도 7에서 R1 내지 R4 회전을 제1 기본 회전 시퀀스라고 가정하고, 제1 기본 회전 시퀀스에 따라 발생하는 관성항법장치의 자세 오차에 대해 기술한다. 관성항법장치의 자세 오차에 따른 오차 값은 플랫폼 좌표계를 동체 좌표계로 변환하는 좌표 변환 행렬(Cb p), 동체 좌표계를 항법 좌표계로 변환하는 좌표 변환 행렬(Cn b), 및 자세 오차 벡터의 곱을 적분함으로써 산출될 수 있다. 비정렬 오차의 경우, 자세 오차 벡터는 수학식(5)에 따른 비정렬 오차 모델에 관성항법장치의 각속도 벡터를 곱함으로써 산출될 수 있다. 각속도 벡터의 성분은 각각 피치 축, 롤 축, 및 요 축을 나타낼 수 있다. 예컨대, 도 7의 R1 회전에서 동체 좌표계를 항법 좌표계로 변환하는 좌표 변환 행렬(Cn b)은 이고, 각속도 벡터는 [0 0 ω]T일 수 있다. 이는 R1 회전이 요 축을 기준으로 180도 회전임을 나타낼 수 있다. R2 회전에서 동체 좌표계를 항법 좌표계로 변환하는 좌표 변환 행렬(Cn b)은 이고, 각속도 벡터는 [0 -ω 0]T일 수 있다. 이는 R2 회전이 롤 축을 기준으로 180도 회전임을 나타낼 수 있다. R3 회전에서 동체 좌표계를 항법 좌표계로 변환하는 좌표 변환 행렬(Cn b)은 이고, 각속도 벡터는 [0 0 ω]T일 수 있다. 이는 R3 회전이 요 축을 기준으로 180도 회전임을 나타낼 수 있다. R4 회전에서 동체 좌표계를 항법 좌표계로 변환하는 좌표 변환 행렬(Cn b)은 이고, 각속도 벡터는 [0 -ω 0]T일 수 있다. 이는 R4 회전이 롤 축을 기준으로 180도 회전임을 나타낼 수 있다. 제1 기본 회전 시퀀스에 따라 관성항법장치의 척도계수 오차는 R1 내지 R4 회전 중 발생하였다가 R4 회전 이후 0으로 수렴할 수 있다. 상기 예에서, 비정렬 오차는 R4 회전 이후 [-4k23-4k32 0 0]T일 수 있다. 여기서, k23, k32는 비정렬 오차 모델의 성분 중 K23, K32 각각에 대응되는 값일 수 있다. 이는 제1 기본 회전 시퀀스에 따라 관성항법장치에 비정렬 오차에 따른 자세 오차가 발생한 것을 나타낼 수 있다. 제1 기본 회전 시퀀스 수행 후 보정 회전(CR1)을 수행할 수 있다. 보정 회전(CR1)의 보정 방향은 R1 내지 R4 회전 각각의 반대 방향일 수 있다. 보정 회전(CR1)의 보정 회전 축은 R1 내지 R4 회전 각각의 회전 축에 따라 롤 축 및 요 축 중 적어도 하나일 수 있다. 보정 회전(CR1)의 보정 회전각은 R1 내지 R4 회전 각각의 회전 각도에 따라 180도 일 수 있다. 보정 회전(CR1)을 통해 제1 기본 회전 시퀀스에 따라 발생한 비정렬 오차를 감소시킬 수 있다.
도 7에서 R5 내지 R8 회전을 제2 기본 회전 시퀀스라고 가정하고, 제2 기본 회전 시퀀스에 따라 발생하는 관성항법장치의 자세 오차에 대해 기술한다. 마찬가지로, 관성항법장치의 자세 오차에 따른 오차 값은 플랫폼 좌표계를 동체 좌표계로 변환하는 좌표 변환 행렬(Cb p), 동체 좌표계를 항법 좌표계로 변환하는 좌표 변환 행렬(Cn b), 및 자세 오차 벡터의 곱을 적분함으로써 산출될 수 있다. 비정렬 오차의 경우, 자세 오차 벡터는 수학식(5)에 따른 비정렬 오차 모델에 관성항법장치의 각속도 벡터를 곱함으로써 산출될 수 있다. 도 7의 R5 회전에서 동체 좌표계를 항법 좌표계로 변환하는 좌표 변환 행렬(Cn b)은 이고, 각속도 벡터는 [0 -ω 0]T일 수 있다. 이는 R5 회전이 요 축을 기준으로 180도 회전임을 나타낼 수 있다. R6 회전에서 동체 좌표계를 항법 좌표계로 변환하는 좌표 변환 행렬(Cn b)은 이고, 각속도 벡터는 [0 0 ω]T일 수 있다. 이는 R6 회전이 롤 축을 기준으로 180도 회전임을 나타낼 수 있다. R7 회전에서 동체 좌표계를 항법 좌표계로 변환하는 좌표 변환 행렬(Cn b)은 이고, 각속도 벡터는 [0 -ω 0]T일 수 있다. 이는 R7 회전이 요 축을 기준으로 180도 회전임을 나타낼 수 있다. R8 회전에서 동체 좌표계를 항법 좌표계로 변환하는 좌표 변환 행렬(Cn b)은 고, 각속도 벡터는 [0 0 ω]T일 수 있다. 이는 R8 회전이 롤 축을 기준으로 180도 회전임을 나타낼 수 있다. 제2 기본 회전 시퀀스에 따라 관성항법장치의 척도계수 오차는 R5 내지 R8 회전 중 발생하였다가 R8 회전 이후 0으로 수렴할 수 있다. 상기 예에서, 비정렬 오차는 R8 회전 이후 [4k23+4k32 0 0]T일 수 있다. 여기서, k23, k32는 비정렬 오차 모델의 성분 중 K23, K32 각각에 대응되는 값일 수 있다. 이는 제2 기본 회전 시퀀스에 따라 관성항법장치에 비정렬 오차에 따른 자세 오차가 발생한 것을 나타낼 수 있다. 제2 기본 회전 시퀀스 수행 후 보정 회전(CR2)을 수행할 수 있다. 보정 회전(CR2)의 보정 방향은 R5 내지 R8 회전 각각의 반대 방향일 수 있다. 보정 회전(CR2)의 보정 회전 축은 R5 내지 R8 회전 각각의 회전 축에 따라 롤 축 및 요 축 중 적어도 하나일 수 있다. 보정 회전(CR2)의 보정 회전각은 R5 내지 R8 회전 각각의 회전 각도에 따라 180도 일 수 있다. 보정 회전(CR2)을 통해 제2 기본 회전 시퀀스에 따라 발생한 비정렬 오차를 감소시킬 수 있다.
도 8 및 도 9는 관성항법장치에서 이용되는 ENU 좌표계(동북상 좌표계) 상에서 각 축인 E(East)축, N(North)축, 및 U(Up)축 방향에 대한 관성항법장치의 자세 오차 결과를 도시한다. 도 8 및 도 9의 그래프에서 가로축은 시간(hour), 세로축은 자세 오차(degree)를 나타낸다. 예컨대, 자세 오차는 자세 오차가 발생하지 않은 관성항법장치의 이상적인 자세와 실제 관성항법장치의 자세 간 각도 차이일 수 있다. 도 8 및 도 9에 도시된 그래프는 관성항법장치의 회전에 의해 시간이 지남에 따라 관성항법장치의 자세 오차가 증가 또는 감소하며 변화하는 것을 도시한다. 도 8 및 도 9에서, 관성항법장치의 자세 오차 중 ENU 좌표계 상에서 E축의 자세 오차는 점선, N축의 자세 오차는 1점 쇄선, U축의 자세 오차는 실선으로 도시한다. 예컨대, 관성항법장치의 E축의 자세 오차는 피치 축의 자세 오차, N축의 자세 오차는 롤 축의 자세 오차, U축의 자세 오차는 요 축의 자세 오차일 수 있다. 다만 이는 예시적인 것이며, ENU 좌표계의 축과 관성항법장치의 롤 축, 피치 축, 및 요 축 중 ENU 좌표계의 각축과 대응되는 축의 종류가 본 발명을 제한하지는 않는다.
도 8a는 관성항법장치의 자세 오차를 보정하지 않은 결과의 일 예를 도시한다. 도 8a를 참조하면, 관성항법장치의 회전에 의해 시간이 경과할수록 N축 및 U축로 관성항법장치의 자세 오차가 증가 또는 감소할 수 있다. 도 8a에 따르면, N축 자세 오차 값은 0(deg)을 기준으로 크게 변화가 없는 반면, U축 자세 오차는 시간이 지남에 따라 자세 오차 값이 0(deg)으로부터 멀어지는 것을 확인할 수 있다. 이는 관성항법장치의 자세 오차를 유발하는 주된 요인은 U축 자세 오차이나, 관성항법장치의 자세 오차를 보정하지 않아 관성항법장치의 U축 자세 오차가 누적되어 발산하는 것을 확인할 수 있다. 관성항법장치의 U축 자세 오차는 복수의 오차 요인 중 척도계수 오차 및 비정렬 오차 중 적어도 하나의 오차에 의해 발생할 수 있다. 도 8a에 따르면, 시간이 지남에 따라 관성항법장치의 자세 오차가 누적되어 증가하게 되므로 관성항법장치의 항법 성능이 저하될 수 있다.
도 8b는 본 발명의 일 실시예에 따른 관성항법장치의 자세 오차 결과의 일 예를 도시한다. 도 8b는 도 8a와 달리, 관성항법장치의 U축으로 자세 오차를 지속적으로 모니터링하여 자세 오차 값이 특정 오차 값 이상인 경우, 보정 회전을 통해 복수의 기본 회전 각각의 방향의 반대 방향인 보정 방향으로 관성항법장치를 회전시켜 자세 오차를 감소시킨 결과를 도시한다. 도 8b를 참조하면, 시간이 경과할수록 관성항법장치의 회전에 의해 N축 및 U축로 관성항법장치의 자세 오차가 증가 또는 감소하나, 도 8a와 달리 본 발명에 따라 U축 자세 오차를 보정함으로써 자세 오차 값이 특정 오차 값 이상으로 증가하지 않고 지속적으로 0(deg)인 구간으로 수렴하여 보정되는 것을 확인할 수 있다. 본 발명에 따르면, 관성항법장치의 자세 오차를 최소화함으로써 관성항법장치의 위치 오차 성능 및 항법 성능을 향상시킬 수 있다.
도 9a는 본 발명의 일 실시예에 따른 관성항법장치의 척도계수 오차에 의한 자세 오차 결과의 일 예를 도시한다. 도 9a는 관성항법장치의 자세 오차를 유발하는 오차 요인 중 척도계수 오차에 의한 자세 오차 및 상기 자세 오차를 자세 오차 보정 방법에 따라 보정한 결과의 일 예를 도시한다. 도 9a를 참조하면, 관성항법장치의 척도계수 오차에 의한 관성항법장치의 자세 오차는 E축 자세 오차, N축 자세 오차, 및 U축 자세 오차 중 적어도 하나일 수 있다. 이에 따라, 시간이 경과할수록 관성항법장치의 회전에 의해 E축, N축 및 U축로 관성항법장치의 자세 오차 값이 증가 또는 감소할 수 있다. 척도계수 오차에 의한 오차 값을 산출하는 내용은 도 1에서 기술한 내용을 참고한다.
도 9b는 본 발명의 일 실시예에 따른 관성항법장치의 비정렬 오차에 의한 자세 오차 결과의 일 예를 도시한다. 도 9b는 관성항법장치의 자세 오차를 유발하는 오차 요인 중 비정렬 오차에 의한 자세 오차 및 상기 자세 오차를 자세 오차 보정 방법에 따라 보정한 결과의 일 예를 도시한다. 도 9b를 참조하면, 관성항법장치의 비정렬 오차에 의한 관성항법장치의 자세 오차는 E축 자세 오차, N축 자세 오차, 및 U축 자세 오차 중 적어도 하나일 수 있다. 이에 따라, 시간이 경과할수록 관성항법장치의 회전에 의해 E축, N축 및 U축로 관성항법장치의 자세 오차 값이 증가 또는 감소할 수 있다. 비정렬 오차에 의한 오차 값을 산출하는 내용은 도 1에서 기술한 내용을 참고한다.
도 9a 및 도 9b는 관성항법장치의 E축, N축 및 U축 각 축의 자세 오차를 지속적으로 모니터링하여 자세 오차 값이 특정 오차 값 이상인 경우, 보정 회전을 통해 보정 방향으로 관성항법장치를 회전시켜 자세 오차를 감소시킨 결과를 도시한다. 도 9a 및 도 9b를 참조하면, 시간이 경과할수록 관성항법장치의 회전에 의해 ENU 좌표계 상의 각 축 별 관성항법장치의 자세 오차가 증가 또는 감소하나, 본 발명에 따라 각 축 별 자세 오차를 보정함으로써 자세 오차 값이 특정 오차 값 이상으로 증가하지 않고 지속적으로 0(deg)인 구간으로 수렴하여 보정되는 것을 확인할 수 있다. 본 발명에 따르면, 주기적으로 관성항법장치의 자세 오차를 측정하여 자세 오차 값이 특정 오차 값을 초과하지 않도록 보정함으로써 관성항법장치의 위치 오차 성능 및 항법 성능을 향상시킬 수 있다.
본 개시의 청구항 또는 명세서에 기재된 실시 예들에 따른 방법들은 하드웨어, 소프트웨어, 또는 하드웨어와 소프트웨어의 조합의 형태로 구현될(implemented) 수 있다.
소프트웨어로 구현하는 경우, 하나 이상의 프로그램(소프트웨어 모듈)을 저장하는 컴퓨터 판독 가능 저장 매체가 제공될 수 있다. 컴퓨터 판독 가능 저장 매체에 저장되는 하나 이상의 프로그램은, 전자 장치(device) 내의 하나 이상의 프로세서에 의해 실행 가능하도록 구성된다(configured for execution). 하나 이상의 프로그램은, 전자 장치로 하여금 본 개시의 청구항 또는 명세서에 기재된 실시 예들에 따른 방법들을 실행하게 하는 명령어(instructions)를 포함한다.
이러한 프로그램(소프트웨어 모듈, 소프트웨어)은 랜덤 액세스 메모리 (random access memory), 플래시(flash) 메모리를 포함하는 불휘발성(non-volatile) 메모리, 롬, 전기적 삭제가능 프로그램가능 롬(EEPROM: electrically erasable programmable read only memory), 자기 디스크 저장 장치(magnetic disc storage device), 컴팩트 디스크 롬(CD-ROM: compact disc-ROM), 디지털 다목적 디스크(DVDs: digital versatile discs) 또는 다른 형태의 광학 저장 장치, 마그네틱 카세트(magnetic cassette)에 저장될 수 있다. 또는, 이들의 일부 또는 전부의 조합으로 구성된 메모리에 저장될 수 있다. 또한, 각각의 구성 메모리는 다수 개 포함될 수도 있다.
또한, 프로그램은 인터넷(Internet), 인트라넷(Intranet), LAN(local area network), WAN(wide area network), 또는 SAN(storage area network)과 같은 통신 네트워크, 또는 이들의 조합으로 구성된 통신 네트워크를 통하여 접근(access)할 수 있는 부착 가능한(attachable) 저장 장치(storage device)에 저장될 수 있다. 이러한 저장 장치는 외부 포트를 통하여 본 개시의 실시 예를 수행하는 장치에 접속할 수 있다. 또한, 통신 네트워크상의 별도의 저장장치가 본 개시의 실시 예를 수행하는 장치에 접속할 수도 있다.
상술한 본 개시의 구체적인 실시 예들에서, 개시에 포함되는 구성 요소는 제시된 구체적인 실시 예에 따라 단수 또는 복수로 표현되었다. 그러나, 단수 또는 복수의 표현은 설명의 편의를 위해 제시한 상황에 적합하게 선택된 것으로서, 본 개시가 단수 또는 복수의 구성 요소에 제한되는 것은 아니며, 복수로 표현된 구성 요소라 하더라도 단수로 구성되거나, 단수로 표현된 구성 요소라 하더라도 복수로 구성될 수 있다.
한편 본 개시의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 개시의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 개시의 범위는 설명된 실시 예에 국한되어 정해져서는 아니 되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.