Advanced
3D Video Simulation System Using GPS
3D Video Simulation System Using GPS
Journal of the Korea Institute of Information and Communication Engineering. 2014. Apr, 18(4): 855-860
Copyright © 2014, The Korea Institute of Information and Commucation Engineering
This is an Open Access article distributed under the terms of the Creative Commons Attribution Non-Commercial License(http://creativecommons.org/li-censes/by-nc/3.0/) which permits unrestricted non-commercial use, distribution, and reproduction in any medium, provided the original work is properly cited.
  • Received : December 22, 2013
  • Accepted : January 22, 2014
  • Published : April 30, 2014
Download
PDF
e-PUB
PubReader
PPT
Export by style
Share
Article
Author
Metrics
Cited by
TagCloud
About the Authors
한길 김
Department of Sound Product, Korea University Of Media Arts, Sejong 339-713, Korea
상웅 주
Commu Co. Ltd, Daejeon 305-509, Korea
훈희 김
Commu Co. Ltd, Daejeon 305-509, Korea
회경 정
Department of Computer Engineering, Paichai University, Daejeon 302-735, Korea
hkjung@pcu.ac.kr

Abstract
현재 항공기, 자동차 교육훈련용 시뮬레이터는 지상에 설치된 시뮬레이터에 가상의 상황을 구현하여 교육생에게 다양한 교육훈련 내용을 제공하고 교관은 다른 공간에서 교육훈련에 대한 내용을 모니터링하고 교육훈련에 필요한 내용은 바로 지시하여 교육훈련의 효과를 극대화하고 있다. 하지만 교육생이 실제 항공기나 자동차를 탑승하여 훈련을 진행 할 경우 관제센터의 교관은 항공기나, 자동차에 대한 내용을 관제센터에서 모니터링 할 수 없고 교육 종료 후 교육훈련 내용에 대한 평가가 쉽지 않아 교육생에게 양질의 교육이 어렵다. 본 논문에서는 항공기, 자동차에 GPS 정보와 항공기 또는 자동차의 각종 정보를 실시간으로 수집하여 3D 영상 시뮬레이션을 구현하며 화면에 현재 항공기 또는 자동차의 영상을 3차원으로 구현하여 관제센터에서 교육훈련 상황을 실시간으로 모니터링 및 교육훈련에 활용하고 3D 영상 파일을 저장하여 교육훈련 종료 후 교육생과 교관이 교육훈련 내용에 대하여 평가와 분석을 할 수 있는 시뮬레이션 시스템을 개발하고자 한다.
Keywords
I. 서 론
현재 사용되는 교육훈련용 시뮬레이터는 대부분 실내 교육장에 설치되어 교육생이 시뮬레이터에 탑승하여 시뮬레이터에서 제공하는 가상의 교육환경 또는 장비(항공기, 자동차 등)의 조작 방법 등을 교육하는 교육용 시뮬레이터로 활용하고 있다. 교관은 내부의 다른 시스템을 통하여 교육생의 교육훈련을 모니터링하고 다양한 교육 환경을 제시하여 교육생이 그 환경에 맞는 교육 상황을 가상의 공간에서 적응 할 수 있도록 교육을 진행한다. 하지만 실제 항공기나 자동차에 탑승한 교육 훈련이나 여러 교육생이 동시에 항공기나 자동차에 탑승하여 교육훈련을 진행 할 경우 교관은 모든 교육생의 교육훈련 상황을 모니터링 할 수 없고 또한 다양한 교육 내용을 지시할 수 없으며, 지시된 교육내용을 잘 수행하고 있는지 모니터링 할 수 없어 교육의 효과가 저하된다. 또한 교육훈련 종료 후 교육훈련에 대한 내용을 다시 재현할 수 없고 교육에 대한 분석 및 교육생의 측정도 할 수 없다. 항공기 교육훈련용 시뮬레이터는 그림 1 과 같다. 본 논문에서는 실제 항공기나 자동차에 GPS와 9-axis sensor를 장착하고 통신시스템을 이용하여 교육생이 탑승한 항공기나 자동차의 상황을 3D 시뮬레이션으로 구현하였다. 이를 통해 관제센터의 화면에 실시간으로 교육 상황을 재현하고 교관과 교육생 간 통신을 통하여 다양한 실전 교육 방법을 제시한다. 또한, 교육생이 교육훈련을 잘 수행하고 있는지 관제하여 교육에 활용하고 교육 종료 후 기록된 3D 영상파일을 통해 다시 3D 시뮬레이션에 영상을 재생하여 교육실에서 교관과 교육생이 교육훈련 내용을 분석할 수 있는 3D 영상 구현 시뮬레이션 시스템을 개발하고자 한다.
PPT Slide
Lager Image
항공기 교육훈련용 시뮬레이터 Fig. 1 Aircraft Training Simulator
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 와 같다.
PPT Slide
Lager Image
GPS 자료의 3D 영상파일 생성 과정 Fig. 2 GPS Data to 3D Video File Creation Process
- 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 과 같다.
GPS 영상 데이터에 사용되는 자료형Table. 1GPS Video Data Type
PPT Slide
Lager Image
GPS 영상 데이터에 사용되는 자료형 Table. 1 GPS Video Data Type
PPT Slide
Lager Image
3D 영상 파일 포맷 Fig. 3 3D Viedo File Format
- 3.2. 3D 영상 파일의 저장 방법
3D 영상 파일은 Linux의 파일시스템에 디렉터리 구조로 저장한다. Linux의 파일시스템을 통해서 저장하는 이유는 저장된 3D 영상파일을 다시 재생 할 때 3D 영상이 빠른 영상 재생 위치를 검색하기 위하여 3D 영상파일을 시간대 별로 구분하여 저장하고 빠른 재상을 위하여 Linux에서 제공하는 파일시스템에 3D 영상파일을 저장하는 것이 가장 효과적인 방법이다.
3D 영상 파일을 저장하는 방법은 시간대 별로 디렉터리의 트리(Tree)형태로 저장하여 교육생이 교육훈련을 실시한 날짜와 시간을 선택하여 선택한 시간부터 재생할 수 있도록 구성 하였고, 그림 4 와 같다.
PPT Slide
Lager Image
영상파일 디렉터리 및 파일이름 계산 코드 Fig. 4 Source for Video File Directory and File Name
루트 디렉터리의 자식 디렉터리 ‘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 과 같다.
PPT Slide
Lager Image
영상파일 디렉터리 및 파일이름 예 Fig. 5 Example of Video File Directory and Filename
PPT Slide
Lager Image
3D 영상 파일 저장 디렉터리 구조 Fig. 6 3D Video File Directory Structure
- 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 과 같다.
PPT Slide
Lager Image
프로세스별 모듈 데이터 흐름 Fig. 7 Data Flow of Process Module
- 4.2. 시뮬레이션 시스템 개념구성도
시뮬레이션의 시스템 구성은 그림 6 과 같다.
항공기, 자동차, 사람 등이 GPS 송신 장비를 탑재하고 1/10초 단위로 3G, Wibro, LTE 등을 통하여 GPS 정보를 GPS 수신서버에 전송한다. GPS 수신서버에 수신된 GPS 정보는 3D 영상 파일 포맷으로 작성되어 GPS 수신서버에 저장된다.
저장된 3D 영상 파일은 네트워크를 통해 3D 시현 장비에 실시간 또는 향후에 다시 재생 하여 화면에 3D 시뮬레이션 형태의 영상으로 시청을 할 수 있다. 시뮬레이션 시스템 개념 구성도는 그림 8 과 같다.
PPT Slide
Lager Image
시뮬레이션 시스템 구성도 Fig. 8 Diagram of Simulation System
- 4.3. 3D 영상 구현 시뮬레이션의 기능
3D 영상을 재생하기 위해서는 3D 영상 시뮬레이션을 통하여 재생이 가능하다. 사용자는 화면에서 시간과 날짜를 선택하면 해당 영상 파일이 존재할 경우 3D 영상 데이터를 화면에 재생가능 하다. 재생되는 동안 사용자는 다양한 뷰 형태로 화면을 조작하여 교육훈련 내용을 파악 할 수 있고 필요에 따라 사용자는 GPS에 수신된 정보를 화면에 출력하여 확인이 가능하다.
사용자는 자신의 교육훈련 내용을 여러 분할 화면으로 동시에 재생이 가능하고 또한 동 시간대에 같이 교육 훈련에 참가한 모든 교육생의 교육 내용을 시청할 수 있다. 3D 시뮬레이션 구현 화면은 그림 9 와 같다.
PPT Slide
Lager Image
3D 시뮬레이션 구현 화면 Fig. 9 3D Screen of Simulation Implementation
V. 결 론
본 논문은 앞서 서론에서 거론한 기존 시뮬레이터들의 문제점을 해결하고자 GPS 송신 장비를 탑재한 실제 항공기나 차량의 교육훈련 상황을 3D 시뮬레이션 화면에서 구현하여 관제센터에서 모니터링하고 향후 교육에 활용 할 수 있도록 개발하였다.
하지만 이 시뮬레이션은 개선해야 될 부분들이 있다. 먼저 각 장비(항공기, 자동차, 선박, 사람 등)의 특성에 맞도록 GPS의 송신 장비에 각종 장비의 데이터를 구성하여야 하고 만약 항공기의 전술 훈련이나 무장 훈련시 필요한 데이터를 지상의 관제센터에서 수신하도록하고 물리엔진을 통하여 시뮬레이 한다면 현재 훈련 모습을 그대로 재생이 가능 할 것이다. 또한 시뮬레이션 시스템은 알고리즘 변환이 용이하도록 개발되었다. 본 논문의 시스템의 구조는 독립적으로 되어 있어 각 알고리즘의 입출력 인터페이스만 맞춰주면 다른 종류의 알고리즘으로 대체가 가능하다. 이를 활용하여 새로운 알고리즘의 개발과 개발 내용에 대한 검증 용도로도 사용될 수 있다.
향후 좀 더 신뢰성 있는 시뮬레이션의 기능 보강이 필요하다. 또한 GPS 송신 장비도 항공기용, 차량용 등 그 용도에 따라 특별하게 제작 되어야하고, 일반적으로 속도가 느린 장비나 사람의 경우는 시중에 나와 있는 스마트 폰을 사용하여 GPS 송신 장비로 사용할 수 있다.
Acknowledgements
본 연구는 2013년도 중소기업청에서 시행한 산학연협력 기업부설연구소의 지원사업(C0016460)에 의하여 이루어진 연구로서, 관계부처에 감사 드립니다.
BIO
김한길(Han-Kil Kim)
2002년 한밭대학교 전자공학과(공학사)
2011년 한밭대학교 전자공학과(공학석사)
2012년 ~ 현재 배재대학교 컴퓨터공학과 박사과정
2005년 ~ 현재 한국영상대학 음향제작과 교수
※관심분야 : 멀티미디어정보처리, XML, Web Services, USN, Android
주상웅(Hoe-Kyung Jung)
2006년 공주대학교 산업정보학과(학사)
2010년 한밭대학교 컴퓨터공학과(석사 재학)
2010년 ~ 현재 (주)커뮤 S/W 기술연구소 책임연구원
※관심분야 : 3D 시뮬레이션. 3D 게임엔진
김훈희(Hoe-Kyung Jung)
2000년 대전대학교 컴퓨터공학과(공학사)
2010년 ~ 현재 (주)커뮤 S/W 기술연구소 책임연구원
※관심분야 : 대규모 병렬 프로세서 프로그래밍, CUDA
정회경(Hoe-Kyung Jung)
1985년 광운대학교 컴퓨터공학과(공학사)
1987년 광운대학교 컴퓨터공학과(공학석사)
1993년 광운대학교 컴퓨터공학과(공학박사)
1994년 ~ 현재 배재대학교 컴퓨터공학과 교수
※관심분야 : 멀티미디어 문서정보처리, XML, SVG, Web Services, Semantic Web, MPEG-21, Ubiquitous Computing, USN
References
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 http://koix.ksci.re.kr/KISTI1.1003/JNL.JAKO200710103490127 23 (11) 161 - 168
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 http://dx.doi.org/10.5394/KINPR.2011.35.3.187 35 (3) 187 - 195    DOI : 10.5394/KINPR.2011.35.3.187
Open-source Graphics Rendering Engines [Internet] http://www.ogre3d.org/
FlightGear Flight Simulator [Internet] http://www.ogre3d.org/
Qt Project [Internet] http://qt-project.org/