Journal of Korea Robotics Society
[ ARTICLE ]
The Journal of Korea Robotics Society - Vol. 12, No. 2, pp.184-193
ISSN: 1975-6291 (Print) 2287-3961 (Online)
Print publication date May 2017
Received 11 Jan 2017 Revised 21 Mar 2017 Accepted 1 Apr 2017
DOI: https://doi.org/10.7746/jkros.2017.12.2.184

차량 운전 시뮬레이터에서 모션과 영상의 동기화를 위한 알고리즘 및 구현 방안

김헌세1 ; 김대섭2 ; 김동환
Motion and Image Matching Algorithms and Implementation for Motion Synchronization in a Vehicle Driving Simulator
Hun-Se Kim1 ; Dae-Seop Kim2 ; Dong Hwan Kim
1Dept. of Mechanical Design and Robot Engineering, Seoul Nat’l Univ. of Science and Technology k930410@naver.com
2Dept. of Mechanical System Design Engineering, Seoul Nat’l Univ. of Science and Technology didi3340@naver.com

Corresponding author : Dept. of Mechanical System Design Engineering, Seoul Nat’l Univ. of Science and Technology, 232, Gongneoung-ro, Nowon-gu, Seoul, Korea ( dhkim@seoultech.ac.kr)

© Korea Robotics Society. All rights reserved.

Abstract

This work shows how to create an algorithm and implementation for motion and image matching between a vehicle simulator and Unity 3D based virtual object. The motion information of the virtual vehicle is transmitted to the real simulator via a RS232 communication protocol, and the motion is controlled based on the inverse kinematics solution of the platform adopting rotary-type six actuators driving system. Wash-out filters to implement the effective motion of the motion platform are adopted, and thereby reduce the dizziness and increase the realistic sense of motion. Furthermore, the simulator system is successfully designed aiming to reducing size and cost with adaptation of rotary-type six actuators, real driving environment via VR (Virtual Reality), and control schemes which employ a synchronization between 6 motors and 3rd order motion profiles. By providing relatively big sense of motion particularly in impact and straight motions mainly causing simulator sickness, dizziness is remarkably reduced, thereby enhancing the sense of realistic motion.

Keywords:

Vehicle Driving Simulator, Motion Synchronization, Wash-out Filter, Link type motion platform

1. 서 론

시뮬레이터는 차량이나 항공기 등 실제 주행이 어려 운 경우 별도의 모션제어기를 제작하고 주변 환경을 영 상으로 구축하여 운전자가 실제 운전하는 듯한 느낌을 가질 수 있도록 개발된 시스템이다. Daimler Chrysler사 에서 1985년 최초로 개발되었으며 그후 다양한 기능을 추가하여 완성도를 더 높여 시장에 선보였다[1]. 여기서 는 6자유도 모션플랫폼을 기반으로 하여 차량 운행을 모사할 수 있도록 운전자 적응도 등을 평가하는 용도로 개발되었다.

다른 예는 IOWA 대학이 개발한 총 12자유도의 움직 임 구현이 가능한 유압식 시뮬레이터인 NADA(National Advanced Driving Simulator)가 있다[2]. 이 장치를 통하 여 운전 중 운전자의 행동 분석 및 평가가 가능하게 되어 있다.[2]

도요타에서는 대형 크기인 12자유도 차량용 시뮬레이 터를 개발하였으며 차량 운전시 멀미를 최소화 하는 기 법을 제안하였다[3]. 국내에서는 교통안전공단에서 가상 주행 시뮬레이터를 개발하였으며 6축 전기구동방식 액 튜에이터와 Yaw Table을 부가하였다[4]. 이 장치를 통하 여 가상현실을 연구하고, 운전 훈련을 수행하고 있다.

위의 4가지 시뮬레이터[1-4]는 국가기관과 자동차 연구 기관에서 접할 수 있는 시뮬레이터로 실제 주행환경과, 주행 감각을 느낄 수 있게 재현해 낼 수 있어 주행연습 효과 면에서는 뛰어나지만, 제작비용이 비싸고 크기가 커서 일반인들이 접하기에는 어려움이 있다. 일반인이 쉽게 접할 수 있는 것으로 오락실에 자주 보이는 게임기 가 대표적인데, 이는 재미요소에 초점이 맞춰져 흥미와 관심을 끌기에는 충분하고, 접근성은 뛰어나지만, 실제 주행환경과는 동떨어진 경우가 많아 실질적인 주행연습 의 효과는 가져올 수 없다.

본 연구는 제작비용과 크기는 최소화하면서, 실제 주 행환경을 효율적으로 표현할 낼 수 있는 제어 알고리즘 을 적용해 높은 접근성과 실효성을 갖는 시뮬레이터에 대한 연구이다. 아울러 Unity 3D를 이용해 가상현실을 직접 제작하고, 가상현실에서 자동차의 동적 모션 데이 터를 차량 운전 시뮬레이터에 적용하는 방법과 탑승 시 의 어지러움을 감소하고 탑승자에게 실감나는 운동감을 주는 효과적인 Wash-out 필터를 제시한다.


2. 차량 운전 시뮬레이터 및 가상현실

2.1. 6자유도 로터리 링크 타입 병렬 플랫폼의 제작

저가의 링크 타입 병렬 플랫폼을 제작하기 위에 Fig. 1 과 같이 모델링을 하고 제작을 하였다. 상, 하판의 크기 는 키 175 cm의 일반적인 남자의 치수에 맞춰서 선정하 였고, 차량 운전 시뮬레이터에 필요한 운전대 조이스틱 과 엑셀, 브레이크를 제작한 거치대를 사용해 부착했다. 상판의 최대 폭이 500 mm로 보편적인 의자 치수 및 플 로팅 조인트의 위치를 고려하여 치수 선정을 하였다. 모 터 축이 회전하면 클램프가 회전하게 되며, 클램프가 1 번 Link 역할을 한다. 클램프가 회전하면 로드 앤드 베어 링도 같이 움직이는데 좌, 우 360°, 앞, 뒤 25°씩 움직일 수 있어 6자유도 움직임이 가능하다. Fig. 2는 실제 제작 된 로터리 링크 타입 시뮬레이터이다.

Fig. 1

3D modeling of driving simulator

Fig. 2

Manufactured simulator driven by rotary actuators

2.2. Unity 3D

Unity 3D는 Unity Technologies사가 개발한 Unity 3D 엔진 및 편집기를 통칭하는 말로써 주로 게임 엔진으로 알려져 있다[5]. 그러나 게임 이외에도 휴대폰 어플리케 이션, 건축 시각화, 디자인, 인테리어, 시뮬레이션, 의학, 군사 분야 등 다양한 분야에서 활용되는 개발 플랫폼이 다[6]. Unity 엔진은 한국에서는 이미 25만 명 이상의 이 용자가 있을 만큼 게임엔진 중에서 인지도가 매우 높다. Unity는 Java 언어와 C#언어로 게임을 제작하고 콘솔을 사용해 프로그래밍을 익히고 있는 사람들이 사용하기 좋고 다른 프로그램이나 기기들과의 호환성이 좋다[6].

본 연구에서는 차량 운전 시뮬레이터의 생동감을 더 욱 높이기 위하여 PC 화면에 시뮬레이터의 동작을 구현 하고 직접 조작하여 실제로 자동차를 운전하는 것 같은 느낌을 주기 위한 소프트웨어 플랫폼이 필요했다. Unity 3D가 여러 가지 다른 개발 플랫폼보다 속도가 가장 빠르 면서 상용화가 가장 잘 되어있고 접근성과 활용도가 매 우 높아서 3D 화면상의 1인칭 시점을 만들기에 매우 적 절했다.

Unity 3D의 가장 큰 장점은 사용자가 개발 플랫폼을 사용하는 방법이 일반적으로 컴퓨터를 조작하는 방식과 매우 흡사하여 사용하기 편리하다. Fig. 3은 프로젝트에 포함된 오브젝트를 마우스로 드래그하여 화면에 쉽고 편리하게 적용하는 Unity 3D 화면이다.

Fig. 3

Drag and drop function for the object in Unity 3D

2.3. 동적 데이터 추출

차량 운전 시뮬레이터는 조이스틱을 사용해 Unity 3D 를 이용하여 만든 가상현실 내의 자동차를 조작하고 실 시간으로 자동차의 동적 데이터를 추출하여 필요한 데 이터를 RS232 통신을 이용해 상위 제어기로 전송한다.

