JP2008257294A - 触覚刺激生成方法 - Google Patents
触覚刺激生成方法 Download PDFInfo
- Publication number
- JP2008257294A JP2008257294A JP2007095704A JP2007095704A JP2008257294A JP 2008257294 A JP2008257294 A JP 2008257294A JP 2007095704 A JP2007095704 A JP 2007095704A JP 2007095704 A JP2007095704 A JP 2007095704A JP 2008257294 A JP2008257294 A JP 2008257294A
- Authority
- JP
- Japan
- Prior art keywords
- state variable
- local processor
- actuator
- sensor
- drive amount
- Prior art date
- Legal status (The legal status 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 status listed.)
- Pending
Links
Landscapes
- User Interface Of Digital Computer (AREA)
Abstract
【解決手段】 初期値や中間値を低い頻度で通信しあい、通信間の値をセンサ情報で更新して補完する状態変数を通じて、ホストコンピュータとローカルプロセッサの同期を取り、ローカルプロセッサの状態更新手段とアクチュエータ駆動手段を低い通信頻度で変更することで、多様なアプリケーションに対応する高い汎用性を確保しながら、センサ情報の変化に応じて遅延なくアクチュエータを駆動することを可能とした。
【選択図】 図1
Description
ここで、データ入力システム50は、パーソナルコンピュータ等のホストコンピュータ8、マウス等の入力デバイスを有し、その間はUSBケーブル、無線、赤外線等の通信線9で接続されている。
図2は、第1の実施の形態による触覚刺激生成方法の信号の流れの説明図である。センサ14の検出した情報Zはローカルプロセッサ10に入力し、まずS(t)=G(Z,S(0))の式によって状態変数の現時点tにおける値S(t)を決定するのに使われる。情報Zは送受信処理手段43を介してホスト8側にも送られており、演算部61の状態変数更新手段65により同じ式で状態変数値が算出される。ここでホストコンピュータ8側からローカルプロセッサ10側へ送られる情報S(0)は状態変数の初期値であるが、実際には周期的にホストコンピュータ8から遅延のある通信手段51を使って送られてくる中間値を使っても良い。また実際には次の更新式によって1時点前の値から更新する。S(t)=H(Z,S(t−1))。しかしながら、この式で前の時点の値を辿ってゆくと中間値、または初期値に辿り着くのでここでは簡単のために、S(t)=G(Z,S(0))の式で表している。初期値や中間値は低い頻度で伝送されるので通信に遅延があっても問題にならない。あるいはより好ましくは、初期値や中間値に、それを送った時点の時刻情報を付随して伝送するようにすると、その時刻情報に基づいて、より正確に現時点の状態変数値を推定できるようになる。こうして状態変数値はローカルプロセッサ10の駆動量算出手段44によって常時ホスト側と同じ値になるように再現される。ここで使われる関数Gは、ホスト8からローカルプロセッサ10側に遅延のある通信手段51によって伝送される。なお、状態変数更新手段(更新手段)65を指定する情報として関数Gそのものを伝送しなくともそのインデックスやパラメータを送るようにしても良い。
触覚刺激生成の手順は、図2と大部分は同じであるが、ホストであるパーソナルコンピュータに伝えられる情報は、ローカルプロセッサの更新手段で計算される状態変数値S(t)であり、生のセンサ情報Zでない点が図2と異なっている。この方法でも同じ状態変数値S(t)をホスト8とローカルプロセッサ10で共有することができる。しかし前述したようにホストの受けるセンサ情報が修飾され、場合によって情報の劣化したものになるので、アプリケーションの汎用性を確保する上では不利となる。
64バイトのうちの最初の7バイトで3つのアクチュエータに共通の情報を指定する。
また、残りの57バイトを19バイトずつ3つに分けて、3つのアクチュエータの各々に対して独立に、各19バイトを使って下記に述べる駆動関数の種類とそのパラメータ情報を指定する。
X=X+Δx/α
Y=Y+Δy/α
ここで、X,Yは直近で与えられているディスプレイカーソルの位置。Δx、Δyはマウス内部で光学的センサによって検出されるマウス移動量。αは第1〜第3バイトで与えられるスケール変換率。なおスケール変換率は、PC側のドライバで用いられている係数である。なおαは必要な精度が得られるように何らかの表現で表して(最大3バイト)、下記の式に用いる。このαはGのパラメータである。
マウス内のローカルプロセッサでエミュレートして求めたディスプレイカーソル座標をX,Yとする。この座標に対するアクチュエータ駆動量Uを次式で定める。XA<XB、YA<YBとする。
X<XAまたはXB<XのときにSX=−1、XA<X<XBのときにSX=1。
Y<YAまたはYB<YのときにSY=−1、YA<Y<YBのときにSY=1。
U =MIN(SX,SY)*振幅。ここで、(MIN(SX,SY)はSX、SYのうち小さい方を選ぶ関数)。
以上で用いた5つのパラメータXA,XB、YA,YB、振幅はそれぞれ2バイトで表して、この順で、残り18バイトの最初の10バイトを使って表現する。
マウス内のローカルプロセッサでエミュレートして求めたディスプレイカーソル座標をX,Yとする。この座標に対するアクチュエータ駆動量Uを次式で定める。XA<XC<XB、YA<YC<YBとする。
X<XAまたはXB<XのときにSX=0。
XA<X<XCのときにSX=1−(XC−X)/(XC−XA)。
XC<X<XBのときにSX=1−(X−XC)/(XB−XC)。
Y<YAまたはYB<YのときにSY=0。
YA<Y<YCのときにSY=1−(YC−Y)/(YC−YA)。
YC<Y<YBのときにSY=1−(Y−YC)/(YB−YC)。
U =MIN(SX,SY)*振幅。
以上で用いた7つのパラメータXA,XB、XC,YA,YB、YC,振幅はそれぞれ2バイトで表して、この順で、残り18バイトの最初の14バイトを使って表現する。
マウス内でエミュレートして求めたディスプレイカーソル座標をX,Yとする。この座標に対するアクチュエータ駆動量Uを次式で定める。
X<XAまたはXB<XのときにSX=0。
XA<X<XCのときにSX=1−(XC−X)/(XC−XA)。
XC<X<XBのときにSX=1−(X−XC)/(XB−XC)。
Y<YAまたはYB<YのときにSY=0。
YA<Y<YCのときにSY=1−(YC−Y)/(YC−YA)。
YC<Y<YBのときにSY=1−(Y−YC)/(YB−YC)。
U =MAX(SX,SY)*振幅。ここで、(MAX(SX,SY)はSX、SYのうち大きい方を選ぶ関数)。
以上で用いた7つのパラメータXA,XB、XC,YA,YB、YC,振幅はそれぞれ2バイトで表して、この順で、残り18バイトの最初の14バイトを使って表現する。
マウス内でエミュレートして求めたディスプレイカーソル座標をX,Yとする。この座標に対するアクチュエータ駆動量Uを次式で定める。この式によれば、パラメータとして与えられる3点:(XA,YA,ZA)、(XB,YB,ZB)、(XC,YC,ZC)を通過する平面を想定し、(X,Y)に対する駆動量をこの平面上のZとして求めることになる。なお計算を簡単とするために、(XC,YC)を原点として、XY方向に座標軸を想定したときに、(XA,YA)はX軸上に、(XB,YB)はY軸上にあるように上記の3点を選ぶようにする。そうするとYA=YC、XB=XCとなり、任意の点(X,Y)におけるHは次式によって求まる。
Z=(ZA−ZC)(X−XC)/(XA−XC)+(ZB−ZC)(Y−YC)/( YB−YC)+ZC。
U=Z。
ここで定義したZは以前に定義したセンサ情報を表わすZと同じ記号でも意味が異なるので混同しないように注意する必要がある。
以上で用いた7つのパラメータXA,XC,YB、YC,ZA,ZB、ZCはそれぞれ2バイトで表して、この順で、残り18バイトの最初の14バイトを使って表現する。
ドライバとUSBとの間では、ドライバはウィンドウズ(登録商標)の標準スクロールホイール付マウスの規格に則った(のっとった)USB信号を通じて、標準マウスの場合と互換性のある形式で、座標やマウスボタンクリックの情報を得る。ドライバは、これらの情報に基づき、画面上のマウスカーソルを動かしたり、各種イベント関数を起動したりする。
ドライバとアプリケーションソフトウェアとの間では、アプリケーションソフトウェアはウィンドウズ(登録商標)標準のマウス用関数(あるいはそれと同形式の関数)を用いて座標(注意:マウスの位置ではなく画面のカーソルの位置を示す座標情報)やマウスボタン操作の情報を得られるようにする。
ドライバとUSBとの間では、USBを通じて入力デバイスへアクチュエータ制御用の100ミリ秒ごとに64バイトの信号を出力する。この64バイトの情報は、下記のServoControl( BYTE* )によってメモリの所定のアドレスから始まる64バイトに書き込まれ、ドライバは100ミリ秒毎にこのアドレスからの64バイトを読み出してUSBを通じて入力デバイス側に送信する。
Claims (4)
- 入力デバイスにユーザから加えられる作用を検出するセンサと、前記センサの検出結果に依存して駆動量を変更して前記ユーザの手または指の触覚を刺激するアクチュエータと、前記検出結果に依存して前記駆動量を算出する駆動量算出手段を有するローカルプロセッサと、パーソナルコンピュータ等のホストコンピュータと前記ローカルプロセッサの間で双方向に通信する通信手段と、を備えたデータ入力システムの触覚刺激生成方法であって、
前記ホストコンピュータは、前記センサの検出結果に依存して値が更新される状態変数とその更新手段を備え、
前記通信手段は、前記状態変数の初期値または中間値と、前記駆動量算出手段を指定する情報またはそのパラメータと、前記更新手段を指定する情報またはそのパラメータとを、前記ホストコンピュータから前記ローカルプロセッサへ送信し、
前記ローカルプロセッサは、前記状態変数の初期値または中間値と、前記センサの検出結果とから前記状態変数の現時点値を算出し、この状態変数の現時点値と前記駆動量算出手段を指定する情報またはそのパラメータとから前記アクチュエータの駆動量を算出することを特徴とする触覚刺激生成方法。 - 入力デバイスにユーザから加えられる作用を検出するセンサと、前記センサの検出結果に依存して駆動量を変更して前記ユーザの手または指の触覚を刺激するアクチュエータと、前記検出結果に依存して前記駆動量を算出する駆動量算出手段を有するローカルプロセッサと、パーソナルコンピュータ等のホストコンピュータと前記ローカルプロセッサの間で双方向に通信する通信手段と、を備えたデータ入力システムの触覚刺激生成方法であって、
前記ローカルプロセッサは、前記センサの検出結果に依存して値が更新される状態変数とその更新手段を備え、
前記通信手段は、前記駆動量算出手段を指定する情報またはそのパラメータと、前記更新手段を指定する情報またはそのパラメータとを、前記ホストコンピュータから前記ローカルプロセッサへ送信し、
前記通信手段は、ローカルプロセッサにおいて更新された前記状態変数の現在値を、前記ローカルプロセッサから前記ホストコンピュータへ送信し、
前記ローカルプロセッサは、前記状態変数の初期値または中間値と前記センサの検出結果とから前記状態変数の現時点値を算出し、この状態変数の現時点値と前記駆動量算出手段を指定する情報またはそのパラメータとから前記アクチュエータの駆動量を算出することを特徴とする触覚刺激生成方法。 - 請求項1または請求項2記載の触覚刺激生成方法において、
前記駆動量算出手段は、前記状態変数の変化に対して駆動量が連続的に変化するように算出することを特徴とする触覚刺激生成方法。 - 請求項1または請求項2記載の触覚刺激生成方法において、
前記状態変数をディスプレイ上のカーソル位置を表す変数とし、
また前記更新手段を一時点前のカーソル位置と前記センサの検出結果に基づいて次の時点のカーソル位置を決定する手段とし、
さらに前記駆動量算出手段のパラメータをディスプレイ上のアイコンの位置に関する情報またはメニュー項目の境界位置に関する情報を表すパラメータとし、
前記駆動量算出手段は、カーソル位置がディスプレイ上のアイコンの位置またはメニュー項目の境界位置に近づくにつれて、徐々に駆動量を変化させて行くことを特徴とする触覚刺激生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007095704A JP2008257294A (ja) | 2007-03-30 | 2007-03-30 | 触覚刺激生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007095704A JP2008257294A (ja) | 2007-03-30 | 2007-03-30 | 触覚刺激生成方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008257294A true JP2008257294A (ja) | 2008-10-23 |
Family
ID=39980835
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007095704A Pending JP2008257294A (ja) | 2007-03-30 | 2007-03-30 | 触覚刺激生成方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008257294A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021075143A1 (ja) * | 2019-10-18 | 2021-04-22 | 株式会社東海理化電機製作所 | 制御装置、プログラム、及びシステム |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0384433U (ja) * | 1989-12-19 | 1991-08-27 | ||
JPH10198513A (ja) * | 1997-01-14 | 1998-07-31 | Abitsukusu Kk | グラフィカル・ユーザーインタフェースに特徴を有する情報処理装置 |
-
2007
- 2007-03-30 JP JP2007095704A patent/JP2008257294A/ja active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0384433U (ja) * | 1989-12-19 | 1991-08-27 | ||
JPH10198513A (ja) * | 1997-01-14 | 1998-07-31 | Abitsukusu Kk | グラフィカル・ユーザーインタフェースに特徴を有する情報処理装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021075143A1 (ja) * | 2019-10-18 | 2021-04-22 | 株式会社東海理化電機製作所 | 制御装置、プログラム、及びシステム |
JP2021067998A (ja) * | 2019-10-18 | 2021-04-30 | 株式会社東海理化電機製作所 | 制御装置、プログラム、及びシステム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11327577B2 (en) | Multi-function stylus with sensor controller | |
US8049737B2 (en) | Dual pointing device and method based on 3-D motion and touch sensors | |
US20200310561A1 (en) | Input device for use in 2d and 3d environments | |
KR101054303B1 (ko) | 진동햅틱 모바일기기 및 그 구동방법 | |
KR101413539B1 (ko) | 자세인식을 이용하는 제어신호 입력장치 및 제어신호 입력방법 | |
JP5440176B2 (ja) | 入力装置、制御装置、制御システム、ハンドヘルド装置及び制御方法 | |
US20110148755A1 (en) | User interface apparatus and user interfacing method based on wearable computing environment | |
WO2006068357A1 (en) | System for wearable general-purpose 3-dimensional input | |
USRE47433E1 (en) | Input apparatus, control apparatus, control system, control method, and handheld apparatus | |
US10303272B2 (en) | Touch sensitive electronic system, processing apparatus and method thereof for simulating stylus as joystick | |
US20110310013A1 (en) | Interface apparatus and method for contact-free space input/output | |
US20190385421A1 (en) | Systems and Methods for Controlling Actuator Drive Signals for Improving Transient Response Characteristics | |
KR20190059726A (ko) | 가상현실 환경에서의 사용자와 객체 간 상호 작용 처리 방법 | |
EP2538308A2 (en) | Motion-based control of a controllled device | |
US10073609B2 (en) | Information-processing device, storage medium, information-processing method and information-processing system for controlling movement of a display area | |
RU2528079C2 (ru) | Устройство ввода и способ масштабирования объекта с помощью устройства ввода | |
CN106716304B (zh) | 控制单元以及与图形用户界面进行交互的方法 | |
JP6911772B2 (ja) | 情報処理装置、情報処理方法及びプログラム | |
JP2008257294A (ja) | 触覚刺激生成方法 | |
US11301031B2 (en) | Information processing apparatus and display control method to control a display position of a virtual object | |
Wang et al. | VirtualTouch: A finger glove to simulate touch screen commands | |
Singh et al. | Glove Mouse: A Gesture Controlled Wireless Computer Mouse | |
Mehta et al. | Handicap Assistance Device for Appliance Control Using User-Defined Gestures | |
KR20160089982A (ko) | 동작인식센서를 이용한 입력장치 | |
TW202326360A (zh) | 嵌入式系統以及振動驅動方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070517 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100325 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20111012 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20111220 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20120417 |