KR100787952B1 - 지역 점유맵 인스턴스를 이용한 햅틱 렌더링 방법과 장치,및 이를 이용한 햅틱 시스템 - Google Patents

지역 점유맵 인스턴스를 이용한 햅틱 렌더링 방법과 장치,및 이를 이용한 햅틱 시스템 Download PDF

Info

Publication number
KR100787952B1
KR100787952B1 KR1020060076382A KR20060076382A KR100787952B1 KR 100787952 B1 KR100787952 B1 KR 100787952B1 KR 1020060076382 A KR1020060076382 A KR 1020060076382A KR 20060076382 A KR20060076382 A KR 20060076382A KR 100787952 B1 KR100787952 B1 KR 100787952B1
Authority
KR
South Korea
Prior art keywords
haptic
hip
ihip
virtual object
lomi
Prior art date
Application number
KR1020060076382A
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 KR1020060076382A priority Critical patent/KR100787952B1/ko
Application granted granted Critical
Publication of KR100787952B1 publication Critical patent/KR100787952B1/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/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/043Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means using propagating acoustic waves
    • G06F3/0433Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means using propagating acoustic waves in which the acoustic waves are either generated by a movable member and propagated within a surface layer or propagated within a surface layer and captured by a movable member
    • 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/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser

Abstract

본 발명은 지역 점유맵 인스턴스를 이용한 햅틱 렌더링 방법 및 그 장치와 이를 이용한 햅틱 시스템에 관한 것이다. 더욱 상세하게는, 다양한 형태의 데이터로 기술된 가상 객체에 대해 일관된 방법으로 충돌 검출 및 반력 계산을 수행할 수 있는 지역 점유맵 인스턴스를 이용한 햅틱 렌더링 방법 및 그 장치와 이를 이용한 햅틱 시스템에 관한 것이다.
본 발명은, (a) 가상 객체의 뎁스 이미지(depth image)를 획득하고 이를 픽셀화하여 픽셀 버퍼에 저장하는 단계; (b) 상기 픽셀 버퍼를 참조하여 햅틱 인터페이스 디바이스의 햅틱 인터랙션 포인트(HIP)가 상기 가상 객체와 충돌하는지 여부를 검출하는 단계; (c) 이상적 햅틱 인터랙션 포인트(IHIP)를 중심으로 상기 가상 객체에 대한 정보를 포함하는 임시적이고 국부적인 3차원 복셀로 이루어진 지역 점유맵 인스턴스(LOMI)를 생성하는 단계; 및 (d) 상기 HIP가 상기 가상 객체와 충돌한 경우 상기 LOMI에서의 상기 HIP의 벡터와 상기 IHIP의 벡터의 차이값을 이용하여 반력을 계산하는 단계를 포함하는 것을 특징으로 하는 햅틱 렌더링 방법과, 그 장치 및 시스템을 제공한다.
햅틱, 렌더링, 가상 환경, 점유맵, HIP, IHIP, 햅틱 인터랙션

Description

