KR20140008256A - 동적 이벤트에 대한 동적 햅틱 효과를 생성하는 컴퓨터 구현 방법, 컴퓨터 판독가능한 매체 및 시스템 - Google Patents

동적 이벤트에 대한 동적 햅틱 효과를 생성하는 컴퓨터 구현 방법, 컴퓨터 판독가능한 매체 및 시스템 Download PDF

Info

Publication number
KR20140008256A
KR20140008256A KR1020130080302A KR20130080302A KR20140008256A KR 20140008256 A KR20140008256 A KR 20140008256A KR 1020130080302 A KR1020130080302 A KR 1020130080302A KR 20130080302 A KR20130080302 A KR 20130080302A KR 20140008256 A KR20140008256 A KR 20140008256A
Authority
KR
South Korea
Prior art keywords
haptic effect
dynamic
value
endpoint
event
Prior art date
Application number
KR1020130080302A
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 임머숀 코퍼레이션
Publication of KR20140008256A publication Critical patent/KR20140008256A/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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs

Abstract

동적 이벤트의 동적 햅틱 효과를 생성하는 시스템은 동적 이벤트의 제1 엔드포인트 및 제2 엔드포인트를 수신한다. 제1 엔드포인트는 제1 엔드포인트값 및 대응하는 제1 햅틱 효과를 포함하고, 제2 엔드포인트는 제2 엔트포인트값 및 대응하는 제2 햅틱 효과를 포함한다. 시스템은 동적 이벤트의 동적값을 수신한다. 동적값은 제1 엔드포인트와 제2 엔드포인트 사이에 있다. 그 후, 시스템은 제1 햅틱 효과 및 제2 햅틱 효과로부터 동적 햅틱 효과를 보간함으로써 동적값으로부터 동적 햅틱 효과를 결정한다.

Description

