Korea Digital Contents Society
[ Article ]
Journal of Digital Contents Society - Vol. 22, No. 10, pp.1559-1568
ISSN: 1598-2009 (Print) 2287-738X (Online)
Print publication date 31 Oct 2021
Received 02 Sep 2021 Revised 27 Sep 2021 Accepted 27 Sep 2021
DOI: https://doi.org/10.9728/dcs.2021.22.10.1559

다중 센서를 이용한 가상 직업 훈련 시스템

백성민1 ; 김예진2, *
1한국전자통신연구원 콘텐츠연구본부 책임연구원
2홍익대학교 게임학부 조교수
Virtual Job Training System Using Multiple Sensors
Seong-Min Baek1 ; Ye-Jin Kim2, *
1Senior Researcher, Contents Research Division, ETRI, Dajeon 34129, Korea
2Assistant Professor, School of Games, Hongik University, Sejong 30016, Korea

Correspondence to: *Ye-Jin Kim Tel: +82-44-860-2122 E-mail: yejkim@hongik.ac.kr

Copyright ⓒ 2021 The Digital Contents Society
This is an Open Access article distributed under the terms of the Creative Commons Attribution Non-CommercialLicense(http://creativecommons.org/licenses/by-nc/3.0/) which permits unrestricted non-commercial use, distribution, and reproduction in any medium, provided the original work is properly cited.

초록

HMD와 컨트롤러를 사용하는 가상훈련 시스템은 높은 비용이 소요되거나, 위험이 동반되는 실제 훈련과 달리 가상 환경을 통해 안전하게 수행할 수 있다는 점에서 수요가 증가하고 있다. 그러나, 대부분의 체험용 가상현실 콘텐츠는 실감 인터랙션 부분에서 실제와 차이가 크게 나타난다. 본 논문에서는 다중 센서를 활용하여 실제로 훈련에서 사용하는 도구의 움직임을 추적하고, 실제 사용자 위치와 가상공간에서 위치를 매칭시킨 결과와 사용자의 전신 형태를 가시화함으로써 가상훈련 시 몰입감을 높이는 방법을 제시한다. 특히, 직업 훈련에 사용되는 실제 객체를 가상 공간에 연결된 실제 공간에 배치하여 가상훈련 시 물체 표면의 물리적 접촉감을 제공하며, 도구의 자세와 터치 정도를 측정하여 직업 훈련에 활용하였다. 또한, 가상훈련의 효과를 검증하기 위하여 스팀 세차 콘텐츠를 제작하고, 사용자 테스트를 진행하여 작업 숙련도 향상을 관찰하였다.

Abstract

Unlike real-world training, which requires a high cost or accompanies risk, virtual training systems using HMD and controllers are in increasing demand because they can be conducted safely through virtual environments. However, most of current virtual systems focus on experiential leaning and lack of realistic training situations in terms of tangible interactions. In this paper, we propose a method for enhancing the presence and immersion during virtual training by applying various sensors to tangible virtual training as a way to track the movement of real tools used during training. The proposed system connects virtual and real-world spaces through an actual object to provide the feeling of an actual touch and virtualizes the entire body of the actual user for transfer to a virtual environment. Furthermore, the system measures the posture of the tools and the degree of touch and applies them during training. User testing is conducted to validate the increase in effectiveness of virtual job training.

Keywords:

Virtual Training, Job Training System, Virtual Environment, Multiple Sensors, Depth Data

키워드:

가상 훈련, 직업 훈련 시스템, 가상 환경, 다중 센서, 깊이 데이터

Ⅰ. 서 론

직업 훈련생들에게 생소한 작업 환경에서 현실적 경험을 할 수 있는 기회를 주는 것은 직업 훈련을 위해 매우 중요하다. 직업 훈련에 있어 반복적인 훈련이 중요하나, 훈련할 수 있는 작업(work)은 제한되어 있고, 기술(skill)을 축적할 만한 기회가 부족하다. 또한, 실제 환경에서 훈련하는 것은 제한된 물리적 공간, 시설 관리, 안전사고, 반복 훈련에 의한 소모성 재료 비용 등의 다양한 어려움이 존재한다.

최근에는 virtual reality(VR) 기기의 대중화에 따라 가상 환경이 게임, 교육, 의료, 스포츠 등의 다양한 분야에 적용되고 있다. VR은 현실 세계에서 요구되는 사회적, 실용적 기술을 향상하는 데 초점을 맞추어 안전하고 반복 가능하며 특정한 훈련을 제공할 수 있다는 장점이 있다. 특히, 수동적인 시각적 상호작용 중심의 가상 교육보다는 객체와의 직접적인 상호작용 및 체험을 동반한 관찰을 통하여 효과적인 직업 훈련 환경을 제공한다[1]-[2].

VR에서 사용자의 몰입감과 상황 인식을 높이기 위한 노력으로 가상 환경에 맞는 물리적 물체(physical prop)를 추가하고, 사용자의 상호작용에 사용하는 연구가 활발히 진행되고 있다. Simeone 등은 가상 물체에 상응하는 물리적 물체를 배치한 후, 참여자들의 반응을 조사하였고[3], Lee 등은 physical-virtual table을 통해 가상 캐릭터와의 상호작용과 물리적 영향에 관해 연구하였다[4]. He 등은 가상 환경에서 안전 문제와 심리적 불편함을 개선하고, 물리적 요소에 대한 상황 인식을 높이기 위한 주변 정보 디자인을 제시하였다[5]. Loch 등은 초기 가상훈련을 진행하는 동안 시스템에 물리적 구성 요소를 도입하여 훈련 중 도구에 대한 느낌, 크기, 무게를 알 수 있도록 하고, 햅틱 인터랙션(haptic interaction) 기반 가상훈련 시스템을 제안하였다[6].

사용자 아바타의 존재가 VR에 미치는 영향 연구에서 Heidicker 등은 머리와 손으로 구성된 모델보다는 사용자의 움직임과 매핑(mapping)된 완전한 바디 모델(body model)이 높은 공존(coexistence)과 상호 의존성(mutual dependence)을 생성한다고 발표하였다[7]. Franco와 Peck의 연구에서는 가상 환경에서 사용자 아바타 표현이 주관적 존재감(presence)이 증가하여 더 강한 몰입감과 경험의 타당성을 높이는 것으로 보고하였다[8]. 그러나, 편리성과 가격 문제 등으로 인해 대부분의 VR 체험 콘텐츠는 사용자의 손에 컨트롤러를 들고 체험하도록 개발되었으며, 최근에는 인터랙션 효과를 강화하기 위해 손 트래킹(hand tracking)에 활용할 수 있는 기기들이 다수 출현하고 있으나[9]-[11], 대부분 가상 환경 인터랙션을 위해 사용자의 일부분(예: 손)만 모델링하여 가시화하기 때문에 사실감이 부족해 보이는 문제가 있다. 또한, VR 컨트롤러를 사용하는 경우 객체를 직접적으로 터치하기 어렵고, 허공에서 선택 행위 등을 통해 상호작용이 진행되며, 직업 훈련에 필요한 실제 도구 인식을 지원하지 않기 때문에 실감 인터랙션을 구현하기 어려운 문제가 있다. 이로 인해, 단순 선택으로 진행되는 방식이 아닌, 실제 접촉이 중요한 분야(예: 세차 훈련에서 걸레질 등)에서는 간단한 체험 정도만 가능하고(예: 컨트롤러를 들고 가상 자동차를 닦는 시늉), 실제 힘을 주어 훈련하는 수준으로는 활용하기 어렵다. 최근에는 글러브 형태의 햅틱 도구를 활용하여 역감(force feedback)을 통해 가상 객체를 잡는 느낌을 주는 손가락 인터랙션 방법이 제안되고 있으나[12]-[14], 팔 전체로 상호 힘을 주고받아야 하는 인터랙션 기반 콘텐츠(예: 세차 훈련에서의 스팀 세차)에서는 활용하기 어렵다.

본 논문에서는 실감 가상 직업 훈련 서비스를 제공하기 위해 사용자가 실제 도구를 사용하는 VR 기반 직업 훈련 시스템을 제안한다. 제안하는 시스템에서는 훈련생(발달장애인)의 안전하고 반복 가능하며 실용적인 훈련을 위해 자동차 스팀 세차 훈련 프로그램을 제공한다. 특히, 가상 환경에 있는 자동차 모델을 실제 환경에서의 자동차 모형의 좌표계로 일치시키는 방법을 통해 사용자가 가상 환경에서 걸레질할 때 실제 터치감을 느끼며 훈련을 할 수 있도록 하였다. 또한, 가상 환경에 대한 몰입도를 높이기 위해 calibration 된 Kinect 센서[15]로부터 획득한 3D point와 컬러 데이터를 콘텐츠로 전송하여 사용자 전신을 가상화하였다. 발달장애인 대상 가상 교육은 훈련된 직원(staff)의 집중적인 개입이 요구되어 비용 효율성 문제가 발생할 수 있으므로[16], 본 시스템에서는 반복 학습을 진행하면서 가상 환경에서 시각 및 청각을 통해 훈련 상황에 대한 안내를 제공하여 전문가의 개입을 최소화하도록 하였다. 제안한 방법은 훈련에 대한 몰입감을 높이고, 실제와 유사한 훈련을 통해 훈련 효과를 높일 수 있다.

본 논문은 다음과 같이 구성되어 있다. 2장에서는 실감 훈련을 위한 시스템 개요를 소개한다. 3장에서는 실체에 기반한 가상 환경을 구축하고, 4장은 도구 기반 사용자 자세 추정 방법을 설명한다. 5장에서는 사용자 실험 결과를 보여주고, 마지막으로 6장에서는 본 논문의 결론을 내린 후 향후 계획을 소개하고 마친다.


Ⅱ. 시스템 개요

본 논문에서 제안하는 시스템에서는 실감 효과를 높이기 위해 Kinect의 infrared ray(IR) 및 depth 센서를 활용하여 실제 자동차 차체와 가상 환경 내 가상 자동차 모델을 매칭시킨다. 또한, 실제 사용자 위치와 가상 환경 내 위치를 일치시키기 위해 사용자의 head mounted display(HMD)에 IR 마커를 부착하여 위치를 추적한다. 사용자 가시화를 위해 사용자의 point와 컬러 값을 추출하여 콘텐츠로 전송함으로써 가상 환경에서도 사용자의 형태를 확인할 수 있다. 제안하는 시스템의 전체 구성은 그림 1과 같다.

Fig. 1.

Overview of VR-based training system

또한, 실감 자동차 세차 훈련을 위해 컨트롤러 대신 실제 스팀 건과 장갑형 걸레를 사용하며, 도구의 위치는 IR 마커를 부착하여 위치와 방향을 추적한다.

스팀 건에는 on/off형 버튼 센서를 부착하여 스팀을 분사하고 있는 상태인지를 확인하도록 하였으며, 걸레에는 압력 센서(RA18P, 13개)를 삽입하여 닦을 때의 압력을 측정할 수 있도록 하였다. 도구 추적을 위한 IR 센서와 사용자 추적을 위한 포인트 및 컬러 데이터 획득을 위해 두 대의 Kinect 센서를 연결하여 사용한다. Kinect는 좌, 우에 설치하여 자동차와 사용자를 잘 볼 수 있도록 방향을 맞춘 후, calibration 과정을 통해 좌표계를 일치시킨다. 시스템 프로세스는 그림 2와 같다.

Fig. 2.

Overall process of VR-based training system: Visualization of input data from multiple sensors in virtual environment


Ⅲ. 실체 기반 가상 환경 구축

3-1 다중 카메라 Calibration

본 논문에서는 공간 인식을 위하여 두 대 Kinect(좌, 우)를 사용하기 때문에, 두 카메라에 대한 calibration 작업이 필요하다. 실제 공간과 가상공간을 depth 기준으로 맞추기 때문에, 여기서는 depth point를 기반으로 iterative closest point(ICP) 알고리즘[17]을 사용하였다. 전역 좌표계는 왼쪽 Kinect를 원점으로 하는 좌표계로 설정하였다.

계산의 편리를 위해 Kinect 센서의 기울기를 먼저 보정한다.

각 Kinect 센서에서 입력된 깊이 데이터 중 지면에 해당하는 영역에서 포인트들을 추출하여 plane equation에 의한 normal 벡터를 찾고, 전역 좌표계의 y축 normal 벡터(0, 1, 0)와 회전 행렬을 계산하여 센서의 기울어짐을 구한다. 이후, Kinect에서 입력된 point들은 백그라운드 및 노이즈가 제거되고, 기울어짐 보정을 거친 데이터만 사용한다.

Calibration을 위한 depth point를 구하기 위해, 지름 5cm의 납작한 원(circle)을 길이 50cm 정도의 얇은 막대에 끼워 캡처 도구(capture tool)를 제작하였다. 사용자가 캡처 공간에 들어가 움직이면서 depth 포인트를 획득한다(250개). ICP 알고리즘은 포인트 간 매칭 관계를 찾는 데 많은 시간이 소요되나, 제안한 방법은 frame마다 획득한 point가 순서대로 입력되어 point 간 매칭 관계를 바로 알 수 있으므로 다른 카메라에 대한 R(회전 행렬) 및 T(이동 행렬) 값이 빠르게 계산된다. 다중 Kinect에서의 calibration 과정 및 결과는 각각 그림 34와 같다.

Fig. 3.

3D depth data from two Kinects(left), tracking of positions of a user and a capture tool in a capture volume after background and noise removal(right) (red: left Kinect, green: right Kinect, cyan: user position, white: capture tool position)

Fig. 4.

Calibration results: aligned depth data from two Kinect inputs(left), color added result(right)

그림 5와 같이 두 대의 calibration 된 Kinect에서 두 마커 위치의 오차는 아래와 같이 계산된다.

Error=k=0n-1dkbn.(1) 
Fig. 5.

Measurement of error between two markers: P1s and P2c are maker positions and transformed maker positions by calibration, respectively, after slope correction of Kinect

여기서 kk번째 마커, n은 총 마커의수, d는 마커와마커사이의 3차원 거리, b는 마커크기의 2배 값이다. 본 연구에서 두 마커 위치의 오차(P1sP2c의 사이)는 평균 3.5mm로 측정되었다. Kinect의 해상도는 640 x 576, 시야각 75° x 65°, 30fps이고, 약 20mm 크기를 갖는 마커를 평균 2m 거리에서 측정하였다.

3-2 실제 모형과 가상 물체 간의 매칭

사용자가 실제 자동차를 닦는 느낌을 받을 수 있도록 실제 자동차 모형을 그림 6과 같이 제작하였다. 실내 공간의 제약으로 인해 실제 자동차의 옆면만 자른 후 프레임을 부착하여 지지하였다. 실감 인터랙션을 위해 실제 자동차 모형과 가상 자동차 모델이 일치하는 것이 중요하기 때문에 가상 환경과 매칭을 위해 실제 자동차 모형에 그림 6과 같이 IR 마커를 부착하였고, 좌우 Kinect에서 입력된 깊이 데이터에서 자동차 모형이 있는 영역에 bounding box를 설정하여 point를 추출하였다.

Fig. 6.

Car model(top) and attached IR markers(bottom)

실제 모형과 가상 물체의 빠른 정합 계산 속도를 위해 bound box를 voxel로 나누어 point의 평균값을 구하여 샘플링(sampling) 하였다. 자동차는 옆면만 존재하기 때문에 x축에 대해 더 작은 값을 갖는 voxel을 선택하여 뒤쪽에 나타나는 노이즈를 제거하였다. 자동차에 부착된 IR 마커와 sample point를 추출한 모습은 그림 7과 같다. Kinect에서 깊이 데이터를 추출할 때, 자동차의 유리창 부분이나 굴곡에 의해 가려진 부분에서 sample point가 인식되지 않는 문제가 있다.

Fig. 7.

Extracted sample points(top) and filling points on windows area(bottom)

스팀 건과 자동차 point 간 인터섹션에 의해 스팀 분사 정도나 걸레질할 때 접촉 상태를 확인하기 때문에 빈 곳을 채우는 과정이 필요하다. 여러 가지 구멍(hole) 채움 방법들이 존재하지만, 본 연구에서는 그리드(grid)를 사용하여 구멍을 빠르고 쉽게 채우는 방법을 제시한다.

앞에서 설명한 바와 같이 자동차 영역은 샘플링을 위해 그리드로 나누어져 있으므로 그리드 영역 내에서 z축방향으로진행하면서 point가 있다가 사라지는 부분(p1,p3)에서 다시 나타나는 부분(p2,p4)까지를 찾고, 그 사이를 point로 채운다. Point 위치는 첫 번째 point와 두 번째 point 사이([p1,p2]와 [p3,p4])를 보간(intepolation)한 위치(그림 7)로 결정한다.

실제 좌표계에서의 자동차 모형과 가상 좌표계에서의 자동차 모델 위치를 맞추기 위해 IR 마커 위치와 자동차 sample point를 콘텐츠로 전송한다. 자동차 모형은 일정한 형태의 강체이므로 가상 모델의 어느 부분과 매칭(matching)해야 할지 쉽게 알 수 있으며, 모델에서 필요한 point를 미리 추출한 후 ICP 알고리즘[17]를 적용하여 정렬시킨다. ICP는 센서에 얻은 입력 데이터와 기준 데이터에서 Eculidian 거리가 가장 가까운 데이터들을 빠르게 매칭할 수 있는 기법으로 약간의 오차에 대해서는 수동으로 미세 조정을 하여 최종 위치를 맞추었다. 그림 8은 가상 좌표계에서 IR 데이터에 해당하는 위치 및 가상 자동차 모델을 실제 좌표계의 IR point와 자동차 sample point로 매칭하는 과정을 보여준다. 그림 9는 실제 자동차 sample point와 가상 자동차 모델 간의 매칭 결과를 보여준다.

Fig. 8.

Process of matching sample points between physical and virtual objects

Fig. 9.

Before(left) and after(right) matching sample points(red)

Kinect에서 인식한 사용자를 가상 환경에서 가시화하기 위해 사용자 모델의 point와 컬러를 추출하고, 계산 속도를 빠르게 하기 위해 voxel sampling을 통해 point 수를 1/5로 줄인다(약 10,000 sample points 사용). 깊이 데이터와 대응되는 컬러 데이터를 추출하여 콘텐츠에 전송함으로써 콘텐츠에서 가상화하였으며, HMD에 부착한 IR 마커 위치로 가상 환경에서의 사용자 위치를 맞추었다. 기존 손 모델만 보면서 가상 체험을 하는 것과 다르게 본 연구에서는 그림 10과 같이 자신의 모습과 동일한 모델을 VR 환경에서 볼 수 있어 가상훈련의 몰입감을 높일 수 있으며, 물리적 환경과 같은 상호작용이 가능하다.

Fig. 10.

Visualization of a user model in virtual environment using sample points


Ⅳ. 도구 기반 사용자 자세 추정

4-1 도구 자세 추정

실감 훈련을 위해 사용자는 한 손에 스팀 건을, 다른 손에는 걸레를 들고 입장한다. 도구를 추적하기 위해 그림 11과 같이 IR 마커를 각 도구에 부착하였으며, Kinect에 있는 IR 센서를 이용하여 추적한다. 삼각측량법에 기반한 stereo matching 방식[18]으로 각 도구의 3차원 위치를 추정할 수 있으나, 최소 두 대의 RGB 카메라에서 동시에 인식이 되어야 하고, 외부 노이즈에 민감하며, 도구의 가려짐이 발생하는 경우 추정하기 어려운 문제가 있다. 따라서, 본 연구에서는 깊이 데이터를 활용하여 도구의 3차원 위치를 추정하는 방법을 사용한다.

Fig. 11.

Estimation of 3D position based on IR and depth images

먼저, 그림 11과 같이 IR 센서에서부터 IR 영상을 획득한 후 마커의 중심 pixel 정보를 찾는다. IR 영상과 동시에 획득된 깊이 map에서 IR 마커 중심 pixel의 상·하·좌·우 방향으로 탐색하면서 깊이 데이터가 있는지 확인한다. 각 방향으로 3 pixel마다 확인하며 점차 범위를 넓혀간다.

zk=dij,yk=pry-Ijflyzkxk=prx-Iiflxzk.(2) 

탐색은 k point를 넘어가면 종료하게 되며, 각 방향에서의 깊이 데이터 평균값을 계산한다. 깊이 데이터에 의한 3차원 위치는 아래와 같이 구할 수 있다.

여기서, prfl은 각각 Kinect의 principal point와 focal length이고, Ii,j는 IR 영상의 (i,j)에 위치한 pixel이며, zkIi,j에 대응하는 depth 값이다. 본 연구에서는 각 평균값이 정해진 한계치(40mm) 이내에 있으면 4개 방향의 평균값이 최종 위치가 되고, 그렇지 않으면 서로 다른 마커로 인식한다. 그림 11에서와같이 2개의 마커가 카메라 시선에서 유사한 방향에 있는 경우에도 깊이 차이를 통해 서로 다른 3차원 위치를 구할 수 있다.

좌우 Kinect에서 6개(스팀 건 3개, 걸레 2개, HMD 1개)의 마커 위치가 각각 나오며, Euclidean 거리를 기준으로 오차 범위 이내에 들어오는 위치의 마커 쌍은 하나로 통합하게 된다. 입력된 3차원 값이 기존 저장소에 있는 마커와 근접하면 기존 저장소에 입력하고, 그렇지 않으면 새로운 저장소로 입력된다. 새로운 저장소는 기존 저장소로 이동되고, 다음 마커 값에 대해 진행한다. 마커 분류가 끝나면, 같은 저장소에 있는 마커의 위치는 같은 마커 위치로 통합된다.

저장소에 마커 위치가 2개 이상이면 마커 confidence 레벨을 2로 할당하고, 1개만 있는 경우에는 confidence 레벨을 1로 할당한다. 깊이 map을 활용하기 때문에 한 대의 Kinect에서만 보이는 마커도 3차원 위치 추적이 가능하다. 그림 1213은 마커 분류 방법과 Kinect에서 추적 가능한 마커의 위치에 따른 confidence 레벨을 보여주고 있다.

Fig. 12.

Classification of markers

Fig. 13.

Confidence level of marker position(green: 2, yellow: 1)

IR 마커 외에 주변 노이즈로 인해 마커로 인식되는 경우를 방지하기 위해 사용자의 관절(joint) 위치를 함께 추적한다. 머리 주변에 나타나는 마커는 HMD로 분류되고, 손 주변에 나타나는 마커는 스팀 건이나 걸레로 분류된다. 그 외에 멀리 있는 위치는 노이즈로 간주하여 제거한다.

스팀 건의 경우에는 가상 환경에서 스팀이 발사되는 방향이 중요하므로 마커의 ID를 인식하는 것이 필요하다. ID 인식은 마커의 거리를 기준으로 분류를 한다. 스팀 건은 3개의 마커가 부착되어 있고, 걸레에는 2개의 마커가, HMD는 1개의 마커가 부착되어 있다. 이 중, 스팀 건의 HEAD와 MID 마커의 거리가 가장 길게 설정되어 있으므로, HEAD-MID 마커를 먼저 찾은 후 주변의 TAIL 마커와의 관계를 찾음으로써 스팀 건의 방향을 알 수 있다. 남은 마커 중 걸레에 해당하는 거리에 있는 마커의 쌍이 걸레 위치가 된다. 도구별 마커 분류가 성공적이면 각 상태(status)를 true로 설정한다.

4-2 훈련용 도구 제작

실제 훈련과 가깝게 설정하기 위해, 스팀 건에는 버튼 센서를 연결하여 on/off 버튼을 통해 스팀을 분사 중인지 알 수 있도록 하였다. 걸레에는 압력 센서를 삽입하여 어느 정도의 힘을 사용하고 있는지 확인할 수 있도록 구성하였다. 스팀 건에는 on/off 체크가 가능한 푸시 버튼(PBS-110)을 사용하였고, 데이터는 8bit로 전송된다. 걸레에는 장갑 형태에 맞게 0.2mm PCB를 제작하여 압력 센서(RA18P) 13개를 부착하였다. 각 압력 데이터는 12bit로 전송된다. PCB가 얇으므로 걸레에 삽입해도 자동차 모형의 표면 굴곡을 느낄 수 있다.

데이터 전송은 무선 수신기(Zigbee)를 사용하여 압력 센서인 경우 20ms로, 스팀 건은 10ms 간격으로 전송한다. 그림 14는 제작된 스팀 건과 걸레 압력 센서를 보여준다.

Fig. 14.

Training tools: pressure sensors of mob, button of steam gun, and data transmitter


Ⅴ. 실험 결과

본 연구에서는 한 대의 PC(Intel i7-9700 3GHz CPU 및 nVidia RTX2080 GPU)에 두 대의 깊이 센서(MicroSoft Azure Kinect DK)와 훈련 도구인 스팀 건과 걸레 데이터 수신기(Zigbee transmitter) 두 대를 연결해 사용하였다. 사용자는 무선 HMD(VIVE Pro)와 Unity 게임 엔진으로 제작된 스팀 세차 훈련 콘텐츠(그림 15)를 통해 직업 훈련에 참여하였다.

Fig. 15.

Virtual steam wash(top) and training content(bottom)

5-1 훈련 및 평가 방식

실제 환경에서 스팀 건의 사용은 주의해야 하며, 자신의 몸을 향해 발사하거나 자동차와 매우 가까운 거리에서 분사하는 경우는 위험한 상황이다. 따라서, 훈련 콘텐츠는 스팀이 발사되는 방향과 사용자의 신체 위치를 판단하여 위험 상황을 안내해야 한다. 이를 위해 본 연구에서 제작한 스팀 세차 훈련 콘텐츠에서는 스팀 건의 방향, 스팀 분사 거리, 사용자의 깊이 데이터를 이용하여 위험 상황이면 음성으로 경고를 할 수 있도록 구성하였다. 또한, 사용자의 훈련 성과를 측정하기 위해 스팀 분사(스팀을 자동차에 고르게 분사했는지 여부), 걸레질(걸레로 고르게 잘 닦았는지 여부), 사용자 안전(자신의 몸에 분사했는지 여부), 스팀 건과 자동차 사이 거리(자동차 가까이에서 분사했는지 여부)와 같이 4개 항목으로 훈련 점수를 구성하여 사용자의 훈련 성과를 평가하였다. 스팀 분사와 걸레질 정도는 가점 방식으로 0점에서 영역을 채운만큼 점수가 더해지며, 안전에 관련된 두 항목은 감점 방식으로 안전하지 않으면 점수가 낮아지게 된다. 마지막으로, 스팀 분사 및 걸레질 절차에 대한 걸린 시간을 같이 측정하였다.

스팀 건이 설정된 영역 내에 있는 자동차 모형의 sampling point를 향하게 되면, 스팀 건의 거리(L)와 방향(θ)에 따라 인터섹션 지점을 계산한다. 본 연구의 훈련 콘텐츠에서는 그림 16과 같이 스팀이 퍼지는 거리와 방향을 설정할 수 있도록 하였다. 이를 기반으로 스팀 분사는 자동차 모형의 sampling point와 어느 정도 인터랙션이 있는지로 평가되는데, 버튼을 누르고 적정 거리(실제 스팀 세차와 마찬가지로 20~35cm 사이로 설정) 이내에 있을 때만 점수에 포함된다. 예로 스팀 건과 인터섹션 지점 거리가 너무 멀리 있는 경우(35cm 이상) 스팀을 분사해도 자동차 표면에 묻지 않게 하였으며, 너무 멀리 있다는 음성 안내를 주었다. 스팀 건이 자동차와 너무 가까이 있는 경우(20cm 이내)에는 너무 가까이 있다는 안내와 함께 자동차와의 거리 부분 점수를 감점한다. 또한, 사용자가 자신의 몸을 향해 스팀을 분사하면, 경고 음성과 함께 사용자 안전 점수가 낮아지게 된다. 그림 17은 스팀 분사 거리 및 방향에 따른 평가 예를 나타낸다.

Fig. 16.

Setting up distance(L) and direction(θ) of steam spray

Fig. 17.

Evaluation of steam spray: distance(top) and direction(bottom)

걸레질 훈련에서는 사용자가 걸레를 손에 끼고 자동차 영역에서 차를 닦으면, 걸레 위치가 자동차 모델에서 가깝고 압력 신호가 들어오는 경우에만 오염 물질이 닦인다. 걸레질의 경우에는 걸레의 위치가 실제 자동차 모형과 정해진 거리 안에 들어오면서 일정 압력 이상으로 닦을 때만 점수가 부여되며, 너무 낮은 힘으로 닦거나, 너무 세게 닦는 경우 음성으로 경고한다. 압력 데이터의 경우에는 사용자의 손 크기가 다를 뿐 아니라, 걸레질하면서 모든 압력 센서를 누르는 것이 어려우므로 13개 중 가장 높은 압력 값을 기준으로 계산하였다. 그림 18은 자동차 모형 표면에 스팀 분사 및 걸레질 후 sampling point의 변화를 보여준다.

Fig. 18.

Change of sampling points(bottom) after steam spray and wipe(top)

스팀 건 분사 작업이 끝난 후에는 자동차의 어느 부분에 스팀 분사가 부족했는지 알려준다. 부족한 부분은 작업 영역을 7×5분할을 하고, 각 영역의 평균 점수가 낮은 순으로 선정하여 그림 19와 같이 화살표로 보여준다. 걸레질에서도 어느 부분이 잘 닦이지 않았는지를 화살표로 확인할 수 있도록 하여 걸레질 훈련이 가능하도록 하였다. 모든 훈련 절차가 종료되면, 그림 20과 같이 최종 점수와 수행한 시간을 통해 훈련을 얼마나 잘했는지 확인할 수 있도록 하였다. 또한, 사용자별 데이터 저장을 통해 얼마나 기량(skill)이 향상되고 있는지 확인할 수 있다.

Fig. 19.

Indication of spraying(top) or wiping(bottom) area

Fig. 20.

Evaluation of training scores and time

5-2 사용자 테스트

본 연구에서 제작한 직업 훈련 콘텐츠의 활용도 및 효과를 검증하기 위해 12명의 참가자(대학교 공대생)를 대상으로 작업 숙련도 향상을 측정하였다. 각 참가자는 그림 15와 같이 가상 환경에서 훈련 콘텐츠의 안내를 받으며 스팀 세차 훈련을 4주 동안 주 2~3회 진행하였고, 획득한 4개 항목의 평균 훈련 점수(steam, distance, wipe, safety) 및 시간(time)을 기록하였다.

그림 21과 같이 참가자들의 작업 숙련도는 평가하는 동안 계속 향상되었음을 알 수 있었다. 특히, 스팀 분사(steam)와 사용자 안전(safety)에서 상대적으로 높은 점수를 기록하였는데, 이는 콘텐츠의 경고 방송을 참가자들이 잘 인식하고, 따른 것으로 분석된다. 참가자들은 스팀 분사보다 걸레질(wipe)을 더 어려워했고, 스팀 분사의 거리(distance)를 적절히 유지하는 걸 제일 어려워하였다. 걸레질의 경우 상대적으로 더 많은 센서를 부착하여 실제와 같이 정교한 작업을 만족해야 했고, 분사 거리는 실제 환경과 비슷하게 3차원 공간에서 적절하게 유지하기 위해 참가자마다 최적의 자세를 유지하는 훈련을 요구하였다. 마지막으로 작업 시간의 경우 첫 번째 주에서만 4~5분대로 측정되었고, 그 이후부터는 계속 2~3분대로 단축되었다.

Fig. 21.

User test result


Ⅵ. 결 론

가상훈련의 효과 및 효율을 높이기 위해 가상 환경과 직관적인 상호작용을 할 필요가 있다. 본 연구에서는 가상 환경을 기반한 훈련에서 실감 인터랙션 향상을 위해 실제 객체를 활용한 가상훈련용 시스템을 개발하였다. 제안한 시스템은 가상에서의 환경을 실제에서의 환경과 일치시켜 사용자 훈련 시 몰입감을 높이기 위해 다중 센서를 활용하여 실제 훈련 도구를 추적하고, 가상공간과 사용자의 실제 공간을 매칭시켜 가시화하였으며, 실제 객체와 가상 객체를 매핑하여 실제와 같은 물리적 터치감 및 이를 활용한 훈련 평가 방법을 제안하였다.

본 연구에서는 사용자 테스트를 통해 가상훈련의 효과가 향상되는 결과를 얻었으며, 실감 인터랙션에 대한 긍정적인 효과를 얻었다. 특히, 센서가 부착된 분사기 및 걸레질에서 실제 접촉 및 누르는 힘에 대한 안내로 인해 어느 정도의 힘을 가해야 하는지 알수 있어 기존 컨트롤러를 사용한 단순 VR 체험보다 더 효과적인 훈련을 경험할 수 있음을 관찰하였다.

본 연구의 훈련 시스템에서는 실제 객체(자동차 프레임)를 사용하기 때문에 가상훈련 환경임에도 다양한 형태의 가상 모델을 사용하기 위해선 실체 모델의 형체를 요구한다. 실제 자동차 대신 촉감이 비슷한 벽면 형태의 객체를 제작하면, 훈련 환경을 구성하는 비용을 줄일 수 있고, 다양한 훈련 모델을 제공할 것으로 예상한다.

또한, 현재는 가상 환경 내 한 명의 사용자만 훈련이 가능하다. 앞으로는 협업 훈련을 위해 2인 이상이 같은 공간 안에 있을 때 각 사용자의 움직임을 분석하고 상호작용을 할 수 있는 연구를 진행할 계획이다. 특히, 훈련 평가를 확장하여 스팀을 분사하거나, 걸레질할 때 도구의 시작 위치, 이동 방향까지 분석하여 사용자의 행동을 더 정교하게 예측할 계획이다.

Acknowledgments

본 연구는 한국전자통신연구원 주요사업의 일환(21ZH1230, 초실감 입체공간 미디어·콘텐츠 원천기술 연구) 및 정부(과학기술정보통신부)의 재원으로 한국연구재단의 지원을 받아 수행된 연구임 (No. 2021R1F1A1046513).

References

  • T. Gutiérrez, J. Rodríguez, Y. Vélaz, S. Casado, A. Suescun, and E. J. Sánchez, "IMA-VR: A multimodal virtual training system for skills transfer in Industrial Maintenance and Assembly tasks," in Proceeding of the 19th International Symposium in Robot and Human Interactive Communication, Viareggio, pp. 428-433, 2010. [https://doi.org/10.1109/ROMAN.2010.5598643]
  • A. Langley, G. Lawson, S. Hermawati, M. D'Cruz, J. Apold, F. Arlt, and K. Mura, “Establishing the Usability of a Virtual Training System for Assembly Operations within the Automotive Industry,” Human Factors and Ergonomics in Manufacturing & Service Industries, Vol. 26, No. 6, pp. 667-679, November/December 2016. [https://doi.org/10.1002/hfm.20406]
  • L Simeone, E. Velloso, and H. Gellersen, “Substitutional Reality: Using the Physical Environment to Design Virtual Reality Experiences,” in Proceeding of the 33rd Annual ACM Conference on Human Factors in Computing Systems, Seoul, pp. 3307-3316, 2015. [https://doi.org/10.1145/2702123.2702389]
  • M. Lee. N. Norouzi, G. Bruder, G. Bruder, P. J. Wisniewski, and G. F. Welch, “The Physical-Virtual Table: Exploring the Effects of a Virtual Human’s Physical Influence on Social Interaction,” in Proceeding of the 24th ACM Symposium on Virtual Reality Software and Technology, Tokyo, pp. 1-11, 2018. [https://doi.org/10.1145/3281505.3281533]
  • Z. He, F. Zhu, K. Perlin, and X. Ma, “Manifest the Invisible: Design for Situational Awareness of Physical Environments in Virtual Reality,” Arxiv Preprint ArXiv:1809.05837, , 2018.
  • F. Loch, U. Ziegler, and B. Vogel-Heuser, “Integrating Haptic Interaction into a Virtual Training System for Manual Procedures in Industrial Environments,” IFAC-PapersOnLine, Vol. 51, No. 11, pp. 60-65, September 2018. [https://doi.org/10.1016/j.ifacol.2018.08.235]
  • P. Heidicker, E. Langbehn, and F. Steinicke, "Influence of avatar appearance on presence in social VR," in Proceeding of 2017 IEEE Symposium on 3D User Interfaces, Los Angeles:CA, pp. 233-234, 2017. [https://doi.org/10.1109/3DUI.2017.7893357]
  • M. Gonzalez-Franco and T. C. Peck, “Avatar Embodiment. Towards a Standardized Questionnaire,” Frontiers in Robotics and AI, Vol. 5, Art. 74, June 2018. [https://doi.org/10.3389/frobt.2018.00074]
  • Oculus Quest 2. Available: https://www.oculus.com/, .
  • Leap Motion. Available: https://www.ultraleap.com/, .
  • VIVE. Available: https://www.vive.com/, .
  • VRgluv. Available: https://vrgluv.com/, .
  • Haptic Gloves for Enterprise Virtual Reality Training. Available: https://www.bebopsensors.com/, .
  • Teslasuit Glove. Available: https://teslasuit.io/, .
  • Azure Kinect DK. Available: https://azure.microsoft.com/, .
  • S. C. Michalski, C. Ellison, A. Szpak, and T. Loetscher, “Vocational training in virtual environments for people with neurodevelopmental disorders: A systematic review,” Arxiv Preprint ArXiv:10.31234/osf.io/f89va, 2020. [https://doi.org/10.31234/osf.io/f89va]
  • P. J. Besl and N. D. McKay, “A method for registration of 3-D shapes,” Transactions on Pattern Analysis and Machine Intelligence, Vol. 14, No. 2, pp. 239-256, February 1992. [https://doi.org/10.1109/34.121791]
  • Q. Lin, R. Yang, Z. Zhang, K. Cai, Z. Wang, M. Huang, J. Huang, Y. Zhan, and J. Zhuang, “Robust Stereo-Match Algorithm for Infrared Markers in Image-Guided Optical Tracking System,” Access, Vol. 6, pp. 52421-52433, October 2018. [https://doi.org/10.1109/ACCESS.2018.2869433]

저자소개

백성민(Seong-Min Baek)

2001년 : 포항공과대학교 대학원 (공학석사)

2001년~현 재: 한국전자통신연구원 책임연구원

※관심분야:자세 추정, 동작 인식, 사용자 인터랙션 등

김예진(Ye-Jin Kim)

2003 : 한국과학기술원 대학원 (전산학석사)

2013 : University of California, Davis (전산학박사)

2003년~2016년: 한국전자통신연구원 선임연구원

2016년~현 재: 홍익대학교 게임학부 조교수

※관심분야:컴퓨터 그래픽스, 동작 생성, 게임 엔진 등

Fig. 1.

Fig. 1.
Overview of VR-based training system

Fig. 2.

Fig. 2.
Overall process of VR-based training system: Visualization of input data from multiple sensors in virtual environment

Fig. 3.

Fig. 3.
3D depth data from two Kinects(left), tracking of positions of a user and a capture tool in a capture volume after background and noise removal(right) (red: left Kinect, green: right Kinect, cyan: user position, white: capture tool position)

Fig. 4.

Fig. 4.
Calibration results: aligned depth data from two Kinect inputs(left), color added result(right)

Fig. 5.

Fig. 5.
Measurement of error between two markers: P1s and P2c are maker positions and transformed maker positions by calibration, respectively, after slope correction of Kinect

Fig. 6.

Fig. 6.
Car model(top) and attached IR markers(bottom)

Fig. 7.

Fig. 7.
Extracted sample points(top) and filling points on windows area(bottom)

Fig. 8.

Fig. 8.
Process of matching sample points between physical and virtual objects

Fig. 9.

Fig. 9.
Before(left) and after(right) matching sample points(red)

Fig. 10.

Fig. 10.
Visualization of a user model in virtual environment using sample points

Fig. 11.

Fig. 11.
Estimation of 3D position based on IR and depth images

Fig. 12.

Fig. 12.
Classification of markers

Fig. 13.

Fig. 13.
Confidence level of marker position(green: 2, yellow: 1)

Fig. 14.

Fig. 14.
Training tools: pressure sensors of mob, button of steam gun, and data transmitter

Fig. 15.

Fig. 15.
Virtual steam wash(top) and training content(bottom)

Fig. 16.

Fig. 16.
Setting up distance(L) and direction(θ) of steam spray

Fig. 17.

Fig. 17.
Evaluation of steam spray: distance(top) and direction(bottom)

Fig. 18.

Fig. 18.
Change of sampling points(bottom) after steam spray and wipe(top)

Fig. 19.

Fig. 19.
Indication of spraying(top) or wiping(bottom) area

Fig. 20.

Fig. 20.
Evaluation of training scores and time

Fig. 21.

Fig. 21.
User test result