지역 점유맵 인스턴스를 이용한 햅틱 렌더링 방법과 장치, 및 이를 이용한 햅틱 시스템{Apparatus and Method for Haptic Rendering Using Local Occupancy Map Instance, and Haptic System using Them}
도 1은 본 발명의 바람직한 실시예에 따른 햅틱 시스템의 블록도,
도 2는 본 발명의 바람직한 실시예에 따른 햅틱 렌더링 방법을 개괄적으로 도시한 순서도,
도 3는 본 발명의 바람직한 실시예에 따른 햅틱 렌더링 방법에 있어서 가상 카메라를 이용한 뎁스 이미지의 획득 상황을 도시한 사시도,
도 4a는 본 발명의 바람직한 실시예에 따른 햅틱 렌더링 방법에 있어서 픽셀 좌표계와 오브젝트 좌표계에 대한 가상 객체와 HIP의 관계를 x-y 평면에 대해 표시한 도면,
도 4b는 본 발명의 바람직한 실시예에 따른 햅틱 렌더링 방법에 있어서 픽셀 좌표계와 오브젝트 좌표계에 대한 가상 객체와 HIP의 관계를 도시한 사시도,
도 4c는 본 발명의 바람직한 실시예에 따른 햅틱 렌더링 방법에 있어서 오브젝트 좌표계의 y-z 평면에 대한 가상 객체와 HIP의 관계를 도시한 도면,
도 5는 본 발명의 바람직한 실시예에 따른 햅틱 렌더링 방법에 있어서 HIP가 이동함에 따른 충돌 검출 방법을 설명하기 위한 도면,
도 6는 본 발명의 바람직한 실시예에 따른 햅틱 렌더링 방법에 사용되는 LOMI의 일례를 도시한 도면,
도 7은 본 발명의 바람직한 실시예에 따른 햅틱 렌더링 방법에 있어서 반력 계산을 수행하는 과정을 도시한 도면이다.
<도면의 주요 부분에 대한 부호의 설명>
100 : 햅틱 시스템 110 : 햅틱 렌더링 장치
111 : 그래픽 처리 저장부 112 : 오브젝트 버퍼
113 : 픽셀 버퍼 114 : 시뮬레이션 엔진
115 : 햅틱 계산부 116 : 충돌 검출부
117 : LOMI 생성부 118 : 반력 계산부
120 : 햅틱 디바이스 제어부 130 : 햅틱 인터페이스 디바이스
140 : 그래픽 렌더링 장치 150 : 그래픽 디스플레이
본 발명은 지역 점유맵 인스턴스를 이용한 햅틱 렌더링 방법 및 그 장치와 이를 이용한 햅틱 시스템에 관한 것이다. 더욱 상세하게는, 다양한 형태의 데이터로 기술된 가상 객체에 대해 일관된 방법으로 충돌 검출 및 반력 계산을 수행할 수 있는 지역 점유맵 인스턴스를 이용한 햅틱 렌더링 방법 및 그 장치와 이를 이용한 햅틱 시스템에 관한 것이다.
최근 기술의 발전에 따라 가상 현실 및 이를 이용한 응용 기술에 대한 관심이 증대되고 있다. 가상 현실이란 가상 환경 안에서 사용자가 실세계 환경과 같은 현실감을 느끼도록 하는 것을 의미한다. 초기의 가상 현실 기술은 컴퓨터 그래픽을 이용한 시각 정보 및 다 채널 청각 정보의 제시를 통해 현실감 있는 환경을 재현하는데 중점을 두었다. 이러한 컴퓨터 영상 및 대화형 인터페이스의 이용은 설계, 시뮬레이션, 및 생산 자동화 분야뿐 아니라 의학 및 교육 분야에서도 광범위하게 사용되고 있다. 그러나 시각과 청각에 기반한 정보의 제시만으로는 사용자가 현실감을 충분히 느끼기 어렵다. 이러한 문제로 최근에는 사용자에게 촉감(tactile)과 역감(kinesthetic)을 통해 가상 또는 실제 환경의 다양한 정보를 제공하도록 하는 햅틱(haptic) 기술이 많은 관심을 받고 있다.
햅틱 기술은 사용자가 촉각을 통해 상호 작용을 할 수 있도록 하는 가상 환경을 제공한다. 햅틱 인터페이스를 통해 제공되는 촉감 및 역감 정보는 사용자가 다양한 환경을 더 자세히 인지하도록 하며, 사용자의 몰입감을 증가시켜 효과적으로 환경내의 객체들을 느끼고 조작할 수 있도록 도와준다.
일반적으로 햅틱 시스템은 종래의 영상 정보뿐 아니라 촉감과 역감 정보를 제공하기 위해 햅틱 인터페이스 디바이스(haptic interface device)와 관련 컴퓨터 하드웨어 및 소프트웨어를 포함한다. 햅틱 시스템은 가상 환경으로부터 얻은 햅틱 정보를 바탕으로 햅틱 인터페이스 디바이스를 제어함으로써 사용자에게 역감 및 촉감 정보를 제공한다. 햅틱 시스템은 시각 정보의 제공과 햅틱 정보의 제공을 위해 그래픽 렌더링 과정(graphic rendering process)와 햅틱 렌더링 과정(haptic rendering process)을 수행한다. 그래픽 렌더링 과정은 사용자에게 시각 정보를 제공하기 위한 것이고, 햅틱 렌더링 과정은 사용자에게 역감 및 촉감 정보를 제공하기 위한 것이다. 햅틱 렌더링 과정은 가상 환경 내에 있는 하나 또는 그 이상의 가상 객체의 역감 및 촉감을 표현하고, 사용자는 햅틱 인터페이스 장치를 통해 가상 환경과 상호작용을 하게 된다.
햅틱 렌더링 방법 중 대표적인 것인 형태 기반 햅틱 렌더링 방법(geometry dependent hatic rendering)은 객체의 기하학적 정보를 역감을 통해 제공하여 사용자가 가상의 객체를 실제로 만질 수 있게 해 주는 방법으로서, 충돌 검출(collision detection) 및 반력 계산(collision response) 등의 과정을 포함한다. 형태 기반 햅틱 렌더링 방법은 크게 곡면 기반 방법과 볼륨 기반 방법으로 나뉘어진다. 곡면 기반 방법은 폴리곤, 삼각 메쉬, NURBS 또는 음함수(implicit) 등으로 기술된 곡면 데이터를 위한 방법이고, 볼륨 기반 방법은 복셀(voxel) 등으로 기술된 볼륨 데이터를 위한 방법이다.
초기의 햅틱 렌더링 방법은 햅틱 디바이스의 접점인 햅틱 인터랙션 포인트(haptic interaction point, 이하 'HIP'라 한다)가 가상 객체를 관통한 정도를 나타내는 관통 깊이(penetration depth)를 이용하여 반력을 계산하였다. 그러나, 이 방법은 급격한 반력 변화 및 얇은 객체에 대해 적절한 반력을 계산할 수 없다는 문제점이 존재하였다. 이를 보완하기 위한 기술로서, 곡면을 따라 움직이는 이상적 햅틱 인터랙션 포인트(ideal haptic interaction point, 이하 'IHIP'라 한다)를 이용하여 반력을 계산하는 방법이 제안되었다.
그러나 종래의 햅틱 렌더링 방법은 다음과 같은 문제점이 존재하였다.
첫째, 가상 객체를 기술하는 방법에 따라 충돌 검출 및 반력 계산 방법이 달라진다는 문제점이 있다. 종래 기술에 있어서 가상 객체에 대해 햅틱 렌더링을 적용하기 위해서는 가상 객체를 삼각 메쉬로 연결하도록 하는 삼각 분할(triangulation) 또는 복셀로 연결하도록 하는 복셀화(voxelization)와 같은 데이터 변환을 수행하여야 하였다. 이로 인해 가상 환경 구축에 많은 시간을 필요로 하며 실시간 갱신되는 객체 데이터에 대해서는 적용하기 어려운 단점이 존재하였다.
둘째, 사용자에게 안정적인 역감 제시를 위해서는 상당히 빠른 햅틱 연산이 필요하나 종래 기술은 빠른 햅틱 연산이 어려운 문제점이 있다. 통상적으로 사용자에게 안정적인 역감을 제공하기 위해서는 1 KHz 이상의 햅틱 렌더링 속도가 요구되는 것으로 알려져 있다. 이는 30 Hz 내지 60 Hz로 변하는 영상 이미지에 비해 상당히 빠른 속도로서, 종래 기술은 상기와 같은 속도로 햅틱 연산을 수행하기 어려운문제점으로 인해 사용자에게 원활한 역감을 제공하지 못하는 문제점이 있었다.
상기와 같은 문제점을 해결하기 위해 본 발명은, 다양한 형태의 데이터로 기술된 가상 객체에 대해 일관된 방법으로 충돌 검출 및 반력 계산을 수행할 수 있도록 국부적인 객체의 형상 정보를 이용하여 충돌 검출 및 반력 계산을 수행할 수 있는 햅틱 렌더링 방법을 제공함을 그 목적으로 한다.
또한 본 발명은, 가상 객체로부터 형상 정보를 취득하여 이를 오브젝트 버퍼 및/또는 픽셀 버퍼에 저장하고, 가상 객체와의 충돌 여부를 검출하여 충돌이 발생한 경우 생성된 LOMI를 중심으로 반력을 계산하도록 하는 햅틱 렌더링 장치를 제공함을 그 목적으로 한다.
또한 본 발명은, 상기한 햅틱 렌더링 방법과 장치를 이용하여 가상 객체에 대한 햅틱 정보를 사용자에게 제시하도록 하는 햅틱 시스템을 제공함을 그 목적으로 한다.
상기한 목적을 달성하기 위해 본 발명은, 가상 환경 내의 가상 객체에 대한 햅틱 렌더링 방법에 있어서, (a) 상기 가상 객체의 데이터를 오브젝트 버퍼 또는 픽셀 버퍼에 할당하는 단계; (b) 상기 오브젝트 버퍼 또는 상기 픽셀 버퍼를 참조하여 햅틱 인터페이스 디바이스의 햅틱 인터랙션 포인트(HIP)가 상기 가상 객체와 충돌하는지 여부를 검출하는 단계; (c) 이상적 햅틱 인터랙션 포인트(IHIP)를 중심으로 상기 가상 객체에 대한 정보를 포함하는 임시적이고 국부적인 3차원 복셀로 이루어진 지역 점유맵 인스턴스(LOMI)를 생성하는 단계; 및 (d) 상기 HIP가 상기 가상 객체와 충돌한 경우 상기 LOMI에서의 상기 HIP의 벡터와 상기 IHIP의 벡터의 차이값을 이용하여 반력을 계산하는 단계를 포함하는 것을 특징으로 하는 햅틱 렌더링 방법을 제공한다.
또한, 본 발명은, 가상 환경 내의 가상 객체에 대한 햅틱 렌더링을 수행하는 햅틱 렌더링 장치에 있어서, 상기 가상 객체에 대한 객체 데이터(102)의 그래픽 데이터가 모델링 과정 및 선행 계산을 통해 잘 기술된 경우 이를 저장하는 오브젝트 버퍼(112)와, 상기 가상 객체에 대한 객체 데이터(102)가 잘 기술되지 않은 경우 추가적인 그래픽 렌더링을 통해 상기 객체 데이터(102)의 상기 그래픽 데이터를 N 면의 뎁스 이미지를 포함하는 정보로 하여 이를 저장하는 픽셀 버퍼(113)와, 상기 객체 데이터(102)의 상기 그래픽 데이터를 처리하여 N 면의 상기 뎁스 이미지를 포함하는 정보로 변환하는 시뮬레이션 엔진(114)을 포함하는 그래픽 처리 저장부(111); 및 상기 오브젝트 버퍼(112) 또는 상기 픽셀 버퍼(113)를 참조하여 햅틱 인터페이스 디바이스(130)의 햅틱 인터랙션 포인트(HIP)가 상기 가상 객체와 충돌하는지 여부를 판별하는 충돌 검출부(116)와, 이상적 햅틱 인터랙션 포인트(IHIP)를 중심으로 상기 가상 객체에 대한 정보를 포함하는 임시적이고 국부적인 3차원 복셀로 이루어진 지역 점유맵 인스턴스(LOMI)를 생성하는 LOMI 생성부(117)와, 상기 충돌 검출부(116)에서 상기 HIP와 상기 가상 객체의 충돌이 발생한 것으로 검출된 경우, 상기 LOMI를 참조하여 반력을 계산하는 반력 계산부(118)를 포함하는 햅틱 계산부를 포함하는 것을 특징으로 하는 햅틱 렌더링 장치를 제공한다.
또한, 본 발명은, 상술한 햅틱 렌더링 장치(110); 상기 햅틱 렌더링 장치(110)로부터 햅틱 정보를 전송받아 햅틱 인터페이스 디바이스(130)를 제어하는 햅틱 디바이스 제어부(120); 및 상기 햅틱 디바이스 제어부(120)의 제어에 따라 사용자에게 햅틱 정보를 제시하는 상기 햅틱 인터페이스 디바이스(130)를 포함하는 것을 특징으로 하는 햅틱 시스템을 제공한다.
용어의 정의
먼저 본 발명에서 사용되는 용어의 정의는 다음과 같다.
(1) 햅틱 렌더링이란 가상 환경에 대한 역감 또는/및 촉감 정보를 포함하는 촉각 정보를 제공하기 위한 연산 과정을 의미한다.
(2) 햅틱 인터랙션 포인트(Haptic Interaction Point, HIP)는 사용자의 촉각 말단부로서, 햅틱 인터페이스 디바이스를 이용할 경우 사용자의 촉각 말단부가 가상 환경 내에 위치하는 점을 의미한다. 사용자의 촉각 말단부는 햅틱 프로브(haptic probe)로 표현가능하며, 이는 햅틱 인터페이스 디바이스가 가상 객체와 접촉하는 포인트를 의미한다.
(3) 이상적 햅틱 인터랙션 포인트(Idea Haptic Interaction Point, IHIP)는 'god-object', 'proxi point', 또는 'surface contact point'라고도 불리는 것으로서, 가상 객체의 곡면의 구속 조건에 따라 움직이는 점을 의미한다. HIP는 객체를 통과할 수 있으나 IHIP는 가상 객체의 표면에 머무르게 된다.
(4) 지역 점유맵 인스턴스(Localized Occupancy Map Instance, LOMI)는 시공간상의 임시적인 작은 크기의 점유맵으로서, IHIP에 중심을 둔 것이다. 일반적으로 점유맵(Occupancy Map)이란 복셀(voxel) 기반의 데이터에 대한 햅틱 렌더링 방법에 사용되는 것으로서, 복셀화된 직각 3차원 격자이다. 3차원 격자는 기억 소자들로 이루어지며, 각각의 기억 소자는 각각의 복셀에 할당되고 할당된 복셀의 타입이나 주소를 포함한다. 기존의 점유맵은 객체 전체에 대한 복셀 기반의 데이터임에 비해, 본 발명에서 사용되는 지역 점유맵 인스턴스(LOMI)는 IHIP에 중심을 둔 작은 크기의 임시적인 점유맵이다.
본 발명의 특징
본 발명을 이루는 기본적인 특징은 다음과 같다.
종래 햅틱 렌더링 방법은 가상 객체의 표현 양식에 따라 다양한 방법의 햅틱 렌더링 과정을 수행하여야 하기 때문에, 주어진 가상 객체를 통합이나 재구성 등과 같은 추가적인 작업을 통해 일관된 데이터셋(dataset)이 마련되어야 하는 문제점이 있었다.
본 발명은 이를 해소하기 위해 2.5D나 3D 형태의 어떠한 형태의 데이터셋에 대해서도 추가적인 노력없이 빠른 충돌 검출과 반력 계산이 가능한 새로운 햅틱 렌더링 방법 및 그 장치를 제공한다. 햅틱 상호작용에 있어서 주어진 햅틱 프로브(haptic probe), 즉 햅틱 장치에 따른 접촉 포인트는 가상 객체의 작은 부분과 상호작용을 하게 된다. 따라서 주어진 포인트 근처의 특정 가상 객체에 대한 국부적인 형상 정보만을 사용하여 충돌 검출과 반력 계산을 수행할 수 있다. 또한 픽셀버퍼에 할당되는 가상객체(즉, 잘 마련된 객체 데이터를 갖고 있지 못한 경우)에 대해 그래픽 하드웨어로부터 국부적인 형상 정보를 취득하기 위해 본 발명은 HIP와 근접한 가상 객체 부분에 대한 깊이 정보를 얻을 수 있도록 주변의 가상 카메라(입체 정보를 얻기 위해서는 6대의 가상 카메라)를 사용하는 형식을 취하였다.
지역적인 깊이 정보를 이용하여, HIP와 가상 객체와의 충돌은 그 깊이를 비교함으로써 쉽게 검출될 수 있다. 한편 충돌 검출에 따른 반력 계산은 지역 점유맵 인스턴스(LOMI)를 이용하여 수행하고 햅틱 렌더링 주기에 따라 계속적으로 업데이트된다.
본 발명은 지역적인 정보 처리로 인해 햅틱 렌더링 속도를 빠르게 할 수 있 으며, 그래픽 하드웨어를 이용한 어떠한 데이터 계층을 필요로 하지 않고, 그래픽 하드웨어에 의해 시각적으로 렌더링되는 초기 또는 포괄적인 데이터셋과 사용자가 상호작용을 할 수 있도록 하는 햅틱 렌더링 방법 및 장치와 그 시스템을 제공한다.
이하, 본 발명의 바람직한 실시예를 첨부된 도면들을 참조하여 상세히 설명한다. 우선 각 도면의 구성 요소들에 참조 부호를 부가함에 있어서, 동일한 구성 요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다. 또한, 이하에서 본 발명의 바람직한 실시예를 설명할 것이나, 본 발명의 기술적 사상은 이에 한정하거나 제한되지 않고 당업자에 의해 변형되어 다양하게 실시될 수 있음은 물론이다.
햅틱 시스템
도 1은 본 발명의 바람직한 실시예에 따른 햅틱 시스템의 블록도이다.
본 발명의 바람직한 실시예에 따른 햅틱 시스템(100)은, 햅틱 렌더링 장치(110), 햅틱 디바이스 제어부(120), 햅틱 인터페이스 디바이스(130), 그래픽 렌더링 장치(140), 및 그래픽 디스플레이(150)를 포함한다.
햅틱 렌더링 장치(110), 햅틱 디바이스 제어부(120), 및 그래픽 렌더링 장치(140)는 각각 개별적으로 구성될 수도 있으나, 통상적인 컴퓨터 하드웨어에서 관 련 소프트웨어의 도움 아래 각각의 기능이 수행될 수 있음은 물론이다. 컴퓨터 하드웨어는 일반적인 컴퓨터, 노트북 또는 데스크탑 컴퓨터, 워크스테이션 등 다양한 형태의 컴퓨터일 수 있고, 이는 관련 소프트웨어를 구동하여 적절한 연산 및 제어 기능을 수행할 수 있도록 구성된다. 컴퓨터 하드웨어는 하나 이상의 중앙 처리 장치와, 입출력 수단, 및 인터넷이나 랜 등에 연결될 수 있는 통신 수단이 구비된다. 또한, 상기 햅틱 렌더링 장치(110), 햅틱 디바이스 제어부(120), 및 그래픽 렌더링 장치(140)는 각각의 기능을 담당하는 멀티 스레드(multi-thread) 형태로 구현될 수 있다.
본 발명의 바람직한 실시예에 다른 햅틱 시스템(100)에는 객체 데이터(102)가 전달되고, 객체 데이터(102)는 햅틱 렌더링 장치(110)와 그래픽 렌더링 장치(140)의 처리를 통해 햅틱 인터페이스 디바이스(130)와 그래픽 디스플레이(150)를 통해 사용자에게 제시된다. 객체 데이터(102)는 가상 환경에 대한 정보가 포함되는데, 가상 환경의 형태(geometry) 정보, 가상 환경의 특정 개체의 거칠기나 탄성 등에 대한 재료 특성(material property) 정보, 가상 환경에 대한 제약 조건(constraint) 정보 등을 포함할 수 있다.
그래픽 렌더링 장치(140)는 주어진 객체 데이터 중 그래픽 이미지를 처리하여 그래픽 디스플레이(150)에 객체가 시각적으로 표현되도록 하는 기능을 수행한다. 이러한 그래픽 렌더링 장치(140)는 그래픽 엔진(142)을 포함하여 주어진 객체 데이터를 처리하여 그래픽 디스플레이(150)에 전달한다. 그래픽 엔진(142)은 2.5D 또는 3D로 표현된 객체 데이터(102)의 영상 정보를 처리하여 사용자가 그래픽 디스 플레이(150)의 2D 스크린을 통해 볼 수 있도록 한다. 이러한 기능의 그래픽 엔진(142)의 구현은 종래의 그래픽 렌더링 장치 및 방법을 통해 구현될 수 있는바 보다 상세한 설명은 생략하기로 한다.
햅틱 렌더링 장치는(110), 잘 마련된 객체 데이터(102)를 저장하는 오브젝트 버퍼(112), 그렇지 않은 객체 데이터(102)의 경우 추가적인 그래픽 렌더링을 통해 N 면의 뎁스 이미지(depth image)를 포함하는 정보로 변환된 후 이를 저장하는 픽셀 버퍼(113), 그래픽 데이터를 처리하여 N면의 뎁스 이미지를 포함하는 정보로 변환하는 시뮬레이션 엔진(114)을 포함하는 그래픽 처리 저장부(111)를 구비한다. 또한, 햅틱 렌더링 장치(110)는 오브젝트 버퍼(112) 또는 픽셀 버퍼(113)에 저장된 정보를 바탕으로 HIP와 가상 객체와의 충돌을 검출하는 충돌 검출부(116), 충돌 검출부(116)에서 계산된 정보를 바탕으로 LOMI를 생성하는 LOMI 생성부(117), 및 충돌 발생에 따라 HIP에 가해지는 반력을 계산하는 반력 계산부(118)를 포함하는 햅틱 계산부(115)를 구비한다.
햅틱 렌더링 장치(110)에서 처리된 충돌 및 반력에 따른 정보는 햅틱 디바이스 제어부(120)로 전달되고, 햅틱 디바이스 제어부(120)는 햅틱 인터페이스 디바이스(130)를 제어하여 사용자에게 역감 및/또는 촉감을 제공하게 된다. 또한 햅틱 인터페이스 디바이스(130)의 프로브의 위치 정보나 햅틱 인터페이스 디바이스(130)에 사용자에 의해 가해지는 힘(effect force)에 대한 정보는 햅틱 디바이스 제어부(120)로 전달될 수 있다.
햅틱 디바이스 제어부(120)는 A/D 컨버터(122)를 통해 햅틱 인터페이스 디바 이스(130)의 위치 정보를 획득한 후, 운동 검출부(124)에서 순기구학적 해석을 통해 엔드 이펙터의 위치를 의미하는 HIP의 값을 계산한다. 계산된 HIP는 햅틱 디바이스 제어부(120)의 컨트롤 버퍼(미도시)에 저장된다. 한편, 햅틱 디바이스 제어부(120)는 햅틱 렌더링 장치(110)로부터 전달된 반력 정보도 컨트롤 버퍼에 저장하게 되는데, 안정화 제어부(126)는 컨트롤 버퍼에 저장된 반력 정보를 참조하여 사용자에게 안정적으로 제시할 수 있는 힘을 계산한다. 계산된 힘은 자코비안(jacobian) 연산을 통해 햅틱 인터페이스 디바이스(130)의 액츄에이터에서 발생시켜 주어야 할 커맨드 토크로 변환된 후 D/A 컨버터(128)를 통해 햅틱 인터페이스 디바이스(130)로 전달된다. 햅틱 디바이스 제어부(120)의 제어 기능에 대해서는 본 출원의 발명자가 출원하여 등록된 대한민국 등록특허 제538351호에 구체적으로 제시되어 있으며, 본 발명의 실시에 있어서 상기 특허의 내용이 본 발명에 포함되는 것으로 이해되어야 한다.
본 발명의 주요한 특징은 전술한 바와 같이 객체 데이터를 처리하여 효과적인 충돌 검출 및 반력 계산을 수행하는데 있는바 이하에서는 햅틱 렌더링 장치(110)의 주요 구성에 대한 구체적인 설명 및 본 발명에 따른 햅틱 렌더링 방법을 설명하도록 한다.
구체적인 햅틱 렌더링 방법
도 2는 본 발명의 바람직한 실시예에 따른 햅틱 렌더링 방법을 개괄적으로 도시한 순서도이다.
먼저 객체 데이터(102)에 대해 추가적인 그래픽 렌더링을 수행하여 가상 객체의 뎁스 이미지를 획득하고 가상 객체의 뎁스 이미지에 대한 픽셀 정보를 픽셀 버퍼(113)에 저장한다(S200). 이 단계에 있어서, 가상 객체에 대해 충분히 기술되어 잘 알려져 있는 경우에는 가상 객체에 대한 정보를 오브젝트 버퍼(112)에 저장하여 활용할 수 있다.
다음으로 충돌 검출부(116)는 오브젝트 버퍼(112) 및/또는 픽셀 버퍼(113)를 참조하여 HIP가 가상 객체와 충돌하는지 여부를 검출한다(S202). HIP와 가상 객체의 충돌 여부는 HIP가 가상 객체의 내부에 있는지 여부를 확인함으로써 이루어진다.
한편, LOMI 생성부(117)는 IHIP를 중심으로 LOMI를 생성한다(S204).
충돌 검출부(116)에서 HIP와 가상 객체와의 충돌을 검출한 경우 반력 계산부(118)는 LOMI 내에서의 HIP와 IHIP의 벡터의 차이값을 이용하여 HIP에 가해질 반력을 계산한다(S206).
이러한 과정에 있어서, 햅틱 디바이스 제어부(120)는 햅틱 인터페이스 디바이스(130)의 프로브의 위치, 즉 HIP의 위치값을 햅틱 렌더링 장치(110)로 제공하고, 햅틱 렌더링 장치(110)는 HIP가 가상 객체와 충돌한 경우 발생하는 반력에 대한 정보를 햅틱 디바이스 제어부(120)로 전달하여 햅틱 디바이스 제어부(120)가 햅틱 인터페이스 디바이스(130)를 제어할 수 있도록 한다.
다음에서는 상기 각 단계에 대해 구체적으로 설명하도록 한다.
뎁스 이미지 획득 및 픽셀 버퍼 저장
객체 데이터(102)의 그래픽 정보가 삼각 메쉬, 음함수 곡면, 또는 복셀 데이터 등과 같이 모델링 과정 및 선행 계산을 통해 이미 잘 기술된 경우에는 오브젝트 버퍼(112)에 저장되어 햅틱 연산을 수행할 수 있게 된다. 예컨데, 객체가 삼각 메쉬로 표현된 경우에 객체를 나타내기 위한 정점(vertex)과 삼각형 면(face)의 집합을 통해 나타나는 데이터가 오브젝트 버퍼(112)에 저장된다. 오브젝트 버퍼(112)에 저장된 데이터의 경우에는 별도의 처리 과정없이 충돌 검출을 수행할 수 있다. 즉, 객체에 대한 정보가 충분히 표현되어 있기 때문에 충돌 검출부(116)는 HIP의 위치가 객체의 내부에 있는지 혹은 외부에 있는지를 판단하여 HIP가 객체의 내부에 위치하는 경우 충돌을 검출한다.
그러나, 객체에 대해 충분히 기술되지 않은 경우, 또는 객체에 대해 충분히 기술되어 있더라도 빠른 충돌 검출을 하고자 하는 경우에는 픽셀 버퍼(113)를 이용하여 충돌 검출을 수행할 수 있다. 픽셀 버퍼(113)는 객체의 그래픽 데이터를 처리하여 3차원 픽셀로 전환하여 저장한다. 이를 위해 시뮬레이션 엔진(114)이 구비된다. 시뮬레이션 엔진(114)은 객체의 그래픽 데이터를 처리하여 픽셀로 변환하는 기능을 수행한다. 시뮬레이션 엔진(114)은 일종의 3D 그래픽 API(application programming interface)로 이해될 수 있으며 대표적인 예로서 OpenGL, DiretX, 및 Java 3D를 들 수 있다. 각각의 픽셀은 가로, 세로 및 깊이 방향의 위치 정보를 포함하며, RGB 값도 포함할 수 있다. 이러한 픽셀 버퍼는 시각적으로 렌더링될 수 있 는 모든 객체에 사용될 수 있으며, 기존의 그래픽 프로그램 소스를 이용하여 사용자에게 역감을 제공할 수 있는 편의성이 있다.
픽셀 버퍼(113)에 할당된 객체는 추가적인 그래픽 렌더링을 통해 픽셀 버퍼(113)에 저장되는데, 다음의 두 가지 방법에 의해 수행될 수 있다. 첫 번째는 햅틱 렌더링을 수행하기 전에 객체의 전체 영역을 저장하는 것이고, 두 번째는 매 그래픽 렌더링마다 객체의 국부 영역을 저장하는 것이다. 전자는 정적 및 동적 객체에 사용될 수 있으며, 후자는 정적, 동적, 변형 가능한 객체 및 실시간으로 갱신되는 데이터에도 사용될 수 있다. 이러한 방법으로 픽셀 버퍼(113)는 N 면의 뎁스 이미지(depth image)를 포함하게 된다. 일반적으로 전체 영역을 대상으로 할 경우 해당되는 객체의 바운딩 박스 6 면에 위치한 가상 카메라(virtual camera)를 통해 6 면의 뎁스 이미지를 저장하며, 국부 영역을 대상으로 할 경우 특정 포인트를 포함하는 바운딩 박스 6 면에 위치한 가상 카메라를 통해 뎁스 이미지를 저장한다.
도 3는 본 발명의 바람직한 실시예에 따른 햅틱 렌더링 방법에 있어서 가상 카메라를 이용한 뎁스 이미지의 획득 상황을 도시한 사시도이다.
가상 객체(310)에 대한 6 면의 뎁스 이미지를 획득하기 위하여 6 대의 가상 카메라(320a, 320b, 330a, 330b, 340a, 340b)를 작업 공간(300)(즉, 객체의 바운딩 박스)의 주위에 배치한다. 가상 객체(310)를 바라보는 각각의 가상 카메라(320a, 320b, 330a, 330b, 340a, 340b)는 작업 공간(300)의 직교면에 위치한다. 여기서 상기 작업 공간(300)의 볼륨(volume)은 햅틱 인터페이스 디바이스(130)의 프로브(probe, 미도시)가 이동하는 물리적 공간을 대상으로 할 수 있다. 이는 가상 객 체(310)의 뎁스 이미지는 결국에는 햅틱 인터페이스 디바이스(130)에 햅틱 정보를 제공하기 위한 것이기 때문이다. 이러한 작업 공간(300)은 햅틱 인터페이스 디바이스(130)와 관련되기 때문에 '햅틱 작업 공간'이라 호칭할 수 있다. 만약 가상 환경이 작업 공간(300)보다 너무 넓거나 좁은 경우에는 가상 객체(310)가 작업 공간(300)에 충분히 위치할 수 있도록 적절한 비율이 상기 가상 환경에 적용되는 것이 바람직하다.
가상 객체(310)의 뎁스 이미지를 획득하기 위하여 클리핑 볼륨(clipping volume, 350)에 대해 가상 카메라(320a, 320b, 330a, 330b, 340a, 340b)에 의해 추가적인 그래픽 렌더링이 수행된다. 상기 클리핑 볼륨(350)이란 작업 공간(300)에 있어서 뎁스 이미지를 획득할 대상을 지칭하는 것으로 이해될 수 있다. 즉, 작업 공간(300) 전체에 대해 뎁스 이미지를 획득하는 것이 아니라 작업 공간(300) 중 특정 부분에 대한 뎁스 이미지를 획득하여 픽셀 정보로 저장하도록 하는 것이다.
여기서 상기 클리핑 볼륨(350)의 중심은 IHIP가 되는 것이 바람직한데, 이는 햅틱 렌더링은 가상 객체(310)와 햅틱 인터페이스 디바이스(130)의 프로브와의 사이에서 주로 발생하기 때문이다. 여기서 클리핑 볼륨(350)의 크기는 연속적인 그래픽 렌더링에 있어서 IHIP의 움직임을 잡아낼 수 있도록 충분히 커야 한다. 따라서, 클리핑 볼륨(350)의 크기는 다음의 수학식 1과 같이 결정될 수 있다.
Figure 112006057680736-pat00001
여기서 'DeviceSpeedmax'는 햅틱 인터페이스 디바이스(130)의 프로브의 최고 이동 속도이다.
한편, 클리핑 볼륨(350)의 특정 면에 대해 추가적인 그래픽 렌더링이 수행될 윈도우(window)의 크기, 즉 픽셀의 수는 다음의 수학식 2에 의해 결정될 수 있다.
Figure 112006057680736-pat00002
여기서, 'Desired Haptic Resolution'은 오브젝트 좌표계의 픽셀 크기이다. 만약, 'Desired Haptic Resoltion'이 0.2 mm이고, 클리핑 볼륨(350)의 크기가 10 mm 이라면, 추가적인 그래픽 렌더링은 적어도 50×50 픽셀의 윈도우에 대해 수행되어야 한다.
상기 클리핑 볼륨(350)과 상기 윈도우에 대해 비교 설명하면, 클리핑 볼륨(350)은 추가적인 렌더링이 수행될 가로, 세로 및 높이에 대한 크기를 표시한 개념이고, 상기 윈도우는 상기 클리핑 볼륨(350)의 특정 면을 몇 개의 픽셀로 구분할 것인가에 관한 개념으로 이해될 수 있다.
이상의 과정을 통해 가상 객체의 특정 부분을 포함하는 클리핑 볼륨(350)에 대해 취득된 픽셀 정보는 픽셀 버퍼(113) 저장된다. 픽셀 버퍼(113)에 저장되는 가상 객체의 픽셀 정보는 매 햅틱 연산마다 갱신되는 것으로 이해된다. 한편, 상술한 바와 같이 픽셀 정보를 취득하는 방법은 후술하는 LOMI의 생성에 있어서도 적용할 수 있다. 한편, 이상에서의 설명은 픽셀 버퍼(113)에 저장되는 가상 객체의 픽셀 정보를 취득하기 위한 일례에 대한 것으로서, 이는 본 발명을 한정하기 위한 것임은 아님은 물론이다. 따라서, 픽셀 버퍼(113)에는 상기한 방법 외의 다양한 방법에 의해 가상 객체의 픽셀 정보가 저장될 수 있음을 주지하여야 한다.
충돌 검출 방법
다음으로 주어진 HIP에 대한 충돌 검출 방법을 설명하도록 한다.
충돌 검출부(116)는 오브젝트 버퍼(112) 및 픽셀 버퍼(113)를 참조하여 주어진 HIP가 객체의 내부에 있는지 외부에 있는지를 판별한다. 오브젝트 버퍼(112)에 저장된 객체 정보를 이용하여 충돌 검출을 수행하는 방법은 종래 다양한 방법이 제안되었으므로 이에 대한 추가적인 설명을 생략하고, 픽셀 버퍼(113)를 참조하여 충돌 검출을 수행하는 방법에 대해 구체적으로 설명한다. 픽셀 버퍼(113)를 참조한 충돌 검출은 주어진 HIP가 N 면의 뎁스 이미지 내부에 있는지 여부를 확인함으로써 이루어진다. 이것은 가상 카메라(320a, 320b, 330a, 330b, 340a, 340b)를 통해 보았을 때 주어진 HIP가 객체의 내부에 위치함을 의미한다. 이 과정을 자세히 설명하면 다음과 같다.
도 4a는 본 발명의 바람직한 실시예에 따른 햅틱 렌더링 방법에 있어서 픽셀 좌표계와 오브젝트 좌표계에 대한 가상 객체와 HIP의 관계를 x-y 평면에 대해 표시한 도면이고, 도 4b는 본 발명의 바람직한 실시예에 따른 햅틱 렌더링 방법에 있어서 픽셀 좌표계와 오브젝트 좌표계에 대한 가상 객체와 HIP의 관계를 도시한 사시도이고, 도 4c는 본 발명의 바람직한 실시예에 따른 햅틱 렌더링 방법에 있어서 오 브젝트 좌표계의 y-z 평면에 대한 가상 객체와 HIP의 관계를 도시한 도면이다.
가상 객체(310)에 대한 6면의 뎁스 이미지를 획득하면, 즉 픽셀 버퍼(113)에 가상 객체(310)의 뎁스 이미지를 저장하게 되면, 픽셀 좌표계(300)에서의 픽셀의 위치를 오브젝트 좌표계(310)의 위치로 변환함으로써 HIP와 가상 객체(310)와의 충돌을 용이하게 검출할 수 있다. 가상 객체(310)는 기본적으로 오브젝트 좌표계(310)를 기준으로 표시되고, 픽셀 버퍼(113)에 저장하기 위한 추가적인 그래픽 렌더링 과정을 거침에 따라 픽셀 좌표계(300)에 대해서도 표시된다. 픽셀 좌표계(300) 및 오브젝트 좌표계(310)의 관계는 사용된 가상 카메라의 파라미터에 의해 결정된다.
가상 객체(310)와 HIP의 충돌 여부에 대한 검출은 픽셀 버퍼(113)에 저장된 6면의 뎁스 이미지에 대해 수행된다. 3D 가상 객체의 경우 실제적으로는 3 면, 즉 x, y, z의 깊이 방향에 대해 충돌 여부를 검출하면 된다. 이러한 충돌 검출에 있어서 x-y 평면, 즉 z 깊이 방향에 대한 충돌 검출을 예로 들어 설명한다.
먼저 뎁스 이미지에 대해 주어진 HIP에 해당하는 픽셀을 찾는다. 도 4a를 참조하면, x-y 평면에 있어서의 HIP의 위치에 해당하는 픽셀을 찾는 것을 도시하였다.
다음으로 픽셀에 저장된 깊이 값을 오브젝트 좌표계(310)로 변환한다. 이는 픽셀 좌표계(300)로 표현된 픽셀의 깊이 값을 오브젝트 좌표계(310)로 변환하는 것을 의미한다. 이에 따라 주어진 x 및 y 위치에서의 z 축에 대한 배경 장면에서의 위치가 얻어진다. 이러한 과정은 도 4b를 참조하면 쉽게 이해할 수 있다.
일반적으로 픽셀에 저장되는 깊이 값은 0과 1 사이의 값을 갖도록 하는데, 직교사영(Orthogonal projection)의 경우 근절단평면(near clipping plane)부터 원절단평면(far clipping plane)까지 선형적으로 맵핑된다. 이에 반해 투시사영(perspective projection)의 경우 다음의 수식과 같이 맵핑된다.
Figure 112006057680736-pat00003
상기 수식에서, 'Z'는 오브젝트 좌표계(310)에서의 깊이값을, 'c'는 오브젝트 좌표계(310)에서의 가상 카메라(320a)의 위치를, 'Zfar'는 오브젝트 좌표계(310)에서의 원절단평면의 깊이값을, 'Znear'는 오브젝트 좌표계(310)에서의 근절단평면의 깊이값을, 'd'는 픽셀 좌표계(300)에서의 깊이값을 나타낸다.
상술한 설명에 있어서, 픽셀의 깊이 값을 획득하는 하나의 예로서 'OpenGL'을 들 수 있다. 'OpenGL'은 특정 오브젝트 좌표계를 현재의 모델뷰(modelview), 프로젝션 행렬(projection matrices) 및 현재의 뷰포트(viewport)를 이용하여 윈도우 좌표계(본 발명에 있어서는 '픽셀 좌표계'에 해당)로 변환하는 매핑 함수 'gluProject'를 제공한다. 상기 변환 행렬 및 뷰포트는 'glGetDoublev'와 'glGetIntegerv'에 의해 각각 얻어질 수 있다. 매핑 함수에 의해 변환된 픽셀의 값은 할당 메모리에 저장된다. 그런 후 상기 픽셀에 할당된 깊이 값을 얻기 위하여, 'OpenGL glReadPixels'를 사용하는데, 이는 프레임 버퍼로부터 픽셀 블록을 읽어 뎁스 버퍼로 깊이 값을 리턴한다. 각각의 깊이는 최소값이 0이 되고, 최대값은 1이 되도록 변환되어 표준화된 값으로 된다.
마지막으로, 도 4c를 참조하면, 오브젝트 좌표계(300)로 변환된 깊이값을 주어진 HIP의 깊이값과 비교하여 주어진 HIP가 뎁스 이미지의 내부에 있는지를 판별한다. 도 4c에서는 z 축에서의 깊이 값을 비교하여 충돌 여부를 판발하는 것을 도시하였는데, 이러한 과정은 x 축 및 y 축에 대해서도 수행되어 3D의 가상 객체(310)와 HIP의 충돌을 검출할 수 있다.
상기와 같은 방법에 의하면 HIP가 가상 객체(310)의 내부에 있는지, 즉 충돌이 발생했는지 여부를 용이하게 판별할 수 있다. 그러나, 이러한 방법은 얇은 객체에 대해 HIP가 매우 짧은 시간(예컨대, 1회의 햅틱 계산 시간과 같은) 동안 통과해 버리는 경우나, 장면이 순간적으로 변하는 경우 등에 있어서는 HIP와 객체 간의 충돌을 검출할 수 없는 단점이 있다.
이러한 문제는 과거와 현재의 HIP를 잇는 HIP 경로의 라인선분(line segment)과 객체간의 충돌을 검사함으로써 해소할 수 있다. 라인선분을 이용한 충돌 검출 방법을 설명함에 있어서 HIP가 이동하여 충돌이 발생하는 경우와 객체가 이동하여 충돌이 발생하는 경우를 예를 들어 설명하도록 한다.
도 5는 본 발명의 바람직한 실시예에 따른 햅틱 렌더링 방법에 있어서 HIP가 이동함에 따른 충돌 검출 방법을 설명하기 위한 도면이다.
도 5의 (a)를 참조하면, 먼저 이전 시간 t-1에서의 IHIPt - 1와 현재 t에서의 IHPt를 연결하는 라인 선분을 생성한다. 만일 이전 시간 t-1에서 충돌이 발생하지 않은 경우에는 IHIPt -1은 HIPt -1과 일치한다. 왜냐하면 IHIP는 가상 객체(310) 표면의 구속 조건에 따라 움직이는 것으로서, HIP가 가상 객체(310)와 충돌하지 않은 경우에는 HIP와 IHIP는 일치하고 HIP가 가상 객체(310)와 충돌한 경우에는 IHIP는 HIP와 가장 가까운 가상 객체(310)의 표면에 존재하도록 제한되기 때문이다.
다음으로 생성된 라인선분상에 일정 간격을 가지는 포인트들을 생성시킨다. 상기 일정 간격은 햅틱 렌더링 속도를 고려하여 결정하는 것이 바람직한데, 이후에서 설명하는 LOMI 내의 복셀 크기를 사용하는 것도 가능하다.
도 5의 (b)를 참조하면, 마지막으로 IHIPt - 1으로부터 HIPt -1까지 생성된 포인트들에 대해 순차적으로 전술한 충돌 검사를 수행한다. 만약 가상 객체(310) 내부에 존재하는 포인트가 발견되면 충돌 검출을 선언하고 최초의 충돌이 발생한 내부 포인트를 임시 IHIP(temporal IHIP)로 지정한다.
상술한 경우와는 반대로 정지된 HIP에 대해 가상 객체(310)가 이동하여 충돌이 발생하는 경우에 대해 설명한다. 이러한 경우에는 도 5의 (c)에 도시된 바와 같이 HIPt와 IHIPt -1가 일치하기 때문에 HIP의 경로에 대한 라인선분을 생성시킬 수 없다. 따라서, 얇은 가상 객체(310)가 매우 짧은 시간 동안 HIP를 지나갈 경우 충돌을 검출할 수 없다. 이를 보완하기 위해 IHIPt -1 대신 쉬프트(shifted) IHIPt - 1를사용하여 라인 선분을 생성시킨다. 여기서 쉬프트 IHIPt - 1는 도 5의 (d)를 참조하면, 가 상 객체(310)의 운동을 참조하여 IHIPt - 1를 강체 운동시킨 포인트를 의미한다. 이것은 고정된 HIP에 대해 가상 객체(310)가 이동하여 충돌이 발생한 상황은 고정된 가상 객체(310)에 대해 HIP가 정 반대로 이동하여 충돌이 발생한 상황과 일치함을 의미한다. 도 5의 (e)를 참조하면 이후의 충돌검출 및 임시 IHIP를 지정하는 방법은 앞의 경우와 동일하다.
반력 계산
본 발명에 있어서 HIP와 가상 객체(310)의 충돌이 발생한 경우의 반력 계산은 LOMI를 이용한다. LOMI는 매우 작은 크기의 임시적인 점유맵으로서 햅틱 렌더링에 필요한 최소한의 크기로 생성되며 실시간으로 갱신된다.
도 6는 본 발명의 바람직한 실시예에 따른 햅틱 렌더링 방법에 사용되는 LOMI의 일례를 도시한 도면이다.
LOMI(600)는 시공간상의 임시적인 점유맵 인스턴스로서, 복셀 기반의 데이터에 대한 햅틱 렌더링 방법에서 사용되는 복스맵(voxmap)과 유사하다. LOMI(600)는 직육면체의 3D 격자로 이루어지는데, 각각의 격자는 2가지 또는 3가지 타입의 복셀을 포함하는 메모리 셀(memory cell) 구조로 이루어진다. 각각의 격자를 2 가지 타입의 복셀로 나눌 경우에는 객체의 외부 공간에 대한 복셀과 객체를 포함하는 부분에 대한 복셀로 표현하고, 3 가지 타입의 복셀로 나눌 경우에는 외부 공간, 내부 공간, 및 표면 공간에 대한 복셀로 표현할 수 있다. LOMI(600)는 메모리 셀의 집합 으로 나타낼 수 있으므로 각각의 복셀에 대해서는 일정한 값을 할당하여 각 복셀의 타입을 구분할 수 있다. 도 5에서는 LOMI(600)를 외부 공간, 내부 공간, 및 표면 공간으로 나누고, 외부 공간에는 '0'을, 내부 공간에는 '2'를, 표면 공간에는 '1'을 할당한 예를 도시하였다. 물론, LOMI(600)의 복셀을 2 가지 타입으로 구분할 경우에는 외부 복셀에는 '0'을, 내부 복셀과 표면 복셀은 모두 '1'을 할당하도록 하는 것도 가능하다. 이 때, LOMI(600) 좌표계를 구성하는 원점과 단위 벡터들이 오브젝트 좌표계에 대해 기술되도록 한다.
LOMI(600)를 생성하기 위해서는 픽셀 버퍼(113)에 객체의 일부를 저장하는 방법과 유사한 방법이 사용될 수 있다. 본 발명에서 제안되는 LOMI(600)는 전체 가상 환경을 포함하는 전체 복스맵이 아니라 가상 객체의 일부 표면을 포함하는 지역적인 작은 영역의 복스맵이다. 이에 따라 LOMI(600)를 생성하는 시간이 적게 소요된다.
이러한 LOMI(600)는 충돌 검출에서 지정된 임시 IHIP를 중심으로 설정된다. 이 때 LOMI(600)는 일회의 햅틱 이터레이션(single haptic iteration) 시간 동안 IHIP가 움직일 수 있는 모든 범위를 포함하여야 한다. 이는 LOMI(600)는 IHIP를 HIP에 가장 가까운 표면 복셀(또는 외부 복셀)에 위치시키기 위해 사용되기 때문이다. 따라서, 햅틱 렌더링 속도와 사용자가 햅틱 디바이스를 조작하는 최대 속도를 고려하여 LOMI(600)의 크기는 다음과 같이 설정하는 것이 바람직하다.
Figure 112006057680736-pat00004
만약 LOMI(600)의 크기가 일회의 햅틱 이터레이션 시간 동안 IHIP가 움직일 수 있는 범위보다 작은 경우에는 IHIP의 위치를 놓칠 수 있는 문제가 발생한다. 이에 따라 사용자는 최대속도에서 불필요한 저항(drag force)을 느끼게 된다. 예를 들어 사용자의 최대 조작 속도가 1m/sec라 가정하면 1KHZ의 햅틱 렌더링 속도에 대해 적어도 2 mm의 크기를 가지는 LOMI(600)를 사용하여야 한다. 만일 0.5 mm 크기의 복셀을 사용한다면 LOMI는 총 4×4×4 개의 복셀을 포함하게 된다. 복셀의 크기는 사용되는 컴퓨터의 연산 능력을 고려하여 결정한다.
LOMI(600)를 생성하는 방법을 요약하면 다음과 같다.
먼저 LOMI의 크기를 결정한다. LOMI의 크기에는 복셀의 수와 복셀의 크기가 포함된다.
다음으로 LOMI를 초기화한다. LOMI를 초기화하는 방법으로는 모든 복셀에 대해 '0'을 할당하거나 '1'을 할당하는 방법을 사용할 수 있다.
LOMI의 각 면에 대해서 가상 객체의 깊이 값을 읽어온다. OpenGL을 이용할 경우에는 'gluProject'와 'glReadPixels' 함수를 이용할 수 있다. 'gluProject' 함수는 클리핑 윈도우에서의 픽셀을 찾아내고, 'glReadPixels' 함수는 LOMI에 대해 깊이 정보를 독출한다.
LOMI의 각 면에 대한 깊이 값을 이용하여 LOMI의 각 복셀이 내부 복셀인지, 외부 복셀인지 등의 여부를 결정한다.
이렇게 생성된 LOMI를 참조하여 반력을 계산하는 과정을 설명하면 다음과 같다.
도 7은 본 발명의 바람직한 실시예에 따른 햅틱 렌더링 방법에 있어서 반력 계산을 수행하는 과정을 도시한 도면이다.
전술한 바와 같이 HIP가 가상 객체의 외부에 존재하는 경우에는 HIP와 IHIP의 위치는 상호 일치한다. 만약 HIP와 가상 객체와의 충돌이 검출되면, HIP와 IHIP는 상호 분리되고, 충돌에 따른 반력은 HIP와 IHIP의 분리에 따른 벡터에 의해 계산된다.
각각의 햅틱 연산 싸이클에 있어서, LOMI, HIP, IHIP는 햅틱 렌더링 주기마다 계속 갱신된다. 충돌이 검출되기 전에는 HIP와 일치한 상태의 IHIP를 중심으로 LOMI를 생성한다. 도 7에 도시된 바와 같이, t-1 시간에서의 LOMIt -1은 IHIPt -1을 중심으로 생성된다.
시간 t에서 충돌이 검출되는 경우 HIPt는 객체의 내부에 관통한 상태이나, IHIPt는 IHIPt - 1를 중심으로 하여 생성된 LOMIt -1을 참조하여 객체의 표면에 존재한다. 여기서 IHIPt는 LOMIt -1에서의 HIPt와 가장 가까운 표면 복셀의 위치로 된다. 만약 가상 객체의 두께가 얇은 이유로 HIP가 짧은 시간 동안 가상 객체를 뚫고 지나가 버릴 경우에는 전술한 바와 같이 임시 IHIP를 생성하게 되는데, 이런 경우에는 IHIPt는 임시 IHIPt -1을 중심으로 하여 생성된 LOMIt -1을 참조하여 HIPt와 가장 가까운 객체의 표면 복셀에 존재하도록 한다. 시간 t+1에서 HIP가 HIPt +1로 이동한 경우에는 새로운 IHIPt +1은 이전의 LOMIt를 사용하여 결정된다. 이상의 설명에서 IHIP의 위치를 HIP와 가장 가까운 객체의 표면 복셀에 위치시키도록 하지 않고, 가장 가까운 외부 복셀에 위치시키도록 하여도 거의 동일한 반력 계산을 수행할 수 있음은 물론이다.
이러한 과정을 통해 시간 t에서의 충돌에 따른 반력은 HIPt와 IHIPt의 두 벡터의 차이 벡터에 의해 계산될 수 있다. 이 경우 사용자에게 제시되는 반력은 가상 객체의 재료 특성을 반영하도록 함이 바람직하다. 이러한 과정은 매 햅틱 렌더링마다 반복 수행된다.
HIP에 가해지는 반력에 대한 정보는 햅틱 디바이스 제어부(120)에 전달되고, 햅틱 디바이스 제어부(120)는 햅틱 인터페이스 디바이스(130)를 제어하여 사용자가 가상 객체를 실감할 수 있도록 한다.
만약 가상 객체가 HIP와의 충돌에 의해 이동할 수 있거나 변형 가능한 경우에는 상기 계산된 반력 정보를 시뮬레이션 엔진(114)에 전달하여 가상 객체를 이동 또는 변형시킬 수 있도록 하고, 이러한 정보를 그래픽 렌더링 장치(140)에도 전달하여 사용자에게 이동 또는 변형된 가상 객체의 그래픽 이미지를 제시할 수 있도록 함이 바람직하다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으 로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위 내에서 다양한 수정, 변경 및 치환이 가능할 것이다. 따라서, 본 발명에 개시된 실시예 및 첨부된 도면들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예 및 첨부된 도면에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
이상에서 설명한 바와 같이 본 발명에 의하면, 오브젝트 버퍼 및 픽셀 버퍼 및 LOMI를 이용한 햅틱 렌더링은 가상 객체의 기술 방법에 의존하지 않고 일관된 방법으로 충돌 검출 및 반력 계산을 수행할 수 있는 효과가 있다. 이에 따라 실시간 갱신되는 가상 객체에 대해서도 객체의 표현 방식에 의존하지 않고 효과적인 햅틱 렌더링이 가능해진다.
또한, 본 발명에 의하면, 충돌 검출과 반력 계산이 햅틱 인터페이스 디바이스의 프로브, 즉 HIP의 위치 및 이에 따른 IHIP의 위치를 중심으로 하는 국부적인 객체를 대상으로 하여 이루어지므로 빠른 햅틱 렌더링이 가능하게 되는 효과가 있다.
따라서, 본 발명에 의하면 동적으로 움직이는 가상 객체에 대해서도 원활한 햅틱 렌더링을 수행할 수 있어 사용자에게 효과적인 햅틱 정보를 제시할 수 있게 된다.

Claims (25)

  1. 가상 환경 내의 가상 객체에 대한 햅틱 렌더링 방법에 있어서,
    (a) 상기 가상 객체의 데이터를 오브젝트 버퍼 또는 픽셀 버퍼에 할당하는 단계;
    (b) 상기 오브젝트 버퍼 또는 상기 픽셀 버퍼를 참조하여 햅틱 인터페이스 디바이스의 햅틱 인터랙션 포인트(HIP)가 상기 가상 객체와 충돌하는지 여부를 검출하는 단계;
    (c) 이상적 햅틱 인터랙션 포인트(IHIP)를 중심으로 상기 가상 객체에 대한 정보를 포함하는 임시적이고 국부적인 3차원 복셀로 이루어진 지역 점유맵 인스턴스(LOMI)를 생성하는 단계; 및
    (d) 상기 HIP가 상기 가상 객체와 충돌한 경우 상기 LOMI에서의 상기 HIP의 벡터와 상기 IHIP의 벡터의 차이값을 이용하여 반력을 계산하는 단계
    를 포함하는 것을 특징으로 하는 햅틱 렌더링 방법.
  2. 제 1 항에 있어서,
    상기 (a) 단계에 있어서 상기 가상 객체의 데이터를 상기 픽셀 버퍼에 할당하는 것은, 상기 가상 객체를 포함하는 작업 공간의 주변에 배치된 가상 카메라를 이용하여 상기 작업 공간 내부의 클리핑 볼륨에 대한 상기 가상 객체의 뎁스 이미지를 획득함으로써 이루어지는 것을 특징으로 하는 햅틱 렌더링 방법.
  3. 제 2 항에 있어서,
    상기 클리핑 볼륨의 크기는, 상기 햅틱 인터페이스 디바이스의 프로브의 최고 이동 속도를 연속적인 그래픽 렌더링 비율로 나눈 값보다 크거나 같은 것을 특징으로 하는 햅틱 렌더링 방법.
  4. 제 2 항 또는 제 3 항에 있어서,
    상기 클리핑 볼륨의 특정 면의 픽셀 수는 상기 클리핑 볼륨의 크기를 오브젝트 좌표계에서의 픽셀 크기로 나눈 값보다 크거나 같은 것을 특징으로 하는 햅틱 렌더링 방법.
  5. 제 1 항에 있어서,
    상기 (b) 단계는,
    (b1) 상기 뎁스 이미지의 일면에 대해 상기 HIP에 해당하는 픽셀을 찾는 단계;
    (b2) 상기 픽셀을 표시하기 위한 픽셀 좌표계로 표현된 상기 픽셀에 저장된 깊이 값을, 상기 가상 객체를 표현하는 오브젝트 좌표계의 깊이 값으로 변환하는 단계; 및
    (b3) 상기 오브젝트 좌표계로 변환된 상기 깊이 값을 상기 HIP의 깊이 값과 비교하여 상기 HIP가 상기 뎁스 이미지의 내부에 있는지 여부를 판별하는 단계
    를 포함하여 이루어지는 것을 특징으로 하는 햅틱 렌더링 방법.
  6. 제 1 항에 있어서,
    상기 HIP가 이동하여 상기 가상 객체와 충돌이 발생하는 것을 감지하기 위해, 상기 (b)단계를 수행함에 있어서,
    (b4)이전 시간에서의 상기 IHIP의 위치와 현재 시간에서의 IHP를 연결하는 라인 선분을 생성하는 단계;
    (b5) 상기 라인 선분 상에 일정 간격을 가지는 포인트를 생성하는 단계;
    (b6) 상기 라인 선분 상의 상기 포인트에 대해 순차적으로 충돌 검사를 수행하는 단계; 및
    (b7) 상기 (b6) 단계 결과 충돌이 발생한 경우 최초 충돌이 발생한 상기 포인트 중 일 포인트를 임시 IHIP로 지정하는 단계
    를 포함하는 것을 특징으로 하는 햅틱 렌더링 방법.
  7. 제 1 항에 있어서,
    상기 가상 객체가 이동하여 상기 HIP와 충돌이 발생하는 것을 감지하기 위해, 상기 (b)단계를 수행함에 있어서,
    (b4) 이전 시간에서의 상기 IHIP를 상기 가상 객체의 이동 방향을 따라 이동시킨 쉬프트 IHIP를 설정하고, 상기 HIP와 상기 쉬프트 IHIP를 연결하는 라인 선분을 생성하는 단계;
    (b5) 상기 라인 선분 상에 일정 간격을 가지는 포인트를 생성하는 단계;
    (b6) 상기 라인 선분 상의 상기 포인트에 대해 순차적으로 충돌 검사를 수행 하는 단계; 및
    (b7) 상기 (b6) 단계 결과 충돌이 발생한 경우 최초 충돌이 발생한 상기 포인트 중 일 포인트를 임시 IHIP로 지정하는 단계
    를 포함하는 것을 특징으로 하는 햅틱 렌더링 방법.
  8. 제 1 항에 있어서,
    상기 (c) 단계는,
    (c1) 상기 LOMI의 크기를 결정하는 단계;
    (c2) 상기 LOMI의 메모리 셀 값을 초기화하는 단계;
    (c3) 상기 LOMI의 각 면에 대해 상기 가상 객체의 깊이 값을 독출하는 단계; 및
    (c4) 상기 LOMI의 각 면의 상기 깊이 값을 이용하여 상기 LOMI의 각 복셀의 타입을 결정하는 단계
    를 포함하여 이루어지는 것을 특징으로 하는 햅틱 렌더링 방법.
  9. 제 8 항에 있어서,
    상기 (c1) 단계에서 결정되는 상기 LOMI의 최소 크기는 햅틱 인터페이스 디바이스의 최대 속도를 햅틱 렌더링 비율로 나눈 값의 2 배인 것을 특징으로 하는 햅틱 렌더링 방법.
  10. 제 1 항에 있어서,
    상기 (d) 단계는,
    이전 시간에서의 IHIP를 중심으로 생성된 LOMI를 참조하여 현재 시간에서의 HIP와 가장 가까운 상기 LOMI의 표면 복셀에 현재 시간에서의 IHIP를 위치시키고, 상기 현재 시간의 HIP와 상기 현재 시간에서의 IHIP의 벡터 차이를 이용하여 반력을 계산하는 것을 특징으로 하는 햅틱 렌더링 방법.
  11. 제 6 항 또는 제 7 항에 있어서,
    이전 시간에서의 상기 임시 IHIP를 중심으로 생성된 LOMI를 참조하여 현재 시간에서의 HIP와 가장 가까운 상기 LOMI의 표면 복셀에 현재 시간에서의 IHIP를 위치시키고, 상기 현재 시간의 HIP와 상기 현재 시간에서의 IHIP의 벡터 차이를 이용하여 반력을 계산하는 것을 특징으로 하는 햅틱 렌더링 방법.
  12. 제 1 항에 있어서,
    (e) 상기 반력에 대한 정보를 상기 햅틱 인터페이스 디바이스를 제어하는 햅틱 디바이스 제어부로 전달하는 단계; 및
    (f) 상기 햅틱 디바이스 제어부가 상기 햅틱 인터페이스 디바이스를 제어하여 사용자에게 햅틱 정보를 제시하는 단계
    를 추가로 포함하는 것을 특징으로 하는 햅틱 렌더링 방법.
  13. 가상 환경 내의 가상 객체에 대한 햅틱 렌더링을 수행하는 햅틱 렌더링 장치에 있어서,
    상기 가상 객체에 대한 객체 데이터(102)의 그래픽 데이터가 모델링 과정 및 선행 계산을 통해 잘 기술된 경우 이를 저장하는 오브젝트 버퍼(112)와,
    상기 가상 객체에 대한 객체 데이터(102)가 잘 기술되지 않은 경우 시뮬레이션 엔진(114)에 의한 추가적인 그래픽 렌더링을 통해 상기 객체 데이터(102)의 상기 그래픽 데이터를 N 면의 뎁스 이미지를 포함하는 정보로 하여 이를 저장하는 픽셀 버퍼(113)와,
    상기 객체 데이터(102)의 상기 그래픽 데이터를 처리하여 N 면의 상기 뎁스 이미지를 포함하는 정보로 변환하는 시뮬레이션 엔진(114)을 포함하는 그래픽 처리 저장부(111); 및
    상기 오브젝트 버퍼(112) 또는 상기 픽셀 버퍼(113)를 참조하여 햅틱 인터페이스 디바이스(130)의 햅틱 인터랙션 포인트(HIP)가 상기 가상 객체와 충돌하는지 여부를 판별하는 충돌 검출부(116)와,
    이상적 햅틱 인터랙션 포인트(IHIP)를 중심으로 상기 가상 객체에 대한 정보를 포함하는 임시적이고 국부적인 3차원 복셀로 이루어진 지역 점유맵 인스턴스(LOMI)를 생성하는 LOMI 생성부(117)와,
    상기 충돌 검출부(116)에서 상기 HIP와 상기 가상 객체의 충돌이 발생한 것으로 검출된 경우, 상기 LOMI를 참조하여 반력을 계산하는 반력 계산부(118)를 포함하는 햅틱 계산부(115)
    를 포함하는 것을 특징으로 하는 햅틱 렌더링 장치.
  14. 제 13 항에 있어서,
    상기 시뮬레이션 엔진(114)은, 상기 가상 객체를 포함하는 작업 공간의 주변에 배치된 가상 카메라를 이용하여 상기 작업 공간 내부의 클리핑 볼륨에 대한 상기 가상 객체의 N 면의 뎁스 이미지를 생성하는 것을 특징으로 하는 햅틱 렌더링 장치.
  15. 제 14 항에 있어서,
    상기 클리핑 볼륨의 크기는, 상기 햅틱 인터페이스 디바이스의 프로브의 최고 이동 속도를 연속적인 그래픽 렌더링 비율로 나눈 값보다 크거나 같은 것을 특징으로 하는 햅틱 렌더링 장치
  16. 제 14 항에 있어서,
    상기 클리핑 볼륨의 특정 면의 픽셀 수는 상기 클리핑 볼륨의 크기를 오브젝트 좌표계에서의 픽셀 크기로 나눈 값보다 크거나 같은 것을 특징으로 하는 햅틱 렌더링 장치.
  17. 제 13 항에 있어서,
    상기 충돌 검출부(116)는, 상기 뎁스 이미지의 일면에 대한 상기 HIP에 해당하는 픽셀을 찾고, 상기 픽셀에 저장된 깊이 값을 상기 가상 객체를 표현하는 오브젝트 좌표계의 깊이 값으로 변환하여 상기 HIP의 깊이 값과 비교함으로써 충돌 여 부를 검출하는 것을 특징으로 하는 햅틱 렌더링 장치.
  18. 제 13 항에 있어서,
    상기 충돌 검출부(116)는, 상기 HIP가 이동하여 상기 가상 객체와 충돌하는 것을 감지하기 위해, 이전 시간에서의 IHIP와 현재 시간에서의 HIP를 연결하는 라인 선분 상의 일정 간격의 포인트에 대해 충돌 검사를 순차적으로 수행하고, 충돌이 발생한 최초의 포인트를 임시 IHIP로 지정하는 것을 특징으로 하는 햅틱 렌더링 장치.
  19. 제 13 항에 있어서,
    상기 충돌 검출부(116)는, 상기 가상 객체가 이동하여 상기 HIP와 충돌하는 것을 감지하기 위해, 이전 시간에서의 IHIP를 상기 가상 객체의 이동 방향을 따라 이동시킨 쉬프트 IHIP를 설정하여 이를 현재 시간에서의 HIP와 연결하는 라인 선분을 생성하고, 상기 라인 선분 상의 일정 간격의 포인트에 대해 충돌 검사를 순차적으로 수행하고, 충돌이 발생한 최초의 포인트를 임시 IHIP로 지정하는 것을 특징으로 하는 햅틱 렌더링 장치.
  20. 제 13 항에 있어서,
    상기 LOMI의 최소 크기는 햅틱 인터페이스 디바이스의 최대 속도를 햅틱 렌더링 비율로 나눈 값의 2 배인 것을 특징으로 하는 햅틱 렌더링 장치.
  21. 제 13 항에 있어서,
    상기 반력 계산부(118)는, 이전 시간에서의 IHIP를 중심으로 생성된 LOMI를 참조하여 현재 시간에서의 HIP와 가장 가까운 상기 LOMI의 표면 복셀에 현재 시간에서의 IHIP를 위치시키고, 상기 현재 시간의 HIP와 상기 현재 시간에서의 IHIP의 벡터 차이를 이용하여 반력을 계산하는 것을 특징으로 하는 햅틱 렌더링 장치.
  22. 제 18 항 또는 제 19 항에 있어서,
    상기 반력 계산부(118)는, 이전 시간에서의 상기 임시 IHIP를 중심으로 생성된 LOMI를 참조하여 현재 시간에서의 HIP와 가장 가까운 상기 LOMI의 표면 복셀에 현재 시간에서의 IHIP를 위치시키고, 상기 현재 시간의 HIP와 상기 현재 시간에서의 IHIP의 벡터 차이를 이용하여 반력을 계산하는 것을 특징으로 하는 햅틱 렌더링 장치.
  23. 제 13 항 내지 제 21 항 중 어느 한 항에 따른 햅틱 렌더링 장치(110);
    상기 햅틱 렌더링 장치(110)로부터 햅틱 정보를 전송받아 햅틱 인터페이스 디바이스(130)를 제어하는 햅틱 디바이스 제어부(120); 및
    상기 햅틱 디바이스 제어부(120)의 제어에 따라 사용자에게 햅틱 정보를 제시하는 상기 햅틱 인터페이스 디바이스(130)
    를 포함하는 것을 특징으로 하는 햅틱 시스템.
  24. 제 23 항에 있어서,
    상기 디바이스 제어부(120)는,
    상기 햅틱 인터페이스 디바이스(130)의 위치 정보를 획득하는 A/D 컨버터(122)와, 순기구학적 해석을 통해 상기 햅틱 인터페이스 디바이스(130)의 상기 HIP의 위치를 계산하는 운동 검출부(124)와, 상기 햅틱 렌더링 장치(110)로부터 전달받은 반력 정보를 저장하는 컨트롤 버퍼를 구비하고 상기 컨트롤 버퍼에 저장된 반력 정보를 참조하여 상기 햅틱 인터페이스 디바이스(130)를 제어하기 위한 신호를 생성하는 안정화 제어부(126), 및 상기 햅틱 인터페이스 디바이스(130)로 제어 신호를 전송하는 D/A 컨버터(128)를 포함하여 이루어지는 것을 특징으로 하는 햅틱 시스템.
  25. 제 23 항에 있어서,
    상기 객체 데이터(102)를 처리하여 그래픽 디스플레이(150)에 객체가 시각적으로 표현되도록 하는 그래픽 렌더링 장치(140)를 추가로 포함하는 것을 특징으로 하는 햅틱 시스템.