가상현실의 차량의 움직임을 제어기로 구현하는 데 필요한 데이터는 가속도인 x¨v,y¨v,z¨v 와 각속도인 θ˙v,ϕ˙v,ψ˙v 이다. 그 이유는 차후 설명하는 차량의 운전 감을 높이기 위한 필터의 설계 등에서 요구되는 정보가 가속 도 및 각속도 이기 때문이다. Unity 3D에서는 각 오브젝 트에 대한 직교 좌표계와 회전 좌표계를 제공해 준다. 즉 차량 오브젝트 좌표축에 의한 차량 오브젝트의 공간 상의 위치는 xv, yv, zv 값과 회전 좌표계에 의한 각도 θv, ϕv, ψv을 Script를 이용하여 추출한다. 오브젝트의 좌표축 데이터 중에서 제어기가 필요로 하는 데이터는 xv, yv, zv, θv, ϕv, ψv 데이터가 아니라 각 축에 대한 가속도와 각속도 데이터가 필요하다. 변화하는 좌표축 의 위치데이터를 이용하여 수치 미분을 수행해 가속도 와 각속도를 구한다. Fig. 4는 차량 오브젝트의 직교 좌 표계와 회전 좌표계를 나타낸 그림이다.

Fig. 4

Coordinates representing the moving object

2.4. 동적 데이터의 좌표 변환

제어기에서는 실시간으로 가속도 및 각속도 데이터를 같이 사용하여 계산한 후 모션을 구현하기 때문에 50 ms 마다 Unity 3D에서 각 동적 데이터를 계산하고 Fig. 5의 통신 프로토콜을 사용해 상위제어기로 전송한다. 통신 프로토콜은 가속도인 x¨v,y¨v,z¨v 와 각속도인 θ˙v,ϕ˙v,ψ˙v 를 보내기 위해서 각 각의 데이터를 Fig. 5와 같이 X, Y, Z, R, P, y로 표시한다. 마지막 y는 yaw를 의미하지만, 대문자 Y와 겹치므로 소문자 y를 사용한다. 각 데이터는 정수부 2자리수와 소수부 2자리로 잘라서 보내고 그 앞 에는 데이터의 부호를 표시하는 +와 –로 표현한다.

Fig. 5

Communication protocol

Fig. 1에서 차량 운전 시뮬레이터의 좌표계와 Fig. 4의 가상현실 차량의 좌표계가 서로 다르므로 회전 좌표 변 환 행렬을 이용해 가상현실 차량의 좌표계를 변환해야 한다. Fig. 4의 차량 오브젝트의 직교 좌표계의 위치는 xv, yv, zv로 표현하고 회전 좌표계의 각도는 θv, ϕv, ψv로 표현하였다. Fig. 1의 차량 운전 시뮬레이터의 직교 좌표 계의 위치는 Xs, Ys, Zs로 표현하고 회전 좌표계의 각도 는 θs, ϕs, ψs로 표현하였다.

차량 운전 시뮬레이터에 적용하기 위한 회전 변환 행 렬을 사용해 차량 오브젝트의 좌표계를 Fig. 6과 같이 xp, yp, zp, θp, ϕp, ψp로 바꿔야 한다. 회전 변환 행렬은 식 (1)과 같고 식 (1)을 사용해 변환한 뒤 상위제어기로 전송한다.

Fig. 6

Coordinates

[xpypzp]=[001100010][xvyvzv](1) 


3. 동기화 제어 알고리즘 및 Wash-out 필터

이 장에서는 가상공간 (Virtual Reality)에서 최종 계산 데이터인 x¨p,y¨p,z¨p,θ˙p,ϕ˙p,ψ˙p 를 이용해 Multi Motion Controller (MMC)로 AC서보모터 6개를 실시간 제어해 서 영상과 차량 운전 시뮬레이터의 동작을 동기화하는 방법과 Wash-Out 필터를 사용해 탑승자에게 효율적인 운동감을 주는 방법을 제시한다.

Wash-Out 필터는 병렬로 이루어진 차량 운전 시뮬레 이터의 제한된 운동 영역에서 탑승자에게는 더욱 많은 운동감을 주고 동시에 다양한 필터를 통해 탑승자의 전 정기관에 의한 어지러움을 해소하고 안락함 주기 위한 기법이다[7-8].

가상공간에서 오브젝트의 위치 및 각도를 수치 미분 을 통해 계산한 데이터인 가속도와 각속도에서 발생하 는 잡음을 제거하기 위해 디지털 필터를 추가로 설계하 고 시스템에 적용해 탑승자의 어지러움을 해결하고 영 상과 동기화된 정확한 운동감을 주는 방법을 Fig. 7과 같은 데이터 처리 알고리즘을 제안한다.

Fig. 7

Data processing algorithm

3.1. 수치 미분에 의한 잡음 제거 필터

수치 미분에 의한 잡음은 보통 미분 불가 지점이 있거 나, 구간의 변화율이 0일 때 발생하게 된다. 수치 미분 때문에 생기는 잡음을 제거하고, 차량 오브젝트의 x¨p,y¨p,z¨p,θ˙p,ϕ˙p,ψ˙p 데이터는 실제 차량의 데이터와 다르므 로 이를 보상하기 위해서 Fig. 7의 Noise Filter를 설계하 였다. Fig. 7의 Noise Filter의 전달함수 G1(s)와 G2(s)는 식 (2)와 식 (3)과 같다.

G1(s)=ωLPF22s2+2ζLPFnωLPFns+ωLPFn2(2) 

G2(s)=ωLPFns+ωLPFn(3) 

위 식의 차단 주파수는 2 Hz로 하였고, 필터 계수인 ωLPFn=4π, ζLPFn=0.4 이고 Discrete Time Domain에서 샘플링 주파수는 20 Hz로 하였다. Fig. 8은 를 식 (2)의 2차 LPF를 통과시켜 그 성능을 그래프로 실험한 그림이다.

Fig. 8

Performance of the proposed Low Pass Filter

3.2. Wash-out 필터의 설계

병렬 기구는 제한된 움직이는 범위를 가진다. 그러므 로 차량보다 아주 작은 동작 범위를 갖게 된다. 이런 제 한된 운동범위 내에서 탑승자가 실제 주행하는 운동감 을 느끼게 하기 위해서는 주행 시뮬레이터의 운동을 적 절히 조절해 주어야 한다.

Fig. 7의 데이터 처리 알고리즘은 가상현실에서 차량 오브젝트의 x¨p,y¨p,z¨p,θ˙p,ϕ˙p,ψ˙p 데이터를 Fig. 7의 Noise Filter를 통과시켜 잡음을 제거한 뒤, Wash-out Filter의 블록선도에 입력하면 차량 운전 시뮬레이터에 요구되는 Xs, Ys, Zs의 위치와 θs, ϕs, ψs 회전 값이 출력 된다.

필터를 사용하지 않으면 3D 영상에서의 잡음과 수치 미분에서 생기는 오차가 주행 시뮬레이터에 그대로 전 달되고, 탑승자가 이질감을 느끼고 심할 경우 어지러움 을 느낄 수 있다.

Fig. 7G3(s), G4(s), G5(s), Tilt calculation 부분의 전달함수와 식은 식 (4~8)과 같이 설계하였다 각 필터의 전달함수로는 HPF (High Pass Filter)와 LPF (Low Pass Filter)가 필요하다.

Fig. 8의 전달함수 는 HPF이고 식 (4)과 같다.

G3(s)=s2s2+2ζHPFωHPFs+ωHPF2(4) 

Fig. 8의 전달함수 는 LPF이고 식 (5)과 같다.

G4(s)=ωLPF2s2+2ζLPFωLPFs+ωLPF2(5) 

식 (6-7)은 Tilt calculation이다. Tilt calculation은 x¨p,y¨p 를 시뮬레이터로 표현하기 위한 식으로 가속도를 기울 기로 환산해 탑승자가 가속을 느끼게 착각하게 만드는 부분이다. 식 (6-7)에 표시된 g는 중력가속도를 의미한다.M6M7

θs=sin1y¨pg(6) 

ϕs=sin1x¨pg(7) 

Fig. 8의 전달함수 G5(s)는 식 (8)과 같다.

G5(s)=ss+ωHPFθ(8) 

각 2차 HPF, LPF 및 1차 HPF의 차단 주파수는 1 Hz이 고, 샘플링 주파수는 20 Hz이다. 즉 ωHPF = ωLPF = ωHPFθ = 2π, ζHPF = 0.5, ζLPF = 0.55 로 결정하였다.

위에 선정한 차단 주파수 및 댐핑 계수 값은 실험을 통하여 2.1절에서 제작한 6자유도 로터리 링크 타입 병 렬 플랫폼을 구동했을 때 가장 빠르고 모션 프로파일과 실제 플랫폼이 가장 비슷하게 움직임이 이루어지도록 상기의 파라메타를 선정하였다.

실제 시스템에서는 z¨p,θ˙p,ϕ˙p,ψ˙p 도 계산해서 차량 운 전 시뮬레이터의 위치 및 각도의 값을 계산하지만, 탑승 자가 가장 많은 운동감을 느끼는 데이터인 x¨p,y¨p 에 대해 서만 Fig. 7의 설계된 알고리즘을 실제 적용해서 데이터 처리를 실험한 결과를 Fig. 9와 Fig. 10에 나타내었다. 나머지 값 역시 그 결과는 유사함을 확인하였다. Fig. 9x¨p 데이터를 처리하는 그래프이고, Fig. 10y¨p 데이터 를 처리하는 그래프이다. 각 Fig. 9와 Fig. 10의 상단에 위치한 그래프는 x¨py¨p 데이터와 LPF 및 Wash-out 필터를 거쳐서 나온 결과 데이터를 비교하는 그래프이 고, 아래의 그래프는 최종적으로 차량 운전 시뮬레이터 의 자세를 계산한 θsϕs 데이터를 그래프로 그린 그래 프이다. Fig. 9와 Fig. 10의 하단의 그래프에서 보는 바와 같이 영상과 시뮬레이터 사이에 필터에 의한 20 msec 위상 차가 있지만 탑승자가 느끼지 못할 정도의 작은 시간 이다.

Fig. 9

x axis acceleration and pitch angle with LPF and Wash-out filter

Fig. 10

y axis acceleration and roll angle with LPF and Wash-out filter

3.3. 모터 제어 시스템

Fig. 11은 차량 운전 시뮬레이터의 전체 제어시스템이 다. 가상현실의 x¨p,y¨p,z¨p 데이터 및 θ˙p,ϕ˙p,ψ˙p 데이터가 디지털 필터를 거쳐 잡음을 제거한 뒤, Wash-Out 필터에 의해서 차량 운전 시뮬레이터에 요구되는 Xs, Ys, Zs의 위치와 θs, ϕs, ψs 회전 값을 계산한다. 그리고 마스터 제어기에서 6자유도 역기구학 공식에 의해 각각 6개 서 보 모터의 위치인 각도 θ1~θ6에 대하여 이동명령과 직선 보간 알고리즘을 이용해 위치, 속도명령을 보낸다. 역기 구학 계산 및 Fig. 7의 알고리즘을 계산하는 시간은 1 Cycle 동안 2 msec의 시간이 소요된다.

Fig. 11

Structure of simulator motion control system

Fig. 12는 차량 시뮬레이터의 모터를 위에서 본 모양 이다. Fig. 12와 같이 왼쪽의 3개의 모터와 오른쪽의 3개 의 모터를 두 그룹으로 나누어서 제어한다. 차량 운전 시뮬레이터는 모든 동작과 동작 사이에서 각각의 모터 의 이동 거리는 다르지만, 현재 위치에서 목표 위치까지 이동시간은 같아야 부드럽게 움직인다. 그래서 두 그룹으 로 나눈 모터를 다축 직선 보간법을 이용해서 동작한다.

Fig. 12

6-axis servo motors for driving simulator links

플랫폼 상판의 이동을 결정하는 방법으로 궤적계획법 을 사용하였다[9]. 상판의 궤적을 이동할 때, 동작의 세분 화를 많이 하면 목표궤적과 오차 없이 이동할 수 있다. 그러나 동작 세분화의 가장 큰 문제점은 동작과 동작 사이에 지속해서 가・감속 프로 파일이 입력되어 속도 프로파일이 불안정하게 만들어지는 점이다.

Fig. 13과 Fig. 14의 그림은 1축의 모터에 위치명령을 주었을 때 속도 프로파일의 목표에 대한 실제 모터의 상태를 그래프로 나타낸 그림이다. Fig. 13과 Fig. 14의 CH1은 궤적계획법을 사용해 위치 명령을 줄 때 이에 따른 속도 명령을 나타내고, CH2은 모터의 속도 피드백 을 나타낸다. Fig. 13에서는 동작 명령 간에 가·감속 프로 파일이 입력되어 각 동작이 끊긴듯한 불안정한 속도 프 로파일을 볼 수 있다. 이를 안정화하기 위해서 연속이동 함수를 이용해 모터의 동작과 동작 사이에 가·감속을 제 거해주어 6축의 모터를 각각 독립적으로 안정적으로 동 작할 수 있도록 하였다. 그에 따른 결과로 안정적으로 구동하는 모습을 Fig. 14에서 볼 수 있다.

Fig. 13

Unstable time response of 1 axis motor motion profiles without accel. /decel. elimination

Fig. 14

Stable time response of 1 axis motor motion profiles without accel. /decel. elimination

Fig. 15와 Fig. 16은 모션 프로파일의 차수를 다르게 했을 때 모터의 안정감을 비교한 그래프이다. 사용한 모 션 프로파일 1차식은 식 (9)와 같고, 모션 프로파일 3차 식은 식 (10)과 같다.

Fig. 15

Overshoot behaviors of 1 axis motor motion profiles

Fig. 16

Desirable behaviors of 1 axis motor motion profiles with cubic profile

y=t(9) 

y=3t22t3(10) 

Fig. 15의 모션 프로파일은 1차식의 프로파일을 사용 하고, Fig. 16의 모션 프로파일은 3차식의 프로파일을 사용한다. 본 연구에서는 최종적으로 가장 안정적이고 반응이 빠른 3차식의 프로파일을 사용해 차량 운전 시뮬 레이터를 구동하였다.

3.4. 6자유도 로터리 링크 타입 병렬 플랫폼의 제작

차량 운전 시뮬레이터와 가상현실상의 차량 오브젝트 영상 간의 움직임을 동기화를 확인하기 위해서 실시간 시험을 수행하였다. 매 50 msec마다 영상에서 x¨p,y¨p,z¨p 데이터와 θ˙p,ϕ˙p,ψ˙p 데이터가 송신될 때, 그 다음 데이 터가 송신되기 전에 마스터 제어기는 전체 제어 시스템 을 계산하고 제어 출력을 내보냄과 동시에 6축 서보 모 터의 동작을 완료해야 한다. 매 50 msec 마다 궤적계획 법에 사용할 목표 포인트를 추가해주고 이동 거리에 따 라 서보 모터의 속도를 다르게 적용한다. 만약 이동 거리 가 길어진다면, 모션 프로파일의 목표 속도와 목표 이동 거리가 커지면서 3차식의 프로파일이 빠르게 반응하게 된다.

Fig. 17과 Fig. 18은 실제 모든 알고리즘이 적용된 차 량 운전 시뮬레이터를 직접 구동하면서 테스트 및 실험 을 하는 영상을 나열한 그림이다. Fig. 17은 여러 동작 중 좌회전과 우회전을 할 때 차량 운전 시뮬레이터의 위치와 영상과의 동기화 실험을 한 그림이다. 실제 차량 을 운전할 때 차량의 진행방향과 반대로 몸이 쏠리는 느낌을 받게 되는데 앞에 설계한 알고리즘과 같이 움직 이는 것을 확인할 수 있다. 그리고 실시간 차량의 충돌 상황에 대한 반응 시간 측정 실험도 수행하였다. Fig. 18 과 같이 실험했을 때 그림과 같이 충돌 정도에 따른 시뮬 레이터의 위치는 잘 나타나고, 영상과 실제 시뮬레이터 사이의 시간 차이는 미미한 수준이다.

Fig. 17

Matching for driving motion between vehicle driving simulator and virtual vehicle motion

Fig. 18

Matching for impact test between vehicle driving simulator and virtual vehicle motion

3.5. 실험 결과

Table 1은 제작한 차량 운전 시뮬레이터의 상판, 하판 의 크기 및 운동 범위와 최대 하중을 나타내는 표이다.

Table 2는 앞서 설계된 차량 운전 시뮬레이터와 가상 현실의 영상 사이의 시간 지연과 표준편차를 나타내는 표이다. 평지에서 각 상황에서 100번의 실험에 대한 평 균값이며 정면충돌의 경우에서 가장 큰 시간 지연이 생 겼고, 후진할 때 가장 작은 시간 지연이 생겼다. 그 이유 는 정면충돌의 경우 가속도가 가장 많이 변하면서 차량 운전 시뮬레이터의 동작 반경이 가장 커지게 되는데 이 때 모터 회전 RPM은 충분하지만, 사람이 강한 충격을 받았을 때 극심한 어지러움이나 구토를 호소하게 된다. Wash-out 필터에 의해서 이런 동작이 보정되는데 이때 Table 2의 시간 지연이 발생한다.

Operation performance of vehicle driving simulator

Average time delay for several situations

다음으로 Table 3은 피실험자 20명에 대해서 각 상황 에서 호소하는 시뮬레이터 병에 대한 분포를 표로 나타 낸 것이다. 전체적으로 충돌 상황에서 더욱 많은 사람이 시뮬레이터 병을 호소하고, 직진과 후진에서 가장 적은 사람이 시뮬레이터 병을 호소했다. 전체 움직임에서 피 험자 20명 중 7명이 극심하게 느끼던 시뮬레이터 병을 필터를 적용한 뒤 3명으로 줄어들면서 필터가 잘 동작하 는 것을 볼 수 있다.

Statistics for simulator sickness for various motions


4. 결 론

본 연구는 자체 제작한 차량 운전 시뮬레이터와 가상 현실 사이의 시간 지연을 최소화로 하고 영상과 모션의 동기화를 극대화하기 위한 Wash-out 필터 및 알고리즘 을 제안했다. 그리고 동시에 시뮬레이터 병을 줄이기 위 해서 실험적으로 필터의 계수를 수정해 나갔다.

3장에서는 운전자의 일체감을 구현하기 위하여 동기 화 시스템을 구축하였다. Wash-out 필터를 이용해 운전 중 어지러움으로 인한 시뮬레이터 병을 최소화하는 여 러 유형의 필터를 제안하고 직접 적용해 차량 운전 시뮬 레이터를 이용해 실험하였다.

3.1절과 3.2절의 내용을 보면 영상과 시뮬레이터간 시 간 지연은 LPF와 Wash-out 필터에 의한 20 ms의 위상차 와 제어기와 역기구학 총 계산시간 2 ms의 시간 지연이 생긴다. 즉 22 ms의 시간지연이 있지만 실제 실험 결과 는 평균적으로 27.7 msec의 시간 지연이 있음을 볼 수 있었다. 이 정도의 시간 지연에 대해 탑승자는 지연을 느끼지 못하는 것으로 확인하였으며, 최대 100 msec 까 지 임의로 지연시키면 영상과 시뮬레이터간의 차이를 느끼고 반복 시 어지러움을 호소하였다. LPF와 Wash-out 필터를 통해 사용자가 거부감을 느끼는 동작을 제거하 고 3.3절의 6축 모터의 동기화 제어 및 3차식의 모션 프로파일에 의해서 차량 운전 시뮬레이터의 동작을 제 어하였다. 이를 통해 탑승자에게 실시간으로 동작한다 는 착각을 주고, 또한 실제 차를 타고 있는 느낌을 받게 되어 전체적인 시뮬레이터 병은 35%에서 15%로 20% 더 줄이는 것을 확인할 수 있다. 충돌과 직진 동작에서 가장 큰 운동감을 주며, 동시에 가장 큰 시뮬레이터 병을 발생 시키는 충돌과 직진 동작에서 운동감을 확실히 해 주어 시뮬레이터 병을 많이 감소 시킬 수 있었다.

본 연구를 통해 소형의 차량 운전 시뮬레이터를 설계 하는 방법을 소개하고 탑승자에게 효율적으로 운동감을 줌과 동시에 시뮬레이터 병을 감소시키는 방안을 제시 하였다. 그리고 서론에 소개된 고가의 복잡한 시뮬레이 터와 달리 쉽게 접근할 수 있고 저가로 제작해 일반인이 쉽게 접할 수 있는 차량 운전 시뮬레이터를 제작함으로 써 오락실과 체험관 같은 전시장에 직접 전시를 해보면 서 효과를 직접 확인 할 수 있어 대부분의 탑승자가 실감 나는 운동감을 느꼈고 실제 차량과 비슷한 주행 연습의 효과를 느꼈다. 하지만 게임으로 제작된 가상현실인 만 큼 실제 주행 연습이라는 느낌보다는 게임을 실감 나게 한다는 평이 많았다.

References

  • Arioui, H, Nehaoua, L, "Daimler-Chrysler", Driving Simulation, (2013), ch. 1, sec. 2, 1st ed, Wiley-ISTE, p11-14.
  • The University of IOWA, National Advanced Driving Simulator, [Online] https://www.nads-sc.uiowa.edu/, Accessed: February 15, 2015.
  • Toyota Motor Corporation, Toyota Driving Simulator, [Online], http://www.toyota.com.cn/innovation/safety_technology/safety_measurements/driving_simulator.htm, Accessed: February 15, 2015.
  • INNOSIMULATION, Driving Simulator R&D, [Online] http://www.innosim.com/xe/index.php?document_srl=71343&mid=kr_refe_ automotive, Accessed: February 15, 2015.
  • Unity Technologies, Unity 3D, [Online] https://unity3d. com/kr, Accessed: February 15, 2015.
  • Wikipedia, Unity, [Online] https://en.wikipedia.org/wiki/Uni ty_(game_engine), Accessed: September 25, 2016.
  • Avizzano, C.A, Barbagli, F, Bergamasco, M, Washout Filter Design for a Motorcycle Simulator, Systems, Man, and Cybernetics, 2000 IEEE International Conference on, (2000, Oct), 2, p995-1000. [https://doi.org/10.1109/icsmc.2000.885980]
  • Jung, U.J, Song, J.B, Ko, H.D, Development of Driving Simulator Based on Washout Algorithm with Fuzzy Logic, Proceedings of the KSME Spring Conference, (2001, Jan), 2(1 ), p654-659.
  • Niku, S.B, "Trajectory Planning," Introduction to Robotics: Analysis, Control, Applications, (2011), ch. 5, sec. 5.5, 2nd ed, Wiley, p184-188.
김 헌 세

2017 서울과학기술대학교 기계시스템디자 인공학과(공학사)

2017~현재 서울과학기술대학교 기계로봇설 계공학과 석사과정

관심분야: Automatic Control, Robotics, Programming

김 대 섭

2015 서울과학기술대학교 기계시스템디자 인공학과(공학사)

2015~현재 정식품 사원

관심분야: Robotics, Programming

김 동 환

1986 서울대학교 기계설계학과(공학사)

1988 서울대학교 기계설계학과(공학석사)

1995 Georgia Institute of Technology(공학 박사)

1988~1991 대우중공업 주임 연구원

1995 Georgia Tech Post-doctoral

1995~1997 서울대학교 선임연구원

1995~1998 한국생산기술연구원 선임연구원

1998~현재 서울과학기술대학교 기계시스템 디자인공학과 교수

관심분야: Mechatronics, Robotics

Fig. 1

Fig. 1
3D modeling of driving simulator

Fig. 2

Fig. 2
Manufactured simulator driven by rotary actuators

Fig. 3

Fig. 3
Drag and drop function for the object in Unity 3D

Fig. 4

Fig. 4
Coordinates representing the moving object

Fig. 5

Fig. 5
Communication protocol

Fig. 6

Fig. 6
Coordinates

Fig. 7

Fig. 7
Data processing algorithm

Fig. 8

Fig. 8
Performance of the proposed Low Pass Filter

Fig. 9

Fig. 9
x axis acceleration and pitch angle with LPF and Wash-out filter

Fig. 10

Fig. 10
y axis acceleration and roll angle with LPF and Wash-out filter

Fig. 11

Fig. 11
Structure of simulator motion control system

Fig. 12

Fig. 12
6-axis servo motors for driving simulator links

Fig. 13

Fig. 13
Unstable time response of 1 axis motor motion profiles without accel. /decel. elimination

Fig. 14

Fig. 14
Stable time response of 1 axis motor motion profiles without accel. /decel. elimination

Fig. 15

Fig. 15
Overshoot behaviors of 1 axis motor motion profiles

Fig. 16

Fig. 16
Desirable behaviors of 1 axis motor motion profiles with cubic profile

Fig. 17

Fig. 17
Matching for driving motion between vehicle driving simulator and virtual vehicle motion

Fig. 18

Fig. 18
Matching for impact test between vehicle driving simulator and virtual vehicle motion

Table 1

Operation performance of vehicle driving simulator

Platform diameter (mm) 288.78
Base diameter (mm) 301.15
Platform angle (degree) 5
Base angle (degree) 25
Moving Boundary X (mm) -142~135
Y (mm) -130 ~130
Z (mm) -67 ~68
Roll (degree) 28
Pitch (degree) 28
Yaw (degree) 48
Maximum load (kg) 80

Table 2

Average time delay for several situations

Situation case Average time delay (msec) Standard Deviation (msec)
Ahead-on collision 36.7 9.23
A rear collision 32.6 6.99
Left turn 25.1 3.04
Right turn 25.4 3.27
Go straight 23.8 2.75
Backward movement 22.7 2.14
Total motion 27.7 4.57

Table 3

Statistics for simulator sickness for various motions

Situation cases Percentage on feeling simulator sickness
Without filters(%) With filters(%)
Ahead-on collision 55 30
A rear collision 45 25
Left turn 35 10
Right turn 30 15
Go straight 20 5
Backward movement 15 5
Total motion 35 15