역/촉감 햅틱 상호작용을 위한 "K-$Touch^{TM}$" API 개발 - 햅틱(Haptic) 개발자 및 응용분야를 위한 소프트웨어 인터페이스 - Development of K-$Touch^{TM}$ API for kinesthetic/tactile haptic interaction원문보기
본 논문은 새로운 햅틱 API인 "K-$Touch^{TM}$"의 개발에 관한 것으로 역/촉감 상호작용이 가능하도록 설계된 소프트웨어 아키텍처이다. K-$Touch^{TM}$는 햅틱 세부 기술을 잘 알지 못해도 응용분야를 쉽게 제작할 수 있도록 구성되어 있으며, 햅틱 기술을 개발하는 개발자가 쉽게 개발 내용을 추가할 수 있도록 구성되어 있다. 그래픽 하드웨어 기반의 핵심 역감 알고리즘을 기반으로 개발된 K-$Touch^{TM}$ API는 가상 환경을 구성하는 다양한 데이터 형식(2D, 2.5D depth(height field), 3D polygon 및 볼륨 데이터)에 대한 햅틱 상호작용을 가능하게 하고, 새로운 햅틱 알고리즘 및 장치 개발에 필요한 소프트웨어 확장성을 제공함과 동시에 사용자가 쉽고 빠르게 햅틱 응용분야를 개발할 수 있도록 설계되었다. 아울러 햅틱 감각의 중요 요소인 역감 및 촉감 상호작용을 위해 기존의 햅틱 SDK 및 API와 달리 역/촉감을 동시에 렌더링할 수 있는 알고리즘이 개발되었다. 본 논문에서 제안하는 새로운 햅틱 API의 효용성을 검증하기 위해 다양한 응용분야의 예를 구현하였다. 새로운 햅틱 API인 K-Touch는 사용자 및 연구자에게 보다 효율적으로 햅틱 연구를 진행 할 수 있도록 도움을 주는 툴킷(Toolkit)으로써 중요한 역할을 할 것으로 기대된다.
본 논문은 새로운 햅틱 API인 "K-$Touch^{TM}$"의 개발에 관한 것으로 역/촉감 상호작용이 가능하도록 설계된 소프트웨어 아키텍처이다. K-$Touch^{TM}$는 햅틱 세부 기술을 잘 알지 못해도 응용분야를 쉽게 제작할 수 있도록 구성되어 있으며, 햅틱 기술을 개발하는 개발자가 쉽게 개발 내용을 추가할 수 있도록 구성되어 있다. 그래픽 하드웨어 기반의 핵심 역감 알고리즘을 기반으로 개발된 K-$Touch^{TM}$ API는 가상 환경을 구성하는 다양한 데이터 형식(2D, 2.5D depth(height field), 3D polygon 및 볼륨 데이터)에 대한 햅틱 상호작용을 가능하게 하고, 새로운 햅틱 알고리즘 및 장치 개발에 필요한 소프트웨어 확장성을 제공함과 동시에 사용자가 쉽고 빠르게 햅틱 응용분야를 개발할 수 있도록 설계되었다. 아울러 햅틱 감각의 중요 요소인 역감 및 촉감 상호작용을 위해 기존의 햅틱 SDK 및 API와 달리 역/촉감을 동시에 렌더링할 수 있는 알고리즘이 개발되었다. 본 논문에서 제안하는 새로운 햅틱 API의 효용성을 검증하기 위해 다양한 응용분야의 예를 구현하였다. 새로운 햅틱 API인 K-Touch는 사용자 및 연구자에게 보다 효율적으로 햅틱 연구를 진행 할 수 있도록 도움을 주는 툴킷(Toolkit)으로써 중요한 역할을 할 것으로 기대된다.
This paper presents a development of new haptic API (Application Programming Interface) that is called K-$Touch^{TM}$ haptic API. It is designed in order to allow users to interact with objects by kinesthetic and tactile modalities through haptic interfaces. The K-$Touch^{TM}$ ...
This paper presents a development of new haptic API (Application Programming Interface) that is called K-$Touch^{TM}$ haptic API. It is designed in order to allow users to interact with objects by kinesthetic and tactile modalities through haptic interfaces. The K-$Touch^{TM}$ API would serve two different types of users: high level programmers who need an easy to use haptic API for creating haptic applications and researchers in the haptic filed who need to experiment or develop with new devices and new algorithms while not wanting to re-write all the required code from scratch. Since the graphic hardware based kinesthetic rendering algorithm implemented in the K-$Touch^{TM}$ API is different from any other conventional kinesthetic algorithms, this API can provide users with haptic interaction for various data representations such as 2D, 2.5D depth(height field), 3D polygon, and volume data. In addition, this API supports kinesthetic and tactile interaction simultaneously in order to allow users with realistic haptic interaction. With a wide range of applicative characteristics, therefore, it is expected that the proposed K-$Touch^{TM}$ haptic API will assists to have deeper recognition of the environments, and enhance a sense of immersion in environments. Moreover, it will be useful development toolkit to investigate new devices and algorithms in the haptic research field.
This paper presents a development of new haptic API (Application Programming Interface) that is called K-$Touch^{TM}$ haptic API. It is designed in order to allow users to interact with objects by kinesthetic and tactile modalities through haptic interfaces. The K-$Touch^{TM}$ API would serve two different types of users: high level programmers who need an easy to use haptic API for creating haptic applications and researchers in the haptic filed who need to experiment or develop with new devices and new algorithms while not wanting to re-write all the required code from scratch. Since the graphic hardware based kinesthetic rendering algorithm implemented in the K-$Touch^{TM}$ API is different from any other conventional kinesthetic algorithms, this API can provide users with haptic interaction for various data representations such as 2D, 2.5D depth(height field), 3D polygon, and volume data. In addition, this API supports kinesthetic and tactile interaction simultaneously in order to allow users with realistic haptic interaction. With a wide range of applicative characteristics, therefore, it is expected that the proposed K-$Touch^{TM}$ haptic API will assists to have deeper recognition of the environments, and enhance a sense of immersion in environments. Moreover, it will be useful development toolkit to investigate new devices and algorithms in the haptic research field.
* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.
문제 정의
따라서 다양한 촉감 렌더링 장치를 이용하여 정보를 표현하지만 촉감 Actuator의 주파수 및 진폭을 조절하며 특정 정보를 표현하는 방법은 같다. 따라서 본 논문에서는 일반적인 촉감 렌더링 장치를 위한 High 및 Low level 촉감 알고리즘을 개발하고, 검증하기 위해 촉감 렌더링 시스템을 구축하였다. 그림 6은 구현된 촉감 렌더링 구성 및 촉감 정보 형식을 보여준다.
5D depth data, 3D polygon, volume data)에 대해 역감 상호작용이 가능하다[2]. 또한 본 API는 햅틱 감각의 중요 요소인 촉감 렌더링 알고리즘을 개발하여 역/촉감 상호작용을 동시에 가능하도록 설계 되었다. 아울러 체계적이고 모듈화 된 소프트웨어 구조를 설계하여 개발자에게 새로운 알고리즘 및 장비를 확장 할 수 있도록 설계 되었으며, 햅틱 연구 분야에 익숙하지 않는 응용 프로그램 개발자에게 보다 쉽고 빠르게 햅틱 환경을 구축할 수 있도록 고안되었다.
본 논문에서는 기존의 SDK 및 API에 나타난 제한 점을 극복하고 보완하는 새로운 햅틱 API인 K-TouchTM의 개발을 제안한다. K-TouchTM의 핵심 알고리즘은 본 연구팀에서 제안한 그래픽 하드웨어 기반의 알고리즘으로써 가상 환경 내에 존재하는 다양한 데이터 표현(2D, 2.
본 논문에서는 새로운 햅틱 API인 K-TouchTM를 제안 하였다. 본 API는 C++기반의 햅틱/그래픽 class로 구성되었으며, 햅틱 연구자 및 햅틱을 이용한 응용 분야를 개발하는 개발자를 대상으로 개발된 햅틱 API이다.
제안 방법
따라서 사용자는 몇 줄의 C++ 코드를 이용하여 원하는 목적의 햅틱 응용 프로그램을 작성할 수 있다. K-TouchTM API의 효율성을 높이기 위해 Scene graph구조를 갖는 Architecture를 구성하여 다양한 객체에 대해 체계적이고 효과적으로 햅틱 상호작용이 가능하게 하였으며, 그래픽/햅틱 최적화를 통해 복잡한 가상 환경도 햅틱 상호작용이 가능하도록 구성 하였다. 또한 새로운 알고리즘 및 장치를 추가할 수 있도록 각 class를 체계적으로 모듈화 하려는 노력이 진행되었을 뿐 아니라 역/촉감을 동시에 렌더링할 수 있는 구조를 설계하여 가상 환경을 사실적으로 인식할 수 있도록 고안하였다.
의 역감 렌더링 알고리즘은 3자유도 역감 렌더링에 필요한 IHIP (ideal haptic interaction point) 주변의 기하학적 정보를 각 픽셀에 할당된 깊이 버퍼 값을 참조하여 얻어낸다. 가상 물체의 깊이 정보를 얻기 위해 햅틱 워크스페이스의 6면(top,bottom,front,back,left,right) 끝에 위치한 가상 카메라를 이용하여 IHIP주변의 객체를 렌더링 한다. 이때 형상 정보와 관련 없는 color, texture, light효과는 제거된다.
앞서 언급한 간단한 충돌 검지는 얇은 물체나 빠르게 움직이는 HIP와 물체의 충돌을 정확히 검출하지 못하는 단점을 갖고 있다. 두 단점을 보완하기 위해 현재 HIP와 이전의 IHIP사이를 보간 방법을 사용하여 정확한 충돌을 검출 한다. 그림 3(a)는 현 HIP와 이전 IHIP의 연결 선을 보여주고 있으며 이 연결선은 LOMI가 갖고 있는 volume 크기로 나뉘어서 물체와의 충돌을 검출하게 된다.
K-TouchTM API의 효율성을 높이기 위해 Scene graph구조를 갖는 Architecture를 구성하여 다양한 객체에 대해 체계적이고 효과적으로 햅틱 상호작용이 가능하게 하였으며, 그래픽/햅틱 최적화를 통해 복잡한 가상 환경도 햅틱 상호작용이 가능하도록 구성 하였다. 또한 새로운 알고리즘 및 장치를 추가할 수 있도록 각 class를 체계적으로 모듈화 하려는 노력이 진행되었을 뿐 아니라 역/촉감을 동시에 렌더링할 수 있는 구조를 설계하여 가상 환경을 사실적으로 인식할 수 있도록 고안하였다.
5D depth image에 대해서도 햅틱 상호작용을 제공한다. 아울러 기존의 SDK 및 API와 달리 역/촉감을 동시에 렌더링할 수 있는 알고리즘 및 소프트웨어 구조를 개발하여 역감 및 촉감 상호작용을 통해 사용자가 보다 효과적으로 환경내의 객체들을 느끼고 조작할 수 있도록 개발되었다. 따라서 본 API는 햅틱을 이용한 응용 분야 개발자 및 햅틱 기술을 연구하는 연구자에게 효과적인 툴로 이용될 것으로 기대된다.
Display list와 Vertex buffer object의 가장 큰 특징은, 전자는 메모리에 등록된 물체 기하정보를 실시간으로 바꿀 수 없지만 후자는 실시간으로 기하정보를 바꿀 수 있다는 것이다. 일반적인 그래픽 렌더링의 효율성을 알아보기 위해 가상 환경에 존재하는 물체의 메쉬 수를 증가 하면서 렌더링 시간을 측정하였다. 표1는 각 방법에 대해 가상 물체를 구성하고 있는 메쉬 수를 증가시키면서 그래픽 렌더링 수행 결과이다.
촉감 정보는 가상 물체와 상호작용 시 촉감 렌더링 장치를 이용하여 전달 할 수 있는 물체의 거칠기, 마찰 및 미세 형상을 주파수 및 진폭을 조절할 수 있는 알고리즘을 개발하였다. 일반적인 촉감 렌더링 시스템은 DSP(Digital Signal Processing) 칩 또는 Micro-controller를 사용하는데 본 논문에서는 촉감 actuator를 제어할 수 있는 ATmega 128 Micro-controller를 이용하였다.
대상 데이터
마지막으로 그림 9(e)는 의료 영상에 대한 햅틱 상호작용을 나타내고 있다. 의료 영상은 주로 CT, MRI, 초음파 측정에 의해 획득된 Volume 데이터 이다. 본 API는 3차원 Polygon 데이터뿐 아니라 3차원 Volume 데이터에 대한 역/촉감 상호작용이 가능하다.
이론/모형
측정된 시간은 millisecond 단위이며 각 방법에 대해 100번의 시간 측정 후 평균을 구한 값이다. 시간 측정 결과를 토대로 가상 물체는 Vertex buffer object와 Indexed geometry방법을 이용하여 그래픽 렌더링 함으로써 효율을 높였다.
촉감 정보는 가상 물체와 상호작용 시 촉감 렌더링 장치를 이용하여 전달 할 수 있는 물체의 거칠기, 마찰 및 미세 형상을 주파수 및 진폭을 조절할 수 있는 알고리즘을 개발하였다. 일반적인 촉감 렌더링 시스템은 DSP(Digital Signal Processing) 칩 또는 Micro-controller를 사용하는데 본 논문에서는 촉감 actuator를 제어할 수 있는 ATmega 128 Micro-controller를 이용하였다. 촉감 actuator는 voice coil 형식의 actuator를 이용하였으며 2× 2 배열을 구성하였다.
성능/효과
K-TouchTM API의 소프트웨어 구조 디자인은 사용의 편의성, 효율성, 확장성 및 역/촉감 동시 상호작용 지원이 고려되어 설계되었다. 본 API의 가장 뚜렷한 특징은 다양한 데이터에 대해 역/촉감 상호작용이 가능하다는 것이다. 따라서 전형적인 3차원 Polygon 모델을 포함하여 Volume 데이터 및 Z-cam(뎁스 카메라)을 통해 획득된 2.
또한 본 API는 햅틱 감각의 중요 요소인 촉감 렌더링 알고리즘을 개발하여 역/촉감 상호작용을 동시에 가능하도록 설계 되었다. 아울러 체계적이고 모듈화 된 소프트웨어 구조를 설계하여 개발자에게 새로운 알고리즘 및 장비를 확장 할 수 있도록 설계 되었으며, 햅틱 연구 분야에 익숙하지 않는 응용 프로그램 개발자에게 보다 쉽고 빠르게 햅틱 환경을 구축할 수 있도록 고안되었다. 따라서 본 K-TouchTM API 는 다양한 햅틱 연구 및 응용 분야에 유용한 툴로써 중요한 역할을 기대할 수 있으며, 역/촉감 상호작용을 동시에 할 수 있으므로 가상 환경과의 상호작용 시 사용자에게 다양한 환경을 더 자세히 인지하도록 도와주며, 사용자의 몰입감을 증대시켜 효과적으로 가상 환경 내 객체들을 느끼고 조작할 수 있도록 도와 줄 것이라 기대한다.
K-TouchTM API의 소프트웨어 구조는 사용의 편의성, 효율성, 확장성 및 역/촉감 동시 상호작용 지원이 고려되어 설계되었다. 첫째로 편의성 측면에서, 본 API를 통해 사용자는 햅틱 상호작용의 절차에 대해 깊은 이해 없이도 빠르고 쉽게 햅틱 환경을 구축할 수 있도록 구성되었다. 따라서 사용자는 몇 줄의 C++ 코드를 이용하여 원하는 목적의 햅틱 응용 프로그램을 작성할 수 있다.
표 2의 결과에서 나타나듯 많은 수의 복셀을 이루고있는 LOMI가 구성이 되어도 약 0.9 millisecond의 연산 시간이 소요된다는 것을 알 수 있다. 따라서 1KHz 이상의 역감 렌더링을 수행할 수 있다.
후속연구
그러나 제안된 K-TouchTM API는 개발 초기 단계기 때문에 보다 완성도 높은 햅틱 API를 구성하기 위해 향후 수행해야 할 연구 과제가 있다. 우선 보다 몰입감 있는 체험 환경을 제공할 수 있도록 그래픽/햅틱 co-location 시스템을 개발할 것이며, 다양한 햅틱 장비를 지원하기 위해 새로운 장비 class를 구현할 것이다.
아울러 기존의 SDK 및 API와 달리 역/촉감을 동시에 렌더링할 수 있는 알고리즘 및 소프트웨어 구조를 개발하여 역감 및 촉감 상호작용을 통해 사용자가 보다 효과적으로 환경내의 객체들을 느끼고 조작할 수 있도록 개발되었다. 따라서 본 API는 햅틱을 이용한 응용 분야 개발자 및 햅틱 기술을 연구하는 연구자에게 효과적인 툴로 이용될 것으로 기대된다.
아울러 체계적이고 모듈화 된 소프트웨어 구조를 설계하여 개발자에게 새로운 알고리즘 및 장비를 확장 할 수 있도록 설계 되었으며, 햅틱 연구 분야에 익숙하지 않는 응용 프로그램 개발자에게 보다 쉽고 빠르게 햅틱 환경을 구축할 수 있도록 고안되었다. 따라서 본 K-TouchTM API 는 다양한 햅틱 연구 및 응용 분야에 유용한 툴로써 중요한 역할을 기대할 수 있으며, 역/촉감 상호작용을 동시에 할 수 있으므로 가상 환경과의 상호작용 시 사용자에게 다양한 환경을 더 자세히 인지하도록 도와주며, 사용자의 몰입감을 증대시켜 효과적으로 가상 환경 내 객체들을 느끼고 조작할 수 있도록 도와 줄 것이라 기대한다.
아울러 알고리즘 측면에서는 6자유도 역감 상호작용이 가능한 알고리즘 개발을 수행할 것이며, 보다 사실적인 물체 표면 정보를 표현 하기 위해 촉감 데이터 획득을 정교하게 수행할 것이다. 마지막으로 사용자가 쉽게 햅틱 환경을 생성하고, 수정하고, 저장할 수 있는 HUI(Haptic User Interface)를 개발하여 보다 많은 사람들이 쉽게 햅틱 환경을 구축할 수 있도록 제공할 것이다.
우선 보다 몰입감 있는 체험 환경을 제공할 수 있도록 그래픽/햅틱 co-location 시스템을 개발할 것이며, 다양한 햅틱 장비를 지원하기 위해 새로운 장비 class를 구현할 것이다. 아울러 알고리즘 측면에서는 6자유도 역감 상호작용이 가능한 알고리즘 개발을 수행할 것이며, 보다 사실적인 물체 표면 정보를 표현 하기 위해 촉감 데이터 획득을 정교하게 수행할 것이다. 마지막으로 사용자가 쉽게 햅틱 환경을 생성하고, 수정하고, 저장할 수 있는 HUI(Haptic User Interface)를 개발하여 보다 많은 사람들이 쉽게 햅틱 환경을 구축할 수 있도록 제공할 것이다.
API는 개발 초기 단계기 때문에 보다 완성도 높은 햅틱 API를 구성하기 위해 향후 수행해야 할 연구 과제가 있다. 우선 보다 몰입감 있는 체험 환경을 제공할 수 있도록 그래픽/햅틱 co-location 시스템을 개발할 것이며, 다양한 햅틱 장비를 지원하기 위해 새로운 장비 class를 구현할 것이다. 아울러 알고리즘 측면에서는 6자유도 역감 상호작용이 가능한 알고리즘 개발을 수행할 것이며, 보다 사실적인 물체 표면 정보를 표현 하기 위해 촉감 데이터 획득을 정교하게 수행할 것이다.
질의응답
핵심어
질문
논문에서 추출한 답변
햅틱 렌더링의 역할은?
햅틱 렌더링은 사용자에게 가상 혹은 증강된 환경의 다양한 객체의 정보를 역/촉감을 통해 제공해주는 일련의 계산 과정을 의미한다. 햅틱 인터페이스(장치)를 통해 표현되는 역/촉감 정보는 다양한 환경을 실감 있게 인지하도록 도와주며, 사용자의 몰입감을 증가시켜 환경내의 객체들을 효과적으로 느끼고 조작할 수 있도록 도와준다. 햅틱 렌더링은 크게 역감 상호작용과 촉감 렌더링으로 나눌 수 있는데, 전자는 물체의 형상, 굳기, 변형 정보를 역감 상호작용 인터페이스를 통하여 사용자에게 렌더링되는 근감각적 정보를 의미하는 반면, 후자는 사용자의 피부에 분포되어 있는 감각 수용기에 촉감 렌더링 인터페이스 통해 물체의 미세 형상, 거칠기, 마찰, 온도 등을 피부에 직접 정보를 전달하는 것을 의미한다.
햅틱 렌더링이란?
햅틱(Haptic)이란 단어는 고대 그리스 어의 "haptikos/haptesthai"로부터 유래되었으며, 햅틱 감각은 손을 사용하여 느끼는 모든 지각을 의미하는 용어로 정의되어 사용되었으나, 최근 인체의 모든 촉감 기관을 사용하여 느끼는 지각으로 의미가 넓혀지고 있다. 햅틱 렌더링은 사용자에게 가상 혹은 증강된 환경의 다양한 객체의 정보를 역/촉감을 통해 제공해주는 일련의 계산 과정을 의미한다. 햅틱 인터페이스(장치)를 통해 표현되는 역/촉감 정보는 다양한 환경을 실감 있게 인지하도록 도와주며, 사용자의 몰입감을 증가시켜 환경내의 객체들을 효과적으로 느끼고 조작할 수 있도록 도와준다.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.