KR1020060076382A 2006-08-11 2006-08-11 지역 점유맵 인스턴스를 이용한 햅틱 렌더링 방법과 장치,및 이를 이용한 햅틱 시스템 KR100787952B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060076382A KR100787952B1 (ko) 2006-08-11 2006-08-11 지역 점유맵 인스턴스를 이용한 햅틱 렌더링 방법과 장치,및 이를 이용한 햅틱 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060076382A KR100787952B1 (ko) 2006-08-11 2006-08-11 지역 점유맵 인스턴스를 이용한 햅틱 렌더링 방법과 장치,및 이를 이용한 햅틱 시스템

Publications (1)

Publication Number Publication Date
KR100787952B1 true KR100787952B1 (ko) 2007-12-24

Family

ID=39147776

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060076382A KR100787952B1 (ko) 2006-08-11 2006-08-11 지역 점유맵 인스턴스를 이용한 햅틱 렌더링 방법과 장치,및 이를 이용한 햅틱 시스템

Country Status (1)

Country Link
KR (1) KR100787952B1 (ko)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100927009B1 (ko) * 2008-02-04 2009-11-16 광주과학기술원 증강 현실에서의 햅틱 상호 작용 방법 및 그 시스템
KR101002785B1 (ko) 2009-02-06 2010-12-21 광주과학기술원 증강 현실 환경에서의 공간 상호 작용 방법 및 시스템
WO2011139012A1 (ko) * 2010-05-07 2011-11-10 광주과학기술원 고해상도 타일드 디스플레이를 지원하는 햅틱기반 네트워크 가상환경 구현 장치 및 방법
KR101121787B1 (ko) 2011-09-29 2012-03-09 (주)이미지스테크놀로지 이미지 기반의 진동 감각 프리미티브를 이용한 모바일 디바이스 환경에서의 진동 감각 재생 방법
KR101816172B1 (ko) * 2009-12-07 2018-01-08 광주과학기술원 의료 훈련 시뮬레이션 시스템 및 방법
US10490100B2 (en) 2016-01-15 2019-11-26 Electronics And Telecommunications Research Institute Apparatus and method for controlling hybrid display for providing both tactility and sense of temperature
KR102059559B1 (ko) 2012-07-10 2019-12-26 삼성전자주식회사 재구성 가능한 프로세서를 이용하여 가상의 장면에서 오브젝트의 충돌 검출을 위한 방법 및 장치
KR20200017250A (ko) * 2018-08-08 2020-02-18 한국과학기술원 햅틱 렌더링 방법 및 이를 이용한 햅틱 장치
CN114265503A (zh) * 2021-12-22 2022-04-01 吉林大学 一种应用于笔式振动触觉反馈装置的纹理渲染方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6084587A (en) 1996-08-02 2000-07-04 Sensable Technologies, Inc. Method and apparatus for generating and interfacing with a haptic virtual reality environment
KR20050120497A (ko) * 2004-06-19 2005-12-22 한국과학기술연구원 볼륨 모델 기반의 햅틱 인터페이스를 이용한 치과 치료훈련 및 평가 시스템
US7084869B2 (en) 2000-03-31 2006-08-01 Massachusetts Institute Of Technology Methods and apparatus for detecting and correcting penetration between objects

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6084587A (en) 1996-08-02 2000-07-04 Sensable Technologies, Inc. Method and apparatus for generating and interfacing with a haptic virtual reality environment
US7084869B2 (en) 2000-03-31 2006-08-01 Massachusetts Institute Of Technology Methods and apparatus for detecting and correcting penetration between objects
KR20050120497A (ko) * 2004-06-19 2005-12-22 한국과학기술연구원 볼륨 모델 기반의 햅틱 인터페이스를 이용한 치과 치료훈련 및 평가 시스템

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100927009B1 (ko) * 2008-02-04 2009-11-16 광주과학기술원 증강 현실에서의 햅틱 상호 작용 방법 및 그 시스템
KR101002785B1 (ko) 2009-02-06 2010-12-21 광주과학기술원 증강 현실 환경에서의 공간 상호 작용 방법 및 시스템
KR101816172B1 (ko) * 2009-12-07 2018-01-08 광주과학기술원 의료 훈련 시뮬레이션 시스템 및 방법
WO2011139012A1 (ko) * 2010-05-07 2011-11-10 광주과학기술원 고해상도 타일드 디스플레이를 지원하는 햅틱기반 네트워크 가상환경 구현 장치 및 방법
KR101108145B1 (ko) 2010-05-07 2012-02-06 광주과학기술원 고해상도 타일드 디스플레이를 지원하는 햅틱기반 네트워크 가상환경 구현 장치 및 방법
KR101121787B1 (ko) 2011-09-29 2012-03-09 (주)이미지스테크놀로지 이미지 기반의 진동 감각 프리미티브를 이용한 모바일 디바이스 환경에서의 진동 감각 재생 방법
KR102059559B1 (ko) 2012-07-10 2019-12-26 삼성전자주식회사 재구성 가능한 프로세서를 이용하여 가상의 장면에서 오브젝트의 충돌 검출을 위한 방법 및 장치
US10490100B2 (en) 2016-01-15 2019-11-26 Electronics And Telecommunications Research Institute Apparatus and method for controlling hybrid display for providing both tactility and sense of temperature
KR20200017250A (ko) * 2018-08-08 2020-02-18 한국과학기술원 햅틱 렌더링 방법 및 이를 이용한 햅틱 장치
KR102103435B1 (ko) 2018-08-08 2020-04-23 한국과학기술원 햅틱 렌더링 방법 및 이를 이용한 햅틱 장치
CN114265503A (zh) * 2021-12-22 2022-04-01 吉林大学 一种应用于笔式振动触觉反馈装置的纹理渲染方法
CN114265503B (zh) * 2021-12-22 2023-10-13 吉林大学 一种应用于笔式振动触觉反馈装置的纹理渲染方法

Similar Documents

Publication Publication Date Title
KR100787952B1 (ko) 지역 점유맵 인스턴스를 이용한 햅틱 렌더링 방법과 장치,및 이를 이용한 햅틱 시스템
US8154544B1 (en) User specified contact deformations for computer graphics
US7990374B2 (en) Apparatus and methods for haptic rendering using data in a graphics pipeline
CN100356300C (zh) 虚拟现实呈现装置和信息处理方法
US6084587A (en) Method and apparatus for generating and interfacing with a haptic virtual reality environment
Angus et al. Embedding the 2D interaction metaphor in a real 3D virtual environment
US6271875B1 (en) Three-dimensional image processing apparatus and three-dimensional image processing method
KR20130026853A (ko) 복셀 그리드를 이용한 포인트 클라우드의 렌더링 방법 및 장치
KR20050050139A (ko) 2차원 디스플레이 디바이스를 이용하여 가상 3차원디스플레이를 생성하는 방법 및 시스템
Cosco et al. Visuo-haptic mixed reality with unobstructed tool-hand integration
Cosco et al. Augmented touch without visual obtrusion
CN110956695B (zh) 信息处理装置、信息处理方法和存储介质
Nikitin et al. Real-time simulation of elastic objects in virtual environments using finite element method and precomputed Green's functions
KR20200103115A (ko) 가상 물체 표시 제어 장치, 가상 물체 표시 시스템, 가상 물체 표시 제어 방법, 및 가상 물체 표시 제어 프로그램
JP2012190428A (ja) 立体映像視覚効果処理方法
Govindaraju et al. Fast continuous collision detection among deformable models using graphics processors
Vlasov et al. Haptic rendering of volume data with collision detection guarantee using path finding
Sreeni et al. Haptic rendering of cultural heritage objects at different scales
Moustakas et al. A geometry education haptic VR application based on a new virtual hand representation
KR101428577B1 (ko) 적외선 동작 인식 카메라를 사용하여 화면상에 네추럴 유저 인터페이스 기반 입체 지구본을 제공하는 방법
Glueck et al. Multiscale 3D reference visualization
Abdullah et al. A virtual environment with haptic feedback for better distance estimation
KR101001856B1 (ko) 동화상 입력장치를 이용한 3차원 가상현실 디스플레이 시스템 및 방법
JP2001266175A (ja) 3次元モデル処理装置および3次元モデル処理方法、並びにプログラム提供媒体
Kim et al. Hardware based 2.5 D haptic rendering algorithm using localized occupancy map instance

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20121005

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20130930

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee