JP4962467B2 - 入力装置および入力方法 - Google Patents

入力装置および入力方法 Download PDF

Info

Publication number
JP4962467B2
JP4962467B2 JP2008269445A JP2008269445A JP4962467B2 JP 4962467 B2 JP4962467 B2 JP 4962467B2 JP 2008269445 A JP2008269445 A JP 2008269445A JP 2008269445 A JP2008269445 A JP 2008269445A JP 4962467 B2 JP4962467 B2 JP 4962467B2
Authority
JP
Japan
Prior art keywords
model
movement amount
finger
unit
hand
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.)
Expired - Fee Related
Application number
JP2008269445A
Other languages
English (en)
Other versions
JP2010097530A (ja
Inventor
卓哉 平井
敦士 山下
智裕 寺田
明 石田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2008269445A priority Critical patent/JP4962467B2/ja
Publication of JP2010097530A publication Critical patent/JP2010097530A/ja
Application granted granted Critical
Publication of JP4962467B2 publication Critical patent/JP4962467B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Digital Computer Display Output (AREA)
  • Position Input By Displaying (AREA)
  • User Interface Of Digital Computer (AREA)

Description

本発明は、ユーザが機器に対して命令等を入力するための入力装置および入力方法に関し、より特定的には、ユーザがディスプレイ等に表示された情報に基づいて手等の身体部分を用いて、命令等を入力することのできる入力装置および入力方法に関する。
近年の情報機器端末の多機能化に伴って、ユーザがより使い易いユーザインターフェイスが求められている。使い易いユーザインターフェイスの一例として、タッチパネルディスプレイがある。タッチパネルディスプレイは、ディスプレイに表示されるGUI(Graphical User Interface)パーツを押す操作をすることによって、ユーザが命令等を情報機器端末等に入力する装置である。このことから、タッチパネルディスプレイは、初心者でも直感的に操作できるインターフェイスと言える。
しかし、タッチパネルディスプレイにおいては、タッチを検知するデバイス(以下、操作部という)と表示部とが一体であるので、当該タッチパネルディスプレイがユーザの手元にないと操作できないという課題があった。
この課題を解決するために、特許文献1の技術は、操作部と表示部とを分離し、操作部に置かれた操作者の手を検知し、コンピュータグラフィック(以下、CGという)の手形状モデル(以下、単に、手モデルという)を、表示部に表示されるGUIに重畳して表示する。このことによって、ユーザは、表示部から離れている場合でも、タッチパネルディスプレイの直感的な操作感を維持した操作を行うことができる。
特開2006−72854号公報
しかしながら、上記した従来の技術は、操作者であるユーザの指の曲りを算出できないので、ユーザが指を曲げて操作を行った場合には、ユーザの手形状と大幅に異なる形状の
手モデルを表示部に表示する。この結果として、操作中にユーザが違和感を感じるという問題があった。
本発明の第1の局面は、操作面に置かれた手のCGモデルを表示部に表示して機器を操作する入力装置であって、操作面と手との複数の接触領域を検知する接触領域検知部と、手の指を伸ばした初期状態からの接触領域の移動量を算出する移動量算出部と、初期状態からの接触領域の面積の変化に基づいて各指先位置の指曲げによる移動量を算出する指曲げ移動量算出部と、各指先位置の指曲げによる移動量に基づいてCGモデルの各指関節の曲り角度を算出する指曲り角度算出部と、初期状態からの接触領域の移動量と各指先位置の指曲げによる移動量とに基づいて、CGモデルの平行移動量を算出する平行移動量算出部と、CGモデルの平行移動量および各指関節の曲り角度に基づいて、CGモデルの位置および変形形状を決定するモデル形状決定部と、機器に対するコマンドを割り当てたGUIパーツを保持するGUIパーツ保持部と、モデル形状決定部で形状が決定されたCGモデルとGUIパーツ保持部に保持されたGUIパーツとを重畳した画像を作成して表示部に表示させる重畳画像作成部と、GUIパーツとCGモデルの指先との衝突を判定する衝突判定部と、衝突判定部によって衝突が判定されると、当該衝突が判定されたGUIパーツに割当てられたコマンドを機器に送信するコマンド送信部とを備える。
本発明の第2の局面は、操作面に置かれた手のCGモデルを表示部に表示して機器を操作する入力装置であって、操作面と手との複数の接触領域を検知する接触領域検知部と、初期状態からの接触領域の面積の変化に基づいて各指先位置の指曲げによる移動量を算出する指曲げ移動量算出部と、各指先位置の指曲げによる移動量に基づいてCGモデルの各指関節の曲り角度を算出する指曲り角度算出部と、CGモデルの各指関節の曲り角度に基づいて、CGモデルの変形形状を決定し、当該形状が決定されたCGモデルの各指先位置が複数の接触領域に合うように移動させる位置を決定するモデル形状決定部と、機器に対するコマンドを割り当てたGUIパーツを保持するGUIパーツ保持部と、モデル形状決定部で形状が決定されたCGモデルとGUIパーツ保持部に保持されたGUIパーツとを重畳した画像を作成して表示部に表示させる重畳画像作成部と、GUIパーツとCGモデルの指先との衝突を判定する衝突判定部と、衝突判定部によって衝突が判定されると、当該衝突が判定されたGUIパーツに割当てられたコマンドを機器に送信するコマンド送信部とを備える。
本発明の第3の局面は、操作面に置かれた手のCGモデルを表示部に表示して機器を操作する入力方法に向けられている。そして、上記目的を達成させるために、本発明の入力方法は、操作面と手との複数の接触領域を検知する接触領域検知ステップと、手の指を伸ばした初期状態からの接触領域の移動量を算出する移動量算出ステップと、初期状態からの接触領域の面積の変化に基づいて各指先位置の指曲げによる移動量を算出する指曲げ移動量算出ステップと、各指先位置の指曲げによる移動量に基づいてCGモデルの各指関節の曲り角度を算出する指曲り角度算出ステップと、初期状態からの接触領域の移動量と各指先位置の指曲げによる移動量とに基づいて、CGモデルの平行移動量を算出する平行移動量算出ステップと、CGモデルの平行移動量および各指関節の曲り角度に基づいて、CGモデルの位置および変形形状を決定するモデル形状決定ステップと、モデル形状決定ステップで形状が決定された前記CGモデルと、機器に対するコマンドを割り当てた予め保持されているGUIパーツとを重畳した画像を作成して表示部に表示させる重畳画像作成ステップと、GUIパーツとCGモデルの指先との衝突を判定する衝突判定ステップと、衝突判定ステップによって衝突が判定されると、当該衝突が判定されたGUIパーツに割当てられたコマンドを前記機器に送信するコマンド送信ステップとを備える。
本発明の第4の局面は、操作面に置かれた手のCGモデルを表示部に表示して機器を操作する入力方法に向けられている。そして、上記目的を達成させるために、本発明の入力方法は、操作面と手との複数の接触領域を検知する接触領域検知ステップと、初期状態からの接触領域の面積の変化に基づいて各指先位置の指曲げによる移動量を算出する指曲げ移動量算出ステップと、各指先位置の指曲げによる移動量に基づいてCGモデルの各指関節の曲り角度を算出する指曲り角度算出ステップと、CGモデルの各指関節の曲り角度に基づいて、CGモデルの変形形状を決定し、当該形状が決定されたCGモデルの各指先位置が複数の接触領域に合うように移動させる位置を決定するモデル形状決定ステップと、モデル形状決定ステップで形状が決定されたCGモデルと、機器に対するコマンドを割り当てた予め保持されているGUIパーツとを重畳した画像を作成して表示部に表示させる重畳画像作成ステップと、GUIパーツとCGモデルの指先との衝突を判定する衝突判定ステップと、衝突判定ステップによって衝突が判定されると、当該衝突が判定されたGUIパーツに割当てられたコマンドを機器に送信するコマンド送信ステップとを備える
これら本発明の第1〜4の局面の入力装置、入力方法によれば、操作者の手の動きをCGモデルに反映させることができ、更に、操作者の各指の動きまでもCGモデルに反映させることができる。
本発明の入力装置および入力方法によれば、ユーザが指を曲げて操作した場合であっても、ユーザの手形状を手モデルに忠実に反映できる。この結果として、本発明の入力装置および入力方法によれば、ユーザは、違和感を感じることなく操作を行うことができる。
図1は、本発明の実施形態に係る入力装置100の動作の概要を説明するための図である。以下では、図1を用いて、入力装置100の動作について簡単に説明する。
図1に示す通り、入力装置100は、接触領域検知部1と演算部2とを備える。接触領域検知部1は、当該接触領域検知部1の操作面上に置いたユーザ(以下、操作者という)の手が接触した領域を検出し、検出した接触領域の情報(以下、単に、接触領域情報という)を演算部2に出力する。接触領域検知部1は、例えば、多点で接触を検知するタッチパッドである。なお、接触領域検知部1は、複数点の接触を検知できればよく、光学式、静電容量方式、感圧方式、抵抗膜方式等を用いる一般的なデバイスでよい。
演算部2は、接触領域検知部1が検知した接触領域情報を用いて表示データを作成して表示部3に出力する。具体的には、演算部2は、接触領域情報を用いてCGの手モデルを作成し、当該手モデルをGUIに重畳した表示データを作成して表示部3に出力する。また、演算部2は、作成した手モデルとGUIパーツとの位置関係を用いて操作者が意図するコマンドを決定し、決定したコマンドを情報端末機器等である操作対象機器4に出力する。なお、演算部2は、一般的なパーソナルコンピュータ(以下、PCという)でもよいし、専用のグラフィックIC等を組み込んだ汎用性のない専用機でもよい。また、演算部2は、接触領域検知部1から入力される信号を受信するインターフェイスと、CPU、ROM、RAMと、各モジュール間を結ぶバスと、計算結果を映像として出力するインターフェイスとを含む。
表示部3は、演算部2から入力された表示データを用いて表示を行う。表示部3は、例えば、液晶ディスプレイやCRT等のディスプレイである。操作対象機器4は、演算部2から入力されたコマンドを実行する。
以上の構成によって、操作者は、表示部3に表示されたGUIパーツ上に重畳された手モデルを目視しながら、接触領域検知部1の操作面上の手を動かして手モデルを操作することによって、操作対象機器4を操作することができる。
以下では、入力装置100の構成および動作について詳しく説明する。図2は、入力装置100の構成例を示す図である。図2に示すように、入力装置100は、接触領域検知部1と演算部2とを備える。演算部2は、移動量算出部12と、指曲げ移動量算出部13と、指曲り角度算出部14と、平行移動量算出部15と、モデル保持部16と、モデル形状決定部17と、GUIパーツ保持部18と、重畳画像作成部19と、衝突判定部20と、コマンド送信部21とを含む。
図3は、入力装置100の動作を説明するためのフローチャートである。操作者等によってスタートスイッチがオンにされると、入力装置100は動作を開始する。
まず、ステップS101において、接触領域検知部1は、当該接触領域検知部1の操作面上に操作者の手が置かれているか否かを判定する。操作者の手が置かれていない場合、接触領域検知部1は、処理待ち状態となり、操作者の手が置かれると、ステップS102に移る。なお、ステップS101における判定は、接触が検知されたか否かによって行うことができる。
次に、ステップS102において、接触領域検知部1は、操作者の手が当該接触領域検知部1に接触している領域を点群(以下、接触点群という)として検知し、検知した接触点群のデータを移動量算出部12に出力する。移動量算出部12は、入力された接触点群のデータを用いて、操作者の4つの指先の位置を示す点(以下、指先位置点という)と接触面積を取得する。なお、4つの指先位置点と接触面積を取得する方法は、後に詳細に説明する。
次に、ステップS103において、移動量算出部12は、4つの指先位置点を取得するまで待機し、取得するとステップS104に移る。
ステップS104において、移動量算出部12は、操作者が手を開いた状態(指を伸ばした状態)の指先位置点である初期位置点と基準接触面積が取得済みか否かを判定する。初期位置点と基準接触面積が取得済みの場合は、ステップS106に移る。初期位置点と基準接触面積が取得済みでない場合は、ステップS105に移る。ここで、初期位置点と基準接触面積が取得済みか否かの判定は、入力装置100が今回起動した後に初期位置点と基準接触面積を取得したか否かを判定するものである。
ステップS105において、移動量算出部12は、操作者に接触領域検知部1に置いた手を開くように促すメッセージを通知して初期位置点と基準接触面積を取得する。このメッセージは、例えば、表示部3に表示されて操作者に通知される。その後、移動量算出部12は、取得した初期位置点を用いて操作者が手を開いた状態の手モデル(以下、初期手モデルという)を作成する。ステップS105で取得された初期位置点、基準接触面積および初期手モデルのデータは、モデル保持部16に保存される。その後、ステップS102に戻る。つまり、入力装置100は、起動後最初に操作者が手を接触領域検知部1に置いた時点で、初期位置点、基準接触面積および初期手モデルを取得する。初期位置点、基準接触面積および初期手モデルの取得方法は、後に詳細に説明する。
なお、操作者が交代した場合や、操作者の左右の手が入れ替わった場合には、既に取得済みの初期位置点、基準接触面積および初期手モデルを破棄し、ステップS105の動作を再度行うことで初期位置点、基準接触面積および初期手モデルを更新してもよい。また、初期位置点、基準接触面積および初期手モデルを起動毎に取得せず、操作者の指示に応答してステップS105の動作を行うことによって、初期位置点、基準接触面積および初期手モデルを新たに取得してもよい。また、ステップS101において接触領域検知部1が所定期間手の接触を検知しない場合には、既に取得済みの初期位置点、基準接触面積および初期手モデルを破棄し、ステップS105の動作を再度行って新たな初期位置点、基準接触面積および初期手モデルを取得してもよい。
ステップS106において、移動量算出部12は、指先位置点の初期位置点からの移動量と、現在の接触面積の基準接触面積からの変化量とをそれぞれ取得する。このステップS106の処理については、後に詳細に説明する。
次に、ステップS107において、指曲げ移動量算出部13は、ステップS106で取得した接触面積の変化量を用いて、指曲げによる各指先位置点の移動量を算出する。そして、指曲り角度算出部14は、算出された指曲げによる各指先位置点の移動量を用いて、手モデルの各指関節の曲り角度を算出する。このステップS107の処理については、後に詳細に説明する。
次に、ステップS108において、平行移動量算出部15は、ステップS106で取得した指先位置点の初期位置点からの移動量と、ステップS107で取得した指曲げによる各指先位置点の移動量とに基づいて、手モデルの平行移動量を決定する。この平行移動量を決定する方法については、後に詳細に説明する。
次に、ステップS109において、モデル形状決定部17は、ステップS107およびS108で決定された手モデルの各指関節の曲り角度、平行移動量を用いて、モデル保持部16に保持された手モデルを読出して変形を反映させる。ここで、モデル保持部16に初期手モデルが保持されている場合には、当該初期手モデルを読出して変形を反映させる。
なお、モデル保持部16に保持される手モデルは、一般的な骨格(以下、ボーン構造という)を持つCG(Computer Graphics)モデルであることが好ましい。モデル保持部16が保持する手モデルの一例を図4に示す。図4に示す手モデルは、複数のポリゴンとボーン構造を示すラインとから構成される。また、手モデルをモデル保持部16に保持するファイル形式は、一般的な形式でよい。一例として、ポリゴンの頂点座標を格納したファイル形式が挙げられる。また、手モデルは、併せてテクスチャ情報も保持し、手モデルの現実感を増幅させてもよい。
次に、ステップS110において、重畳画像作成部19は、GUIパーツ保持部18が予め保持しているGUIパーツを読み出し、読出したGUIパーツを配置した操作画像を作成する。ここで、GUIパーツとは、表示部3に表示される制御命令を割り当てたボタン等である。なお、GUIパーツおよびその配置方法は、一般的なものでよい。その後、重畳画像作成部19は、ステップS109で変形を反映された手モデルと、GUIパーツが配置された操作画像とを重畳して重畳画像を作成し、当該重畳画像を表示部3に表示する。
次に、ステップS111において、衝突判定部20は、GUIパーツと手モデルの指先位置点との衝突の有無を判定する。この衝突判定の詳細は、後述する。衝突がないと判定されている場合は、ステップS101〜S111の処理が繰り返されて、操作者の手の動きに応じて重畳画像内の手モデルが変形する。衝突が有ると判定されると、衝突判定部20は、衝突が有ったGUIパーツに割当てられたコマンドをコマンド送信部21に通知し、ステップS112に移る。
ステップS112において、コマンド送信部21は、通知されたコマンドを操作対象機器4に送信し、ステップS101に戻る。操作対象機器4は、送信されたコマンドを受信して実行する。以上の処理が繰り返されることによって、入力装置100は、コマンドの送信を繰り返して操作対象機器4を操作する。なお、操作者等によってスタートスイッチがオフにされると処理は終了する。
以上に説明した動作によって、操作者は、表示部3に表示された重畳画像を目視しながら手を動かすことによって、重畳画像内の手モデルを操作できる。そして、操作者は、手モデルを操作して指先の位置をGUIパーツに重ね合わせることによって、操作対象機器4を操作できることとなる。
以下では、図3を用いて説明した各ステップについて、詳細に説明する。
図5は、図3のステップS101およびS102における接触領域検知部1の動作について説明するための図である。図5(a)は、接触領域検知部1の操作面に操作者の手が置かれた状態の一例を示す。図5(b)は、接触領域検知部1が検知した接触点群を黒丸群で表した図である。図5に示すように、接触領域検知部1は、図3のステップS101およびS102において、接触点(接触点群)を検知することによって、手の接触領域を検知する。
図6は、図3のステップS102を詳細に説明するためのフローチャートである。図7は、図3のステップS102で取得される指先位置点の算出方法について説明するための図ある。以下、図6および図7を用いて、図3のステップS102の処理を詳細に説明する。
まず、S102−1において、移動量算出部12は、接触領域検知部1から図5(b)を用いて説明した接触点群を示すデータを取得する。
次に、ステップS102−2において、移動量算出部12は、接触点の位置関係に基づいて、図7の楕円で示す複数の領域を算出する。S102−2において複数の領域を算出する方法は、一般的な方法でよい。例えば、接触点の近傍に他の接触点が存在する場合はこれらの接触点を同一の領域とみなすことによって、複数の領域に区分する方法がある。
次に、ステップS102−3において、移動量算出部12は、ステップS102−2で算出した各領域に対して、楕円フィッティング処理を行う。ステップS102−3において、移動量算出部12は、図7(a)の楕円Aで示すように指の接触点群を楕円で囲む。その後、移動量算出部12は、例えば、楕円Aの中心を指先位置点とする(図7(b)を参照)。なお、指先位置点は、他の方法を用い、また、他の位置に決定してもよい。
指先位置点を決定した後、各指先位置点について接触面積を求める。接触面積は、各指先が操作面に接触している面積で、例えば、上記の様に指先位置点を楕円フィッティングで求めた場合には楕円の面積を計算することで求めることができる。また、各領域内にある接触点の数を接触面積とすることもできる。
次に、ステップS102−4において、移動量算出部12は、ステップS102−3で取得した指先位置点の位置と接触面積をRAM(図2には図示せず)に保存する。図8は、図6のステップS102−3で取得された指先位置点の位置の一例を示す図である。図8において、黒丸は指先位置点801、点線の楕円802は接触面積の領域を示している。
図9は、図3のステップS105の処理を詳しく説明するためのフローチャートである。まず、ステップS105−1において、移動量算出部12は、操作者に接触領域検知部1の操作面上の手を開くように促すメッセージを通知して4つの初期位置点および基準接触面積を取得する。この基準接触面積は、操作者の手が開いている状態の接触面積であり、このとき接触領域検知部1の操作面に指の腹が接触している。そのため接触面積は最大となる。この接触面積が最大となるものを基準接触面積としてRAM(図2には図示せず)に保存する。ただし、予め設定した閾値以上の面積を検知した場合は、ノイズ、もしくは誤入力とし、基準接触面積を取得しなおす。後述する様に、操作者が指を曲げていくと、接触部分は指の腹から爪先の方に移っていくため、接触面積は徐々に小さくなっていく。
次に、ステップS105−2において、移動量算出部12は、ステップS105−1で取得した初期位置点(指先位置点)と、モデル保持部16が当初から保持しているひな形であるひな形手モデルの対応する指先位置点とが重なるように、当該ひな形手モデルを変形して初期手モデルを作成する。ここで、4つの初期位置点は、それぞれ小指、薬指、中指、人差し指に対応する。操作者の操作が左手に限定される場合には、左手のひな形手モデルを使用して、左から小指、薬指、中指、人差し指の順番に初期位置点とが重なるように、当該ひな形手モデルを変形して初期手モデルを作成する。
ここで、初期手モデルを作成する際には、接触領域検知部1に対して操作者がどの方向から手を進入させたかを知る必要がある。逆方向から手を進入させた場合には、同じ4つの初期位置点であっても、初期手モデルが反対向きに作成されてしまう。そのため、接触領域検知部1に対して操作者がどの方向から手を進入させるかは、予め分っているものとする。
図10は接触領域検知部1の車への設置位置の例を示している。図10(a)は車両のセンターコンソールに取り付けられた場合の一例を示す図である。図10(b)は、接触領域検知部1が車両のドアの操作部に取り付けられた場合の一例を示す図である。図10(c)は、接触領域検知部1が車両のハンドルに取り付けられた場合の一例を示す図である。図10(a)に示すような車両の位置に、接触領域検知部1を取り付けることで、ドライバである操作者は接触領域検知部1に対して左手を矢印1001の方向に進入させることは予め分る。また、図10(b)に示すような車両の位置に、接触領域検知部1を取り付けることで、ドライバである操作者は接触領域検知部1に対して右手を矢印1002の方向に進入させることは予め分る。図10(c)の場合には、ドライバである操作者は接触領域検知部1に対して手を矢印1003の方向に進入させることは予め分る。ただ、この場合には、操作者が右手で操作するか左手で操作するかは分らないため、事前に操作者の好みで右手もしくは左手で操作するかの情報を入力できる様にしておけばよい。
また、操作者が右手もしくは左手で操作する場合には、通常は小指は他の指と比較して小さく、操作面との接触面積も小さいため、ステップS102で取得した接触面積が最も小さい領域を小指と判断し、他の領域との位置関係から右手か左手かを特定することもできる。すなわち、小指と特定された領域が他の3つの領域より、最も左側に存在すれば左手と判断し、左手のひな形手モデルを変形する。逆に、小指と特定された領域が他の3つの領域より、最も右側に存在すれば右手と判断し、右手のひな形手モデルを変形する。
図9に戻り、その後、移動量算出部12は、作成した初期手モデルを、表示部3に表示する。この処理によって、移動量算出部12は、操作者の手の大きさを反映した初期手モデルを作成し、表示部3に表示できる。
次に、ステップS105−3において、移動量算出部12は、ステップS105−1で取得した初期位置点の位置、基準接触面積と、ステップS105−2で作成した初期手モデルとをモデル保持部16に保存し、ステップS102に戻る(図3を参照)。
図11は、図3のステップS106の処理を説明するためのフローチャートである。図11において、ステップS106−1において、移動量算出部12は、現在の指先位置点の初期位置点からの移動量を算出する。ここで、各点の移動量を取得するために、移動後の各点と初期位置の各点との対応をとる方法は、一般的な手法でよい。
図12は、操作者が指を曲げたときの各指先位置の接触領域の変化を示しており、図12(a)は初期状態の場合を示しており、図12(b)は操作者が手全体は動かさずに4つの指を曲げた場合を示している。ここで、各指先位置の接触領域を黒の楕円で示している。指を曲げることにより操作面と指との接触位置が、各指の腹の部分から、爪の方に移動するため、接触面積は小さくなる。逆に、指を曲げた状態から伸ばすと、その接触面積は大きくなる。ここで、移動量算出部12が算出する現在の指先位置点の初期位置点からの移動量は、図12(b)の矢印で示ように、対応する指の各座標値から算出することができる。
次に、ステップS106−2において、移動量算出部12は、現在の接触面積の基準接触面積からの変化量を算出する。現在の接触面積の基準接触面積からの変化量は、図12に示すように、対応する指の各接触面積から算出することができる。ここで、接触面積は操作者の指の大きさなどにより個人差があるため、接触面積の変化量は、変化率として算出する方が好ましい。
次に、ステップS106−3において、移動量算出部12は、ステップS106−1で取得した指先位置点の移動量と、ステップS106−2で算出した接触面積の変化量をRAM(図2に図示せず)に保存し、ステップS107に進む(図3を参照)。
次に、図3のステップS107の処理について詳細に説明する。ステップS107において、指曲げ移動量算出部13は、ステップS106で取得した接触面積の変化量を用いて、手モデルの指曲げによる各指先位置点の移動量を決定する。
図13は、図12に示したのと同様に、操作者が初期状態から指を徐々に曲げた場合の各指先位置の接触面積の変化率の一例を示す図である。図13において、表の下側の図は、各状態での操作面上に置いた指を側面から見た様子を表している。左端の図は初期状態で、前述したように手を開いて操作面上に置いた状態を表している。このときの接触面積は、基準接触面積となり最大である。指を曲げることにより操作面と指との接触位置が、各指の腹の部分から、爪の方に移動するため、接触面積は小さくなる。
図13の右端の図は、指を曲げて指先に最も近い関節(遠位指節間関節)と、指先位置点を結ぶ直線が操作面に対して垂直な状態(以下、対操作面垂直状態という)を表している。図13の真中の図は、両者の中間状態を表している。ここで、図13の初期状態の指先位置点(初期位置点)をゼロ点とし、対操作面垂直状態の指先位置点への移動量をAとすると、中間状態の指先位置点への移動量はA/2である。
図13の表の各数値は、各指について初期状態の基準接触面積を基準にした、各状態での接触面積の変化率を表している。図13に示すように、指先位置点の移動量(初期位置点が0)に対して、接触面積の変化率は線形には変化していない。図13の様な表を用いて、もしくはそれから求めた近似関数を用いることにより、指先位置での接触面積の変化率が分れば、指曲げによる指先位置点の移動量は算出できる。
ここで、各指先位置の接触面積の変化率は、操作者によるばらつきも考えられるため、複数人の実験値から平均値を求め、予め図13の様な表として、もしくは平均値から算出される近似関数として、モデル保持部16に記憶しておくこともできる。
また、図3のステップS105で初期位置点と基準接触面積を取得する際に、図13に示すように、操作者に指を曲げるように促すメッセージを通知して、初期位置点、基準接触面積と共に、各状態での指先位置点と接触面積を取得してもよい。そのようにすることで、操作者に合わせた各指先位置の接触面積の変化率が取得できるため、ユーザの手形状を手モデルにより忠実に反映できる。
なお、操作面への指の押し付け方により、接触面積は多少変化することが考えられるため、一定時間内の接触面積の変化について所定の閾値を予め設定しておき、接触面積の変化率の絶対値が所定の閾値より大きい場合に接触面積が変化したと判断しても良い。そのため、ある一定の閾値以下の変化率であった場合は、指曲げによる指先位置点の移動量の算出を行わず、面積変化無しとして処理することが考えられる。また、予め設定した時間内の接触面積の変化率の絶対値が、所定の閾値より小さいが接触面積が増加、もしくは減少し続けている場合は、操作者が意図的に指曲げを行っていると判断し、予め設定した時間後に指曲げによる指先位置点の移動量を決定してもよい。
以上の様に求めた各指の指曲げによる指先位置点の移動量を用いて、指曲り角度算出部14は、各指の各関節の曲り角度を決定する。ここで、指先の変位から指関節の曲り角度を求める方法として、ロボット工学分野等で周知であるインバースキネマティクス(以下、IKという)技術がある。IK技術は、複数の可動部を持つアームの先端を目的位置に移動させるために用いられる。そして、アームが複数の可動部を持つ場合、IK技術を用いて目的位置にアームの先端を移動させるためには、可動部の曲り角度には複数の解が存在する。
本発明においても、指には複数の関節があるので、指関節の曲り角度には複数の解が存在する。このため、本発明では、一例として、操作者の掌および指先は操作面上(同一平面上)に存在するという拘束条件と、各指関節の曲り角度は等しいという拘束条件とを用いて、解を一意に求める。
図14(a)は、一例として、人差し指を曲げた場合の指先位置点の変位を示している。図14(b)は、図14(a)に示す曲げた状態の人差し指1400の手モデルを側面から見た図である。図14から分るように、通常、指を曲げると3つの指関節は同時に曲がるので、各指関節の曲り角度1401〜1403は等しいという拘束条件を用いて手モデルを変形すると、操作者は違和感無く操作を行うことができる。また、この様な拘束条件を用いて手モデルを変形すると、演算量が大幅に低減できるので、操作者の手の動きに瞬時に応答する手モデルの変形が可能である。
なお、指関節の曲り角度を算出するための拘束条件は、これには限定されず、解を一意に求めらる拘束条件であればよい。しかし、上記したように、指関節の曲り角度を算出するための拘束条件は、操作者が違和感を感じない手モデルとなる拘束条件が好ましく、操作者の操作行為が自然に行える手モデルとなる拘束条件が好ましい。また、IK技術において目的位置からアーム可動部の曲り角度を求める方法として、ヤコビ行列を用いて繰り返し計算を行う方法や幾何学的に算出する方法等が知られているが、本発明においてはいずれを用いてもよい。
以上に説明した図3のステップS107の処理を行い、指曲げ移動量算出部13は指曲げによる各指先位置点の移動量を算出し、指曲り角度算出部14は各指関節の曲り角度を算出する。そして、指曲げ移動量算出部13および指曲り角度算出部14は、算出した手モデルの各指先位置点の移動量および各指関節の曲り角度をRAM(図2に図示せず)に保存する。
次に、図3のステップS108の処理について詳細に説明する。ステップS108において、平行移動量算出部15は、ステップS106で取得した指先位置点の初期位置点からの移動量と、ステップS107で取得した指曲げによる各指先位置点の移動量とに基づいて、手モデルの平行移動量を算出する。操作者が指を曲げずに手全体を動かして操作面上を平行移動させた場合、指先位置点は変化するが、指先位置での接触面積は変化しない。そのため、平行移動量算出部15は、ステップS106で取得した指先位置点の初期位置点からの移動量と、ステップS107で取得した指曲げによる各指先位置点の移動量をRAMから読み出す。そして、読み出した指先位置点の初期位置点からの移動量から、指曲げによる各指先位置点の移動量を引くことで、手モデルの平行移動量を算出し、RAM(図2に図示せず)に保存する。
次に、図3のステップS109の処理について詳細に説明する。図15は、図3のステップS109の処理を説明するためのフローチャートである。図15のフローチャートの処理によって、ステップS107およびS108で決定された各値を用いて手モデルの変形形状が決定される。以下では、図15を参照して、図3のステップS109処理について詳しく説明する。
まず、ステップS109−1において、モデル形状決定部17は、ステップS108で決定された手モデルの平行移動量をRAMから読み出して、手モデルの位置を決定する。
次に、ステップS109−2において、モデル形状決定部17は、ステップS107で決定された各指関節の曲り角度をRAMから読み出して、手モデルの変形形状を決定する。その後、ステップS110に移る。
図16は、図3のステップS109における手モデルの変形の具体例を示す図である。図16(a)は、初期位置点(操作者が手を開いた状態の指先位置点)を示す。図16(b)は、図16(a)に示す初期位置点を用いて描画された初期手モデルである。図16(c)は、一例として、操作者が人差し指を曲げた場合の指先位置点を示す。図16(d)は、図16(c)に示す指先位置点を用いて変形された手モデルである。図17(a)、(b)はそれぞれ、図16(b)および(d)に示した手モデルを側面から見た図である。図16および図17に示すように、図3のステップS109において、手モデルは、操作者の手の変形に応じてリアルに変形する。
図18は、図3のステップS110の処理を説明するための図である。図18に示す通り、ステップS110において、重畳画像作成部19は、GUIパーツ1801を配置した操作画像1800と、変形された手モデル1810とを重畳して、重畳画像1820を作成し、表示部3に表示する。なお、重畳画像1820を作成する際、手モデルと重なるGUIパーツを視認し易くするために、手モデルを半透過等にしてもよい。
図19は、図3のステップS111の処理について説明するための図である。衝突判定部20は、重畳画像においてGUIパーツ1901〜1904と手モデル1910の指先位置点とが重なった場合には、当該GUIパーツと手モデル1910の指先位置点とが衝突したと判定する。図19の場合には、衝突判定部20は、矢印1920で示す衝突が判定されたGUIパーツ1902に割当てられたコマンドをコマンド送信部21に通知する。
その後、ステップS112でコマンドが操作対象装置4に送信される。操作対象装置4は、受信したコマンドを実行する。
以上に説明したように、本発明に係る入力装置100によれば、操作者は、表示部3から離れている場合でも、タッチパネルディスプレイの直感的な操作感を維持した操作を行うことができる。また、本発明に係る入力装置100は、操作者の指の動きを忠実に再現した手モデルを表示部3に表示することができる。この結果として、本発明に係る入力装置100は、操作者に違和感の無い快適な操作感覚を提供することができる。
なお、本実施形態の図3のステップS108において、ステップS106で取得した指先位置点の初期位置点からの移動量と、ステップS107で取得した指曲げによる各指先位置点の移動量とに基づいて、手モデルの平行移動量を算出した。この平行移動については、ステップS107における各指関節の曲り角度が算出できれば、手モデルを変形させた形状は決るので、その変形させた手モデルの指先位置点が、現在の操作面上で検出している指先位置点に合うように移動させる方法でも可能である。この場合、移動量算出部12は初期状態からの指先位置点の移動量を算出する必要はなく、モデル形状決定部17は、手モデルの各指関節の曲り角度に基づいて、手モデルの変形形状を決定し、当該形状が決定された手モデルの各指先位置が、現在検出している各指先位置点に合うように、変形させた手モデルを移動させる位置を決定する
また、本実施形態の図3のステップS103においては、4つの指先位置点と接触面積を取得することとしたが、4つに限られることはない。右手か左手かが分っており、接触する指が特定できる場合には(例えば、人差し指で接触)、手の進入方向が分っていれば手モデルの位置を決定できるため、1〜3つの指先位置点と接触面積を取得することにしてもよい。
本発明は、入力装置および入力方法等に利用可能であり、特に、操作者の手のCGモデルを操作者の手の動きに併せてよりリアルに変形させたい場合等に有用である。
本発明の実施形態に係る入力装置100の動作の概要を説明するための図 本発明の実施形態に係る入力装置100の構成例を示す図 本発明の実施形態に係る入力装置100の動作を説明するためのフローチャート モデル保持部16が保持する手モデルの一例を示す図 図3のステップS101およびS102における接触領域検知部1の動作について説明するための図で、(a)接触領域検知部1の操作面に操作者の手か置かれた状態の一例を示す図、(b)接触領域検知部1が検知した接触点群を黒丸群で表した図 図3のステップS102を詳細に説明するためのフローチャート 図3のステップS102で取得される指先位置点を説明するための図で、(a)接触点群を楕円フィッティング処理した一例を示す図、(b)楕円から指先位置点を決定する一例を示す図 図6のステップS102−3で取得された指先位置点の位置の一例を示す図 図3のステップS105の処理を詳しく説明するためのフローチャート 接触領域検知部1の車への設置位置の例を示す図で、(a)車両のセンターコンソールに取り付けられた場合の一例を示す図、(b)車両のドアの操作部に取り付けられた場合の一例を示す図、(c)車両のハンドルに取り付けられた場合の一例を示す図 図3のステップS106の処理を説明するためのフローチャート 操作者が指を曲げたときの各指先位置の接触領域の変化を示す図で、(a)初期状態を示す図、(b)操作者が手全体は動かさずに4つの指を曲げた状態を示す図 操作者が初期状態から指を曲げた場合の各指先位置の接触面積の変化率の一例を示す図 図3のステップS107において、手モデルの指曲り角度を算出する方法を説明するための図で、(a)人差し指1400を曲げた場合の指先位置点の変位を示す図、(b)曲げた状態の人差し指1400の手モデルを側面から見た図 図3のステップS109の処理を説明するためのフローチャート 図3のステップS109における手モデルの変形の具体例を示す図で、(a)初期位置点を示す図、(b)初期位置点を用いて描画された初期手モデルを示す図、(c)操作者が人差し指を曲げた場合の指先位置点を示す図、(d)人差し指を曲げた時の指先位置点を用いて変形された手モデルを示す図 図16に示した手モデルを側面から見た図で、(a)図16bに示した手モデルを側面から見た図、(b)図16dに示した手モデルを側面から見た図 図3のステップS110の処理を説明するための図 図3のステップS111の処理について説明するための図
符号の説明
1 接触領域検知部
2 演算部
3 表示部
4 操作対象機器
12 移動量算出部
13 指曲げ移動量算出部
14 指曲り角度算出部
15 平行移動量算出部
16 モデル保持部
17 モデル形状決定部
18 GUIパーツ保持部
19 重畳画像作成部
20 衝突判定部
21 コマンド送信部
100 入力装置

Claims (4)

  1. 操作面に置かれた手のCGモデルを表示部に表示して機器を操作する入力装置であって、
    前記操作面と前記手との複数の接触領域を検知する接触領域検知部と、
    前記手の指を伸ばした初期状態からの前記接触領域の移動量を算出する移動量算出部と、
    前記初期状態からの前記接触領域の面積の変化に基づいて各指先位置の指曲げによる移動量を算出する指曲げ移動量算出部と、
    前記各指先位置の指曲げによる移動量に基づいて前記CGモデルの各指関節の曲り角度を算出する指曲り角度算出部と、
    前記初期状態からの前記接触領域の移動量と前記各指先位置の指曲げによる移動量とに基づいて、前記CGモデルの平行移動量を算出する平行移動量算出部と、
    前記CGモデルの平行移動量および各指関節の曲り角度に基づいて、前記CGモデルの位置および変形形状を決定するモデル形状決定部と、
    前記機器に対するコマンドを割り当てたGUIパーツを保持するGUIパーツ保持部と、
    前記モデル形状決定部で形状が決定された前記CGモデルと前記GUIパーツ保持部に保持されたGUIパーツとを重畳した画像を作成して前記表示部に表示させる重畳画像作成部と、
    前記GUIパーツと前記CGモデルの指先との衝突を判定する衝突判定部と、
    前記衝突判定部によって衝突が判定されると、当該衝突が判定されたGUIパーツに割当てられたコマンドを前記機器に送信するコマンド送信部とを備える、入力装置。
  2. 操作面に置かれた手のCGモデルを表示部に表示して機器を操作する入力装置であって、
    前記操作面と前記手との複数の接触領域を検知する接触領域検知部と、
    前記初期状態からの前記接触領域の面積の変化に基づいて各指先位置の指曲げによる移動量を算出する指曲げ移動量算出部と、
    前記各指先位置の指曲げによる移動量に基づいて前記CGモデルの各指関節の曲り角度を算出する指曲り角度算出部と、
    前記CGモデルの各指関節の曲り角度に基づいて、前記CGモデルの変形形状を決定し、当該形状が決定されたCGモデルの各指先位置が前記複数の接触領域に合うように移動させる位置を決定するモデル形状決定部と、
    前記機器に対するコマンドを割り当てたGUIパーツを保持するGUIパーツ保持部と、
    前記モデル形状決定部で形状が決定された前記CGモデルと前記GUIパーツ保持部に保持されたGUIパーツとを重畳した画像を作成して前記表示部に表示させる重畳画像作成部と、
    前記GUIパーツと前記CGモデルの指先との衝突を判定する衝突判定部と、
    前記衝突判定部によって衝突が判定されると、当該衝突が判定されたGUIパーツに割当てられたコマンドを前記機器に送信するコマンド送信部とを備える、入力装置。
  3. 操作面に置かれた手のCGモデルを表示部に表示して機器を操作する入力方法であって、
    前記操作面と前記手との複数の接触領域を検知する接触領域検知ステップと、
    前記手の指を伸ばした初期状態からの前記接触領域の移動量を算出する移動量算出ステップと、
    前記初期状態からの前記接触領域の面積の変化に基づいて各指先位置の指曲げによる移動量を算出する指曲げ移動量算出ステップと、
    前記各指先位置の指曲げによる移動量に基づいて前記CGモデルの各指関節の曲り角度を算出する指曲り角度算出ステップと、
    前記初期状態からの前記接触領域の移動量と前記各指先位置の指曲げによる移動量とに基づいて、前記CGモデルの平行移動量を算出する平行移動量算出ステップと、
    前記CGモデルの平行移動量および各指関節の曲り角度に基づいて、前記CGモデルの位置および変形形状を決定するモデル形状決定ステップと、
    前記モデル形状決定ステップで形状が決定された前記CGモデルと、前記機器に対するコマンドを割り当てた予め保持されているGUIパーツとを重畳した画像を作成して前記表示部に表示させる重畳画像作成ステップと、
    前記GUIパーツと前記CGモデルの指先との衝突を判定する衝突判定ステップと、
    前記衝突判定ステップによって衝突が判定されると、当該衝突が判定されたGUIパーツに割当てられたコマンドを前記機器に送信するコマンド送信ステップとを備える、入力方法。
  4. 操作面に置かれた手のCGモデルを表示部に表示して機器を操作する入力方法であって、
    前記操作面と前記手との複数の接触領域を検知する接触領域検知ステップと、
    前記初期状態からの前記接触領域の面積の変化に基づいて各指先位置の指曲げによる移動量を算出する指曲げ移動量算出ステップと、
    前記各指先位置の指曲げによる移動量に基づいて前記CGモデルの各指関節の曲り角度を算出する指曲り角度算出ステップと、
    前記CGモデルの各指関節の曲り角度に基づいて、前記CGモデルの変形形状を決定し、当該形状が決定されたCGモデルの各指先位置が前記複数の接触領域に合うように移動させる位置を決定するモデル形状決定ステップと、
    前記モデル形状決定ステップで形状が決定された前記CGモデルと、前記機器に対するコマンドを割り当てた予め保持されているGUIパーツとを重畳した画像を作成して前記表示部に表示させる重畳画像作成ステップと、
    前記GUIパーツと前記CGモデルの指先との衝突を判定する衝突判定ステップと、
    前記衝突判定ステップによって衝突が判定されると、当該衝突が判定されたGUIパーツに割当てられたコマンドを前記機器に送信するコマンド送信ステップとを備える、入力方法。
JP2008269445A 2008-10-20 2008-10-20 入力装置および入力方法 Expired - Fee Related JP4962467B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008269445A JP4962467B2 (ja) 2008-10-20 2008-10-20 入力装置および入力方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008269445A JP4962467B2 (ja) 2008-10-20 2008-10-20 入力装置および入力方法

Publications (2)

Publication Number Publication Date
JP2010097530A JP2010097530A (ja) 2010-04-30
JP4962467B2 true JP4962467B2 (ja) 2012-06-27

Family

ID=42259149

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008269445A Expired - Fee Related JP4962467B2 (ja) 2008-10-20 2008-10-20 入力装置および入力方法

Country Status (1)

Country Link
JP (1) JP4962467B2 (ja)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001100906A (ja) * 1999-09-30 2001-04-13 Suzuki Motor Corp 三次元データ表示装置
JP4351599B2 (ja) * 2004-09-03 2009-10-28 パナソニック株式会社 入力装置
JP2009181423A (ja) * 2008-01-31 2009-08-13 Denso Corp 操作入力装置

Also Published As

Publication number Publication date
JP2010097530A (ja) 2010-04-30

Similar Documents

Publication Publication Date Title
JP4274997B2 (ja) 操作入力装置および操作入力方法
WO2006027924A1 (ja) 入力装置
US20170017393A1 (en) Method for controlling interactive objects from a touchpad of a computerized device
EP1594040A2 (en) Operation input device and method of operation input
US9477874B2 (en) Method using a touchpad for controlling a computerized system with epidermal print information
US20150143276A1 (en) Method for controlling a control region of a computerized device from a touchpad
US20140240267A1 (en) Method Using a Finger Above a Touchpad for Controlling a Computerized System
US9542032B2 (en) Method using a predicted finger location above a touchpad for controlling a computerized system
US20150363038A1 (en) Method for orienting a hand on a touchpad of a computerized system
KR20130099570A (ko) 3차원 사용자 인터페이스 구현 시스템 및 구현 방법
US20140253486A1 (en) Method Using a Finger Above a Touchpad During a Time Window for Controlling a Computerized System
US9639195B2 (en) Method using finger force upon a touchpad for controlling a computerized system
CN117784926A (zh) 控制装置、控制方法和计算机可读存储介质
JP4085163B2 (ja) 接触型情報入力装置
JP4244202B2 (ja) 操作入力装置および操作入力方法
JP6966777B2 (ja) 入力システム
JP5575027B2 (ja) 表示一体型座標入力装置及び仮想キーボード機能の起動方法
JP5005585B2 (ja) 操作装置及びその方法
JP4962467B2 (ja) 入力装置および入力方法
JP4962466B2 (ja) 入力装置および入力方法
JP4941450B2 (ja) 入力装置および入力方法
CN118470063A (zh) 基于多视觉传感人体追踪的驾驶舱人机交互方法
JP2008269208A (ja) 操作検知システム
JP4922266B2 (ja) 入力装置及び入力方法
WO2015178893A1 (en) Method using finger force upon a touchpad for controlling a computerized system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110315

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20110413

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120201

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120228

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120312

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150406

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees