햅틱 렌더링 (Haptic Rendering)
(점 접촉 모델을 이용한) 사실적인 촉감 생성 및 재현
햅틱 기술이 적용된 환경 (실제, 가상 및 원격)에서 가상의 사물이 실제 존재하는 것처럼 느낄 수 있도록, 사람의 촉감 메커니즘과 가상의 사물에 대한 물리적 특성 등을 고려하여, 햅틱 디바이스로 가상의 사물과 상호작용 하는 동안 사실적으로 느낄 수 있는 촉감 발생 과정입니다.
Kinesthetic Feedback 햅틱 렌더링을 위한 인터페이스 구조
가상 환경과 물리적인 상호작용을 위해 햅틱 디바이스를 사용:
- End-Effector의 위치를 인코더로 측정.
- 액츄에이터는 사용자에게 힘을 적용.
- 햅틱 렌더링 알고리즘은 새로운 위치 부여와 같은 힘을 계산.
시뮬레이션 엔진은 가상 환경의 상태를 계산:
- 가상 객체의 표현 (Representations).
- 물리적 행동의 실 시간 시뮬레이션.
- 지오메트리 모델링 및 컴퓨터 애니메이션.
그래픽 엔진:
- 가상 환경 (VE)을 화면에 렌더링 : 그래픽에 관한 것만이 아님.
- OpenHaptics.
- chai3d : 햅틱 및 그래픽을 쉬게 처리하고 오픈 소스 멀티 플랫폼의 햅틱 렌더링 프레임워크.
충돌 검출 (Collision Detection):
- 디바이스에 새로운 위치 (x, y, z)가 주어지면 아바타가 충돌되었는지 여부를 모든 객체에 대해 확인.
- 충돌이 일어난 경우, 어떤 객체의 어느 부분과 충돌되었는지를 검출.
힘 응답 (Force Response) 알고리즘:
- 가상 객체와 충동 되었을 때, 햅틱 처리기가 가상 객체 내부로 침투하는 것을 방지하기 위해 물리적인 힘 반력을 생성.
- 가상 객체와 충동 되었을 때, 다음과 같은 점을 감안하여 힘 반력 (Fx, Fy, Fz) 계산 및 토크 값 계산 : (현실적인 느낌의 접촉, 현실적으로 보이는 접촉).
- 반환 값은 일반적으로 디바이스에 적용되는 힘 과 토크 벡터.
제어 (Control) 알고리즘:
- 계산된 힘을 디바이스에 적용 : 디바이스의 안정적인 유지.
- 힘은 최대한 계산 결과에 가깝게 적용.
- 햅틱 렌더링의 이산 시간 (Discrete-time) 특성이 종종 발생.
Servo 루프 또는 Servo 쓰레드
햅틱 디바이스에 보낼 힘을 계산하는데 사용하는 높은 주기의 엄격한 제어 루프입니다.
- 안정적인 햅틱 피드백을 렌더링 하기 위해 일관된 1KHz 또는 그 이상의 속도로 실행.
- 높은 업데이트 속도를 유지하기 위해 Servo 루프는 우선 순위가 높은 별도의 쓰레드에서 실행.
- 멀티 모달 상호작용을 위해 멀티 쓰레드 사용.
OpenHaptics : 3D Systems 장비를 위한 소프트웨어 개발 툴킷
Haptic Device API (HDAPI)
- 햅틱 디바이스에 대한 낮은 수준의 접근 (Access) 제공.
- 힘 (Force)에 대해 직접 햅틱 렌더링 (Direct Haptic Rendering) 수행.
- 디바이스의 런타임 동작 구성을 제어하고 편리한 유틸리티 기능과 디버깅 보조 기능을 제공.
Haptic Library API (HLAPI)
- 높은 수준의 햅틱 렌더링을 제공.
- OpenGL API 프로그래머에 친숙한 구조의 C 언어로 API.
- 기존 OpenGL 프로그램의 재 사용 및 햅틱과 그래픽 쓰레드 간의 동기화를 매우 간단히 구현.
QuickHaptics Micro API
- C++를 사용하는 API로 OpenHapticsTM 3.0에서 추가.
- 햅틱에 비 전문가 일지라도 극적으로 빠르고 간단하게 새로운 또는 기존 햅틱 / 그래픽 응용 프로그램에 촉감 부여.
- 전형적인 햅틱 응용 프로그램에 대한 논리적 (Logical) 단계를 캡슐화 (Encapsulate)한 그래픽 및 햅틱 함수 호출을 사용하여 빠르고 쉽게 새로운 응용 프로그램 작성 또는 기존 응용 프로그램에 햅틱스 추가.
- 내장된 지오메트리 파서 (Parser) 및 지능적인 기본 매개변수로 가능한 최소한의 코드로 햅틱 / 그래픽 장면 (Scene)을 설정.
Force Dimension 장비를 위한 소프트웨어 개발 툴킷
haptics SDK
모든 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는 가장 인기있는 오픈 소스 멀티 플랫폼의 햅틱 렌더링 프레임워크로 성장:
- 수 많은 연구 및 산업 프로젝트에서 사용.
- 게임, 시뮬레이터, 교육용 소프트웨어, 인터렉티브 아트, 과학 가시화 및 의료 분야 등의 다양한 분야.
- 시각적, 촉각적 및 청각적 피드백을 통합 시뮬레이션 프레임 워크에 결합하여 각 객체에 시뮬레이션 환경을 풍부하게 하는데 필요한 외관, 물리적 및 사운드 특성 세트를 제공.
C++ 라이브러리의 오픈 소스:
- 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.
- 가상 햅틱 디바이스.
- 유니버설 햅틱 디바이스 핸들러.
- 사용자 정의 디바이스의 통합을 위한 템플릿.