KR20200036261A - 가상 객체 접촉시 실감 피드백을 제공하는 방법 및 이를 위한 장치 - Google Patents

가상 객체 접촉시 실감 피드백을 제공하는 방법 및 이를 위한 장치 Download PDF

Info

Publication number
KR20200036261A
KR20200036261A KR1020180115695A KR20180115695A KR20200036261A KR 20200036261 A KR20200036261 A KR 20200036261A KR 1020180115695 A KR1020180115695 A KR 1020180115695A KR 20180115695 A KR20180115695 A KR 20180115695A KR 20200036261 A KR20200036261 A KR 20200036261A
Authority
KR
South Korea
Prior art keywords
virtual
virtual object
physical
hand model
contact
Prior art date
Application number
KR1020180115695A
Other languages
English (en)
Inventor
이용호
이동명
김민철
유범재
Original Assignee
재단법인 실감교류인체감응솔루션연구단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 재단법인 실감교류인체감응솔루션연구단 filed Critical 재단법인 실감교류인체감응솔루션연구단
Priority to KR1020180115695A priority Critical patent/KR20200036261A/ko
Priority to US16/397,495 priority patent/US20200103971A1/en
Priority to CN201910466690.2A priority patent/CN110968183A/zh
Publication of KR20200036261A publication Critical patent/KR20200036261A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/016Input arrangements with force or tactile feedback as computer generated output to the user
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/014Hand-worn input/output arrangements, e.g. data gloves
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/107Static hand or arm

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

가상 객체 접촉시 실감 피드백을 제공하는 방법 및 이를 위한 장치를 개시한다.
본 발명의 일 측면에 의하면, 가상 객체 접촉시 실감 피드백을 제공하는 방법에 있어서, 가상 손 모델에 복수의 물리 파티클이 분산 배치되도록 형성하는 과정; 상기 가상 손 모델의 상기 물리 파티클이 가상 객체와 접촉하였는지 여부를 감지하는 과정; 및 상기 가상 손 모델의 상기 물리 파티클이 상기 가상 객체와 접촉하였다고 판단되면, 접촉된 상기 물리 파티클의 위치를 파악하여 상기 위치에 대응되는 손가락에 진동을 전달하는 단계를 포함하되, 상기 진동은 상기 가상 객체에 접촉한 상기 물리 파티클의 개수 및 상기 물리 파티클과 상기 가상 객체의 접촉시의 관통 거리에 따라 세기가 결정되는 것을 특징으로 하는 가상 객체 접촉시 실감 피드백을 제공하는 방법을 제공한다.

Description

가상 객체 접촉시 실감 피드백을 제공하는 방법 및 이를 위한 장치{METHOD FOR PROVIDING REAL PHYSICAL FEEDBACK IN VIRTUAL OBJECT CONTACT AND APPARATUS THEREFOR}
본 실시예는 가상 객체 접촉시 실감 피드백을 제공하는 방법 및 이를 위한 장치에 관한 것이다.
이 부분에 기술된 내용은 단순히 본 발명에 대한 배경 정보를 제공할 뿐 종래기술을 구성하는 것은 아니다.
기술이 발전함에 따라 가상현실 또는 증강현실에 대한 관심이 높아지고 있다. 가상현실(Virtual Reality)은 이미지, 주변 배경, 객체 모두를 가상의 이미지로 만들어 보여주는 반면, 증강현실(Augmented Reality)은 현실 세계의 실제 모습이 주가 되고 추가되는 정보만 가상으로 만들어 보여준다. 가상현실과 증강현실 모두 그것을 이용하는 사용자가 마치 가상의 객체와 상호작용을 하고 있는 것처럼 만들어 주어야 한다.
이처럼 사용자가 가상의 객체와 상호작용을 하고 있는 것처럼 느끼게 하기 위해서는 사용자가 촉감(觸感)을 느낄 수 있도록 하는 '컴퓨터 촉각기술', 즉 햅틱(Haptic) 기술이 중요하다. 햅틱 기술이란 그리스어의 '만지는'이라는 뜻의 형용사 'Haptesthai'에서 따온 말로, 조이스틱ㆍ마우스ㆍ키보드ㆍ터치스크린 등과 같은 각종 게임기나 컴퓨터의 입력장치를 조작하면서 사용자가 진동ㆍ운동감ㆍ힘 등을 느낄 수 있게 조작되어 사용자에게 컴퓨터 가상체험 등과 같이 더욱 실감나는 정보를 전달하는 기술이다.
초기의 촉각 인터페이스 장치에 대한 형태는 글러브 형태로, 사용자에게 햅틱 정보를 생성하지 않고 오로지 손의 모션 정보만 가상환경으로 전달하는 장치였다. 즉, 1989년 닌텐도에서 개발한 인터페이스 장치인 닌텐도 글러브가 그 예인데, 사용자가 상기 글러브를 사용해 가상환경을 컨트롤하여 2D 그래픽 정보를 업데이트 시키고 업데이트된 2D 그래픽 정보를 사용자에게 전달하는 방식으로 사용되었다. 하지만, 이러한 글러브는 가상환경 물체를 인지하기 위한 중요 요소 중 하나인 촉각적인 요소가 배제되어 있어 가상환경을 접하는 사용자들의 몰입감을 극대화하기 어려웠다.
이후에 최근 햅틱 기술의 발달과 연구에 따라 사용자에게 촉감을 전달할 수 있는 햅틱 글러브 기술이 많은 발전이 이루어지고 있기는 하나, 가상현실 및 혼합 현실 공간에서의 가상 객체 조작은 사용자가 정확한 깊이를 가늠할 수 없고 실세계와 달리 물리적 접촉으로 인한 감각이 존재하지 않기 때문에 실감 재현에 대한 어려움이 있는 실정이다.
본 실시예는, 가상 객체 접촉시 실감 피드백을 제공하는 방법 및 이를 위한 장치를 제공하되, 물리 엔진을 통해 가상 손 모델에 적용된 물리 파티클과 가상 객체와의 접촉을 판단한 후, 상호 작용 상황에 맞게 해당 손가락의 진동부에 진동 세기를 조절하여 전달함으로써 실감을 재현하는 데 주된 목적이 있다.
본 실시예의 일 측면에 의하면, 가상 객체 접촉시 실감 피드백을 제공하는 방법에 있어서, 가상 손 모델에 복수의 물리 파티클이 분산 배치되도록 형성하는 과정; 상기 가상 손 모델의 상기 물리 파티클이 가상 객체와 접촉하였는지 여부를 감지하는 과정; 및 상기 가상 손 모델의 상기 물리 파티클이 상기 가상 객체와 접촉하였다고 판단되면, 접촉된 상기 물리 파티클의 위치를 파악하여 상기 위치에 대응되는 손가락에 진동을 전달하는 과정을 포함하되, 상기 진동은 상기 가상 객체에 접촉한 상기 물리 파티클의 개수 및 상기 물리 파티클과 상기 가상 객체의 접촉시의 관통 거리에 따라 세기가 결정되는 것을 특징으로 하는 가상 객체 접촉시 실감 피드백을 제공하는 방법을 제공한다.
본 실시예의 다른 측면에 의하면, 가상 객체 접촉시 실감 피드백을 제공하는 장치에 있어서, 가상 손 모델의 형성, 이동 또는 변형을 위한 입력 정보를 제공하는 입력부; 상기 입력부에서 입력된 정보에 기초하여 가상 손 모델을 형성 및 제어하는 제어부; 및 적어도 하나 이상의 손가락 끝에 장착된 진동부를 포함하되, 상기 제어부는, 상기 가상 손 모델에 복수의 물리 파티클이 분산 배치되도록 형성하는 물리 파티클 형성부, 상기 가상 손 모델의 상기 물리 파티클이 가상 객체와 접촉하였는지 여부를 판단하는 접촉 판단부, 및 상기 접촉 판단부에서 상기 가상 손 모델의 상기 물리 파티클이 상기 가상 객체와 접촉하였다고 판단되면, 접촉된 상기 물리 파티클의 위치를 파악하여 상기 위치에 대응되는 손가락에 장착된 상기 진동부에 진동을 전달하도록 제어하는 진동 전달부를 포함하고, 상기 진동은 상기 가상 객체에 접촉한 상기 물리 파티클의 개수 및 상기 물리 파티클과 상기 가상 객체의 접촉시의 관통 거리에 따라 세기가 결정되는 것을 특징으로 하는 가상 객체 접촉시 실감 피드백을 제공하는 장치를 제공한다.
이상에서 설명한 바와 같이 본 실시예에 의하면, 물리 엔진을 통해 가상 손 모델에 적용된 물리 파티클과 가상 객체와의 접촉을 판단한 후, 상호 작용 상황에 맞게 해당 손가락의 진동부에 진동 세기를 조절하여 전달함으로써 실감을 재현할 수 있다는 효과가 있다.
도 1은 가상 객체 접촉시 실감 피드백을 제공하는 장치를 나타내는 블록 구성도이다.
도 2는 실시간으로 변형되는 가상 손 모델의 전체 메시(Mesh) 데이터를 나타낸 도면이다.
도 3은 가상 손 모델에 물리 파티클을 형성한 것을 나타낸 도면이다.
도 4는 본 실시예에서 이용하는 물리 파티클과 가상 객체의 접촉 여부 판단 방법을 설명하기 위한 도면이다.
도 5는 손의 골격 구조를 나타낸 도면이다.
도 6은 본 실시예의 진동부로써 손가락 끝 부분에 진동 액추에이터가 장착된 일예를 보여주는 도면이다.
도 7은 본 실시예의 γ 함수를 설명하기 위한 도면이다.
도 8은 본 실시예의 가상 객체 접촉시 실감 피드백을 제공하는 과정을 나타내는 순서도이다.
이하, 본 발명의 일부 실시예들을 예시적인 도면을 통해 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
또한, 본 발명의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 명세서 전체에서, 어떤 부분이 어떤 구성요소를 '포함', '구비'한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 '…부', '모듈' 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
도 1은 가상 객체 접촉시 실감 피드백을 제공하는 장치를 나타내는 블록 구성도이다.
도 1에 도시된 바와 같이, 가상 객체 접촉시 실감 피드백을 제공하는 장치(100)는 입력부(110), 제어부(120), 진동부(130), 및 인덱스 DB(140) 등을 포함할 수 있고, 여기서 제어부(120)는 물리 파티클 형성부(121), 접촉 판단부(122), 및 진동 전달부(123) 등을 포함할 수 있다.
본 실시예의 입력부(110)는 가상 손 모델의 형성, 이동 또는 변형을 위한 입력 정보를 제어부(120)에 제공한다. 입력부(110)는 가상 손 모델에 대한 입력 정보로써 위치, 형상, 크기, 질량, 속도, 가해지는 힘의 크기와 방향, 마찰계수, 탄성계수 등의 물리량을 제공할 수 있다. 또한, 입력부(110)는 가상 손 모델을 이동시키거나 변형시키기 위하여 위치의 변화, 형상의 변화, 속도의 변화 등과 같은 물리량의 변화량을 제공할 수도 있다.
본 실시예의 입력부(110)는 실제 손의 형상 또는 위치 등을 인식할 수 있는 손 인식 장치일 수 있다. 일 예로써, 이러한 입력부(110)로는 립 모션(Leap Motion) 센서, 카메라와 같은 영상 센서, RGBD 센서를 포함하는 공지의 다양한 센서가 부착된 장갑, 외골격을 측정하기 위해 제작한 별도의 장치(예를 들어, 핸드 모션 캡쳐 장치), 또는 센서를 손에 직접 부착하는 방식 등이 사용될 수 있다. 그 밖에 카메라와 같은 영상 센서, 특히 RGBD 센서를 포함하는 공지의 다양한 센서들이 입력부(110)로서 사용될 수 있다.
본 실시예의 입력부(110)는 가상 손 모델을 형성하는 데 필요한 입력 정보를 제공한다. 즉, 입력부(110)는 실제 손의 형상을 인식하고 이를 기초로 하여 실제 손에서의 골격 배치를 유추할 수 있다. 이로써, 입력부(110)는 가상 손 모델의 골격을 형성하기 위한 입력 정보를 제공할 수 있다. 그 밖에 가상 손 모델의 구현에 필요한 마찰 계수, 질량 등은 미리 설정된 값으로 제공될 수도 있다.
또한, 본 실시예의 입력부(110)는 실제 손의 형상과 위치의 변화를 감지하고 이를 기초로 하여 가상 손 모델을 이동시키거나 변형시키는 데 필요한 입력 정보를 제공할 수 있다. 이때, 가상 손 모델을 이루는 뼈와 관절의 연결 및 관절에서의 자유도가 미리 설정되는 경우, 입력부(110)는 실제 손에서 각각의 뼈가 배치되는 각도 및 관절의 위치만을 인식함으로써 더욱 간략한 형태로 입력 정보를 제공할 수 있다.
한편, 본 실시예의 입력부(110)는 상술한 바와 같이 별도의 센서를 통해 실제 공간상의 움직임을 인식함으로써 입력 정보를 제어부(120)에 제공할 수도 있고, 단순하게 형상, 위치 등의 물리량을 직접 설정함으로써 입력 정보를 제어부(120)에 제공할 수도 있다.
본 실시예의 제어부(120)는 입력부(110)에서 입력된 정보에 기초하여 가상 손 모델을 형성 및 제어한다.
본 실시예의 제어부(120)는 물리 파티클 형성부(121), 접촉 판단부(122), 및 진동 전달부(123) 등을 포함할 수 있는데, 여기서 물리 파티클 형성부(121)는 가상 손 모델에 복수의 물리 파티클이 분산 배치되도록 형성한다.
본 실시예에서는 가상 손 모델과 가상 객체와의 상호 작용을 판단하기 위해 물리 엔진을 이용하며, 가상 손 모델에 물리 모델을 생성한다. 이때, 도 2와 같이 실시간으로 변형되는 가상 손 모델의 전체 메시(Mesh) 데이터를 물리 파티클(물리 객체)로 만들게 되면 계산 시간이 많이 소요된다는 문제점이 있다. 즉, 한 손 당 메시 인덱스(Mesh Index)가 약 9000개가 되는데, 실시간으로 변화하는 모든 메시 인덱스의 위치를 반영하여 전체 가상 손 물리 모델을 갱신하면 물리 엔진의 계산 량이 과부하되어 실시간성을 보장하지 못한다.
따라서 본 실시예에서는 도 3과 같이 사용자가 손동작을 수행할 때 주로 접촉하게 되는 메시 인덱스에만 물리 파티클(300)을 생성하고, 복수의 물리 파티클(300)들을 이용하여 물리 상호 작용 과정을 수행한다. 본 실시예에서는 물리 파티클(300)의 물리 속성을 키네마틱 오브젝트(Kinematic Object)로 정의하여 실세계에서 일어나는 다양한 손동작을 제대로 구현할 수 있게 한다.
본 실시예의 복수의 물리 파티클(300)은 임의의 형상을 가지는 작은 크기의 입자이다. 본 실시예에서는 손동작을 수행할 때 주로 접촉하게 되는 메시 인덱스인 손가락 끝 마디에 물리 파티클(300)을 촘촘하게 분포시키고 손바닥에는 전체 면적에 균등하게 분포시킴으로써, 전체 메시 데이터가 아닌 그보다 적은 개수의 객체들을 이용하여도 전체 메시 데이터를 이용하는 방법과 비슷한 수준의 물리 상호 작용 결과를 얻을 수 있게 한다. 본 실시예에서는 각 물리 파티클(300)과 가상 객체 간의 접촉(충돌) 정보들을 이용하여, 여러 가지 수행 동작에 대한 알고리즘을 계산하게 되는데, 이러한 동작 알고리즘의 계산이 원활할 만큼 충분하면서, 파티클 수가 너무 많아서 물리 엔진 계산 속도를 떨어뜨리지 않는 적절한 분포로 물리 파티클(300)을 분포시킬 수 있다. 이는 실험을 통하여 수치를 도출할 수 있으며, 일 예로써 양 손에 약 총 130개의 물리 파티클(300)이 분산되어 배치될 수 있다.
또한, 복수의 물리 파티클(300)은 다양한 형상의 입자일 수 있으나, 계산의 간소화를 위해 단위 크기의 구형 입자인 것이 바람직하다. 이러한 복수의 물리 파티클(300)은 다양한 물리량을 가질 수 있다. 이러한 물리량으로는 복수의 물리 파티클(300)이 가상 손 모델(310)의 어떤 손가락뼈에 대응하여 배치되는 위치가 포함된다. 또한, 각각의 복수의 물리 파티클(300)에 작용하는 힘의 크기 및 방향이 있다. 복수의 물리 파티클(300)은 마찰계수, 탄성계수 등의 물리량을 더 가질 수 있다.
본 실시예의 접촉 판단부(122)는 가상 손 모델의 물리 파티클(300)이 가상 객체와 접촉하였는지 여부를 판단한다. 본 실시예에서는 물리 파티클(300)과 가상 객체의 접촉 여부의 판단 방법으로 AABB(Axis-Aligned Bounding Box) 충돌 감지법을 이용한다.
도 4는 본 실시예에서 이용하는 물리 파티클(300)과 가상 객체의 접촉 여부 판단 방법을 설명하기 위한 도면이다.
도 4에 도시된 바와 같이, AABB 충돌 감지법이란 모든 물리 객체(400)에 같은 축 방향으로 정렬된 바운딩 박스(410, Bounding Box)를 씌워놓고, 객체(400)들 간의 해당 바운딩 박스들이 겹치는지를 실시간으로 체크하여 접촉(충돌) 여부를 판단한다. 따라서 본 실시예의 접촉 판단부(122)에서는 가상 손 모델(310)에 배치된 물리 파티클(300)의 바운딩 박스와, 상호 작용을 할 가상 객체의 바운딩 박스를 실시간으로 체크하여 이들이 겹치는지 여부로 접촉(충돌) 감지를 한다.
도 4의 실시예에서는 물리 파티클(300)과 가상 객체의 접촉 여부의 판단 방법으로 AABB 충돌 감지법을 설명하고 있으나 이에 한정되는 것은 아니다. 예컨대, 전술한 AABB 충돌 감지법과 달리 바운딩 박스(410)가 같은 축 방향으로 고정되어 있지 않고 물체의 상태에 따라 방향이 바뀌는 OBB(Object Oriented Bounding Box) 충돌 감지법, 바운딩 박스(410) 대신 구(Sphere)를 물리 객체(400)에 씌워놓고 접촉(충돌) 여부를 판단하는 Sphere 충돌 감지법, 그리고 바운딩 박스(410) 대신 볼록 껍질(Convex Hull)을 물리 객체(400)에 씌워놓고 접촉(충돌) 여부를 판단하는 Convex Hull 충돌 감지법 등 공지의 다양한 충돌 감지법이 이용될 수 있다. 즉, 물리 파티클(300)과 가상 객체의 접촉 여부를 판단할 수 있다면 공지의 어떠한 충돌 감지법이라도 본 실시예에서 이용될 수 있다.
본 실시예의 진동 전달부(123)는 접촉 판단부(122)에서 가상 손 모델의 물리 파티클(300)이 가상 객체와 접촉하였다고 판단되면, 접촉된 물리 파티클(300)의 위치를 파악하여 파악된 위치에 대응되는 손가락에 장착된 진동부(130)에 진동을 전달하도록 제어한다.
즉, 도 5에 나타낸 바와 같은 손의 골격 구조를 이용하여 각각의 손가락뼈 근처의 물리 파티클(300)이 접촉되면 해당 손가락에 진동을 주는 방식으로 실감 피드백을 제공하게 된다. 이를 위해 본 실시예에서는 물리 파티클 형성부(121)에서 생성된 물리 파티클(300)과 그 위치에 맞게 연동된 뼈의 인덱스 정보를 포함하는 인덱스 DB(140)를 포함할 수 있다.
표 1은 본 실시예의 인덱스 DB(140)에 저장된 인덱스 정보의 예를 나타낸 것이다.
물리 파티클 번호 핸드 메시 인덱스 뼈 인덱스
1 1289 3 (LEFT_THUMB_DISTAL)
... ... ...
10 3775 6 (LEFT_INDEX_DISTAL)
11 4009 6 (LEFT_INDEX_DISTAL)
... ... ...
130 9562 32 (RIGHT_PALM)
즉, 접촉 판단부(122)에서 물리 파티클 번호가 10인 물리 파티클(300)이 가상 객체와 접촉되었다고 판단하면, 인덱스 DB(140)를 참조하여 진동 전달부(123)는 왼쪽 검지 손가락에 진동을 주도록 진동부(130)를 제어한다.
다시 말해, 접촉 판단부(122)의 접촉 감지 결과를 통해 가상 객체에 접촉된 다수의 물리 파티클(300)이 감지되면 이에 해당하는 손가락이 어떤 것인지 판단하고, 이후 접촉되었다고 판단된 각 손가락에 대응되는 진동부(130)에 진동을 전달하는 것이다. 예컨대 검지로만 가상 객체와 접촉한 경우 검지 진동부(130)에만 진동을 전달하고 다섯 손가락 모두 가상 객체와 접촉한 경우 모든 진동부(130)에 진동을 전달하게 된다.
전술한 바와 같이 본 실시예에서는 적어도 하나 이상의 손가락 끝에 장착된 진동부(130)를 포함할 수 있다. 본 실시예의 진동부(130)는 진동 액추에이터, 마이크로서보모터, 소형 진동자, 또는 진동 모터 등이 될 수 있다. 도 6은 본 실시예의 진동부(130)로써 손가락 끝 부분에 진동 액추에이터가 장착된 일례를 보여주는 도면이다.
본 실시예에서는 진동부(130)에 전달되는 진동의 세기를 상황에 맞게 변화해 전달함으로써 더 실감적인 피드백을 제공한다. 여기서 진동의 세기는 가상 객체에 접촉한 물리 파티클(300)의 개수 및 물리 파티클(300)과 가상 객체의 접촉시의 관통 거리(Penetration Depth)에 따라 결정된다.
먼저, 가상 객체에 접촉한 물리 파티클(300)의 개수(N)는 가상 객체에 접촉된 손의 면적이 얼마나 넓은지를 의미한다. 여기서, 진동의 세기를 계산하기 위해 시간 t에 가상 객체에 접촉한 물리 파티클(300)의 개수가 반영된 변수를 Vn(t)라 하고, 이를 수학식으로 나타내면 다음과 같다.
Figure pat00001
Figure pat00002
여기서 γ 함수는 입력(Input) ρ에 대하여 결과값을 무조건 0~1로 정규화시켜주는 함수이다. 도 7과 같이 어떤 Input(x)이 들어오더라도 Output(y)은 최대 1을 넘을 수 없고 1에 무한히 가까워진다. 본 실시예에서 ρ는 양수이기에 최소 Output은 0이다. 여기서 도 7의 그래프를 보면 Input(x)의 실제 값이 5 정도만 넘어도 Output(y)은 1에 가까워진다. 따라서, 수학식 1의 τ는 좀 더 넓은 범위의 Input을 받기 위해 완화시켜주는 상수이다.
즉, 수학식 1의 Vn(t)는 시간 t에 가상 객체에 접촉한 물리 파티클(300)의 개수(N(t))에 대하여 결과값을 0에서 1 사이의 값으로 정규화하여 진동의 세기 결정에 반영하기 위한 변수이다. 결국, 물리 파티클(300)이 가상 객체에 많이 접촉될수록 Vn(t) 값은 1에 가까워진다.
다음으로, 물리 파티클(300)과 가상 객체의 접촉시의 관통 거리는 물리 엔진 상에서 손의 물리 파티클(300)들이 얼마나 가상 객체로 깊게 들어와 있는지, 즉 사용자가 가상 객체를 얼마나 세게 눌렀는지를 의미한다. 여기서, 진동의 세기를 계산하기 위해 시간 t에 가상 객체에 접촉한 물리 파티클(300)의 관통 거리가 반영된 변수를 Vp(t)라 하고, 이를 수학식으로 나타내면 다음과 같다.
Figure pat00003
여기서, pi(t)는 시간 t에 접촉된 i번째 물리 파티클(300)의 관통 거리를 의미하고, 따라서 P(t)는 시간 t에서 물리 파티클(300)들의 관통 거리 합을 의미한다. 즉, 수학식 2의 Vp(t)는 시간 t에 물리 파티클(300)과 가상 객체의 접촉시의 관통 거리 합(P(t))에 대하여 결과값을 0에서 1 사이의 값으로 정규화하여 진동의 세기 결정에 반영하기 위한 변수이다. 결국, 물리 파티클(300)과 가상 객체의 접촉시의 관통 거리의 합이 클수록, 즉 사용자가 가상 객체를 세게 누를수록 Vp(t) 값은 1에 가까워진다.
전술한 변수 Vn(t)와 Vp(t)를 이용하여 각 손가락에 전달될 진동의 세기를 최종 계산하는 수학식은 아래와 같다.
Figure pat00004
여기서 V(t)는 시간 t에 전달되는 진동의 세기로 0과 1 사이의 값을 가진다. 또한, α는 0과 1 사이의 값을 가지는 두 변수 Vn(t)와 Vp(t)의 최종 합인 V(t)를 다시 0과 1 사이의 값으로 만들기 위해 곱해지는 상수이며, 이 또한 0과 1 사이의 소수 값을 가진다. 이를 흔히 알파 블렌딩이라 하는데, 여기서 α는 진동 세기를 결정하는 두 변수(Vn(t) 및 Vp(t)) 중 어느 쪽에 더 비중을 두어 진동 세기를 결정할 것인가에 대한 가중치 값이라 할 수 있다. 즉 상기 수학식 3에서는 α 값이 클수록 Vn(t)인 접촉 면적에 대한 비중을 결과값에서 높이겠다는 의미가 된다.
도 8은 본 실시예의 가상 객체 접촉시 실감 피드백을 제공하는 과정을 나타내는 순서도이다.
우선, 본 실시예의 물리 파티클 형성부(121)에서는 가상 손 모델(310)에 복수의 물리 파티클(300)이 분산 배치되도록 형성한다(S800). 전술한 바와 같이, 본 실시예에서는 사용자가 손동작을 수행할 때 주로 접촉하게 되는 메시 인덱스에만 물리 파티클(300)을 생성하고 이 파티클(300)들을 이용하여 물리 상호 작용 과정을 수행한다.
다음으로, 본 실시예의 접촉 판단부(122)에서는 물리 파티클 형성부(121)에서 생성된 가상 손 모델의 물리 파티클(300)이 가상 객체와 접촉하였는지 여부를 감지한다(S810). 접촉 판단부(122)에서 가상 손 모델의 물리 파티클(300)이 가상 객체와 접촉하였다고 판단되면, 가상 객체에 접촉한 물리 파티클의 개수 및 물리 파티클과 가상 객체의 접촉시의 관통 거리에 따라 진동 세기를 결정한다(S820).
본 실시예의 진동 전달부(123)에서는 인덱스 DB(140)를 이용해 가상 객체에 접촉된 가상 손 모델의 물리 파티클(300)의 위치를 파악하여 파악된 위치에 대응되는 손가락의 진동부(130)에 진동을 전달한다(S830).
도 8에서는 과정 S800 내지 과정 S830을 순차적으로 실행하는 것으로 기재하고 있으나, 이는 본 발명의 일 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것이다. 다시 말해, 본 발명의 일 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 일 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 도 8에 기재된 순서를 변경하여 실행하거나 과정 S800 내지 과정 S830 중 하나 이상의 과정을 병렬적으로 실행하는 것으로 다양하게 수정 및 변형하여 적용 가능할 것이므로, 도 8은 시계열적인 순서로 한정되는 것은 아니다.
한편, 도 8에 도시된 과정들은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 즉, 컴퓨터가 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등)와 같은 저장매체를 포함한다. 또한, 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
이상의 설명은 본 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 실시예들은 본 실시예의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 실시예의 기술 사상의 범위가 한정되는 것은 아니다. 본 실시예의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 실시예의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
100: 실감 피드백 장치 110: 입력부
120: 제어부 121: 물리 파티클 형성부
122: 접촉 판단부 123: 진동 전달부
130: 진동부 140: 인덱스 DB
300: 물리 파티클 310: 가상 손 모델

Claims (9)

  1. 가상 객체 접촉시 실감 피드백을 제공하는 방법에 있어서,
    가상 손 모델에 복수의 물리 파티클이 분산 배치되도록 형성하는 과정;
    상기 가상 손 모델의 상기 물리 파티클이 가상 객체와 접촉하였는지 여부를 감지하는 과정; 및
    상기 가상 손 모델의 상기 물리 파티클이 상기 가상 객체와 접촉하였다고 판단되면, 접촉된 상기 물리 파티클의 위치를 파악하여 상기 위치에 대응되는 손가락에 진동을 전달하는 과정을 포함하되,
    상기 진동은 상기 가상 객체에 접촉한 상기 물리 파티클의 개수 및 상기 물리 파티클과 상기 가상 객체의 접촉시의 관통 거리에 따라 세기가 결정되는 것을 특징으로 하는 가상 객체 접촉시 실감 피드백을 제공하는 방법.
  2. 제 1 항에 있어서,
    상기 가상 손 모델에 형성되는 상기 복수의 물리 파티클은 사용자가 손동작을 수행할 때 주로 접촉하게 되는 메시 인덱스를 분석하여 상기 메시 인덱스에 형성되는 것을 특징으로 하는 가상 객체 접촉시 실감 피드백을 제공하는 방법.
  3. 제 1 항에 있어서,
    상기 가상 손 모델에 형성되는 상기 복수의 물리 파티클은 상기 가상 손 모델의 손바닥에는 균등하게 분포되고 손가락 끝에는 촘촘하게 분포되는 것을 특징으로 하는 가상 객체 접촉시 실감 피드백을 제공하는 방법.
  4. 제 1 항에 있어서,
    상기 가상 손 모델에 형성되는 상기 복수의 물리 파티클은 상기 가상 손 모델의 손가락에 대응한 인덱스 정보를 가지는 것을 특징으로 하는 가상 객체 접촉시 실감 피드백을 제공하는 방법.
  5. 가상 객체 접촉시 실감 피드백을 제공하는 장치에 있어서,
    가상 손 모델의 형성, 이동 또는 변형을 위한 입력 정보를 제공하는 입력부;
    상기 입력부에서 입력된 정보에 기초하여 가상 손 모델을 형성 및 제어하는 제어부; 및
    적어도 하나 이상의 손가락 끝에 장착된 진동부를 포함하되,
    상기 제어부는,
    상기 가상 손 모델에 복수의 물리 파티클이 분산 배치되도록 형성하는 물리 파티클 형성부,
    상기 가상 손 모델의 상기 물리 파티클이 가상 객체와 접촉하였는지 여부를 판단하는 접촉 판단부, 및
    상기 접촉 판단부에서 상기 가상 손 모델의 상기 물리 파티클이 상기 가상 객체와 접촉하였다고 판단되면, 접촉된 상기 물리 파티클의 위치를 파악하여 상기 위치에 대응되는 손가락에 장착된 상기 진동부에 진동을 전달하도록 제어하는 진동 전달부를 포함하고,
    상기 진동은 상기 가상 객체에 접촉한 상기 물리 파티클의 개수 및 상기 물리 파티클과 상기 가상 객체의 접촉시의 관통 거리에 따라 세기가 결정되는 것을 특징으로 하는 가상 객체 접촉시 실감 피드백을 제공하는 장치.
  6. 제 5 항에 있어서,
    상기 진동부는 진동 액추에이터, 마이크로서보모터, 소형 진동자, 또는 진동 모터인 것을 특징으로 하는 가상 객체 접촉시 실감 피드백을 제공하는 장치.
  7. 제 5 항에 있어서,
    상기 가상 손 모델에 형성되는 상기 복수의 물리 파티클은 사용자가 손동작을 수행할 때 주로 접촉하게 되는 메시 인덱스를 분석하여 상기 메시 인덱스에 형성되는 것을 특징으로 하는 가상 객체 접촉시 실감 피드백을 제공하는 장치.
  8. 제 5 항에 있어서,
    상기 가상 손 모델에 형성되는 상기 복수의 물리 파티클은 상기 가상 손 모델의 손바닥에는 균등하게 분포되고 손가락 끝에는 촘촘하게 분포되는 것을 특징으로 하는 가상 객체 접촉시 실감 피드백을 제공하는 장치.
  9. 제 5 항에 있어서,
    상기 가상 손 모델에 형성되는 상기 복수의 물리 파티클과 상기 가상 손 모델의 손가락이 대응되어 있는 인덱스 정보를 포함하는 인덱스 DB
    를 추가로 포함하는 것을 특징으로 하는 가상 객체 접촉시 실감 피드백을 제공하는 장치.
KR1020180115695A 2018-09-28 2018-09-28 가상 객체 접촉시 실감 피드백을 제공하는 방법 및 이를 위한 장치 KR20200036261A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020180115695A KR20200036261A (ko) 2018-09-28 2018-09-28 가상 객체 접촉시 실감 피드백을 제공하는 방법 및 이를 위한 장치
US16/397,495 US20200103971A1 (en) 2018-09-28 2019-04-29 Method And Apparatus For Providing Realistic Feedback During Contact With Virtual Object
CN201910466690.2A CN110968183A (zh) 2018-09-28 2019-05-31 接触虚拟对象时提供真实物理反馈的方法及其装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180115695A KR20200036261A (ko) 2018-09-28 2018-09-28 가상 객체 접촉시 실감 피드백을 제공하는 방법 및 이를 위한 장치

Publications (1)

Publication Number Publication Date
KR20200036261A true KR20200036261A (ko) 2020-04-07

Family

ID=69945477

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180115695A KR20200036261A (ko) 2018-09-28 2018-09-28 가상 객체 접촉시 실감 피드백을 제공하는 방법 및 이를 위한 장치

Country Status (3)

Country Link
US (1) US20200103971A1 (ko)
KR (1) KR20200036261A (ko)
CN (1) CN110968183A (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220111290A1 (en) * 2020-10-09 2022-04-14 Contact Control Interfaces, LLC Haptic engine for spatial computing

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9552673B2 (en) * 2012-10-17 2017-01-24 Microsoft Technology Licensing, Llc Grasping virtual objects in augmented reality
KR101578345B1 (ko) * 2014-09-03 2015-12-17 재단법인 실감교류인체감응솔루션연구단 역감을 재생하는 장치
WO2016074087A2 (en) * 2014-11-11 2016-05-19 Helio Technology Inc. A method of detecting user input in a 3d space and a 3d input system employing same
KR101639066B1 (ko) * 2015-07-14 2016-07-13 한국과학기술연구원 가상 공간에 형성된 가상 모델을 제어하는 방법 및 시스템
US10509468B2 (en) * 2016-01-27 2019-12-17 Tactai, Inc. Providing fingertip tactile feedback from virtual objects
KR101853059B1 (ko) * 2016-08-10 2018-04-30 한국과학기술연구원 가상 모델 제어 시스템, 방법 및 컴퓨터 판독 가능한 기록 매체
KR101917101B1 (ko) * 2017-06-05 2018-11-09 한국과학기술연구원 진동식 촉각 자극 생성 장치, 시스템 및 방법
KR102101483B1 (ko) * 2018-06-25 2020-04-16 한국과학기술연구원 가상 객체 조작을 위한 촉각 자극 생성 장치 및 이를 구비한 시스템

Also Published As

Publication number Publication date
CN110968183A (zh) 2020-04-07
US20200103971A1 (en) 2020-04-02

Similar Documents

Publication Publication Date Title
US11657579B2 (en) Interactions with 3D virtual objects using poses and multiple-DOF controllers
EP3629129A1 (en) Method and apparatus of interactive display based on gesture recognition
US10416834B1 (en) Interaction strength using virtual objects for machine control
JP2018142313A (ja) 仮想感情タッチのためのシステム及び方法
CN111665933A (zh) 虚拟或者增强现实中的对象操作方法及装置
Fiorentino et al. Improving bi-manual 3D input in CAD modelling by part rotation optimisation
Cui et al. Mid-air gestures for virtual modeling with leap motion
KR20200036261A (ko) 가상 객체 접촉시 실감 피드백을 제공하는 방법 및 이를 위한 장치
Jeong et al. mGlove: Enhancing user experience through hand gesture recognition
Salgado et al. The development of a glove-like controller interface for VR applications: A low-cost concept application with haptic and resistive feedback
Kokkonis Designing Haptic Interfaces with Depth Cameras and H3D Depth Mapping
Chanda et al. Analysis of Multi Touch Interactive Device for a Cost Effective Architecture
Frediani et al. Enabling wearable soft tactile displays with electroactive smart elastomers
Worrallo A multiple optical tracking based approach for enhancing hand-based interaction in virtual reality simulations
Rosenberg et al. Virtual hand representations to support natural interaction in immersive environments
Piumsomboon Natural hand interaction for augmented reality.
Weschke et al. Pushing towards embodied interactions
Augstein et al. Haptic and Touchless User Input Methods for Simple 3D Interaction Tasks: Interaction Performance and User Experience for People with and Without Impairments
Millan et al. Gesture-based control
KR20200097420A (ko) 가상 객체 접촉시 동작 재생성 방법 및 장치
Ishikawa et al. Visual Haptic Interface by Using 2-DOF Indirect Haptic Interface
CN112558776A (zh) 基于虚拟现实环境的人机交互方法及装置
Alam Rpen: A New 3D Pointing Device
Lin et al. The Usability of Hand Pose and Gestures for Spaceflight Training System
Liu Real-time softness display system for the perception of virtual objects

Legal Events

Date Code Title Description
E601 Decision to refuse application