DOI QR코드

DOI QR Code

Adaptive Concurrency Control Approach on Shared Object Manipulation in Mixed Reality

  • Received : 2021.10.28
  • Accepted : 2021.11.15
  • Published : 2021.11.30

Abstract

In this paper, we propose an adaptive concurrency control scheme to reduce conflicts and working time in the cooperative work in mixed reality. To this ends, we first classified the goals, tasks and ownerships of the cooperative work. Then, the classified relationships are mapped according to their temporal and hierarchical relationships of shared object manipulation in the cooperative work. The proposed system provides adaptive concurrency controls of the shared object according to temporal orders of the sub-goals. With the proposed scheme, a participant is enable to move and rotate a shared object although another already has an ownership of the shared object in a specific order of the sub-goal. Thus, the proposed system provides adaptive and realistic cooperative working environment. We conducted a user study of the proposed scheme. The proposed system could reduce conflicts and working times comparing to conventional approaches.

본 논문에서는 혼합현실에서 다수의 사용자들이 공유객체를 조작하는 과정에서 충돌을 줄이고 충돌로 인한 작업 시간을 줄일 수 있는 적응형 동시성 제어 방법을 제안한다. 혼합현실에서 사용되는 공동 작업에 대해서 세부적인 골들과 이들에 대응되는 태스크들로 분류한 뒤 각 태스크에 알맞은 동시성 제어 방법을 매핑 하여 골-태스크-소유권에 대한 모델링을 수행하고 이에 대한 동시성 제어를 수행한다. 본 논문에서 제안된 시스템은 공동 작업이 진행되어 감에 따라서 같은 태스크이더라도 다른 동시성 제어 방법을 적용하여 사용자들이 동시에 공유 객체들 들고 같이 이동하고 회전을 하는 공동 작업 과정에서 사용자들의 동시적인 작업에 대한 충돌을 제어하여 사용자들에게 현실의 산업 현장과 유사한 혼합협실 공동작업 환경을 제공해 해준다. 본 논문에서 제안한 시스템을 혼합협실 환경에서 실제 동작처럼 작업을 지원하기 위해서 사용자는 MS 홀로렌즈와 마이오 센서를 착용하고 태스크 작업들을 수행한다. 실험 결과 공동 작업 과정에서 충돌 발생과 공동 작업의 완료 시간을 기존의 동시성 제어 방법보다 효과적으로 줄일 수 있었다.

Keywords

I. Introduction

혼합현실(MR: Mixed Reality)은 가상현실(VR: Virtual Augmented Reality) 환경 및 증강현실(AR : Augmented Reality) 환경을 사용자에게 제공하는 서비스의 목적에 따라 유동적으로 변경될 수 있는 환경이다. 최근 혼합현실 환경을 제공할 수 있는 다양한 HMD(Head Mounted Display)들의 개발로 인하여 게임, 엔터테인먼트 및 산업 현장에서도 널리 사용되고 있다[1, 2]. 사용자는 HMD 와 연동되는 인식 디바이스를 통하여 주로 객체의 선택, 해제, 3차원 위치 변경, 회전, 크기변환, 색 변경 및 시뮬레이션 등의 여러 작업들을 수행할 수 있다. 한편, 최근 코로나19 사태로 인한 네트워크 기반의 비대면 공동작업에 대한 수요 증가에 따라, 혼합 현실 환경에서도 공동 작업을 제공하기 위한 연구들이 이루어져왔다[3]. 혼합현실에서의 공동 작업은 사용자들이 같은 공간에서 공동작업을 수행하거나 원격에 떨어져 있는 사용자들의 모습을 같은 공간에 증강 시키고 공유 객체를 증강하여 시공간을 초월한 공동 작업을 제공할 수 있다[4].

하지만 사용자들이 공유 객체에 대해 조작을 하는 과정에서 사용자들이 같은 작업을 중복하는 경우 공유 객체의 결과가 갑자기 달라지는 충돌(conflict) 현상이 발생할 수 있다. 이러한 충돌 현상이 계속 발생하는 경우 공동 작업에 참여하는 사용자들의 작업의 일관성이 문제가 생겨서 다시 작업을 수행하기 때문에 작업 시간이 길어지고, 참여하는 사용자들의 만족도가 떨어지는 현상이 발생한다[5, 6]. 공동 작업에서 이러한 문제를 해결하기 위해서 사용하는 방법으로 먼저 공유 객체에 대한 작업을 수행하는 사용자에게 소유권을 제공하여 해당 소유자의 작업이 완료될 때까지 다른 사용자의 접근을 막는 형태의 동시성 제어 방법을 사용한다[7, 8, 9, 10]. 해당 방법은 공유 객체의 충돌 현상을 방지할 수 있다는 장점이 있으나 공동 작업에 참여하는 사용자들은 해당 사용자의 작업이 끝날 때까지 공유 객체에 대한 접근 및 작업 수행이 제한된다. 이러한 공동 작업의 문제를 해결하기 위해서 공유 객체에 대한 작업들을 세분화하여 객체의 이동 등의 작업은 소유자만 작업을 할 수 있고, 색을 칠하는 등의 작업은 같이 할 수 있는 태스크 기반의 병행성 제어 방법 등이 제안 되었다[11]. 하지만 공유 객체에 대한 태스크들에 대한 소유권이 고정되어 있어서 같은 공유 객체라도 목적에 따라서 달라질 때에 유연하게 적용하지 못한다는 단점이 있다.

본 논문에서는 혼합현실 환경에서 사용자들이 공유 객체에 대한 작업을 수행하는 도중에 해당 목적을 이루기 위해서 세분화된 태스크들이 동적으로 소유권에 대한 관리가 변화되어 관리를 할 수 있는 혼합 현실 환경에서 공유객체에 대한 적응형 동시성 제어 방법을 제안한다. 제안한 방법은 공유 객체의 조작을 위한 목표(Goal)-태스크 (Task)-오너쉽(Ownership)으로 구성한다.

특정 동작을 달성하기 위한 액션 부분에 대해서는 센서 기반 손 및 상체 동작 인식 방법을 적용하였으며 태스크에 대해서는 초기에 소유권 규칙을 설정한다. 이후 사용자들이 공동 작업을 수행하는 도중, 특정 목표를 달성하기 위한 태스크에 대한 소유권 규칙을 동적으로 협의하여 변경할 수 있도록 하여 같은 작업이라도 소유권 관리 방법의 변화가 이루어지도록 한다. 본 논문에서 제안한 시스템의 구축을 위하여 MS Hololens [13]와 마이오 센서[14, 15] 를 착용한 사용자들이 혼합현실 공동 작업을 구현하였다.

II. Related Works

1. Interactions in Mixed Reality Environment

혼합현실 환경은 HMD를 통하여 가상의 객체를 사용자에게 시각화하여 보여주고 사용자와 상호작용을 제공해준다. 또한 혼합현실 환경은 제공되는 애플리케이션의 목적에 따라서 사용자에게 가상현실 환경 혹은 증강현실 환경의 솔루션을 제공한다[1, 2]. 혼합 현실 환경을 활용한 사례로는 교육, 사무실 환경, 산업 현장 및 의료 시뮬레이션 교육 등 다양한 분야에서 적용할 수 있다[3]. 이러한 혼합현실 환경들에서 중요한 점 중 하나는 사용자가 혼합현실에서 표현되는 3차원 가상 객체에 대한 상호작용을 쉽게 편리하게 제공해야 한다는 것이다. 즉, 사용자가 혼합현실에서의 특정 작업을 수행할 때 쉽고 편리한 상호작용을 제공한다면 사용자들이 높은 만족도와 재미를 느끼며 혼합현실 환경에 몰입을 할 수 있고, 이는 결국 작업 생산성의 향상으로 이루어질 수 있다[4]. 기존의 혼합현실 에서의 객체에 대한 상호작용 방법들은 사용자가 어떠한 장치를 사용하는지에 따라서 알맞게 연구가 이루어졌다.

혼합 현실 환경에서 사용자가 객체에 대한 조작을 수행하기 위해서는 다양한 사용자 인터페이스 및 인터랙션들을 사용할 수 있다. 첫 번째 방법은 사용자가 HMD에 있는 센서를 사용하여 손가락의 터치를 통해서 조작을 할 수 있는 방법으로 매우 간단하게 사용될 수 있지만, 사용자의 시야에 보이는 2D UI를 조작하는 기능 외에 혼합현실 환경에서 중요한 3차원 객체를 조작은 다소 어려움을 가지고 있다[13]. 두 번째로는 HMD에서 제공하는 컨트롤러와 같은 전용 인터페이스를 가지고 3차원 객체를 조작하는 방법으로 높은 정확도를 제공하고 가장 많이 사용되는 방법이다[14, 15, 16]. 하지만, 혼합현실 환경을 구성하는 장비 중 VR 장비들에서만 주로 특화되어 있다는 점과 사용자가 양손에 컨트롤러를 계속 잡고 조작을 하는 부분에서 피로감을 준다는 점 및 손동작의 모양이 실제 객체를 사용하는 모양과 다른 괴리감을 가지고 있다. 세 번째로는 손 및 상체의 동작을 인식하여 사용자가 실제 객체를 잡고 조작하는 방법이다. 이 방법은 사용자가 가상 객체를 잡고 조작을 위해서 실제 손으로 객체를 잡는 것과 같은 동작으로 객체를 잡고 나서 조작을 해서 다른 상호작용 방법들에 비해서 따로 사용자들이 학습하지 않을 수 있다[17].

혼합현실 환경에서 사용자들은 이러한 상호작용 방법들을 사용하여 3D 객체에 대한 상호작용을 수행할 수 있다. 객체에 대한 상호작용은 구체적으로 객체의 3차원 위치의 이동, 회전, 크기 변환 기능, 객체의 외관 변경, 객체들에 대한 시뮬레이션 및 객체들의 결합 및 분해를 통한 태스크들로 분류될 수 있다[11, 12]. [표1] 은 혼합현실 환경에서 객체에 조작을 담당하는 상호작용 방법들에 대한 설명이다.

Table 1. Possible Collaborative Tasks of a Shared Object

CPTSCQ_2021_v26n11_75_t0001.png 이미지

2. Concurrency Control on Shared Object

혼합현실 환경에서 두 명 이상의 사용자들이 공동 작업을 수행할 때 3D 객체는 동기화가 이루어져야 한다. 즉 한 사용자가 3D 객체에 대해서 표 1에 언급된 상호작용 중 하나를 실행한다면 이 실행 과정 및 결과는 공동 작업에 참여한 다른 사용자들에게 실시간으로 그 과정이 시각화되고 결과가 모든 사용자에게 같이 적용되어야 한다. 이렇게 동기화를 할 수 있는 객체를 공유 객체라고 정의된다.

혼합현실 환경에서 공유 객체에 대한 상호작용이 다수의 사용자에 의해서 동시다발적으로 이루어진다면 한 사용자의 상호작용이 끝나기 전에 다른 사용자들의 상호작용에 따라서 객체의 결과가 달라져서 작업하던 사용자들의 태스크들의 일관성이 깨지는 충돌이 발생한다. 이러한 문제를 해결하기 위한 동시성 제어 방법들은 크게 게 가지로 분류된다. 첫째, 낙관적(Optimistic) 방법은 사용자들이 한 공유 객체에 대한 상호작용들을 모두 허용한다. 만약에 사용자들 간에 충돌이 발생한다면, 가장 먼저 작업한 사용자의 작업만 인정하고 다른 사용자들의 작업을 취소하는 방법이다[7]. 소유권이 없는 사용자라도 공유 객체에 대한 접근을 허용한다는 특징이 있지만 결국 소유권이 없는 사용자들의 작업은 취소가 되기 때문에 소유권이 없는 사용자의 처지에서는 매우 놀라는 현상이 발생할 수 있다. 두 번째 방법은 비관적(Pessimistic) 동시성 제어 방법이다. 이 방법은 공유 객체에 특정 상호작용을 위해서는 먼저 객체에 대한 소유권을 얻어야 한다. 시스템에서는 소유권을 가진 사용자만이 공유객체에 대한 상호작용을 수행할 수 있다[8, 9]. 이 방법의 경우 충돌 현상에 대한 관리가 명확하고 간단하다는 장점이 있지만, 소유권을 가지지 못한 사용자들은 공유 객체의 동기화 작업을 보는 것 외에는 다른 작업에 참여하기 어렵다.

세 번째는 예측(Predictive) 기반 방법으로 혼합현실에 참여하는 사용자들의 행동을 분석하여 소유권을 미리 할당하는 방법이다. PaRADAE 와 같은 시스템에서는 공동작업에 참여하는 사용자의 위치, 이동 방향, 속도 등을 고려하여 가장 먼저 공유 객체를 소유할 수 있는 사용자에게 권한을 주는 방법으로 제안되었다[10]. 제안된 방법은 사용자의 행동을 예측하여 소유권을 미리 제공한다는 장점이 있지만 결국 권한을 가진 사용자들의 작업은 비관적 방식으로 동작을 한다는 단점이 있다.

한편, 공동 작업 환경이 복잡해지고 다양해지면서 사용자들이 공유 객체 자체에 대한 소유권을 가지는 것이 아니라 소유권을 잘게 쪼개서 각 상호작용에 따라서 소유권을 제공하는 방법들이 제안되었다. Lee et al. 의 경우에는 객체의 소유권자가 객체를 들고 있을 때, 다른 사용자가 해당 객체의 색을 칠해 주는 등의 소유권자가 아니더라도 다른 상호작용에 접근하여 수행할 방법을 제안하였다[11]. 이러한 방법들은 충돌이 발생 부분도 줄이면서 여러 사용자의 작업이 제한되는 부분들을 해소했다고 볼 수 있다.

한편, 혼합 현실 환경에서는 매우 복잡한 산업계 현장의 공동 작업은 매우 복잡하다. 예를 들어 혼합 현실 환경에서 다수의 사용자는 사무실을 구축하는 공동 작업을 수행할 수 있으며[3], 에어컨과 같은 설비들을 같이 설치하고 시뮬레이션을 수행할 수 있다[18]. 따라서 같은 객체의 상호작용도 상황에 따라서 소유권의 권한이나 동시성 제어 방법의 조정이 필요하다.

III. System

1. Goal-Task-Ownership relationship model

그림 1은 노먼의 7가지 상호작용을 작업하는 사용자의 행위 모형을 7단계로 정리한 것이다[19]. 먼저 사용자는 시스템을 사용하기 위해 목표를 설정하고 이 목표에 대한 행동을 계획한다. 행동은 시스템의 인터페이스에서 어떻게 수행될지 기록되는 것이며 이것은 사용자가 실제 행동으로 옮김으로써 실행된다. 사용자의 실제 행동이 이루어진 뒤 시스템에서는 사용자의 행동을 해석하는 과정과 상태업데이트를 통해 사용자의 목표를 이루게 된다.

CPTSCQ_2021_v26n11_75_f0001.png 이미지

Fig. 1. Donald Norman's 7 stage of action model

혼합 현실 환경에서 공동 작업을 할 때는 하나의 목표를 가지더라도 사용자들이 가지는 상호작용 방법에 대한 동시성 제어 방법이 다양하게 발생할 수 있다. 예를 들어 에어컨을 두 명의 사용자들이 옮기는 공동 작업을 수행할 때는 공유 객체의 이동에 대한 소유를 2명 이상의 사용자가 작동할 수 있도록 처리할 수 있다. 이후 이동이 이루어진 다음 한 명의 사용자가 들고 있는 상황에서 에어컨에 추가적인 나사를 통해서 다른 부품을 고정하는 과정에서는 객체의 이동에 관한 권한은 들고 있는 사용자만 가지게 되고, 객체를 조립하는 다른 사용자의 권한을 제공할 수 있다.

혼합현실 환경에서 공유 객체에 대한 사용자들의 공동작업을 제공하기 위해서 사용자의 행위 모델의 특징을 본 논문에 적용하여 특정 목표를 달성하기 위한 사용자들의 의도를 파악하고 이에 따라 사용자들의 행동들에 대해서 소유권을 나누어서 처리 혹은 소유권을 공동으로 소유할 수 있도록 하는 GTO 모델을 정의한다. 먼저 모델링을 위한 용어를 정의하면 응용 프로그램에서 사용자가 성취하고자 하는 목표와 이 목표를 수행하기 위한 세부 목표가 존재하는데 이를 각각 Goal과 Sub Goal로 분류하고, 이 세부 목표를 수행하기 위한 사용자의 인지과정에서 나타나는 행동을 Task라고 정의한다. 또한 Task에 대한 소유권들을 설정하는 부분을 Ownership으로 정의하였다.