동적 이벤트에 대한 동적 햅틱 효과를 생성하는 컴퓨터 구현 방법, 컴퓨터 판독가능한 매체 및 시스템{GENERATING HAPTIC EFFECTS FOR DYNAMIC EVENTS}
일 실시예는 일반적으로 햅틱 효과에 관한 것이며, 특히 동적 이벤트에 응답하여 햅틱 효과를 생성하는 것에 관한 것이다.
전자 장치 제조사들은 유저를 위해 풍부한 인터페이스를 만들기 위해 노력하고 있다. 통상의 장치들은 시각 및 청각 큐(cues)를 이용하여 유저에게 피드백을 제공한다. 일부 인터페이스 장치에서는, 일반적으로 총괄하여 "햅틱 피드백" 또는 "햅틱 효과"로 잘 알려져 있는, 신체 감각 피드백(예를 들어, 활동력 및 저항력 피드백) 및/또는 촉각 피드백(예를 들어, 진동, 감촉 및 열)도 유저에게 제공된다. 햅틱 피드백은 유저 인터페이스를 향상시키고 단순화시키는 큐를 제공할 수 있다. 구체적으로, 유저에게 특정 이벤트를 알리거나(alert), 시뮬레이션 환경 또는 가상 환경 내에서 더 큰 감각적인 몰입을 발생시키기 위한 현실적 피드백을 제공하기 위한 큐를 전자 장치의 유저에게 제공함에 있어서, 진동 효과, 또는 진동 촉각(vibrotactile) 햅틱 효과가 유용할 수 있다.
햅틱 피드백은 셀룰러 폰, PDA(personal digital assistants), 스마트폰, 휴대형 게임 장치와 같은 "핸드헬드 장치" 또는 "휴대형 장치"로 불리는 휴대형 전자 장치에도 점점 더 포함되고 있다. 예를 들면, 일부 휴대형 게임 어플리케이션은, 햅틱 피드백을 제공하도록 구성된 큰 규모의 게임 시스템에서 사용되는 제어기(예를 들면, 조이스틱 등)와 유사한 방식으로 진동할 수 있다. 또한, 셀룰러 폰 및 스마트폰과 같은 장치는 진동을 통해 유저에게 다양한 알림을 제공할 수 있다. 예를 들면, 셀룰러 폰은 진동으로 착신 전화를 유저에게 알릴 수 있다. 유사하게, 스마트폰은 예정된 일정(calendar) 항목을 유저에게 알릴 수 있거나 "할 일" 목록 항목 또는 일정 약속에 대한 리마인더를 유저에게 제공할 수 있다. 또한, 햅틱 효과를 이용하여 비디오 게임에서 튀어오르는 공의 느낌과 같은 "현실 세계" 동적 이벤트를 시뮬레이션할 수 있다.
일 실시예는 동적 이벤트의 동적 햅틱 효과를 생성하는 시스템이다. 시스템은 동적 이벤트의 제1 엔드포인트 및 제2 엔드포인트를 수신한다. 제1 엔드포인트는 제1 엔드포인트값 및 대응하는 제1 햅틱 효과를 포함하고, 제2 엔드포인트는 제2 엔트포인트값 및 대응하는 제2 햅틱 효과를 포함한다. 시스템은 동적 이벤트의 동적값을 수신한다. 동적값은 제1 엔드포인트와 제2 엔드포인트 사이에 있다. 그 후, 시스템은 제1 햅틱 효과 및 제2 햅틱 효과로부터 동적 햅틱 효과를 보간함으로써 동적값으로부터 동적 햅틱 효과를 결정한다.
도 1은 본 발명의 일 실시예에 따른 햅틱 지원 시스템(haptically enabled system)의 블록도.
도 2는 햅틱 효과를 일으키는 힘을 생성하는 동적 이벤트의 일례를 나타내는 도면.
도 3은 일 실시예에 따른 도 2의 벽에 공을 충돌시키는 것 또는 다른 동적 이벤트를 반영하는 햅틱 효과를 생성할 때 햅틱 효과 설계자와 햅틱 효과 프로그래머 사이의 통상적인 상호 작용을 나타내는 도면.
도 4는 일 실시예에 따라 보간을 이용해서 동적 이벤트의 햅틱 효과를 자동으로 생성할 경우에 도 1의 햅틱 효과 생성 모듈의 기능의 흐름도.
일 실시예는 시뮬레이션된 튀어오르는 공과 같은 "동적 이벤트"의 햅틱 효과를 생성하는 시스템이다. 시스템은 공이 벽에 접촉할 때의 최소힘과 최대힘과 같은 동적 이벤트의 "엔드포인트(endpoints)"에 대해 원하는 햅틱 효과를 수신한다. 그 후, 시스템은 보간을 이용해서 엔드포인트들 사이에 속하는 동적 이벤트의 햅틱 효과를 자동으로 생성한다.
햅틱 효과를 포함하는 장치는 일반적으로 햅틱 효과가 어떻게 "느껴져야 할 지"를 결정하는 햅틱 효과 설계자들과, 설계된 햅틱 효과를 구현하기 위한 소프트웨어 코드를 개발하는 햅틱 효과 프로그래머들 모두의 협업으로 개발된다. 다수의 시스템에서, 애플리케이션 프로그래밍 인터페이스("API")는 설계자가 원하는 햅틱 효과를 명칭으로 불러올 수 있도록 프로그래머와 설계자의 작업을 분리하고, API는 대응하는 코드 또는 루틴을 검색하여 원하는 햅틱 효과를 구현한다. 햅틱 효과를 위한 API의 일례는 임머숀 코퍼레이션의 "VibeTonz" API이다.
햅틱 효과는 "동적" 현실 세계 이벤트를 시뮬레이션하는데 빈번하게 사용된다. 예를 들면, 비디오 게임에서는 벽을 맞고 튀어나오는 공을 특징으로 할 수 있다. 벽에 대한 공의 속도/힘에 따라, 튀어오르는 충돌을 시뮬레이션하는 햅틱 효과는 현실 세계에서는 충돌로 발생되었을 힘을 반영하도록 달라져야 한다. 햅틱 효과는 파라미터를 변경함으로써 달라질 수 있다. 다른 예로서, 스마트폰은 스크롤링 연락처 목록을 표시할 수 있다. 목록을 스크롤링할 때, 햅틱 효과는 연락처들 사이의 "틱(tick)" 햅틱 효과 느낌을 생성할 수 있다. 스크롤링 속도가 증가할수록, 틱은 증가된 속도를 반영하도록 더 강력해져야 하고, 반대의 경우도 성립한다. 일 실시예에서, 햅틱 효과가 진동식이고 액추에이터에 의해 생성되는 경우에, 햅틱 효과는 진동 파라미터의 크기, 진동수 및 기간의 임의 조합을 변경함으로써 동적 햅틱 이벤트를 시뮬레이션하도록 달라질 수 있다. 대응하는 햅틱 효과를 생성할 수 있는 동적 이벤트의 다른 예는 사람을 치는 권투 글러브의 힘, 공을 치는 방망이의 힘, 다른 물체와 충돌하는 자동차의 힘 등을 포함한다.
다수의 시뮬레이션에서, 대응하는 햅틱 효과가 생성되는 동적 이벤트의 수는 상당히 많을 수 있다. 예를 들면, 벽을 맞고 튀어오르는 공의 경우, 비디오 게임은 공의 속도에 따라 벽에 맞은 공에 의해 생성된 10개 이상의 상이한 힘들을 지정할 수 있다. 대부분의 설계자들은, 이러한 힘들에 대한 햅틱 효과를 설계할 때, 엔드포인트들(즉, 가장 작은 힘 및 가장 큰 힘)에 대한 파라미터만을 지정할 것이다. 그 후, 프로그래머들은 선형 맵핑(mapping) 또는 일부 다른 방법을 이용하여 엔드포인트들 사이의 모든 파라미터를 프로그래밍 입력해야 한다. 중간 포인트들의 개수에 따라, 이러한 프로그래밍 입력은 대표적으로 프로그래머에게 큰 노력을 필요로 할 수 있다. 그에 반해, 본 발명의 실시예는 보간을 이용해서 엔드포인트들에 기초한 중간 단계 햅틱 효과를 자동으로 생성한다.
도 1은 본 발명의 일 실시예에 따라 햅틱 지원 시스템(10)의 블록도를 나타낸다. 일 실시예에서, 시스템(10)은 모바일 장치의 일부이고, 시스템(10)은 모바일 장치에 햅틱 효과 생성을 제공한다. 단일 시스템으로 나타냈지만, 시스템(10)의 기능은 분산형 시스템으로서 구현될 수 있고, 시스템(10) 자체에 햅틱 효과를 생성하거나, 다른 장치에 햅틱 효과 신호 또는 데이터를 송신할 수 있으며, 그 후에 다른 장치는 햅틱 효과를 생성한다.
시스템(10)은 정보를 통신하기 위한 버스(12) 또는 기타 통신 메커니즘과, 버스(12)에 결합되어 정보를 처리하는 프로세서(22)를 포함한다. 프로세서(22)는 일반적인 또는 특정한 목적의 임의의 종류의 프로세서일 수 있다. 시스템(10)은 프로세서(22)에 의해 실행되는 정보 및 명령어를 저장하는 메모리(14)를 더 포함한다. 메모리(14)는 랜덤 액세스 메모리("RAM"), 리드 온리 메모리("ROM"), 자기 또는 광디스크와 같은 정적 저장 장치 또는 임의의 다른 종류의 컴퓨터 판독가능한 매체의 임의 조합으로 구성될 수 있다.
컴퓨터 판독가능한 매체는 프로세서(22)에 의해 액세스될 수 있는 임의의 이용가능한 매체일 수 있고, 휘발성 및 비휘발성 매체 모두, 이동식 및 비이동식 매체, 통신 매체 및 저장 매체를 포함할 수 있다. 통신 매체는 반송파와 같은 피변조 데이터 신호 또는 다른 전송 메커니즘에 컴퓨터 판독가능한 명령어, 데이터 구조, 프로그램 모듈 또는 다른 데이터를 포함할 수 있고, 종래 기술에서 공지된 임의의 다른 형태의 정보 전달 매체를 포함할 수 있다. 저장 매체는 RAM, 플래시 메모리, ROM, 소거가능한 프로그래머블 리드 온리 메모리("EPROM"), 전기적으로 소거가능한 프로그래머블 리드 온리 메모리("EEPROM"), 레지스터, 하드 디스크, 이동식 디스크, 컴팩트 디스크 리드 온리 메모리("CD-ROM") 또는 종래 기술에서 공지된 임의의 다른 형태의 저장 매체를 포함할 수 있다.
일 실시예에서, 메모리(14)는 프로세서(22)에 의해 실행될 때 기능을 제공하는 소프트웨어 모듈을 저장한다. 모듈은 일 실시예에서 모바일 장치의 시스템(10)과 그 나머지에 오퍼레이팅 시스템 기능을 제공하는 오퍼레이팅 시스템(15)을 포함한다. 모듈은 이하에 보다 상세히 설명된 바와 같이, 보간을 이용하여 햅틱 효과를 생성하는 햅틱 효과 생성 모듈(16)을 더 포함한다. 시스템(10)은 스마트폰 관련 애플리케이션(시스템(10)이 스마트폰일 경우), APIs, 물리적 시스템 등과 같은 추가적인 기능을 포함하기 위해 통상적으로 1개 이상의 추가적인 애플리케이션 모듈(18)을 포함할 것이다. 시스템(10)은 또한 모듈(16, 18)에 의해 이용되는 데이터를 저장하는 데이터베이스(30)에 결합될 수 있다.
원격 소스에 대해 데이터를 송신 및/또는 수신하는 실시예에서, 시스템(10)은 적외선, 무선(radio), 와이파이 또는 셀룰러 네트워크 통신과 같은 모바일 무선 네트워크 통신을 제공하기 위해 네트워크 인터페이스 카드와 같은 통신 장치(20)를 더 포함한다. 다른 실시예에서, 통신 장치(20)는 이더넷 접속 또는 모뎀과 같은 유선 네트워크 접속을 제공한다.
프로세서(22)는 또한 유저에게 그래픽 표현 또는 유저 인터페이스를 표시하기 위한 액정 디스플레이("LCD")와 같은 디스플레이(24)에 버스(12)를 통해 결합된다. 디스플레이(24)는 프로세서(22)에 대해 신호를 송신하고 수신하도록 구성된 터치스크린과 같은 터치 감응 입력 장치일 수 있고, 멀티터치 터치 스크린일 수 있다. 프로세서(22)는, 유저가 시스템(10)과 상호작용하게 하는 키보드 또는 마우스와 같은 커서 컨트롤(28)에 또한 결합될 수 있다.
일 실시예에서, 시스템(10)은 액추에이터(26)를 더 포함한다. 프로세서(22)는 생성된 햅틱 효과와 연관된 햅틱 신호를 액추에이터(26)에 송신하여, 액추에이터(26)가 이어서 진동 촉각 햅틱 효과와 같은 햅틱 효과를 출력한다. 액추에이터(26)는 액추에이터 구동 회로를 포함한다. 액추에이터(26)는 예를 들면, 전기 모터, 전자기 액추에이터, 보이스 코일, 형상 기억 합금, 전기 활성 고분자, 솔레노이드, ERM(eccentric rotating mass), LRA(linear resonant actuator), 압전 액추에이터, 고대역폭 액추에이터, 전기 활성 고분자("EAP") 액추에이터, 정전 마찰 디스플레이 또는 초음파 진동 생성기일 수 있다. 다른 실시예에서, 시스템(10)과 분리된 장치는 햅틱 효과를 생성하는 액추에이터를 포함하고, 시스템(10)은 생성된 햅틱 효과 신호를 통신 장치(20)를 통해 분리된 장치로 송신한다.
도 2는 햅틱 효과를 일으키는 힘을 생성하는 동적 이벤트의 일례를 나타낸다. 도 2에서, 공은 4개의 벽들 중 1개에 부딪힌다. 벽과의 각각의 충돌은 공의 속도에 따라 변하는 "힘"을 생성한다. 도 2의 "공"과 "벽들"은 일례에서 도 1의 시스템(10)의 디스플레이(24)에 도시된 비디오 게임의 일부일 수 있다. "물리적 시스템"은 동적 이벤트의 일부이고, 동적 이벤트와 연관된 현실 세계에 상당하는 힘, 속도 등을 결정한다. 물리적 시스템은 강체 역학(충돌 검출을 포함함), 유연체 역학 및 유체 역학과 같은 특정한 물리적 시스템의 대략적인 시뮬레이션을 제공하는 컴퓨터 소프트웨어일 수 있다. 다른 실시예에서, 입력은 물리적 시스템 기반 동적 이벤트를 생성하는 것이라기보다, 예를 들면, 힘이 시간 함수로서 변하는 애니메이션에서의 시간일 수 있다.
도 3은 일 실시예에 따라 도 2의 벽에 공을 충돌시키는 것 또는 다른 동적 이벤트를 반영하는 햅틱 효과를 생성할 때 햅틱 효과 설계자(32)와 햅틱 효과 프로그래머(44) 사이의 통상적인 상호 작용을 도시한다. 설계자(32)는 각각의 충돌에 대응하는 햅틱 효과의 "느낌"을 설계한다. 설계자(32)는 타깃 장치의 느낌에 관한 지식에 기반하여 진동 파라미터의 엔드포인트 범위를 지정한다(예를 들면, 강도 및 주기성에 대한 최소값 Vmin(35)과 최대값 Vmax(37)). 진동 한계값(36)은, 범위의 엔드포인트들을 반영하고, 액추에이터(26)로 하여금 최소힘에 대한 햅틱 효과 및 최대힘에 대한 햅틱 효과를 생성하도록 신호를 지정한다. 엔드포인트들은 범위의 "절대" 엔드포인트들일 수도 있다. 대신에, "엔드포인트들"은 2개의 추가값들 사이에서 엔드포인트들로 간주될 수도 있는 중간 엔드포인트들일 수 있다. 예를 들면, 1-10의 범위에서, 선택된 엔트포인트들은 3과 7일 수 있다.
프로그래머(44)는 햅틱 효과 신호가 생성되도록 도 1의 프로세서(22)를 프로그래밍한다. 프로그래머(44)는 물리적 시스템 또는 시뮬레이션으로부터 통상적인 값의 범위에 관한 지식에 기반하여 힘의 입력 범위를 지정한다(예를 들면, 최소값 Fmin(45) 및 최대값 Fmax(47)). 충돌 한계값(46)은 벽에 부딪힌 공에 의해 생성되는 최소힘 및 최대힘을 반영한다.
동작 시에, 실시예는 엔드포인트들 사이에 속할 수 있는 특정한 동적 이벤트의 충돌력(즉, 최소힘도 아니고 최대힘도 아님)을 산출한다. 액추에이터(26)로의 출력은 프로그래머의 충돌 한계값(46)으로부터 설계자의 진동 한계값(36)까지 보간된다.
도 4는 일 실시예에 따른 동적 이벤트의 햅틱 효과를 자동으로 생성하기 위해 보간을 이용할 경우에, 도 1의 햅틱 효과 생성 모듈(16)의 기능의 흐름도이다. 일 실시예에서, 도 4의 흐름도의 기능은 메모리 또는 다른 컴퓨터 판독가능하거나 유형 매체에 저장된 소프트웨어에 의해 구현되고, 프로세서에 의해 실행된다. 다른 실시예에서, 기능은 하드웨어(예를 들면, "ASIC"(application specific integrated circuit), 프로그래머블 게이트 어레이("PGA"), 필드 프로그래머블 게이트 어레이("FPGA") 등), 또는 하드웨어 및 소프트웨어의 임의의 조합에 의해 수행될 수 있다.
단계 (402)에서, 다음 동적 이벤트가 검출된다. 도 4의 기능은 연속적인 루프로 실행되어서 동적 이벤트가 항상 검출된다.
단계 (404)에서, 동적 이벤트(예를 들면, 벽에 공이 충돌하는 것)가 일어났는지를 판정한다. 단계 (404)에서 아니오라고 판정하면, 기능은 단계 (402)를 계속한다. 단계 (404)에서 예라고 판정하면, 물리적 시스템은 동적 이벤트값을 제공한다. 도 2의 일례에서, 이벤트는 충돌이고, 동적 이벤트값은 충돌력(예를 들면, 1부터 10까지 범위에서 8)이다. 동적 이벤트값은 일 실시예에서 "playDynamicEffect"로 불리는 루틴으로 보내진다. 일 실시예에서, 동적 이벤트값은 이하와 같은 루틴으로 보내진다.
playDynamicEffect("충돌", 힘); "충돌"은 햅틱 효과의 명칭이고, 힘은 햅틱 효과의 값이다.
예를 들면, 이하의 효과가 효과 파일에서 정의된다고 가정한다.
명칭="충돌 1", 기간=10 ms, 크기=0, 주기=5 ms;
명칭="충돌 10", 기간=50 ms, 크기=10000, 주기=5 ms.
이러한 예에서, 햅틱 효과는 3개의 파라미터에 의해 정의된다: 기간, 크기 및 주기.
단계 (406)에서, 동적 이벤트값에 가장 가까운 효과 정의 세트는 효과 파일로부터 검색된다. 일 실시예에서 선형 보간은 적어도 2개의 정의를 필요로 한다. 상기 예에서, 이러한 효과는 일반적인 명칭 "충돌"로 찾아지고, "충돌 1" 및 "충돌 10"을 포함한다. 2개 이상의 효과가 효과 파일에서 정의될 수 있고 검색될 수 있다. 예를 들면, 이하 3개의 효과가 효과 파일에서 정의될 수 있다.
명칭="충돌 0.25", 기간=10 ms, 크기=0, 주기=5 ms;
명칭="충돌 1", 기간=10 ms, 크기=0, 주기=5 ms;
명칭="충돌 10", 기간=50 ms, 크기=10000, 주기=5 ms.
단계 (408) 및 단계 (410)에서, 동적 이벤트값이 2개의 정의값 사이에 속하는지 여부에 관해 판정이 이루어진다. 예를 들면, 모듈(16)은 정의값의 명칭에서 인코딩된 "1"과 "10" 사이에 "8"이 있다고 판정한다.
단계 (408)에서 동적 이벤트값이 최저 세트 정의값보다 크면, 일 실시예에서 효과가 동작되지 않고 기능은 단계 (410)를 계속한다. 이는 입력된 힘이 무시되는 "데드밴드(deadband)"를 위해 제공된다. 다른 실시예에서, 세트 내의 가장 작은 효과 정의가 이용될 수 있고 그 후 기능이 단계 (402)로 복귀한다.
단계 (408)에서 아니오라고 판정되고, 단계 (410)에서 동적 이벤트값이 최대 세트 정의값보다 작으면, 단계 (412)에서 세트 내의 가장 높은 효과 정의(예를 들면, 10)가 이용되고, 기능은 단계 (402)로 복귀한다.
단계 (410)에서 예라고 판정하면, 단계 (414)에서 햅틱 효과 정의는 단계 (414)에서의 보간에 의해 결정되고, 기능은 단계 (402)로 복귀한다.
단계 (414)에서 보간에 의한 햅틱 효과를 결정하기 위해, 일 실시예에서 보간 변수 "t"가 이하 수학식을 사용하여 결정된다.
t=(동적 이벤트값-최저값 동적 이벤트)/(최고값 동적 이벤트-최저값 동적 이벤트)
상기 예의 경우,
t=(8-1)/(10-1), 따라서 대략 0.78과 동일하다.
최고값 동적 이벤트가 최저값 동적 이벤트와 동일한 특수한 경우에, 0으로 나누는 것을 방지하기 위해 t=1이다.
일 실시예에서, 각각의 보간된 햅틱 효과 파라미터를 산출하기 위해 이하의 선형 보간 함수에 t가 사용된다.
(1-t) * A + t * B
여기서, "A"는 최저값 동적 이벤트의 파라미터값이고, "B"는 최고값 동적 이벤트의 파라미터값이다. 상기 두 효과의 경우, 파라미터는 이하의 수학식과 같이 결정된다.
기간 = (1-t) * 10 + t * 50 = 41 ms;
크기 = (1-t) * 0 + t * 10000 = 7778;
주기 = (1-t) * 5 + t * 5 = 5 ms.
따라서, 단계 (414) 이후에, 보간된 햅틱 파라미터값(즉, 41 ms 기간, 7778 크기, 5ms 주기)은 도 1의 액추에이터(26) 또는 다른 액추에이터로 간접적으로 또는 직접적으로 출력되어 햅틱 효과가 발생되게 된다. 그 후, 기능은 단계 (402)로 복귀하여 다른 동적 이벤트가 일어나기를 대기한다.
다른 실시예에서, 2개의 햅틱 효과 정의(즉, 2개의 엔드포인트들) 대신에, 3개의 햅틱 효과 정의가 상술된 바와 같이 사용된다. 이러한 실시예에서, 이하의 2차 방정식이 보간에 이용된다.
(1-t) ^ 2 * A + 2 * (1-t) * t * B + t ^ 2 * C,
여기서, C는 제3 정의이다.
설명한 바와 같이, 실시예는 햅틱 효과 설계자가 원하는 햅틱 효과 엔트포인트들을 지정함으로써 풍부한 햅틱 효과를 더 쉽게 구현할 수 있게 한다. 그 후, 실시예는 보간을 통해 중간 단계의 햅틱 효과를 자동으로 생성한다.
다수의 실시예가 본 명세서에 구체적으로 나타나고/나타나거나 설명된다. 한편, 개시된 실시예의 수정 및 변경이 본 발명의 사상과 의도된 범주로부터 벗어나지 않고 상기 교시에 의해 그리고 첨부된 특허 청구 범위의 범주 내에 포괄된다는 점은 이해될 것이다.

Claims (15)

  1. 동적 이벤트에 대한 동적 햅틱 효과를 생성하는 컴퓨터 구현 방법으로서,
    동적 이벤트의 제1 엔드포인트 및 제2 엔드포인트를 수신하는 단계와 - 상기 제1 엔드포인트는 제1 엔드포인트값 및 대응하는 제1 햅틱 효과를 포함하고, 상기 제2 엔드포인트는 제2 엔트포인트값 및 대응하는 제2 햅틱 효과를 포함함 -,
    상기 제1 엔드포인트값과 상기 제2 엔드포인트값 사이에 있는 상기 동적 이벤트의 동적값을 수신하는 단계와,
    상기 동적값으로부터 상기 동적 햅틱 효과를 결정하는 단계 - 상기 결정하는 단계는 상기 제1 햅틱 효과 및 상기 제2 햅틱 효과로부터 상기 동적 햅틱 효과를 보간하는 단계를 포함함 -
    를 포함하는, 컴퓨터 구현 방법.
  2. 제1항에 있어서,
    상기 동적 햅틱 효과는 진동 햅틱 효과이고, 복수의 파라미터를 포함하는, 컴퓨터 구현 방법.
  3. 제1항에 있어서,
    상기 복수의 파라미터는 기간, 크기 및 주기를 포함하는, 컴퓨터 구현 방법.
  4. 제1항에 있어서,
    상기 진동 햅틱 효과는 액추에이터에 의해 생성되는, 컴퓨터 구현 방법.
  5. 제1항에 있어서,
    상기 동적 이벤트는 힘을 포함하는, 컴퓨터 구현 방법.
  6. 제1항에 있어서,
    상기 힘은 접촉하는 시뮬레이션 물체가 다른 시뮬레이션 물체와 접촉하는 것을 포함하는, 컴퓨터 구현 방법.
  7. 제5항에 있어서,
    상기 힘은 물리적 시스템에 의해 생성되는, 컴퓨터 구현 방법.
  8. 제1항에 있어서,
    상기 보간하는 단계는,
    (동적 이벤트값-제1 엔드포인트값)/(제2 엔드포인트값-제1 엔드포인트값)을 포함하는 보간값(t)을 생성하는 단계를 포함하고,
    상기 제1 엔드포인트값은 가장 낮은 엔드포인트값이고, 상기 제2 엔드포인트값은 가장 높은 엔드포인트값인, 컴퓨터 구현 방법.
  9. 제8항에 있어서,
    상기 제1 햅틱 효과는 복수의 제1 파라미터를 포함하고, 상기 제2 햅틱 효과는 복수의 제2 파라미터를 포함하고,
    상기 보간하는 단계는 상기 동적 햅틱 효과의 각각의 파라미터에 대해,
    (1-t) * A + t * B를 포함하고,
    여기서, A는 대응하는 제1 햅틱 효과 파라미터를 포함하고, B는 대응하는 제2 햅틱 효과 파라미터를 포함하는, 컴퓨터 구현 방법.
  10. 프로세서에 의해 실행될 때, 상기 프로세서로 하여금 동적 이벤트에 대한 동적 햅틱 효과를 생성하게 하는 명령어를 저장한 컴퓨터 판독가능한 매체로서,
    상기 동적 햅틱 효과를 생성하는 것은 제1항 내지 제9항 중 어느 한 항의 방법을 포함하는, 컴퓨터 판독가능한 매체.
  11. 동적 이벤트에 대한 동적 햅틱 효과를 생성하는 시스템으로서,
    프로세서와,
    상기 프로세서에 결합되고, 햅틱 효과 생성 모듈을 저장하는 메모리와,
    상기 햅틱 효과 생성 모듈에 의해, 동적 이벤트의 제1 엔드포인트와 제2 엔드포인트를 수신하는 것과 - 상기 제1 엔드포인트는 제1 엔드포인트값 및 대응하는 제1 햅틱 효과를 포함하고, 상기 제2 엔드포인트는 제2 엔트포인트값 및 대응하는 제2 햅틱 효과를 포함함 -,
    상기 햅틱 효과 생성 모듈에 의해, 상기 제1 엔드포인트값과 상기 제2 엔드포인트값 사이에 있는 상기 동적 이벤트의 동적값을 수신하는 것과,
    상기 햅틱 효과 생성 모듈에 의해, 상기 동적값으로부터 상기 동적 햅틱 효과를 결정하는 것 - 상기 결정하는 것은 상기 제1 햅틱 효과 및 상기 제2 햅틱 효과로부터 상기 동적 햅틱 효과를 보간하는 것을 포함함 -
    을 포함하는, 시스템.
  12. 제11항에 있어서,
    상기 프로세서에 결합되는 액추에이터를 더 포함하고,
    상기 액추에이터는 상기 동적 햅틱 효과를 수신하는 것에 응답하여 햅틱 효과를 출력하는, 시스템.
  13. 제12항에 있어서,
    상기 햅틱 효과는 진동 햅틱 효과인, 시스템.
  14. 제11항에 있어서,
    상기 보간하는 것은,
    (동적 이벤트값-제1 엔드포인트값)/(제2 엔드포인트값-제1 엔드포인트값)을 포함하는 보간값(t)을 생성하는 수단을 포함하고,
    상기 제1 엔드포인트값은 가장 낮은 엔드포인트값이고, 상기 제2 엔드포인트값은 가장 높은 엔드포인트값인, 시스템.
  15. 제14항에 있어서,
    상기 제1 햅틱 효과는 복수의 제1 파라미터를 포함하고, 상기 제2 햅틱 효과는 복수의 제2 파라미터를 포함하고,
    상기 보간하는 것은 상기 동적 햅틱 효과의 각각의 파라미터에 대해,
    (1-t) * A + t * B를 포함하고,
    여기서, A는 대응하는 제1 햅틱 효과 파라미터를 포함하고, B는 대응하는 제2 햅틱 효과 파라미터를 포함하는, 시스템.
KR1020130080302A 2012-07-11 2013-07-09 동적 이벤트에 대한 동적 햅틱 효과를 생성하는 컴퓨터 구현 방법, 컴퓨터 판독가능한 매체 및 시스템 KR20140008256A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/546,351 2012-07-11
US13/546,351 US9030428B2 (en) 2012-07-11 2012-07-11 Generating haptic effects for dynamic events

Publications (1)

Publication Number Publication Date
KR20140008256A true KR20140008256A (ko) 2014-01-21

Family

ID=48803401

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130080302A KR20140008256A (ko) 2012-07-11 2013-07-09 동적 이벤트에 대한 동적 햅틱 효과를 생성하는 컴퓨터 구현 방법, 컴퓨터 판독가능한 매체 및 시스템

Country Status (5)

Country Link
US (1) US9030428B2 (ko)
EP (1) EP2713241B1 (ko)
JP (1) JP6342619B2 (ko)
KR (1) KR20140008256A (ko)
CN (1) CN103544002B (ko)

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7765333B2 (en) 2004-07-15 2010-07-27 Immersion Corporation System and method for ordering haptic effects
US8947216B2 (en) 2012-11-02 2015-02-03 Immersion Corporation Encoding dynamic haptic effects
US9898084B2 (en) 2012-12-10 2018-02-20 Immersion Corporation Enhanced dynamic haptic effects
JP6300604B2 (ja) * 2014-04-01 2018-03-28 キヤノン株式会社 触感制御装置、触感制御方法及びプログラム
EP3455704A4 (en) * 2016-07-08 2019-11-13 Immersion Corporation MULTIMODAL HAPTIC EFFECTS
US10296091B2 (en) 2016-10-13 2019-05-21 Immersion Corporation Contextual pressure sensing haptic responses
US10427039B2 (en) * 2016-12-08 2019-10-01 Immersion Corporation Haptic surround functionality
US10732714B2 (en) 2017-05-08 2020-08-04 Cirrus Logic, Inc. Integrated haptic system
US11259121B2 (en) 2017-07-21 2022-02-22 Cirrus Logic, Inc. Surface speaker
US10620704B2 (en) 2018-01-19 2020-04-14 Cirrus Logic, Inc. Haptic output systems
US10455339B2 (en) 2018-01-19 2019-10-22 Cirrus Logic, Inc. Always-on detection systems
US11139767B2 (en) 2018-03-22 2021-10-05 Cirrus Logic, Inc. Methods and apparatus for driving a transducer
US10795443B2 (en) 2018-03-23 2020-10-06 Cirrus Logic, Inc. Methods and apparatus for driving a transducer
US10820100B2 (en) 2018-03-26 2020-10-27 Cirrus Logic, Inc. Methods and apparatus for limiting the excursion of a transducer
US10667051B2 (en) 2018-03-26 2020-05-26 Cirrus Logic, Inc. Methods and apparatus for limiting the excursion of a transducer
US10832537B2 (en) 2018-04-04 2020-11-10 Cirrus Logic, Inc. Methods and apparatus for outputting a haptic signal to a haptic transducer
US11069206B2 (en) 2018-05-04 2021-07-20 Cirrus Logic, Inc. Methods and apparatus for outputting a haptic signal to a haptic transducer
US11269415B2 (en) 2018-08-14 2022-03-08 Cirrus Logic, Inc. Haptic output systems
GB201817495D0 (en) 2018-10-26 2018-12-12 Cirrus Logic Int Semiconductor Ltd A force sensing system and method
US10955955B2 (en) 2019-03-29 2021-03-23 Cirrus Logic, Inc. Controller for use in a device comprising force sensors
US11509292B2 (en) 2019-03-29 2022-11-22 Cirrus Logic, Inc. Identifying mechanical impedance of an electromagnetic load using least-mean-squares filter
US10992297B2 (en) 2019-03-29 2021-04-27 Cirrus Logic, Inc. Device comprising force sensors
US10726683B1 (en) 2019-03-29 2020-07-28 Cirrus Logic, Inc. Identifying mechanical impedance of an electromagnetic load using a two-tone stimulus
US11644370B2 (en) 2019-03-29 2023-05-09 Cirrus Logic, Inc. Force sensing with an electromagnetic load
US20200313529A1 (en) 2019-03-29 2020-10-01 Cirrus Logic International Semiconductor Ltd. Methods and systems for estimating transducer parameters
US10828672B2 (en) 2019-03-29 2020-11-10 Cirrus Logic, Inc. Driver circuitry
US10976825B2 (en) 2019-06-07 2021-04-13 Cirrus Logic, Inc. Methods and apparatuses for controlling operation of a vibrational output system and/or operation of an input sensor system
US11150733B2 (en) 2019-06-07 2021-10-19 Cirrus Logic, Inc. Methods and apparatuses for providing a haptic output signal to a haptic actuator
WO2020254788A1 (en) 2019-06-21 2020-12-24 Cirrus Logic International Semiconductor Limited A method and apparatus for configuring a plurality of virtual buttons on a device
US11408787B2 (en) 2019-10-15 2022-08-09 Cirrus Logic, Inc. Control methods for a force sensor system
US11380175B2 (en) 2019-10-24 2022-07-05 Cirrus Logic, Inc. Reproducibility of haptic waveform
US11545951B2 (en) 2019-12-06 2023-01-03 Cirrus Logic, Inc. Methods and systems for detecting and managing amplifier instability
US11662821B2 (en) 2020-04-16 2023-05-30 Cirrus Logic, Inc. In-situ monitoring, calibration, and testing of a haptic actuator
CN112631426A (zh) * 2020-12-21 2021-04-09 瑞声新能源发展(常州)有限公司科教城分公司 一种动态触感效果的生成方法、装置、设备及存储介质
US11933822B2 (en) 2021-06-16 2024-03-19 Cirrus Logic Inc. Methods and systems for in-system estimation of actuator parameters
US11765499B2 (en) 2021-06-22 2023-09-19 Cirrus Logic Inc. Methods and systems for managing mixed mode electromechanical actuator drive
US11908310B2 (en) 2021-06-22 2024-02-20 Cirrus Logic Inc. Methods and systems for detecting and managing unexpected spectral content in an amplifier system
US11552649B1 (en) 2021-12-03 2023-01-10 Cirrus Logic, Inc. Analog-to-digital converter-embedded fixed-phase variable gain amplifier stages for dual monitoring paths

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0816820A (ja) 1994-04-25 1996-01-19 Fujitsu Ltd 3次元アニメーション作成装置
JP4131278B2 (ja) * 1996-10-18 2008-08-13 ヤマハ株式会社 鍵盤楽器用力覚制御装置
JPH11316646A (ja) * 1998-05-01 1999-11-16 Nippon Telegr & Teleph Corp <Ntt> 仮想臨場体感方法及びシステム装置
US6449019B1 (en) 2000-04-07 2002-09-10 Avid Technology, Inc. Real-time key frame effects using tracking information
US7623114B2 (en) * 2001-10-09 2009-11-24 Immersion Corporation Haptic feedback sensations based on audio output from computer devices
US7199805B1 (en) 2002-05-28 2007-04-03 Apple Computer, Inc. Method and apparatus for titling
KR20050054731A (ko) * 2003-12-05 2005-06-10 한국전자통신연구원 햅틱 시뮬레이션 시스템 및 그 시스템에서의 실시간 촉감지원 방법
US7765333B2 (en) 2004-07-15 2010-07-27 Immersion Corporation System and method for ordering haptic effects
US8098234B2 (en) 2007-02-20 2012-01-17 Immersion Corporation Haptic feedback system with stored effects
US8621348B2 (en) 2007-05-25 2013-12-31 Immersion Corporation Customizing haptic effects on an end user device
CN101355746B (zh) 2007-07-27 2012-05-16 深圳富泰宏精密工业有限公司 无线通信装置
KR100927009B1 (ko) * 2008-02-04 2009-11-16 광주과학기술원 증강 현실에서의 햅틱 상호 작용 방법 및 그 시스템
US9513704B2 (en) 2008-03-12 2016-12-06 Immersion Corporation Haptically enabled user interface
KR101404367B1 (ko) * 2008-07-15 2014-06-20 임머숀 코퍼레이션 메시지 콘텐츠를 진동촉각 메시징을 위한 가상 물리적 속성들로 맵핑하기 위한 시스템 및 방법
JP5360499B2 (ja) * 2010-02-01 2013-12-04 国立大学法人東北大学 力覚提示方法および力覚提示装置
US20120081337A1 (en) * 2010-10-04 2012-04-05 Sony Ericsson Mobile Communications Ab Active Acoustic Multi-Touch and Swipe Detection for Electronic Devices
US8711118B2 (en) 2012-02-15 2014-04-29 Immersion Corporation Interactivity model for shared feedback on mobile devices

Also Published As

Publication number Publication date
EP2713241A2 (en) 2014-04-02
EP2713241A3 (en) 2016-04-06
US9030428B2 (en) 2015-05-12
JP2014016991A (ja) 2014-01-30
CN103544002B (zh) 2018-02-09
US20140015761A1 (en) 2014-01-16
CN103544002A (zh) 2014-01-29
EP2713241B1 (en) 2020-01-01
JP6342619B2 (ja) 2018-06-13

Similar Documents

Publication Publication Date Title
US9030428B2 (en) Generating haptic effects for dynamic events
US10248212B2 (en) Encoding dynamic haptic effects
US10296092B2 (en) Generating haptic effects while minimizing cascading
JP6553136B2 (ja) タッチ感応表面上でのマルチ圧力相互作用のためのシステムと方法
US10359851B2 (en) Enhanced dynamic haptic effects
JP6226574B2 (ja) ハプティックフィードバックコントロールシステム
US20090313542A1 (en) User Interface Impact Actuator
KR20100072219A (ko) 동적 햅틱 효과를 가지는 멀티 터치 장치
CN109388234B (zh) 触觉效果编码和呈现系统
CN107370660B (zh) 一种信息感知的方法及移动终端
US10684689B2 (en) Cross-platform dynamic haptic effect design tool for augmented or virtual reality 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