검색 전체 메뉴
PDF
맨 위로
OA 학술지
GPS를 이용한 3D 영상 구현 시뮬레이션 시스템 3D Video Simulation System Using GPS
  • 비영리 CC BY-NC
  • 비영리 CC BY-NC
ABSTRACT
GPS를 이용한 3D 영상 구현 시뮬레이션 시스템

Currently, aircraft and automobile simulator for training provides a variety of training by making hypothetical situation on a simulator installed on the ground currently. And the instructor maximizes the effectiveness of the training by monitoring training and instructing the required training. When trainees are boarding the aircraft or automobile. The Instructor in the ground is not able to monitoring aircraft, automobile. The assessment of the training is not easy after the end of the training. Therefore, it is difficult to provide high quality of education to the students.

In this paper, simulation system is to develop the following. Collecting GPS and real-time information for aircraft, automobile àimplementing 3D simulation. Implementing current image of the aircraft or automobile in the screen by 3D real-time monitoring of training situation at the control center utilizing for training saving 3D video files analysis, evaluation on training after the end of the training.

KEYWORD
GPS , 시뮬레이션 , 3D 시뮬레이션 , 시뮬레이터
  • I. 서 론

    현재 사용되는 교육훈련용 시뮬레이터는 대부분 실내 교육장에 설치되어 교육생이 시뮬레이터에 탑승하여 시뮬레이터에서 제공하는 가상의 교육환경 또는 장비(항공기, 자동차 등)의 조작 방법 등을 교육하는 교육용 시뮬레이터로 활용하고 있다. 교관은 내부의 다른 시스템을 통하여 교육생의 교육훈련을 모니터링하고 다양한 교육 환경을 제시하여 교육생이 그 환경에 맞는 교육 상황을 가상의 공간에서 적응 할 수 있도록 교육을 진행한다. 하지만 실제 항공기나 자동차에 탑승한 교육 훈련이나 여러 교육생이 동시에 항공기나 자동차에 탑승하여 교육훈련을 진행 할 경우 교관은 모든 교육생의 교육훈련 상황을 모니터링 할 수 없고 또한 다양한 교육 내용을 지시할 수 없으며, 지시된 교육내용을 잘 수행하고 있는지 모니터링 할 수 없어 교육의 효과가 저하된다. 또한 교육훈련 종료 후 교육훈련에 대한 내용을 다시 재현할 수 없고 교육에 대한 분석 및 교육생의 측정도 할 수 없다. 항공기 교육훈련용 시뮬레이터는 그림 1과 같다. 본 논문에서는 실제 항공기나 자동차에 GPS와 9-axis sensor를 장착하고 통신시스템을 이용하여 교육생이 탑승한 항공기나 자동차의 상황을 3D 시뮬레이션으로 구현하였다. 이를 통해 관제센터의 화면에 실시간으로 교육 상황을 재현하고 교관과 교육생 간 통신을 통하여 다양한 실전 교육 방법을 제시한다. 또한, 교육생이 교육훈련을 잘 수행하고 있는지 관제하여 교육에 활용하고 교육 종료 후 기록된 3D 영상파일을 통해 다시 3D 시뮬레이션에 영상을 재생하여 교육실에서 교관과 교육생이 교육훈련 내용을 분석할 수 있는 3D 영상 구현 시뮬레이션 시스템을 개발하고자 한다.

    II. 관련연구

       2.1. 시스템 환경

    본 논문에서 개발하고자 하는 GPS 데이터를 이용한 3D 영상 시뮬레이션은 Linux 운영체제에서 실행 되도록 개발 하였다. Linux는 Open Source의 다양한 3D엔진을 제공하며, OpenGL기반의 SDK와 API를 제공하여 3D 영상 시뮬레이션 구현에 최적의 환경과 다양한 통신 기능 및 추가적인 하드웨어를 손쉽게 사용할 수 있다. 본 논문의 3D 영상 시뮬레이션은 GPS와 9-axis sensor 장비로부터 수신한 데이터를 영상 파일로 저장할 수 있도록 다양한 통신 모듈을 사용한다.

    본 논문에서는 3D엔진으로 OpenGL기반의 Ogre3d 엔진을 사용하며, 개발언어는 C/C++, UI 툴은 Qt, 개발 IDE는 Eclipse, 기타 라이브러리는 zlib, jpeg, libpng, ncurses, libtool 등을 사용하여 개발하였다[1-5].

       2.2. GPS 정보 수집 및 저장

    본 논문에서는 항공기, 자동차에 장착할 수 있는 GPS 송신 장비를 안드로이드 스마트 폰을 이용하여 개발하여 GPS 정보, 자이로스코프(Gyroscope) 센서의 정보, 사용자 정보 등을 3G, Wibro, LTE를 통해서 여러대의 GPS 송신 장비로부터 GPS 수신 서버로 데이터를 수신 할 수 있도록 개발 하였다. 수신된 데이터는 3D 영상 파일 포맷으로 여러 대의 GPS 송신 장비로부터 수신한 데이터를 동일한 시간대 별로 분류하여 Linux 운영체제의 파일시스템에 시간대 별로 구분하여 디렉터리(Directory)로 저장 할 수 있도록 채택하였고, GPS자료의 3D 영상파일 생성 과정은 그림 2와 같다.

       2.3. GPS sensor

    본 논문에서는 GPS 정보를 생성하기 위하여 최신의 GPS 칩을 사용하여 위치정보, 고도정보를 1/10초 단위로 생성하여 통신 모듈을 통하여 관제센터의 서버에 전송할 수 있도록 개발 하였다.

       2.4. 9-axis sensor

    본 논문에서는 9-axis sensor를 사용하여 항공기 및 차량의 방향, 자세 등의 데이터를 생성한다. 9-axis sensor의 기능은 9축 MotionFusion데이터를 rotation maxtrix, quaternion, Euler Angle를 디지털 출력을 지원하고 Tri-Axis angular rate 센서(gyro), 3축 컴파스, 가속도계, 자이로스코프와 컴파스 간 board-level cross-axis alignment 오류를 제거하기 위한 센서인 drift 등의 기능을 수행하는 센서를 사용한다.

    III. 3D 영상 파일

       3.1. 3D 영상 파일 포맷

    영상 파일은 1/10초 단위로 여러 대의 GPS 송신 장비로부터 수신한 GPS 데이터를 동일한 시간대 별로 하나의 레코드로 제작한다. 이 레코드는 Linux 파일시스템에 long int형의 시스템 시간으로 1초에 10개씩 저장한다. GPS 영상 데이터에 사용되는 자료형은 다음 표 1과 같이 사용하며, 이 영상파일의 레코드는 가변길이 형태로 GPS 송신 장비의 개수의 데이터 량에 따라 그 크기가 결정 된다. 3D 영상 파일 포맷은 그림 3과 같다.

    [표 1.] GPS 영상 데이터에 사용되는 자료형

    label

    GPS 영상 데이터에 사용되는 자료형

       3.2. 3D 영상 파일의 저장 방법

    3D 영상 파일은 Linux의 파일시스템에 디렉터리 구조로 저장한다. Linux의 파일시스템을 통해서 저장하는 이유는 저장된 3D 영상파일을 다시 재생 할 때 3D 영상이 빠른 영상 재생 위치를 검색하기 위하여 3D 영상파일을 시간대 별로 구분하여 저장하고 빠른 재상을 위하여 Linux에서 제공하는 파일시스템에 3D 영상파일을 저장하는 것이 가장 효과적인 방법이다.

    3D 영상 파일을 저장하는 방법은 시간대 별로 디렉터리의 트리(Tree)형태로 저장하여 교육생이 교육훈련을 실시한 날짜와 시간을 선택하여 선택한 시간부터 재생할 수 있도록 구성 하였고, 그림 4와 같다.

    루트 디렉터리의 자식 디렉터리 ‘xxxxxd’ 그림 5의 디렉터리 이름은 날짜를 표시하며 날짜의 계산은 time_t (UTC 1970년 1월 1일 0시 0분 0초를 기준으로 하는 초 단위의 시간)를 86,400(24*60*6)으로 나눈 값은 그림 4이며, 날짜의 자식 디렉터리 ‘xxxxxxh’ 그림 5 는 시간단위이며 time_t를 3,600(60*60)으로 나누어 나온 값은 그림 4와 같다. 이렇게 날짜와 시간단위로 디렉 터리를 나누어 1/10초 단위로 발생하는 3D 영상 파일을 같은 시간(hour) 해당하는 파일을 같은 디렉터리에 저장하고 3D 영상 파일 저장 디렉터리 구조는 그림 6과 같다.

       3.3. 3D 영상 파일의 재생

    3D 영상 파일의 재생은 날짜와 시간을 선택하면 선택된 시간대를 그림 6의 디렉터리와 파일이름으로 변환하여 가장 근접한 시간대에 3D 영상 파일이 있는 곳부터 영상을 재생한다. 만약 선택한 날짜와 시간대에 3D 영상 데이터가 없을 경우 같은 날 가장 근접한 시간을 선택하여 재생하고 같은 날 데이터가 없는 경우 사용자에게 데이터가 없음을 표시한다.

       3.4. 3D 영상 파일의 오류 교정

    3D 영상 파일은 1/10초 단위로 송·수신되며 이때 수신된 데이터의 오류가 발생 할 경우 GPS 송신 장비로부터 재전송을 받을 수 없기 때문에 이전 데이터와 이후에 수신된 데이터의 내용을 참고하여 데이터를 보정한다. 이때 GPS 정보가 갑자기 큰 폭으로 변할 경우 이전 수신된 정보와 이후에 수신된 정보의 산술평균값을 구해서 오류가 발생한 데이터를 보정하여 사이에 추가한다. 만약 GPS 수신 오류가 3초 이상(초당 10 프레임) 발생 할 경우 데이터를 보정 하지 않고 그 시간 동안은 빈 데이터를 두어 시뮬레이션 화면 재생을 오류가 발생한 시간동안 정지시킨다.

    IV. 어플리케이션 설계 및 구현

       4.1. 시스템 모듈화

    본 논문의 ‘GPS를 이용한 3D영상 구현 시뮬레이션’(이하 시뮬레이션) 통신, 시뮬레이션 물리엔진, 영상파일 구현, 3D 시뮬레이션 구현, Log 등의 모듈로 구분하여 개발하였다. 각 모듈과의 통신은 이벤트 방식, 메시지 큐 방식과 TCP/IP 통신을 이용한 방법을 통하여 모듈 간 데이터를 교환하고 각 모듈은 독립적으로 작동할 수 있도록 모듈 상호간 독립된 모듈로 작성하였고, 프로세스별 모듈 데이터 흐름은 그림 7과 같다.

       4.2. 시뮬레이션 시스템 개념구성도

    시뮬레이션의 시스템 구성은 그림 6과 같다.

    항공기, 자동차, 사람 등이 GPS 송신 장비를 탑재하고 1/10초 단위로 3G, Wibro, LTE 등을 통하여 GPS 정보를 GPS 수신서버에 전송한다. GPS 수신서버에 수신된 GPS 정보는 3D 영상 파일 포맷으로 작성되어 GPS 수신서버에 저장된다.

    저장된 3D 영상 파일은 네트워크를 통해 3D 시현 장비에 실시간 또는 향후에 다시 재생 하여 화면에 3D 시뮬레이션 형태의 영상으로 시청을 할 수 있다. 시뮬레이션 시스템 개념 구성도는 그림 8과 같다.

       4.3. 3D 영상 구현 시뮬레이션의 기능

    3D 영상을 재생하기 위해서는 3D 영상 시뮬레이션을 통하여 재생이 가능하다. 사용자는 화면에서 시간과 날짜를 선택하면 해당 영상 파일이 존재할 경우 3D 영상 데이터를 화면에 재생가능 하다. 재생되는 동안 사용자는 다양한 뷰 형태로 화면을 조작하여 교육훈련 내용을 파악 할 수 있고 필요에 따라 사용자는 GPS에 수신된 정보를 화면에 출력하여 확인이 가능하다.

    사용자는 자신의 교육훈련 내용을 여러 분할 화면으로 동시에 재생이 가능하고 또한 동 시간대에 같이 교육 훈련에 참가한 모든 교육생의 교육 내용을 시청할 수 있다. 3D 시뮬레이션 구현 화면은 그림 9와 같다.

    V. 결 론

    본 논문은 앞서 서론에서 거론한 기존 시뮬레이터들의 문제점을 해결하고자 GPS 송신 장비를 탑재한 실제 항공기나 차량의 교육훈련 상황을 3D 시뮬레이션 화면에서 구현하여 관제센터에서 모니터링하고 향후 교육에 활용 할 수 있도록 개발하였다.

    하지만 이 시뮬레이션은 개선해야 될 부분들이 있다. 먼저 각 장비(항공기, 자동차, 선박, 사람 등)의 특성에 맞도록 GPS의 송신 장비에 각종 장비의 데이터를 구성하여야 하고 만약 항공기의 전술 훈련이나 무장 훈련시 필요한 데이터를 지상의 관제센터에서 수신하도록하고 물리엔진을 통하여 시뮬레이 한다면 현재 훈련 모습을 그대로 재생이 가능 할 것이다. 또한 시뮬레이션 시스템은 알고리즘 변환이 용이하도록 개발되었다. 본 논문의 시스템의 구조는 독립적으로 되어 있어 각 알고리즘의 입출력 인터페이스만 맞춰주면 다른 종류의 알고리즘으로 대체가 가능하다. 이를 활용하여 새로운 알고리즘의 개발과 개발 내용에 대한 검증 용도로도 사용될 수 있다.

    향후 좀 더 신뢰성 있는 시뮬레이션의 기능 보강이 필요하다. 또한 GPS 송신 장비도 항공기용, 차량용 등 그 용도에 따라 특별하게 제작 되어야하고, 일반적으로 속도가 느린 장비나 사람의 경우는 시중에 나와 있는 스마트 폰을 사용하여 GPS 송신 장비로 사용할 수 있다.

참고문헌
  • 1. Lee Sang-Hyo, Ahn Byung-Ju, Kim Ju-Hyung, Kim Kyung-Hwan, Yoon Ja-Young, Kim Jae-Jun 2007 “A Study on the Method of Producing 3D CAD Space Information to Use in the GIS Engine,” [Journal of the Architectural Institute of Korea Structure and Construction] Vol.23 P.161-168 google
  • 2. Hwang T. H., Oh J. Y., Hwang H. J., Kim B. C., Moon D. H. 2011 “Development of a 3D real-time visualization system for ship handling simulators using an open source 3D graphics engine,” [Journal of Korean navigation and port research] Vol.35 P.187-195 google cross ref
  • 3. Open-source Graphics Rendering Engines [Internet] google
  • 4. FlightGear Flight Simulator [Internet] google
  • 5. Qt Project [Internet] google
OAK XML 통계
이미지 / 테이블
  • [ 그림 1. ]  항공기 교육훈련용 시뮬레이터
    항공기 교육훈련용 시뮬레이터
  • [ 그림 2. ]  GPS 자료의 3D 영상파일 생성 과정
    GPS 자료의 3D 영상파일 생성 과정
  • [ 표 1. ]  GPS 영상 데이터에 사용되는 자료형
    GPS 영상 데이터에 사용되는 자료형
  • [ 그림 3. ]  3D 영상 파일 포맷
    3D 영상 파일 포맷
  • [ 그림 4. ]  영상파일 디렉터리 및 파일이름 계산 코드
    영상파일 디렉터리 및 파일이름 계산 코드
  • [ 그림 5. ]  영상파일 디렉터리 및 파일이름 예
    영상파일 디렉터리 및 파일이름 예
  • [ 그림 6. ]  3D 영상 파일 저장 디렉터리 구조
    3D 영상 파일 저장 디렉터리 구조
  • [ 그림 7. ]  프로세스별 모듈 데이터 흐름
    프로세스별 모듈 데이터 흐름
  • [ 그림 8. ]  시뮬레이션 시스템 구성도
    시뮬레이션 시스템 구성도
  • [ 그림 9. ]  3D 시뮬레이션 구현 화면
    3D 시뮬레이션 구현 화면
(우)06579 서울시 서초구 반포대로 201(반포동)
Tel. 02-537-6389 | Fax. 02-590-0571 | 문의 : oak2014@korea.kr
Copyright(c) National Library of Korea. All rights reserved.