다음의 그림 2는 에어컨 설비를 설치하는 과정을 도식화한 것이다. 에어컨을 설치하기 위한 과정으로는 먼저 사용자들에 에어컨을 들고 같이 지정된 위치로 이동하고, 이후 에어컨을 설치하는 과정을 거친 후에 에어컨 작동을 테스트하는 형태로 이루어진다. 이러한 과정을 사용자의 Goal, Sub-goal, Task, Ownership의 관계성을 모델링 할 수 있다.

CPTSCQ_2021_v26n11_75_f0002.png 이미지Fig. 2. Goal-Task-Ownership modelling

그림 3은 각각 에어컨을 이동, 설치, 테스트를 하는 3단계의 Sub-Goal에 해당하는 Task들과 알맞은 Ownership 들의 변화를 설명한 그림이다. 그림 3.(A)의 경우는 먼저 에어컨을 이동하는 과정으로 에어컨을 잡은 모든 사용자가 에어컨의 이동에 참여할 수 있으며, 이때는 소유권에 따른 이동의 제한을 하지 않는다. 단 사용자들의 이동입력에 따라 현실 세계와 유사한 에어컨의 이동을 위한 알고리즘이 필요하다. 이후 사용자들이 에어컨 이동을 완료한 후에는 에어컨을 조립하는 과정이 필요하다. 그림 3.(B)와 같이 이때는 에어컨의 미세 이동을 담당하는 사람과 에어컨에 부속 장치들을 조립한다. 이때는 에어컨의 미세 이동을 담당하는 사용자의 소유권자만 독점적으로 수행하게 하고, 에어컨의 소유자가 허락할 때 부속품을 결합하는 과정을 수행한다. 그림 3.(C)는 조립 완료 후, 에어컨에 대해서 테스트를 하는 과정으로써 에어컨에 대해 테스트를 하면서 이동 등의 조정을 수행한다. 이 경우에는 소유권을 가진 사용자의 허락으로 해당 부분을 수행할 수 있다.

CPTSCQ_2021_v26n11_75_f0003.png 이미지Fig. 3. Adaption of ownership and tasks according to the sub-goals (A) Moving to Location sub-goal (B) Assembling parts (C) Testing

2. Adaptive Concurrency Control Scheme in Mixed Reality

본 논문에서는 혼합현실 환경에서 이루어지는 공동 작업을 Goal, Sub-Goal, Task 들로 분류하고, 해당 Task 에 적절한 Ownership 관리가 Task 및 Sub-Goal의 진행에 따라서 적응적으로 변환 시켜 줄 수 있는 공동 작업 플랫폼을 제안한다.

제안한 플랫폼은 다음의 그림 4와 같이 MS Hololens 를 시각화하는 클라이언트와 공동 작업을 담당하는 서버로 이루어진다. 사용자들이 혼합현실 환경에서 공동 작업을 수행하는 경우 사용자들의 동작과 움직임 정보들은 UDP 프로토콜을 통하여 서버로 전송되고 모든 계산을 수행한 후에 다시 결과에 대해서 클라이언트로 전송하는 씬클라이언트구조를 따른다.

CPTSCQ_2021_v26n11_75_f0004.png 이미지Fig. 4. Proposed system scheme

서버에서는 Task Analyzer를 통하여 클라이언트에서 전송된 UDP 정보들을 분석하여 사용자들이 수행하는 태스크 정보를 분석한다. 이후 분석된 사용자의 태스크 정보는 현재 작업을 수행하는 공유 객체들을 관리하고 현재 소유권을 가진 사용자를 관리하는 Object Manager를 통해서 현재 공유 객체를 선택하고 이 공유 객체의 소유권자를 확인하여 이에 사용자가 입력한 태스크를 Task Manager 를 통해서 진행한다. 이때 현재 공동 작업에 참여하는 사용자의 목표 및 이를 달성하기 위한 Sub-Goals에 대한 진행 상황 정보들을 Goal Manager를 통해서 파악하고, Ownership Manager를 통하여 현재 진행하고 있는 Sub-Goal에서 해당 태스크에 대해 설정된 소유권 정책에 따라 이에 알맞게 공동 작업의 병행성 제어를 실행하고 해당 결과를 사용자에게 알려준다. 이후 사용자들은 동일한 태스크라도 진행 중인 Sub-Goal에 맞게 설정된 소유권 정책에 따라서 소유권자가 아니더라도 공유 객체에 대한 Task를 허용해 주거나(Allow), 소유권자의 동의를 통해서 접근할 수 있거나(Allow with permission) 혹은 접근할 수 없다(Lock).

본 논문에서 제안한 공유 객체의 동시성 제어를 위해서 사용자들은 상체동작 인식을 통한 손을 사용한 객체 직접 조작 방법을 사용한다. 이를 위해서 본 논문에서 제안한 시스템은 사용자가 MS 홀로렌즈를 착용하고 근전도 센서인 마이오 디바이스를 양팔에 착용하고 상호작용을 할 수 있도록 시스템을 구성하였다. MS Hololens의 경우에는 사용자로부터 음성입력을 받거나 사용자가 혼합 현실 환경에서 움직이는 경우 3차원 위치를 추적하고, MS Hololens를 착용한 사용자 머리의 회전값 정보를 추출한다. 한편, 사용자는 혼합현실 환경에서 이동하면서 3차원 공유 객체에 대한 다양한 태스크들을 수행할 수 있으며 이를 인식하기 위한 근전도 센서 및 IMU 센서가 결합한 마이오 장치를 사용한다. 사용자가 이 마이오 센서들을 부착하는 경우, 양팔의 움직임 사용자의 머리에서부터 양팔의 움직임을 각 관절의 움직임에 대응하여 실제 팔과 같이 조작을 할 수 있으며, 인식된 손을 통하여 공유 객체를 선택하고 조작할 수 있다. 다음의 그림은 사용자가 MS Hololens 와 마이오 센서를 착용한 상태에서 공유 객체인 3D 에어컨을 잡고 이동을 수행하는 모습이다.

CPTSCQ_2021_v26n11_75_f0005.png 이미지Fig. 5. Client in Mixed Reality (A) A user initializes with MS Hololens and two Myos (B) The proposed system tracks upper-body information and converts to the 3D position (C) An example of grasping an air conditioner

다른 태스크 조작을 위해서는 MS Hololens의 스피치 인식 기능을 사용하거나 레이캐스팅을 활용한 메뉴를 클릭하면 해당 객체의 현재 Goal 진행 상태 및 사용 가능한 다른 태스크들 정보를 볼 수 있고, 해당 태스크들을 음성 혹은 레이 캐스팅을 통한 선택을 통하여 다른 태스크들을 수행할 수 있다. 다음의 그림 6은 혼합현실 환경에서 2명의 사용자가 에어컨을 설치한 후에 테스트 시뮬레이션을 하는 과정이다.

CPTSCQ_2021_v26n11_75_f0006.png 이미지Fig. 6. Testing an air conditioner in different views of participants

두 명 이상의 사용자들이 공동 작업을 수행할 때는 해당 객체에 대해서 소유권을 판단한 후에 소유권자가 아닌 경우에는 현재 공동 작업의 Goal의 상태에 따라서 태스크별로 다음의 그림 7과 같이 세 가지의 동시성 제어를 수행해준다.

CPTSCQ_2021_v26n11_75_f0007.png 이미지Fig. 7. Overall process adaptive concurrency control

첫 번째로는 공유 객체를 잡고 움직이고, 회전하는 작업을 수행할 수 있다. 단 두 명 이상의 사용자가 공유 객체를 같이 잡은 상태에서 움직이거나 회전하는 경우에는 한 사용자의 움직임에 따라서 위치나 회전 정보가 변경이 되는 충돌 현상을 방지하기 위해서 다음의 수식과 같은 객체의 이동 및 회전에 대한 동시성 제어 알고리즘을 제공한다. 제공하는 알고리즘은 두 명의 사용자가 객체를 잡았을 때 사용자가 손을 잡은 순서대로 소유권자가 A, 비소유권자 B 라고 한다면 다음의 수식 (1)과 같이 중점인 C를 구한다. 이후 사용자들이 이동할 때는 수식(2)와 같이 사용자들의 움직임의 변위를 계산하여 C의 위치를 변경한다. 공유객체 회전의 동시성 제어를 위해서는 한 사람의 손의 회전 값으로 회전을 하게 되는 경우 회전 값의 충돌이 발생하기 때문에 두 명의 사용자들의 손의 위치에 따른 근사적인 방향 전환을 통한 회전을 제공할 수 있다. 본 논문에서는 이때, 소유권자 A의 방향이 주도권을 가지고 있다고 가정하였다. 따라서 공유 객체의 중점 C가 회전을 위한 방향 벡터인 수식(3)에 언급된 Direction의 계산은 수식(4)와같이 A에서 B를 뺀 벡터의 노멀 값을 계산하여 이 방향성을 가지도록 계산하였다. 수식(5)에 나온 최종적인 알고리즘을 통하여 공유 객체에 대해서 조작을 수행하는 사용자들은 공유 객체를 잡은 손들의 움직임을 통해서 공유 객체를 회전하거나 이동을 할 수 있다.

