KR20100019203A - 에이잭스를 활용을 위한 햅틱 피드백 제어 시스템 및 방법 - Google Patents

에이잭스를 활용을 위한 햅틱 피드백 제어 시스템 및 방법 Download PDF

Info

Publication number
KR20100019203A
KR20100019203A KR1020080078116A KR20080078116A KR20100019203A KR 20100019203 A KR20100019203 A KR 20100019203A KR 1020080078116 A KR1020080078116 A KR 1020080078116A KR 20080078116 A KR20080078116 A KR 20080078116A KR 20100019203 A KR20100019203 A KR 20100019203A
Authority
KR
South Korea
Prior art keywords
haptic
information
ajax
haptic feedback
xmlhttprequest
Prior art date
Application number
KR1020080078116A
Other languages
English (en)
Other versions
KR100945728B1 (ko
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 KR1020080078116A priority Critical patent/KR100945728B1/ko
Publication of KR20100019203A publication Critical patent/KR20100019203A/ko
Application granted granted Critical
Publication of KR100945728B1 publication Critical patent/KR100945728B1/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
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • 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

Abstract

본 발명에서, 단말에 대한 햅틱의 응답성 및 기능성을 높일 수 있는 에이잭스를 활용을 위한 햅틱 피드백 제어 시스템 및 방법을 개시한다.
본 발명에 따른 시스템은, 유무선 인터넷 접속이 가능한 단말에 있어, 상기 단말은, 에이잭스를 이용한 서버 머신과의 비동기적 접속을 기반으로 웹 애플리케이션을 제공하고, 콜백 핸들러(Callback Handler) 함수를 이용하여 상기 에이잭스의 XMLHttpRequest 객체에 대응하는 햅틱 피드백 정보를 접수하는 브라우징 모듈; 및 상기 햅틱 피드백 정보에 대응하는 액션(Action) 정보를 생성하고, 상기 액션 정보에 응답하여 감각적, 시각적, 청각적, 후각적 정보를 출력하는 피드백 모듈을 포함한다.
따라서, 본 발명은 PC와 같은 단말기 또는 PDA, 핸드폰과 같은 휴대용 단말기를 통해 에이잭스 기반의 웹 애플리케이션을 사용함에 있어, 단말기에 대해 추가적 또는 내부로 설치되는 햅틱 피드백 제공 기능을 구현함으로써, 유무선으로 접속되는 서버로부터의 응답 코드에 대응하도록 사용자에게 햅틱 피드백을 제공할 수 있으며, 또한 에이잭스 기반의 웹 애플리케이션의 사용성을 향상시킬 수 있다.
햅틱, 에이잭스, AJAX, 자바스크립트, JavaScript, 콜백 핸들러, HTML

Description

에이잭스를 활용을 위한 햅틱 피드백 제어 시스템 및 방법{HAPTIC FEEDBACK CONTROLLING SYSTEM AND METHOD FOR Asynchronous Javascript And Xml}
본 발명은 햅틱 제어에 관한 것으로, 더욱 상세하게는 단말기 또는 디바이스 내부로 구비되는 햅틱 기능을 수행함에 있어, AJAX(Asynchronous Javascript And Xml)의 XMLHttpRequest 객체를 이용한 유무선 기반의 인터넷 서버와의 비동기적인 통신에 기반한 햅틱 제어 시스템 및 방법에 관한 것이다.
일반적으로, 햅틱장치(Haptic Device)는 가상현실, 시뮬레이션(Simulation), 착용용 컴퓨터(Wearable Computers), 로보틱스(Robotics), 의료용 등 다양한 분야에 활용되고 있으며, 햅틱인터페이스(Haptic Interface)라 부르고도 있다. 햅틱장치는 근육, 관절에 물리적인 힘을 전달해 주는 근감각 자극 햅틱장치(Force Feedback Device 또는 KINESTHETIC DEVICE)와 피부에 접촉되어 있는 기계수용체(Mechano Receptor)를 통하여 질감, 온도, 압력, 진동, 통증 등과 같은 피부 자극을 전달하는 촉감장치로 구분되고 있다. 여기서, 촉감장치는 촉감제시장치(Tactile Display)로 부르고도 있다. 촉감장치는 피부 자극에 의하여 사용자에게 실제 물체의 질감과 같은 사실적인 재질(Realistic texture)을 구현하는 촉감기 술(Tactile Technology) 이다.
그러면, 이러한 햅틱장치의 활용 예를 첨부된 예시도면에 의거 설명하면 다음과 같다. 도 1은 종래 햅틱 장치의 적용 사례를 나타낸 도면이다.
도시된 바와 같이, 햅틱 장치(100)에서는 사용자가 햅틱 장치(100)에 신체를 접촉하고 이를 조작함으로써, 사용자의 PC(140)에 신체의 움직임을 직관적으로 입력할 수 있다. 이때 햅틱 장치(100)의 몸체(120)는 일반적인 로봇과 같이 센서와 엑추에이터(미도시)가 부착된 형태이며, 로봇의 엔드이펙터(end effecter)에 해당하는 부분이 사용자가 접촉하여 조작하는 손잡이(110)가 된다.
햅틱 장치(100)의 제어부(130)는, 몸체(120)에 부착된 센서에서 감지된 정보로부터 기구학적 계산을 수행하고 그 결과를 PC(140)에 전달하는 역할과, PC(140)에서 생성한 힘의 명령을 받아들이고 역학적으로 해석하여 몸체(120)에 부착된 각 엑추에이터를 제어하는 역할을 한다. 이러한 제어부(130)는 하나의 모듈로 구성하여 몸체(120)에 구비될 수도 있고, 필요에 따라 PC(140)에 통합하여 구현될 수도 있다.
위와 같이 몸체(120), 제어부(130) 및 PC(140)로 구성된 햅틱 장치(100)는 다양한 분야에 적용할 수 있다. 최근 부각되는 가상환경에 접목되어 직관적인 입력을 가능하게 하고, PC(140)에서 생성된 결과에 따라 사용자에게 힘을 반영함으로써 현실감을 높여줄 수 있다. 이때 비교적 간단한 가상환경의 경우 PC(140)에 직접 구현될 수 있고, 복잡하고 정밀한 가상환경의 경우에는 이를 전담하기 위한 전용 PC와 기타 요소로 구성된 가상현실시스템을 통해 시각 및 기타 가상환경이 독립적으 로 구축될 수 있다. 이러한 햅틱 장치(100)는 가상현실시스템에 유무선 통신을 통해 하위시스템으로서 접속하게 된다.
다른 적용분야에는 원격조종(tele-operation)을 이용한 원격수술 또는 원격로봇제어 등을 들 수 있다. 이 경우 햅틱 장치(100)를 마스터로 하여, 원격수술도구 또는 원격로봇(160)과 햅틱 장치(100)와 통신하고 원격 수술도구 또는 원격로봇을 제어하는 전용 PC(170)로 구성되는 슬레이브 시스템(150)을 원격지에서 사용자의 의도에 따라 조작할 수 있다. 햅틱 장치는, 엔드이펙터가 외란(disturbance)에 쉽게 흔들리지 않도록 역구동성(back drivability)이 낮도록 설계하는 일반적인 로봇과 다른 설계기준을 갖는다. 상기 기술된 두 적용 분야는 일반적인 근감각 자극 기반 햅틱 장치에 대한 대표적인 예라고 볼 수 있다.
최근에는 역감 기반의 장치 뿐 아니라 표면의 재질감과 같은 촉감을 제시하는 촉감제시장치(Tactile Display)가 개발이 되고 있다. 이는 근감각 자극 햅틱 장치에 비해 소형화가 용이하다는 장점에 기인한다. 촉감제시장치는 진동 모터를 이용한 진동 촉각(vibrotactile) 장치 뿐 아니라, 점자 표현과 같이 핀 배열 기반(pin-array based)의 장치를 포함한다. 핀 배열 기반 장치의 경우 피에조, 초음파, 서보 모터 등을 활용하여 작동이 되고 있으며, 이러한 장치의 구동을 위한 질감 정보는 상기 기술된 근감각 자극 햅틱 장치와 같이 원격에서 센싱된 값을 토대로 할 수 있게 된다. 예를 들면, 원격지에서 측정된 표면의 거칠기 또는 표면의 무늬 정보가 로칼에 위치한 핀 배열 기반의 촉감제시장치로 표현될 수 있는 것이다.
국내 특허 10-0828185 의 경우 “마우스와 촉감제시장치가 장착된 컴퓨터에 로딩된 이미지의 표면 촉감정보를 추출하는 방법”에 대한 기술을 하고 있다. 이 경우는 핀 배열 기반의 촉감 제시장치 구동을 위한 표면 정보를 생성하는 것을 기술하는 것으로, 가상환경을 촉각화 하여 느낄 수 있는 방법론을 설명하고 있다.
이와 같이 표면의 상세한 정보는 촉감제시장치(TACTILE DISPLAY)를 통해, 가상환경 또는 원격지의 굴곡과 같은 큰 스케일의 정보는 근감각 기반의 햅틱 장치(KINESTHETIC DISPLAY)를 통해 제시될 수 있는 것이다. 보다 최근에는 사용자에게 입력 장치에 가한 입력에 대한 피드백을 햅틱 형태로 전달되는 연구가 활성화 되고 있다. 촉감제시장치(TACTILE DISPLAY) 중 진동 촉각(vibrotactile) 장치의 대표인 진동 모터등을 활용하여, 사용자가 터치 패드등에 위치한 버튼을 눌렀을 때, 사용자에게 버튼이 눌렸다는 피드백을 햅틱 피드백의 형태로 전달하는 예를 생각해 볼 수 있다. 요약하면, 햅틱 기술은 원격지 또는 가상환경의 정보 재현 뿐 아니라, 사용자에게 피드백을 전달하는 수단으로 활용되고 있는 것이다.
최근 인터넷기반 애플리케이션 영역에서는 플러그인들의 도움없이 인터랙티브하고 응답성 사용성을 높일 수 있는 에이잭스-AJAX(Asynchronouse Javascript And Xml)가 주목을 받고 있다. 에이잭스의 핵심을 이루는 XMLHttpRequest는 인터넷 익스플로러 5.0에서부터 이미 액티브오브젝트 형태로 제공되기 시작하여, 그 후 모질라 1.0에서부터 윈도우 오브젝트 형태로 XMLHttpRequest 객체가 지원되기 시작하였다. 그 이외에 넷스케이프 7, 맥의 사파리 1.2, 오페라 7.6에서부터 그리고 모든 파이어폭스 버전에서 지원되고 있다. AJAX 애플리케이션에서는 서버 측에 보내는 요청이 비동기적으로 이루어지기 때문에, 요청을 보낸 이후에도 응답이 완료되기를 기다리지 않고 또 다른 요청을 보내거나 그 이외의 액션을 취할 수 있는 특성을 갖고 있다.
이러한 에이잭스 애플리케이션은 페이지 전환을 하지 않고도 서버와 데이터를 주고 받을 수 있는 큰 장점이 있다. 기존의 경우 웹 페이지를 통해 정보를 전송하기 위해서는 데이터 처리를 하는 페이지를 거쳐 새로운 페이지가 뜨는 일련의 과정을 거쳐야 했다. 예를 들면, 서버에 로그인을 하기 위해서는 아이디와 비밀번호를 넣고 확인 버튼을 누르면, 새로운 페이지를 거쳐 해당 질의가 유효한지 아닌지 점검을 받을 수 밖에 없었다. 그러나 에이잭스 애플리케이션의 경우는 이러한 화면 전환이 없이 버튼을 누르면, 현재 화면에서 질의 결과를 알 수 있는 장점이 있다.
또는 서버에 위치한 데이터베이스에 정보를 페이지 전환 없이 XMLHttpRequest 객체의 도움으로 간단히 입력할 수 있게 된다. 해당 질의의 결과는 에이잭스 애플리케이션의 경우 메시지 박스 또는 별도의 시각적 메시지를 통해 사용자에게 전달이 되게 된다. 이는 기본적으로 서버와의 통신이 성공적으로 완료되어도 아무런 결과를 보이지 않는 에이잭스의 특징을 극복하기 위한 자연스러운 것이다.
즉 에이잭스 애플리케이션의 경우 서버와의 데이터 교환을 페이지가 바꾸지 않고도 이룰 수 있다는 장점이 사용자 피드백 관점에서는 단점이 되기 때문에 시각적 정보를 사용하는 것이다. 그러나 이러한 시각적 정보의 수반은 불필요한 화면 공간의 차지를 유발하거나, 메시지 박스의 경우 추가적인 확인 버튼의 클릭을 요구하는 단점을 만들게 된다. 따라서 에이잭스 애플리케이션의 경우 사용자와의 인터 랙션을 향상시키기 위해 새로운 피드백을 정의할 필요가 있는 실정이다.
본 발명은 이와 같은 문제점을 해결하기 위해 창출된 것으로, 본 발명의 목적은 에이잭스 애플리케이션 모델 사용에 있어 데이터 전송과 관련된 신호를 햅틱 기능을 통해 전달하여 에이잭스 애플리케이션의 기능성을 높일 수 있는 햅틱 제어 시스템 및 방법을 제공함에 있다.
본 발명의 목적은, AJAX(Asynchronouse Javascript And Xml)의 XMLHttpRequest를 이용한 서버와의 비동기적 통신을 기반으로, STATUS CODE 또는 READY STATE CODE에 대응하도록 햅틱 제어를 수행할 수 있는 에이잭스를 이용한 햅틱 제어 시스템 및 방법을 제공함에 있다.
본 발명의 또 다른 목적은, 서버의 응답 지연에 대한 단말의 클라이언트 액션에 따라 햅틱장치의 동작성을 부여할 수 있도록, 전송 함수 및 수신(또는 수신완료) 함수를 구현하고, 각 함수 응답에 대응하는 햅틱 피드백을 형성하여 에이잭스 애플리케이션의 단점을 보완하기 위한 제어 시스템 및 방법을 제공함에 있다.
상기 목적을 달성하기 위한 본 발명의 제1 관점에 따른 에이잭스 애플리케이션을 위한 단말의 햅틱 제어 시스템은, 유무선 인터넷 접속이 가능한 단말의 햅틱 제어 시스템에 있어서, 상기 단말은, 에이잭스를 이용한 서버 머신과의 비동기적 접속을 기반으로 웹 애플리케이션을 제공하고, 콜백 핸들러(Callback Handler) 함수를 이용하여 상기 에이잭스의 XMLHttpRequest 객체에 대응하는 햅틱 피드백 정보 를 접수하는 브라우징 모듈; 및 상기 햅틱 피드백 정보에 대응하는 액션(Action) 정보를 생성하고, 상기 액션 정보에 응답하여 감각적, 시각적, 청각적, 후각적 정보를 출력하는 햅틱모듈을 포함하는 것을 특징으로 한다.
상기 목적을 달성하기 위한 본 발명의 제2 관점에 따른 에이잭스 애플리케이션을 위한 단말의 햅틱 제어 방법은, 유무선 인터넷 접속이 가능한 단말의 햅틱 제어 방법에 있어서, a) 에이잭스 애플리케이션을 기반으로, XMLHttpRequest 상태정보 및 HTTP 요청결과 정보를 수신하는 단계; b) 상기 XMLHttpRequest 상태정보 및 HTTP 요청결과 정보에 대한 룩업 테이블 정보를 추출하는 단계; 및 c) 상기 룩업 테이블 정보에 대응하는 햅틱 제어정보를 생성하고, 상기 햅틱 제어정보에 근거하여 액추에이터를 구동하는 단계로 이루어진 것을 특징으로 한다.
본 발명은 에이잭스(AJAX) 애플리케이션을 구현함에 있어, 단말기 또는 임의의 디바이스 내로 설치되는 햅틱 기능의 제어가 이루어지도록 하여, 에이잭스 애플리케이션의 기능성을 높일 뿐만 아니라, 유무선으로 접속되는 서버의 응답 완료 이전에 사용자의 액션을 감지하여 이에 대응하는 햅틱장치를 동작시킴으로써, 에이잭스 애플리케이션의 사용성 향상시킬 수 있는 효과를 갖는다.
이하, 본 발명의 바람직한 실시 예를 첨부된 예시도면에 의거 상세히 설명하면 다음과 같다.
도 2는 본 발명에 따른 햅틱 제어를 설명하기 위한 단말(디바이스)의 주요 구성도이다. 도시된 바와 같이, 단말기 또는 임의의 디바이스로 상정될 수 있는 클라이언트 머신(210)은 에이잭스(AJAX)를 이용한 서버 머신(203)과의 비동기적 접속을 기반으로 웹 애플리케이션을 제공하고, 자바스크립 기능 또는 콜백 핸들러(Callback Handler)를 이용하여 상기 햅틱 피드백 정보를 접수하는 브라우징 모듈(205)과, 상기 햅틱 피드백 정보에 대응하는 액션(Action) 정보를 생성하고, 상기 액션 정보에 응답하여 감각적, 시각적, 청각적, 후각적 정보를 출력하는 햅틱모듈(207)을 포함한다.
여기서, 상기 서버 머신(203)은 온라인 네트워크상에서 웹 페이지를 제공하기 위해 비주얼 레이아웃(Visual layout) 정보 및 근감각 자극 및 촉각 자극을 포함한 햅틱 피드백(Haptic feedback) 정보를 전송하며, 상기 클라이언트 머신(210)과 유선 또는 무선 네트워크 접속된다.
상기 클라이언트 머신(210)은 이동통신 단말기, PDA, PMP 등을 포함하여, 햅틱 기능이 적용될 수 있는 디바이스를 포함한다. 또한, 상기 클라이언트 머신(210)는 개인용 컴퓨터로 적용될 수 있으며, 이때 상기 브라우징 모듈(205)은 개인용 컴퓨터의 모니터 출력을 위한 브라우저이고, 상기 햅틱 모듈(207)은 개인용 컴퓨터와 통신 접속되는 디바이스로써, 마우스, 키보드 등을 포함하여 별도의 햅틱 장치로 구현될 수 있을 것이다.
상기 콜백 핸들러는 JavaScript Function으로 대치되어 햅틱 피드백 정보를 검출할 수 있으며, 상기 햅틱 피드백 정보는 햅틱 모듈(207)을 구동하기 위한 정보 로 활용되며, 인터페이스 디바이스(Interface Device), 웹 페이지 오브젝트(Web page object)의 정보를 포함할 수 있을 것이다.
상기 서버 머신(203)은 네트워크 구성에 따라 웹 서버 또는 XML 서버로 상정될 수 있으며, 상기 햅틱 피드백 정보는 onreadystatechage, readyState, status, statusText를 포함하는 XMLHttpRequest의 상태 정보와, responseText, responseXML를 포함하는 HTTP 요청결과 정보로 구성된다.
여기서, 상기 readyState 코드는 XMLHttpRequest 객체의 상태가 변화할 때의 상태 값을 정의하는 것으로, '0 = uninitialized', '1 = loading', '2 = loaded', '3 = interactive', '4 = complete'이며, 상기 status 코드는 서버머신(103)과 클라이언트 머신(110)과의 HTTP 응답상태를 나타내는 코드로서, 통신 상태의 전반적인 내용 즉, Informational code, Success code, Client Error code, Server Error code 등을 포함한다. 구체적인 status 코드는 도 3에 도시되며, 이러한 상태코드에 기반하여 서버 머신(203)과 클라이언트 머신(210)과의 지속적인 통신을 수행한다. 또한, 서버 머신(203)과 클라이언트 머신(210) 간의 통신은 비동기적으로 수행됨에 따라, 햅틱 피드백 정보의 송수신은 웹 페이지의 변형 없이 이루어지며, 상기 햅틱 모듈(207) 동작을 위한 기초 정보로 활용된다.
한편, 상기 클라이언트 머신(210)은 상기 서버 머신(203)과 비동기적인 통신을 수행하고, 통신 결과를 다이나믹하게 화면에 반영시키는 브라우징 모듈(205)을 포함하고 있는데, 상기 브라우징 모듈(205)은, XMLHttpRequest를 다루기 위한 통일된 인터페이스를 제공하고, 상기 XMLHttpRequest를 이용하여 상기 서버 머신(203) 과의 비동기적인 통신을 수행함으로써, 상기 서버 머신(203) 및 클라이언트 머신(210)의 애플리케이션에서 사용하는 데이터 간 호환성을 제공하며, 자바스크립트 기능 또는 콜백 핸들러를 통해 상기 XMLHttpRequest 및 이에 대한 햅틱 피드백 정보를 추출하는 에이잭스 엔진(213:AJAX Engine)과, DOM(Document Object Model) 인터페이스를 이용하여 현재 페이지를 재구성하고, 상기 햅틱 모듈(207)로부터 동작신호를 수신하고 이에 대응하는 자바스크립트 코드로 변환하여 상기 에이잭스 엔진(213)으로 제공하는 사용자 인터페이스(201)로 이루어진다.
그리고, 상기 브라우징 모듈(205)은 MSIE, 사파리, 모질라, 파이어폭스, 넷스케이프, 오페라 중 어느 하나의 브라우저를 사용하며, 임의 브라우저를 통해 HTML 렌더링을 수행한다.
상기 햅틱 모듈(207)은 임의의 시스템으로 구비되는 각종 액추에이터 출력에 대응하는 동작신호를 상기 사용자 인터페이스(201)로 제공하고, 상기 동작신호의 비동기적인 통신에 근거하여 상기 콜백 핸들러로부터 햅틱 피드백 정보를 접수한 후, 상기 햅틱 피드백 정보에 대응하는 햅틱 제어신호로 변환 출력하고, 상기 햅틱제어신호에 응답하여 햅틱 기능을 수행한다. 또한, 상기 햅틱 모듈(207)은 자바스크립트 기능 또는 콜백 핸드러(211)로부터 추출된 햅틱 피드백 정보와 대응하도록 룩업(Lookup) 테이블화된 햅틱 제어정보를 저장하는 메모리(217)와, 상기 햅틱 피드백 정보에 기초하여 상기 햅틱 제어정보를 추출하는 컨트롤러(215)와, 사용자의 행위에 대응하도록 상기 동작신호를 출력하고, 상기 동작신호에 대응하는 햅틱 제어정보에 응답하여 햅틱 동작을 수행하는 액추에이터(219)로 구성된다.
상기 액추에이터(219)는 사용자의 모션, 인위적 스위칭 조작 등을 감지하기 위한 장치 예컨대, 마우스, 모니터 버튼 등을 포함하여, 컴퓨터와 유무선 접속되어 사용자의 조작이 가능한 디바이스이다. 따라서, 상기 엑추에이터(219)는 상기 포스 제어신호에 따른 햅틱(Haptic) 구동을 수행하는 것으로, 4감(感) 출력을 기반으로 한다. 즉, 햅틱 구동을 위한 감성 기반으로, 시각, 청각, 촉각, 후각이 사용되며, 시각적 기능으로 다수 종류의 디스플레이 모듈이 사용되고, 청각적 기능으로 음향 출력 모듈이 사용되며, 촉각적 기능으로 편심모터, 보이스 코일, 피에조 액추에이터, 초음파 액추에이터, 솔레노이드 액추에이터, 전기합성 고분자, 공압 또는 유압 엑추에이터, 진동모터 등을 포함하며, 근감각을 자극하는 모듈의 경우 사용자에게 반력을 제시할수 있는 포스 피드백 마우스, 로봇 암(arm) 형태의 햅틱 인터페이스를 포함하며, 상기 후각적 기능으로 향기 발생모듈이 사용될 수 있다.
이하, 본 발명의 동작을 첨부된 예시도면에 의거 상세히 설명하면 다음과 같다.
도 4는 본 발명에 따른 주요 동작을 설명하기 위한 플로우챠트이다. 먼저, 본 발명에서 기술되는 클라이언트 머신(210)은 이동통신 단말기, PDA, 무선 노트북 등과 같은 무선 인터넷이 가능한 디바이스 또는, 인터넷 접속이 가능한 데스크탑 형식의 개인용 컴퓨터로 적용될 수 있다. 앞서 설명된 바와 같이, 클라이언트 머신(210)이 개인용 컴퓨터 등과 같은 단말일 경우, 상기 클라이언트 머신(210)으로 구비되는 햅틱 모듈(207)은 개인용 컴퓨터와 통신 접속되는 별도의 햅틱 장치로 상 정된다. 본 발명의 실시 예에서는, 상기 클라이언트 머신(210)을 무선 인터넷이 가능한 디바이스로 설명할 것이나, 기술적 사상의 범주는 개인용 컴퓨터 및 이에 접속되는 햅틱 장치를 포함할 수 있음은 당연할 것이다.
도시된 바와 같이, S401 단계로 진입하여 상기 클라이언트 머신(210)은 서버 머신(203)과의 통신 접속에 따라 브라우저를 기동한다. 상기 브라우저는 인터넷 익스플로러(MSIE), 사파리, 모질라, 파이어폭스, 넷스케이프, 오페라 등이 적용될 수 있으며, 상기 클라이언트 머신(210)의 에이잭스 엔진(213)은 브라우저 기동에 따른 HTML 렌더링을 수행한다.
이때, 상기 에이잭스 엔진(213)은 상기 서버 머신(203)과 통신하기 위한 XMLHttpRequest 컴포넌트를 사용하는데, 이러한 XMLHttpRequest 컴포넌트는 서버 머신(203)과의 비동기적인 통신을 수행하여 그 결과를 다이나믹하게 화면에 반영시킨다. 이를 위해, 상기 에이잭스 엔진(213)은 XML을 통해 서버 머신(203)과 데이터 통신을 수행하며, 상기 XMLHttpRequest를 이용하여 서버 머신(203)과의 통신 결과를 HTTP 요청결과 정보 즉, responsText, responsXML로 받는다. 그리고, XSLT를 이용하여 XML 형태의 데이터를 HTML로 변환하여 상기 사용자 인터페이스(201)로 제공한다. 사용자 인터페이스(201)는 DOM 인터페이스를 이용하여 현재 페이지를 재구성함으로써, 다이나믹한 화면을 제공한다.
전술된 XMLHttpRequest 컴포넌트는 readystate, status, statusText 정보를 포함하며, 본 발명에서는 이러한 XMLHttpRequest 컴포넌트 즉, XMLHttpRequest 상태정보 및 HTTP 요청결과 정보를 이용하여 햅틱의 구동 신호로 사용한다. 따라서, 상기 에이잭스 엔진(213)은 콜백 핸들러(211)를 이용하여 XMLHttpRequest 상태정보 및 HTTP 요청결과 정보를 추출한다. 여기서, 상기 콜백 핸들러(211)는 자바스크립 기능에서 구현될 수 있으며, 이러한 콜백 핸들러 함수를 통해 서버 머신(203)과 클라이언트 머신(210)과의 통신 정보를 추출한다.
즉, S403 단계와 같이 상기한 브라우저의 기동과 더불어 콜백 핸들러 함수를 호출하여, 클라이언트 머신(210)과 서버 머신(203) 간의 통신 상태 즉, XMLHttpRequest 상태정보 및 HTTP 요청결과 정보를 감시한다. 이는 에이잭스 엔진(213)의 비동기적 통신에 근거하기 때문에, HTML 페이지가 리프레시 되지 않은 상태에서 통신이 이루어진다.
상기한 콜백 핸들러(211)는 클라이언트 머신(210)으로 프로그램화된 함수로서, 콜백 핸들러(211)로부터 XMLHttpRequest 상태정보 또는 HTTP 요청결과 정보가 검출되면 이에 대한 결과정보를 상기 햅틱 모듈(207)로 전송한다. 상기 콜백 핸들러(211)는 상기 결과정보를 전송하기 위한 통신함수 예컨대, Active X 함수를 호출하여 햅틱 모듈(210)의 컨트롤러(215)로 결과정보에 대응하는 인자를 전달하는 기능을 포함할 수 있을 것이다.
환언하면, 먼저 S405 단계에서 상기 콜백 핸들러가 XMLHttpRequest 상태정보를 검출할 경우, 예컨대 XMLHttpRequest 객체 상태의 변화를 감지 즉, 전술한 바와 같이, readyState가 'uninitialized', 'loading', 'loaded', 'interactive', 'complete' 중 어느 하나의 상태를 감지하거나, XMLHttpRequest에 대한 HTTP 응답이 존재 예컨대, HTTP 응답 성공에 따른 status 값 또는 statusText 값을 인지할 경우, 상기 콜백 핸들러(111)는 S409 단계와 같이 ACTIVE X를 호출한다. 상기 ACTIVE X는 상기 햅틱 모듈(207)을 제어하기 위한 프로그램이다. 그러나, OS나 브라우져에 타입에 따르거나 기타 필요에 따라 상기 콜백 핸들러(211)의 감지 결과를 ACTIVE X를 사용하지 않고 상기 햅틱 모듈(207)로 제공될 수 있음은 당연할 것이다.
반면, S405 단계에서 판단한 결과, 상기 콜백 핸들러(211)가 XMLHttpRequest 상태정보를 검출하지 못했을 경우, S407 단계로 진입하여 HTTP 요청결과 정보가 검출되는지를 판단한다. 여기서, HTTP 요청결과 정보는 클라이언트 머신(210)으로부터 상기 서버 머신(203)으로 전송된 XMLHttpRequest 요청 신호에 대한 응답신호로서, responseText, responseXML 신호이다. 이러한 응답신호는 메시지 박스(Message Box)를 통해 디스플레이되는데, 햅틱 모듈(207)은 메시지 박스의 팝업과 더불어 소정의 햅틱 기능을 수행토록 하는 것이다.
따라서, 상기 S407 단계에서 판단한 결과, HTTP 요청결과 정보가 콜백 핸들러(211)에 의해 검출되었음으로 판단할 경우, S409 단계와 같이 ACTIVE X 기능을 기동한다. 그리고, S411 단계로 진입하여 상기 XMLHttpRequest 상태정보 또는 HTTP 요청결과 정보를 포함하는 햅틱 피드백 정보를 분석하여 이에 해당하는 포스 제어정보를 추출한다. 즉, 컨트롤러(215)는 콜백 핸들러(211)로부터 햅틱 피드백 정보를 접수한 후, 상기 햅틱 피드백 정보와 매칭되는 상기 메모리(217)의 햅틱 제어정보를 추출한다.
도 5는 상기 메모리(217)로 탑재된 룩업 테이블 구조를 갖는 컨트롤 정보를 도시하고 있다. 컨트롤러(215)는 현재 접수한 XMLHttpRequest 상태정보 예컨대, readyState, status 정보에 대응하도록 기 설정된 어드레스 정보를 토대로 상호 매칭되는 포스 제어정보를 추출한다. 상기 포스 제어정보는 햅틱 제어를 위한 진동 주파수, 주파수 신호의 듀티비, 전류량 정보 등으로 설정될 수 있을 것이다. 이와 같이 메모리(217)로부터 추출된 햅틱 제어정보는 컨트롤러(215)의 구동 프로그램 인자로 사용되고, 상기 컨트롤러(215)는 구동 프로그램에 근거하여 상기 액추에이터(219)를 동작시킨다.
예컨대, XMLHttpRequest 상태정보가 'loading'에 해당하는 readyState '1'이 접수될 경우, 상기 컨트롤러(215)는 진동 또는 편심모터를 구비한 액추에이터(219)로 70Hz의 주파수 신호를 제공하여, 사용자에게 진동 촉감을 제공할 수 있다. 그리고, 이후 통신이 완료되면 HTTP 응답코드로서 status 코드 값 '200'이 반환되는데, 컨트롤러(215)는 이에 대응하는 어드레스 9를 매칭시켜 해당 어드레스로 적재된 'Duty 40'을 추출한다. 따라서, 상기 액추에이터(219)는 70Hz의 주파수 신호에 대한 듀티 비를 40으로 변경하여 촉감을 달리하도록 제어하는 것이다. 이때의 듀티비는 구동 주파수에 따라 고주파수의 경우 사용자가 듀티비를 인식할 수 없으나 전체적으로 자극의 강도가 바뀌는 효과를 만들어내며, 저주파수의 경우 자극의 On/Off 가 사용자에게 인지되게 된다.
한편, 전술된 액추에이터의 동작은 본 발명의 실시 예에 불과한 것으로, 액추에이터의 타입에 따라 그 제어방식을 달리하는 것은 본 발명의 기술적 범주에 속하는 것이라 할 수 있다.
전술된 바와 같이, 본 발명에 따른 에이잭스를 이용한 햅틱 제어 시스템 및 방법은, 유무선 단말기의 에이잭스(AJAX) 애플리케이션 모델 상에서 햅틱 기능이 구현되도록 함에 따라, 기본적으로 피드백이 없는 에이잭스(AJAX) 애플리케이션의 단점을 햅틱 피드백을 통해 극복할 수 있으며, 가상현실 구현을 위한 기반 알고리즘을 제공하여 온라인 산업에 이바지할 것으로 판단된다.
도 1은 종래 햅틱 장치를 설명하기 위한 구성도이다.
도 2는 본 발명에 따른 에이잭스 애플리케이션을 이용한 단말의 햅틱 제어 시스템을 설명하기 위한 구성도이다.
도 3은 본 발명에서 설명되는 XMLHttpRequest 객체를 설명하기 위한 코드표이다.
도 4는 본 발명의 주요 동작을 설명하기 위한 플로우챠트이다.
도 5는 본 발명에 따른 룩업 테이블 구조 및 이에 대한 포스 제어 정보를 설명하기 위한 도면이다.
<주요 도면에 대한 부호의 설명>
203 : 서버 머신 205 : 브라우징 모듈
210 : 클라이언트 머신 211 : 콜백 핸들러
213 : 에이잭스 엔진(AJAX Engine) 215 : 컨트롤러
217 : 메모리 219 : 액추에이터

Claims (12)

  1. 유무선 인터넷 접속이 가능한 단말의 햅틱 제어 시스템에 있어서,
    상기 단말은, 에이잭스(AJAX)를 이용한 서버 머신과의 비동기적 접속을 기반으로 웹 애플리케이션을 제공하고, 콜백 핸들러(Callback Handler) 함수를 이용하여 상기 에이잭스의 XMLHttpRequest 객체에 대응하는 햅틱 피드백 정보를 접수하는 브라우징 모듈; 및
    상기 햅틱 피드백 정보에 대응하는 액션(Action) 정보를 생성하고, 상기 액션 정보에 응답하여 감각, 시각적, 청각적, 후각적 정보를 출력하는 햅틱모듈을 포함하는 것을 특징으로 하는 에이잭스를 활용을 위한 햅틱 피드백 제어 시스템.
  2. 제 1 항에 있어서,
    상기 콜백 핸들러는 JavaScript 함수 내에서 구현되는 것을 특징으로 하는 에이잭스를 활용을 위한 햅틱 피드백 제어 시스템.
  3. 제 1 항에 있어서,
    상기 서버 머신은 네트워크 구성에 따라 웹 서버 또는 XML 서버이며, 상기 햅틱 피드백 정보는 onreadystatechage, readyState, status, statusText를 포함하는 XMLHttpRequest의 상태 정보와, responseText, responseXML를 포함하는 HTTP 요청결과 정보인 것을 특징으로 하는 에이잭스를 활용을 위한 햅틱 피드백 제어 시스 템.
  4. 제 1 항에 있어서,
    상기 브라우징 모듈은, XMLHttpRequest를 다루기 위한 통일된 인터페이스를 제공하고, 상기 XMLHttpRequest를 이용하여 상기 서버 머신과의 비동기적인 통신을 수행함으로써, 상기 서버 머신 및 클라이언트 머신의 애플리케이션에서 사용하는 데이터 간 호환성을 제공하며, 상기 콜백 핸들러를 통해 상기 XMLHttpRequest 및 이에 대한 햅틱 피드백 정보를 추출하는 에이잭스 엔진(AJAX Engine);
    DOM(Document Object Model) 인터페이스를 이용하여 현재 페이지를 재구성하고, 상기 햅틱모듈로부터 동작신호를 수신하여 이에 대응하는 자바스크립 코드로 변환하여 상기 에이잭스 엔진으로 제공하는 사용자 인터페이스로 이루어지는 것을 특징으로 하는 에이잭스를 활용을 위한 햅틱 피드백 제어 시스템.
  5. 제 4 항에 있어서,
    상기 브라우징 모듈은 MSIE, 사파리, 모질라, 파이어폭스, 넷스케이프, 오페라 중 어느 하나의 브라우저가 적용되는 것을 특징으로 하는 에이잭스를 활용을 위한 햅틱 피드백 제어 시스템.
  6. 제 1 항에 있어서,
    상기 햅틱 모듈은 상기 콜백 핸드러로부터 추출된 햅틱 피드백 정보와 대응 하도록 룩업(Lookup) 테이블화된 포스 제어정보를 저장하는 메모리, 상기 햅틱 피드백 정보에 기초하여 상기 햅틱 제어정보를 출력하는 컨트롤러와, 상기 동작신호를 출력하고, 상기 동작신호에 대응하는 햅틱 제어정보에 응답하여 햅틱 동작을 수행하는 액추에이터로 구성되는 것을 특징으로 하는 에이잭스를 활용을 위한 햅틱 피드백 제어 시스템.
  7. 제 6 항에 있어서,
    상기 액추에이터는 시각적 기능으로 디스플레이 모듈이 사용되거나, 청각적 기능으로 음향 출력 모듈이 사용되거나, 촉각적 기능으로 편심모터, 보이스 코일, 피에조 액추에이터, 초음파 액추에이터, 솔레노이드 액추에이터, 전기합성 고분자, 공압 또는 유압 엑추에이터, 진동모터 등을 포함하는 촉각 모듈 중 어느 하나가 적용되거나, 근감각 자극으로 사용자에게 반력을 제시할수 있는 포스 피드백 마우스, 로봇 암(arm) 형태의 햅틱 인터페이스 중 어느 하나가 사용되거나, 상기 후각적 기능으로 향기 발생모듈이 사용되는 것을 특징으로 하는 에이잭스를 활용을 위한 햅틱 피드백 제어 시스템.
  8. 제 1 항 내지 제 7 항 중 어느 한 항에 있어서,
    상기 클라이언트 머신은 이동통신 단말기, PDA, PMP 등을 포함하여, 햅틱 기능이 적용될 수 있는 디바이스 중 어느 하나인 것을 특징으로 하는 에이잭스를 활용을 위한 햅틱 피드백 제어 시스템.
  9. 유무선 인터넷 접속이 가능한 단말의 햅틱 제어 방법에 있어서,
    a) 에이잭스(AJAX) 애플리케이션을 기반으로, XMLHttpRequest 상태정보 및 HTTP 요청결과 정보를 수신하는 단계;
    b) 상기 XMLHttpRequest 상태정보 및 HTTP 요청결과 정보에 대한 룩업 테이블 정보를 추출하는 단계; 및
    c) 상기 룩업 테이블 정보에 대응하는 햅틱 제어정보를 생성하고, 상기 햅틱 제어정보에 근거하여 액추에이터를 구동하는 단계로 이루어진 것을 특징으로 하는 에이잭스를 활용을 위한 햅틱 피드백 제어 방법.
  10. 제 9 항에 있어서,
    상기 a) 단계는 a-1) 에이잭스 브라우저를 기동하는 단계;
    a-2) 콜백 핸들러를 호출하는 단계;
    a-3) 상기 콜백 핸들러로부터 XMLHttpRequest 상태정보 및 HTTP 요청결과 정보를 추출하는 단계; 및
    a-4) 상기 XMLHttpRequest 상태정보 및 HTTP 요청결과 정보를 전송하는 단계로 이루어진 것을 특징으로 하는 에이잭스를 활용을 위한 햅틱 피드백 제어 방법.
  11. 제 9 항 또는 제 10 항에 있어서,
    상기 XMLHttpRequest 상태정보는 readyState, status, statusText 속성 중 어느 하나이고, 상기 HTTP 요청결과 정보는 responseText, responseXML 속성 중 어느 하나인 것을 특징으로 하는 에이잭스를 활용을 위한 햅틱 피드백 제어 방법.
  12. 제 10 항에 있어서,
    상기 콜백 핸들러는 자바스크립(JavaScript) 함수에서 구현되는 것을 특징으로 하는 에이잭스를 활용을 위한 햅틱 피드백 제어 방법.
KR1020080078116A 2008-08-08 2008-08-08 에이잭스를 활용을 위한 햅틱 피드백 제어 시스템 및 방법 KR100945728B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080078116A KR100945728B1 (ko) 2008-08-08 2008-08-08 에이잭스를 활용을 위한 햅틱 피드백 제어 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080078116A KR100945728B1 (ko) 2008-08-08 2008-08-08 에이잭스를 활용을 위한 햅틱 피드백 제어 시스템 및 방법

Publications (2)

Publication Number Publication Date
KR20100019203A true KR20100019203A (ko) 2010-02-18
KR100945728B1 KR100945728B1 (ko) 2010-03-05

Family

ID=42089700

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080078116A KR100945728B1 (ko) 2008-08-08 2008-08-08 에이잭스를 활용을 위한 햅틱 피드백 제어 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR100945728B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018112216A1 (en) * 2016-12-15 2018-06-21 Intuitive Surgical Operations, Inc. Detection of user touch on controller handle
WO2019009455A1 (ko) * 2017-07-07 2019-01-10 ㈜리얼감 포스 피드백 장치 및 방법

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101408734B1 (ko) 2012-04-06 2014-06-18 (주)네오위즈게임즈 비동기 통신 방식 웹 페이지의 이동 제어 방법 및 장치

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8200763B2 (en) 2006-11-22 2012-06-12 Yahoo! Inc. Enabling display of a recipient list for a group text message
US20080140765A1 (en) 2006-12-07 2008-06-12 Yahoo! Inc. Efficient and reproducible visitor targeting based on propagation of cookie information
US8224359B2 (en) 2006-12-22 2012-07-17 Yahoo! Inc. Provisioning my status information to others in my social network

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018112216A1 (en) * 2016-12-15 2018-06-21 Intuitive Surgical Operations, Inc. Detection of user touch on controller handle
US11559364B2 (en) 2016-12-15 2023-01-24 Intuitive Surgical Operations, Inc. Detection of user touch on controller handle
US11896331B2 (en) 2016-12-15 2024-02-13 Intuitive Surgical Operations, Inc. Detection of user touch on controller handle
WO2019009455A1 (ko) * 2017-07-07 2019-01-10 ㈜리얼감 포스 피드백 장치 및 방법

