Haptic Rendering

햅틱 렌더링 (Haptic Rendering)

(점 접촉 모델을 이용한) 사실적인 촉감 생성 및 재현

햅틱 기술이 적용된 환경 (실제, 가상 및 원격)에서 가상의 사물이 실제 존재하는 것처럼 느낄 수 있도록, 사람의 촉감 메커니즘과 가상의 사물에 대한 물리적 특성 등을 고려하여, 햅틱 디바이스로 가상의 사물과 상호작용 하는 동안 사실적으로 느낄 수 있는 촉감 발생 과정입니다.

Haptic11


Kinesthetic Feedback 햅틱 렌더링을 위한 인터페이스 구조

Haptic12가상 환경과 물리적인 상호작용을 위해 햅틱 디바이스를 사용:

  • End-Effector의 위치를 인코더로 측정.
  • 액츄에이터는 사용자에게 힘을 적용.
  • 햅틱 렌더링 알고리즘은 새로운 위치 부여와 같은 힘을 계산.

시뮬레이션 엔진은 가상 환경의 상태를 계산:

  • 가상 객체의 표현 (Representations).
  • 물리적 행동의 실 시간 시뮬레이션.
  • 지오메트리 모델링 및 컴퓨터 애니메이션.

Haptic13그래픽 엔진:

  • 가상 환경 (VE)을 화면에 렌더링 : 그래픽에 관한 것만이 아님.
  • OpenHaptics.
  • chai3d : 햅틱 및 그래픽을 쉬게 처리하고 오픈 소스 멀티 플랫폼의 햅틱 렌더링 프레임워크.

충돌 검출 (Collision Detection):

  • 디바이스에 새로운 위치 (x, y, z)가 주어지면 아바타가 충돌되었는지 여부를 모든 객체에 대해 확인.
  • 충돌이 일어난 경우, 어떤 객체의 어느 부분과 충돌되었는지를 검출.

힘 응답 (Force Response) 알고리즘:

  • Haptic14가상 객체와 충동 되었을 때, 햅틱 처리기가 가상 객체 내부로 침투하는 것을 방지하기 위해 물리적인 힘 반력을 생성.
  • 가상 객체와 충동 되었을 때, 다음과 같은 점을 감안하여 힘 반력 (Fx, Fy, Fz) 계산 및 토크 값 계산 : (현실적인 느낌의 접촉, 현실적으로 보이는 접촉).
  • 반환 값은 일반적으로 디바이스에 적용되는 힘 과 토크 벡터.

제어 (Control) 알고리즘:

  • 계산된 힘을 디바이스에 적용 : 디바이스의 안정적인 유지.
  • 힘은 최대한 계산 결과에 가깝게 적용.
  • 햅틱 렌더링의 이산 시간 (Discrete-time) 특성이 종종 발생.

Servo 루프 또는 Servo 쓰레드

햅틱 디바이스에 보낼 힘을 계산하는데 사용하는 높은 주기의 엄격한 제어 루프입니다.

  • 안정적인 햅틱 피드백을 렌더링 하기 위해 일관된 1KHz 또는 그 이상의 속도로 실행.
  • 높은 업데이트 속도를 유지하기 위해 Servo 루프는 우선 순위가 높은 별도의 쓰레드에서 실행.
  • 멀티 모달 상호작용을 위해 멀티 쓰레드 사용.

Haptic10


OpenHaptics : 3D Systems 장비를 위한 소프트웨어 개발 툴킷

Haptic Device API (HDAPI)

  • 햅틱 디바이스에 대한 낮은 수준의 접근 (Access) 제공.
  • 힘 (Force)에 대해 직접 햅틱 렌더링 (Direct Haptic Rendering) 수행.
  • 디바이스의 런타임 동작 구성을 제어하고 편리한 유틸리티 기능과 디버깅 보조 기능을 제공.

Haptic4Haptic Library API (HLAPI)

  • 높은 수준의 햅틱 렌더링을 제공.
  • OpenGL API 프로그래머에 친숙한 구조의 C 언어로 API.
  • 기존 OpenGL 프로그램의 재 사용 및 햅틱과 그래픽 쓰레드 간의 동기화를 매우 간단히 구현.

QuickHaptics Micro API

  • C++를 사용하는 API로 OpenHapticsTM 3.0에서 추가.
  • 햅틱에 비 전문가 일지라도 극적으로 빠르고 간단하게 새로운 또는 기존 햅틱 / 그래픽 응용 프로그램에 촉감 부여.
  • 전형적인 햅틱 응용 프로그램에 대한 논리적 (Logical) 단계를 캡슐화 (Encapsulate)한 그래픽 및 햅틱 함수 호출을 사용하여 빠르고 쉽게 새로운 응용 프로그램 작성 또는 기존 응용 프로그램에 햅틱스 추가.
  • 내장된 지오메트리 파서 (Parser) 및 지능적인 기본 매개변수로 가능한 최소한의 코드로 햅틱 / 그래픽 장면 (Scene)을 설정.

Force Dimension 장비를 위한 소프트웨어 개발 툴킷

haptics SDK

Haptic15모든 Force Dimension 햅틱 디바이스 및 Falcon 지원.

멀티-플랫폼 운영 체계:

  • Windows XP / 7 / 8
  • Linux: Kernel 2.6 / 3.x
  • Mac OS X 10.9 / 10.10
  • LabView 및 SimuLink.

Real-Time 플랫폼:

  • QNX : Neutrino 6.5 / 6.6
  • VxWorks 6.3 / 6.8 / 6.9
  • Windows CE 7.0
  • 사용자 정의 소프트웨어 개발로 다른 OS 지원.

robotics SDK:

로보틱스 제어를 위한 haptics SDK 확장.

로봇 및 협업적인 응용 프로그램 개발을 목표:

  • 공간에서 안전하고 효율적인 움직임.
  • 사람과 기계의 공동작업을 위한 새로운 방법 모색.

사용자 프로그램은 로봇처럼 햅틱 디바이스 제어:

  • Human-Device 협업 (Collaboration) 가능.

범용 햅틱 디바이스를 위한 소프트웨어 개발 툴킷 : chai3d

chai3d는 가장 인기있는 오픈 소스 멀티 플랫폼의 햅틱 렌더링 프레임워크로 성장:

  • 수 많은 연구 및 산업 프로젝트에서 사용.
  • 게임, 시뮬레이터, 교육용 소프트웨어, 인터렉티브 아트, 과학 가시화 및 의료 분야 등의 다양한 분야.
  • 시각적, 촉각적 및 청각적 피드백을 통합 시뮬레이션 프레임 워크에 결합하여 각 객체에 시뮬레이션 환경을 풍부하게 하는데 필요한 외관, 물리적 및 사운드 특성 세트를 제공.

Haptic16C++ 라이브러리의 오픈 소스:

  • 3D 모델링에 포스 피드백 렌더링 기능이 결합된 응용 프로그램을 생성하고자 하는 개발자를 위해 보다 쉽고 직관적이 될 수 있도록 설계.
  • 많은 햅틱 인터페이스를 지원함으로써, chai3d는 진보적인 컴퓨터 햅틱 솔루션을 쉽게 설계하고 배포 할 수 있는 독특한 인터페이스를 제공.

산업 및 학계 파트너:

  • Force Dimension : 연구 기관 및 기업에 대한 포괄적인 기술 지원을 제공하기 위해 전문적인 응용프로그램에 대해 chai3d 개발을 주도.
  • Hansen Medical.
  • Stanford University.
  • 스위스 연방 공과 대학 (Federal Institute of Technology).

다양한 햅틱 디바이스지원:

  • Force Dimension 사의 Omega.x, Delta.x 및 Sigma.7 제품 군 : Windows, Linux, Mac OS-X.
  • 3D Systems 사의 모든 Phantom 제품 군 : Windows.
  • Novint 사의 Falcon 지원 : Windows 32 bit.
  • 가상 햅틱 디바이스.
  • 유니버설 햅틱 디바이스 핸들러.
  • 사용자 정의 디바이스의 통합을 위한 템플릿.