\(\begin{aligned} &A=\{x, y, z\}, B=\{x', y', y'\} \\ &C=\frac{A+B}{2} \end{aligned}\)       (1)

\(\overrightarrow{B A}=A-B=\left\{x-x', y-y', z-z^{\prime}\right\}\)       (2)

\(\overrightarrow{\text { Direction }}=\vec{n} \text { (단, }|n|=1 \text { ) }\)       (3)

\(\vec{n}=\frac{\overrightarrow{B A}}{|B A|}\)       (4)

\(=\frac{x-x^{\prime}, y-y^{\prime}, z-z^{\prime}}{\sqrt{(x+y+z)^{2}}}\)       (5)

두 번째로는 소유권자의 동의하에 공유 객체에 대한 시뮬레이션 등의 태스크를 수행할 수 있다. 본 논문에서는 소유권자의 동의를 받기 위해서 MS Hololens의 Speech 인식을 통해서 소유권자가 허용하거나, 해당 메뉴를 레이캐스팅을 클릭하는 경우 동의하도록 설정하였다. 세 번째로는 소유권자의 작업을 차단한다.

IV. Experiments

본 논문에서는 이러한 에어컨 공조 설비에 대한 공동 협업 콘텐츠를 개발하였다. 다음의 표 2는 실험 환경에 사용된 시스템에 대한 정보이다.

Table 2. System Environment

CPTSCQ_2021_v26n11_75_t0002.png 이미지본 논문에서 제안한 시스템의 성능 평가 실험을 위해서 HMD를 사용한 경험이 있는 사용자로 선발을 하였다. 이러한 이유는 HMD 의 사용경험이 적은 사용자들의 경우 기기 자체에 대한 사용자경험이 논문에 실험하고자하는 콘텐츠에 대한 사용자 경험을 저해할 가능성을 해결하기 위해서 선발하였다. 따라서 본 논문에서는 HMD 사용 경험이 있는 20~40살 사이의 30명의 사용자를 선별하였으며 20대가 23명, 30대가 7명으로 구성되었다. 남성은 17명, 여성은 13명이 선발되어 실험을 진행하였다. 선발된 이들에게는 20분 동안 본 논문에서 제안한 시스템에 대한 기본적인 교육 및 에어컨 공조 설비 과정에 대한 교육을 수행하였다. 이후 사용자들을 임의로 10명씩 A, B 및 C 그룹으로 나누었고, 나뉜 그룹에서 2명씩 임의로 매칭을 하여 공조 훈련 프로세스를 수행하도록 하였다.

본 논문에서는 사용자들을 대상으로 본 논문에서 제안한 방법을 포함한 세 가지 동시성 제어 방법에 대한 실험을 수행하였다. 첫 번째 실험방법 E1은 충돌을 허용하는 방법으로 소유자가 존재하지 않아서 동시성 제어를 하지 않는 경우이다. 두 번째 실험방법은 E2는 태스크기반의 동시성 제어 방법으로 공유 객체에 대한 소유권은 존재하며 태스크를 사용할 때 마다 소유권자의 허락을 받고 작업을 행하는 방법이다. 세 번째로 실험 방법 E3은 본 논문에서 제안한 GTO 기반의 적응형 동시성 제어 방법을 적용하였다. 각 그룹의 사용자들은 학습 효과를 피하기 위해서 다음의 표 3과 같은 순서로 실험을 수행하였다.

Table 3. Order of experiment

CPTSCQ_2021_v26n11_75_t0003.png 이미지본 논문에서 제안한 실험 방법 E3을 위해서는 GTO 에대한 관계성을 정의할 수 있어야한다. 이를 위하여 에어컨 공조 설비 구축 관련 문헌[17] 및 전문가들의 설문 조사를 바탕으로 에어컨 공조 설비 단계를 3단계로 분류하고, 그 상황에서 사용되는 태스크들 정의하고 여기에 알맞은 비소 유권자에 대한 동시성 제어 방법을 맵핑하였으며 이는 다음의 표4에 정의되어있다. 에어컨 공조 설비의 경우 크게 3단계로 구성이 이루어지는데 첫 번째로 Moving 목표단계에서는 에어컨을 설치하기로 한 위치까지 에어컨을 두 명의 사용자가 들고 옮기게 된다. 이때 사용자들은 에어컨 자체를 이동하거나 에어컨을 회전하는 공동 작업이 가능하다. 이때 사용자들은 실제 혼합 현실 환경에서 에어컨을 잡는 자세 및 에어컨을 이동하고 회전하는 부분들을 밀접하게 배울 수 있다. 여기서는 소유권이 없는 사용자도 참여하며 공동 작업 중 에어컨을 놓치거나 현실의 벽 공간에 부딪히는 등의 실수를 할 때에는 에어컨이 파손되는 시뮬레이션 및 시각화들에 대한 태스크들이 수행된다.

Table 4. Goal-Task-Ownership Mapping

CPTSCQ_2021_v26n11_75_t0004.png 이미지두 번째 Goal은 에어컨 설비에 대해서 부속품들을 결합하는 과정이다. 이 경우에 소유권을 가지고 있는 사용자가 주로 에어컨을 고정하는 일을 하며, 다른 사용자가 이 에어컨에 필터, 호스 등의 부속품들을 결합하는 일을 수행한다. 소유권이 없는 사용자들은 이러한 부품들을 결합하는 작업은 소유권자의 허락이 없어도 수행을 할 수 있으나 결합이 잘못되어 부품을 다시 분해하고 싶거나, 에어컨의 위치 및 방향이 맞지 않아서 해당 부분을 조정하고 싶은 경우에는 소유권자의 허락을 받는다면 공동 작업이 가능하다.

세 번째는 에어컨의 부품 결합이 완료되면 에어컨을 가동하고 점검을 하는 과정이며 이 단계에서는 소유권이 없는 사용자는 에어컨의 바람을 플레이하고 보는 시뮬레이션의 경우에는 소유권자의 허락 없이 접근할 수 있지만, 문제가 발생하면 부품을 해제하고 결합하는 등의 태스크들에 대해서는 소유권자의 허락이 있어야만 사용할 수 있다.

실험에 참여한 사용자들은 에어컨 이동, 설치, 테스트 과정들을 완료를 수행하였다. 단, 에어컨의 공동 이동이나 회전 과정에서는 본 논문에서 제안한 방법을 모든 실험 방법들에 공통적으로 적용을 하였다. 실험 과정에서 사용자들의 공동 작업들이 충돌이 생기는 횟수를 측정 하였으며 E2 와 E3은 소유권을 가지지 않은 사용자의 참여로 사용자가 매우 놀라는 현상이 발생하는 경우를 충돌로 계산을 하였다[10]. 이에 대한 실험 결과는 그림 8 과 같다.

CPTSCQ_2021_v26n11_75_f0008.png 이미지Fig. 8. Results of average conflicts during collaborative works in mixed reality

이 결과를 통해서 E1 방법을 사용하는 경우에 충돌의 발생 현상이 생긴다는 것을 알 수 있었다. 사용자에게 모든 태스크에 허락을 받아야하는 E2의 경우가 가장 충돌 횟수가 적었다. 이 경우에도 충돌이 발생한 경우에는 소유권자가 상황을 이해하지 못하고 해당 태스크를 허락 했다가 놀라는 경우들이 발생하였다. 본 논문에서 제안한 E3의 경우에도 Allow로 설정된 태스크들의 경우에 사용자들이 놀란 경우를 충돌이 발생하긴 하였지만 E2와 비교해서 큰 차이는 발생하지 않았다.

다음은 실험 참여자들의 평균 완료 시간을 측정하였으며 그 결과는 다음의 그림 9와 같다. 작업의 평균 완료 시간에 대한 측정 결과 E1의 경우 사용자들이 평균 756.5초로 가장 많은 시간이 걸리게 되었다. 충돌이 생겨서 작업의 정보들이 일관성이 깨지고 이를 다시 복구하기 위한 시간이 많이 걸렸기 때문에다. 두 번째로는 E2 경우에도 548.1 시간이 걸리게 되었는데 이 경우에는 모든 작업을 할 때마다 소유권이 없는 사용자가 소유권자에게 소유권을 요청하고 일일이 수락을 해줘야한다는 점에서 시간이다소 소요되었다. 세 번째로는 본 논문에서 제안한 E3 방법이 평균 367.8초로 가장 빠른 작업 완료를 보여주었다.

CPTSCQ_2021_v26n11_75_f0009.png 이미지Fig. 9. Results of working time during collaborative works in mixed reality

실험 후에 참여자들을 대상으로 본 논문에서 제안한 시스템에 대한 정성적인 평가를 위한 사용자 인터뷰를 수행하였다. 가장 불편 했던 동시성 제어 방법에 대한 질문을 한 결과 참여자들은 E1이 가장 불편하다고 이야기를 하였다. 공동 작업 중에 다른 사용자의 작업으로 일관성이 깨지는 것에 대한 불편하였다. 실험 전에 이 실험 방법에 대한 주의 점을 설명 하였음에도 불구하고 일부 실험 참여자들은 시스템의 오류로 생각을 하였다. 또한 일부 사용자들은 E2의 경우에 대해서도 불편한 점을 지적하였다. 공동작업 중에서 소유권이 있는 사용자의 경우에는 매번 비소 유권자의 태스크 요청에 대한 허락을 해줘야하는 불편을 호소하였으며 비소유권자는 매번 요청을 해야 하고, 허락되지 않으면 작업을 구경만 해야 한다는 점에서 불편함을 느꼈다. 사용자들은 본 논문에서 제안한 E3 방법에 대해서 대체로 Sub-Goal에 따라서 Task들의 동시성 제어 방법이 변하는 부분에 대해서 만족하고, 효율적이라는 평가를 하였다. 하지만 일부 사용자들은 에어컨 공조 설비가 익숙하지 않아서 Sub-Goal 이 변해서 Task의 동시성 제어 방법이 변한 부분을 인지하지 못하고 잘못 조작을 하는 상황이 발생하였으며 해당 부분에 대한 안내 UI 등의 개선의견을 제시하였다.

V. Conclusion

본 논문에서는 혼합현실 환경에서 상체 움직임을 통한 공동 작업에 골-태스크들의 적응형 동시성 제어 방법을 제안하였다. 제안한 시스템은 혼합현실 환경에서 발생하는 공동작업 과정을 세부적인 골들과 태스크들로 분류하고 각 상황에 알맞은 동시성 제어 방법을 적용한 플랫폼을 구축하였다. 혼합현실 환경에서 본 논문에서 제안된 동시성 제어 방법을 사용한 공동 작업을 구성 할 수 있도록 클라이언트에서는 사용자가 MS Hololens 와 마이오 디바이스를 양손에 착용하여 자신의 상체동작을 인식하여 현실에서의 가상 객체를 잡고 조작하는 동작을 인식할 수 있도록 하였다.

본 논문에서는 제안한 동시성 제어 방법의 검증을 위해서 에어컨 공조시설 콘텐츠를 개발하였으며 두 명의 사용자가 혼합현실 환경에서 가상으로 에어컨의 이동, 설치, 테스트 과정을 공동 작업으로 수행하도록 하였다. 본 논문에서 제안한 동시성 제어 방법을 충돌을 허용하는 방법 및 태스크 별로 소유권자의 허락을 받아야만 작업을 할 수 있는 방법과 비교하였다. 실험 결과 본 논문에서 제안한 적응형 동시성 제어 방법이 공동 작업 중에 발생하는 충돌을 줄이면서도 소유권이 없는 사용자들의 참여를 극대화하여 공동 작업에 걸리는 시간을 다른 방법들에 비해서 최소로 줄일 수 있었다.

향후 연구로는 첫 번째는 골이 달라질 때 마다 태스크들의 동시성 제어 방법이 변경이 되는 경우 사용자들에게 이를 잘 인지할 수 있도록 하는 UI를 연구 및 개발하여 제안된 동시성 제어 방법의 단점을 보완할 예정이다. 두 번째는 각 공동 작업을 설계 할 때마다 골-태스크 및 동시성 제어 방법을 사용자들이 편리하게 설정하고 관리할 수 있는 방법을 개발할 것이다. 세 번째로는 딥러닝 기반의 동작 인식 방법을 적용하여 사람들이 자신의 몸에 디바이스를 부착하지 않더라도 자연스럽게 공동 작업을 할 수 있는 시스템을 개발할 것이다.

ACKNOWLEDGEMENT

This research was supported by MISP(Ministry of Science, ICT & Future Planning), Korea, under the National Program for Excellence in SW) (2019-0-01834) supervised by the IITP(Institute of Information & communications Technology Planing & Evaluation)” (2019-0-01834).

References

  1. M. Spicher, B. D. Hall, M. Nebeling, "What is Mixed Reality?", CHI Conference, No.537, pp. 1-15, May. 2019, DOI:10.1145/3290605.3300767
  2. M. Funk, M. Kritzler, F. Michahelles, "Hololens is more than air Tap: natural and intuitive interaction with holograms", IoT 17 Proceedings, No.31, pp. 1-2, Oct. 2017, DOI:10.1145/3131542.3140267
  3. J. Lee and S. J. Park, "Extended Reality-based Simultaneous Multi Presence for Remote Cooperative Work", Journal of Computer and Information, Vol. 26, No.5, pp. 23-30, 2021, https://doi.org/10.9708/jksci.2021.26.05.023
  4. C. Joslin, D.T. Giacomo, & N. Magnenat-Thalmann, "Collaborative virtual environments: from birth to standardization", IEEE Communication Magazine Vol. 42, No.4, pp. 28-33, April 2004. DOI : 10.1109/MCOM.2004.1284925
  5. D. Roberts, R. Wolff, O. Otto, and A. Steed, "Constructing a Gazebo: Supporting team work in a tightly coupled, distributed task in virtual reality", Presence: Teleoperators & Virtual Environments, Vol. 12, No. 6, pp. 644-657, 2003. DOI:10.1162/105474603322955932
  6. O. Otto, D. Roberts, and R. Wolff, "A review on effective closely-coupled collaboration using Immersive CVE's", Proceedings of the 2006 ACM international conference on Virtual reality continuum and its applications (VRCIA'06), 145-154, 2006. https://doi.org/10.1145/1128923.1128947
  7. D. J. Roberts, and P. M. Sharkey, "Maximizing concurrency and scalability in a Consistent, Causal, Distributed Virtual Reality system, Whilst Minimizing the Effect of Network Delays", Proceedings of the 6th Workshop on Enabling Technologies Infrastructures for Collaborative Enterprise (WETICE'97), pp. 161-166, 1997. DOI: 10.1109/ENABL.1997.630808
  8. U. J. Sung, J. H. Yang, and K. Y. Wohn, "Concurrency Control in CIAO", Proceeding of the 1999 IEEE Virtual Reality Conference (VR'99), pp. 22-28, 1999. DOI: 10.1109/VR.1999.756919
  9. Q. Abbas, H. Shafiq, I. Ahmad and S. Tharanidharan, "Concurrency control in distributed database system", Proceeding of the 2016 International Conference on Computer Communication and Informatics (ICCCI), pp. 1-4, 2016. DOI: 10.1109/ICCCI.2016.7479987.
  10. J. Yang, "Scalable Prediction Based Concurrency Control for Distributed Virtual Environments", Proceedings of the IEEE Virtual Reality 2000 Conference, p.151, 2000. DOI: 10.1109/VR.2000.840493
  11. J. Lee, M. Lim, H.S. Kim, J.I. Kim, "Supporting Fine-Grained Concurrent Tasks and Personal Workspaces for a Hybrid Concurrency Control Mechanism in a Networked Virtual Environment", Presence Teleoperators Virtual Environ. Vol. 21, No.4, pp. 452-469, November 2012. DOI:10.1162/PRES_a_00127
  12. J. Lee, M. Lim, S.J. Park, H.S. Kim, H. Ko and J.I. Kim "Approximate resolution of asynchronous conflicts among sequential collaborations in dynamic virtual environments", Computer Animation & Virtual Worlds. Vol. 27, No.2, pp. 163-180, April 2016. https://doi.org/10.1002/cav.1669
  13. Mathi, Krish Chaithanya, "Augment HoloLens' Body Recognition and Tracking Capabilities Using Kinect," Wright State University, Computer Science, 2016, http://orcid.org/0000-0002-8185-8142
  14. T. Mulling, M. Sathiyanarayanan, "Characteristics of Hand Gesture Navigation: a case study using a wearable device(MYO)," British HCI'15, pp. 283-284, Jul. 2015, DOI:10.1145/2783446.2783612
  15. S.J. Park, "A Study on Sensor-Based Upper Full-Body Motion Tracking on Hololens", Journal of The Korea Society of Computer and Information, Vol. 26, No. 4, pp. 39-46, April 2021, https://doi.org/10.9708/jksci.2021.26.04.039
  16. P.P. Desai, P.N. Desai, K.D. Ajmera, & K. A. Mehta, "Review Paper on Oculus Rift-A Virtual Reality Headset". International. Journal of Engineering Trends and Technology, Vol. 13, No.4, pp. 175-179, August 2014. DOI: 10.14445/22315381/IJETT-V13P237
  17. L. Hui, J. Yuan, D. Thalmann, N. M. Thalmann, "AR in Hand : Egocentric Palm Pose Tracking and Gesture Recognition for Augmented Reality Applications," ACM MM Proceedings, pp. 743-744, Oct.2015, DOI:10.1145/2733373.2807972
  18. R. Lathia and J. Mistry, "Process of designing efficient, emission free HVAC systems with its components for 1000 seats auditorium", Pacific Science Review A: Natural Science and Engineering, Vol. 18, No. 2, pp. 109-122, 2016. https://doi.org/10.1016/j.psra.2016.09.010
  19. D. A. Norman, "Psychology of Everyday Action". The Design of Everyday Things. New York: Basic Book, 1988, https://doi.org/10.2307/1423268