Also Published As

Publication number Publication date
KR100945728B1 (ko) 2010-03-05

Similar Documents

Publication Publication Date Title
Sreelakshmi et al. Haptic technology: A comprehensive review on its applications and future prospects
El Rassi et al. A review of haptic feedback in tele-operated robotic surgery
Biswas et al. Haptic perception, mechanics, and material technologies for virtual reality
Caldwell et al. An integrated tactile/shear feedback array for stimulation of finger mechanoreceptor
Visell Tactile sensory substitution: Models for enaction in HCI
KR100682901B1 (ko) 화상표시장치에서 전기활성폴리머를 사용하여 영상정보의핑거팁 햅틱을 제공하는 장치 및 방법
Kyung et al. Ubi-Pen: A haptic interface with texture and vibrotactile display
WO2017175868A1 (ja) 触覚情報変換装置、触覚情報変換方法、および、触覚情報変換プログラム、並びに、素子配置構造体
Hasser et al. Tactile feedback with adaptive controller for a force-reflecting haptic display. 1. Design
Sarakoglou et al. A high performance tactile feedback display and its integration in teleoperation
Schorr et al. Sensory substitution via cutaneous skin stretch feedback
Frediani et al. Tactile display of softness on fingertip
CN104049733A (zh) 自动触觉效果调节系统
CN102591512A (zh) 触觉反馈系统和用于提供触摸反馈的方法
KR100945728B1 (ko) 에이잭스를 활용을 위한 햅틱 피드백 제어 시스템 및 방법
Kyung et al. Ubi-Pen: Development of a compact tactile display module and its application to a haptic stylus
Mulfari et al. Using embedded systems to spread assistive technology on multiple devices in smart environments
Kim et al. A new modular pin-array tactile device
Honda et al. Development of a novel slip haptic display device based on the localized displacement phenomenon
Chen et al. 3D Multimodal Sensing and Feedback Finger Case for Immersive Dual‐Way Interaction
Kyung et al. Pen-like haptic interface and its application on touch screen
Jyothi et al. Haptic technology-a sense of touch
JP2014092906A (ja) 触力覚提示装置
Bergamasco et al. High performance haptic device for force rendering in textile exploration
Ziegler Haptic displays: how can we feel virtual environments?

Legal Events

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

Payment date: 20130130

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140127

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee