このように、特許文献1、2に開示されている技術は、ポインタの現在の座標値と複数のボタンのそれぞれの座標値との間の距離である座標間距離に基づいて、ユーザが所望するボタンを推定し選択ボタンとして決定するものである。しかしながら、座標間距離に基づいて選択ボタンを決定する方法では、以下に示すように、ユーザが意図しないボタンが選択されてしまう可能性がある。
ここで、図12〜図14は、このことを説明するための図である。図12は、ディスプレイ50に、ボタンA11〜A27及びポインタPが表示された状態図であり、(a)現在のディスプレイ50を示した図、(b)ユーザが意図したボタンAnが選択された場合のディスプレイ50を示した図、(c)ユーザが意図しないボタンAnが選択された場合のディスプレイ50を示した図である。図12に示すように、ディスプレイ50には、その上段にボタンA11〜A14が、その中段にボタンA21〜A27が、その下段にボタンA31が表示されている。
また、ディスプレイ50には、ボタンAnのうちのいずれかを選択するためのポインタPが表示されている。そして、ユーザが操作手段(図示外)を操作することによって、その操作内容に応じた動きでポインタPが移動できるようになっている。なお、選択ボタンとして選択されているボタンAnには、そのことを示した強調枠15が表示される。
ここで、現在、ボタンA23が選択ボタンとして選択されており(図12(a)参照)、ユーザは次にボタンA27を選択したいと考えているとする(図12(b)参照)。この場合、ユーザは、操作手段を操作して、ポインタPをボタンA23からボタンA27まで移動させる必要があるが、勢い余ってポインタPがボタンA27を通り超してしまうことがある。この場合、座標間距離に基づいて、選択ボタンを決定する方法によれば、ポインタPに最も近いボタンAnが選択ボタンとして選択されることになる。そのため、図12(c)に示すように、ボタンA27からの距離とボタンA31からの距離とが等しい等距離線101よりもボタンA31側の領域202にポインタPが位置している場合には、ボタンA31が選択ボタンとして選択されてしまうことになる。すなわち、ユーザの意図しないボタンが選択されてしまう。
また、図13は、図12の例において、選択できるボタンがボタンA21、A14、A27、A31に限定されている状態を示した図である。なお、図13には、ボタンA21からの距離とボタンA14からの距離とが等しい等距離線102、ボタンA14からの距離とボタンA27からの距離とが等しい等距離線103、ボタンA27からの距離とボタンA31からの距離とが等しい等距離線104を示している。ここで、現在、ボタンA21が選択ボタンとして選択されており、ユーザは次にボタンA27を選択したいと考えているとする。この場合、ポインタPをボタンA21からボタンA27に移動させる必要があるが、その途中で、ポインタPが、等距離線102、103よりもボタンA14側の領域204を通過することがある。この場合、途中で、ボタンA14が選択ボタンとして選択されてしまい、ユーザの意図に反することになる。特に、特許文献1、2のように自動的にポインタを選択ボタンに引き込ませるようにしている場合には、ポインタPがボタンA14に引き込まれてしまい、意図したボタンA27が選択し難くなる。
また、図14は、ディスプレイ50の左上にボタンA41が、左下にボタンA42が、右下にボタンA43が表示された状態を示した図である。なお、図14には、ボタンA41が選択される領域207、ボタンA42が選択される領域208、ボタンA43が選択される領域209も示している。この場合、例えば、ポインタPをボタンA41からボタンA43に向けて移動させると、各領域207〜209の配置上、ポインタPは、ボタンA42が選択される領域208を通過せざるをえない。この場合も、意図しないボタンA42が選択ボタンとして選択されてしまうことになる。
本発明は、上記した事情に鑑みてなされたものであり、ユーザが意図しないボタンが選択ボタンとして選択されてしまうのを防止することを課題とする。
上記課題を解決するために、本発明は、ポインタにより択一的に選択可能な複数のボタンが表示される表示手段と、
前記ポインタを移動させるためにユーザに操作され、所望する前記ポインタの動きに応じて操作内容を可変とすることができる操作手段と、
その操作手段の操作内容を検出する検出手段と、
その検出手段で検出された前記操作内容に応じた動きで前記ポインタを移動させるポインタ制御手段と、
前記ポインタに基づいて、ユーザが所望する前記ボタンを推定し選択ボタンとして決定するボタン決定手段と、を備える表示操作システムにおいて、
前記ボタン決定手段は、
前記ポインタの移動方向を示した移動ベクトルを算出する移動ベクトル算出手段を含み、
前記ポインタの現在の座標値と前記複数のボタンのそれぞれの座標値との間の距離である座標間距離及び前記移動ベクトルに基づいて、前記選択ボタンを決定することを特徴とする。
これによれば、ボタン決定手段が、座標間距離だけでなく、ポインタの移動ベクトルに基づいて選択ボタンを決定するので、ポインタに近いボタンであり、なおかつ、ポインタの移動方向に位置するボタンを選択ボタンとして決定することができる。ここで、ユーザは、選択ボタンとして選択したいボタンに向けてポインタを移動させると考えられるので、ポインタの移動方向、すなわち移動ベクトルの向きに位置するボタンが、ユーザが所望するボタンであると考えることができる。よって、勢い余ってポインタが所望するボタンを通り超してしまったり、ポインタの移動途中で、他のボタンの領域を通過したりしてしまった場合でも、移動ベクトルを考慮することによって他のボタンを選択ボタンとして決定してしまうことを防止できる。すなわち、ユーザが意図しないボタンが選択ボタンとして選択されてしまうのを防止できる。
また、本発明において、前記ボタン決定手段は、
前記複数のボタンのうち、前記座標間距離が最も小さいボタンを前記ポインタの行き先の候補となる行先候補ボタンとして設定する行先候補ボタン設定手段と、
現在選択されている前記選択ボタンである現在ボタンから前記行先候補ボタンの所定の基準点へ向かう候補先ベクトルを算出する候補先ベクトル算出手段と、
前記移動ベクトルと前記候補先ベクトルとが成す角度をずれ角度として算出するずれ角度算出手段と、
前記ずれ角度が所定の角度範囲に含まれているか否かを判断する角度判断手段と、
前記ずれ角度が前記角度範囲に含まれている場合には前記行先候補ボタンを前記選択ボタンとして最終決定する一方で、前記ずれ角度が前記角度範囲に含まれていない場合には前記行先候補ボタンを前記選択ボタンとしない最終決定手段と、を含み、
前記ずれ角度が前記角度範囲に含まれていない場合には、前記最終決定手段で最終決定できるまで、他のボタンに対して、前記行先候補ボタン設定手段、前記候補先ベクトル算出手段、前記ずれ角度算出手段及び前記角度判断手段による処理を繰り返し実行することを特徴とする。
これによれば、行先候補ボタン設定手段が、座標間距離が最も小さいボタンをポインタの行き先の候補となる行先候補ボタンとして設定する。そして、候補先ベクトル算出手段が、現在ボタンから行先候補ボタンの所定の基準点へ向かう候補先ベクトルを算出する。ここで、ユーザがその行先候補ボタンを次に選択ボタンとして選択したいと考えているとしたならば、ポインタを現在ボタンから行先候補ボタンに向けて移動させると考えられる。したがって、移動ベクトルと候補先ベクトルとは、ある程度向きが一致していると考えられる。一方で、候補先ベクトルは、行先候補ボタンの所定の基準点へ向かうベクトルであるので、その行先候補ボタンへ向けてポインタを移動させている場合であっても、行先候補ボタンのサイズ等を考慮すると、上記向きが厳密には一致していない場合もある。そのため、ずれ角度算出手段が、移動ベクトルと候補先ベクトルとが成す角度をずれ角度として算出する。そして、角度判断手段が、そのずれ角度が所定の角度範囲に含まれているか否かを判断する。
これにより、角度判断手段による判断結果に基づいて、行先候補ボタンにポインタを移動させる意思があるか否かを判断することができる。そして、ずれ角度が所定の角度範囲に含まれている場合には、行先候補ボタンにポインタを移動させる意思があると考えることができるので、最終決定手段が行先候補ボタンを選択ボタンとして最終決定する。反対に、ずれ角度が所定の角度範囲に含まれていない場合には、行先候補ボタンにポインタを移動させる意思がないと考えることができるので、その行先候補ボタンを選択ボタンとはしない。このように、ユーザが意図しないボタンが選択ボタンとして選択されてしまうのを防止できる。また、座標間距離が最も小さいボタンが行先候補ボタンとして設定されるので、ポインタに近いボタンを選択ボタンとして選択しやすくできる。
一方、ずれ角度が所定の角度範囲に含まれていない場合には、最終決定手段で最終決定できるまで、他のボタンに対して、行先候補ボタン設定手段、候補先ベクトル算出手段、ずれ角度算出手段及び角度判断手段による処理が繰り返し実行される。すなわち、ポインタに次に近いボタンから順に、各ボタンにポインタを移動させる意思があるか否かが判断されることになる。これによって、ポインタにできるだけ近く、なおかつ、ポインタの移動方向に位置するボタンを選択ボタンとして選択することができる。
また、上記候補先ベクトル算出手段において、現在ボタンを基点とした候補先ベクトルに換えて、ポインタの現在位置から行先候補ボタンの基準点へ向かう候補先ベクトルを算出するとしてもよい。
これによれば、ユーザが行先候補ボタンを次に選択ボタンとして選択したいと考えているとしたならば、ポインタを行先候補ボタンに向けて移動させると考えられるので、ポインタの現在位置を基点とした候補先ベクトルと移動ベクトルとも、ある程度向きが一致していると考えられる。よって、ポインタの現在位置を基点とした候補先ベクトルを用いて、上記行先候補ボタン設定手段、候補先ベクトル算出手段、ずれ角度算出手段、角度判断手段及び最終決定手段による処理を実行することで、行先候補ボタンにポインタを移動させる意思があるか否かを判断することができる。
また、本発明において、前記候補先ベクトルの基点である前記現在ボタン又は前記ポインタの現在位置をベクトル基点として、
前記ボタン決定手段は、前記ベクトル基点と前記行先候補ボタンとの間の距離が大きいほど小さい幅となるように前記角度範囲を設定する角度範囲設定手段を含むことを特徴とする。
これによれば、ポインタを行先候補ボタンの領域に移動させようとした場合に、現在ボタン又はポインタの現在位置と行先候補ボタンとの間の距離が小さければ、移動ベクトルの向きが候補先ベクトルの向きから多少ずれていたとしても、ポインタを行先候補ボタンの領域に移動させることができる。すなわち、現在ボタン又はポインタの現在位置であるベクトル基点と行先候補ボタンとの間の距離が小さければ、ずれ角度が多少大きくなっても、その行先候補ボタンにポインタを移動させる意思があると判断できる。一方で、ベクトル基点と行先候補ボタンとの間の距離が大きければ、移動ベクトルの向きが候補先ベクトルの向きからある程度ずれると、ポインタを行先候補ボタンの領域に移動させることができない。すなわち、ベクトル基点と行先候補ボタンとの間の距離が大きければ、ずれ角度がある程度大きくなると、その行先候補ボタンにポインタを移動させる意思はないと判断できる。このことを考慮して、角度範囲設定手段は、ベクトル基点と行先候補ボタンとの間の距離が小さければ、角度範囲を大きく設定し、ベクトル基点と行先候補ボタンとの間の距離が大きければ、角度範囲を小さく設定するので、ボタン決定手段は、行先候補ボタンにポインタを移動させる意思があるか否かを、その距離に応じて精度良く判断することができる。
また、本発明において、前記ボタン決定手段は、前記行先候補ボタンのサイズが小さいほど小さい幅となるように前記角度範囲を設定する角度範囲設定手段を含むことを特徴とする。
これによれば、ポインタを行先候補ボタンの領域に移動させようとした場合に、ベクトル基点と行先候補ボタンとの間の距離が同じとすると、小さいサイズの行先候補ボタンよりも大きいサイズの行先候補ボタンのほうが、ずれ角度が大きくても行先候補ボタンにポインタを移動させることができる。このことを考慮して、角度範囲設定手段が、行先候補ボタンのサイズが小さいほど小さい幅となるように角度範囲を設定するので、ボタン決定手段は、行先候補ボタンにポインタを移動させる意思があるか否かを、行先候補ボタンのサイズに応じて精度良く判断することができる。
また、本発明において、前記角度範囲設定手段は、
前記ベクトル基点から前記行先候補ボタンの各頂点へ向かう頂点ベクトルを算出する頂点ベクトル算出手段と、
前記頂点ベクトルごとに前記候補先ベクトルと成す角度を頂点角度として算出する頂点角度算出手段と、
その頂点角度算出手段で算出された前記頂点角度のうちの最大値及び最小値に基づいて、前記角度範囲の上下限値を設定する上下限値設定手段と、を含むことを特徴とする。
これによれば、頂点ベクトル算出手段が算出する頂点ベクトルは、ベクトル基点と行先候補ボタンとの間の距離や行先候補ボタンのサイズによって変わる。したがって、頂点角度算出手段が算出する頂点角度は、各頂点ベクトルと候補先ベクトルとが成す角度であるので、そのうちの最大値及び最小値は、ベクトル基点と行先候補ボタンとの間の距離及び行先候補ボタンのサイズを反映したものと言える。すなわち、ベクトル基点と行先候補ボタンとの間の距離が大きいほど、頂点角度の最大値及び最小値が小さくなると考えられる。また、行先候補ボタンのサイズが小さいほど、頂点角度の最大値及び最小値が小さくなると考えられる。したがって、上下限値設定手段が、頂点角度のうちの最大値及び最小値に基づいて、角度範囲の上下限値を設定するので、ベクトル基点と行先候補ボタンとの間の距離や行先候補ボタンのサイズを反映した角度範囲を設定することができる。よって、ボタン決定手段は、行先候補ボタンにポインタを移動させる意思があるか否かを、ベクトル基点と行先候補ボタンとの間の距離及び行先候補ボタンのサイズに応じて、精度良く判断することができる。
また、本発明において、前記移動ベクトル算出手段は、前記ポインタの速さに相当する大きさの前記移動ベクトルを算出するものであり、
前記上下限値設定手段は、前記移動ベクトルの大きさが大きいほど前記角度範囲の幅が小さくなるように、前記頂点角度のうちの最大値及び最小値を補正して、その補正後の値を前記角度範囲の上下限値とすることを特徴とする。
これによれば、ポインタを移動させる方向に対してユーザに迷いがある場合には、ポインタの移動速度は遅くなると考えられる。これに対し、迷いが無い場合には、ポインタの移動速度は、迷いが無い場合に比べて速くなると考えられる。このことを考慮して、移動ベクトル算出手段が、ポインタの速さに相当する大きさの移動ベクトルを算出し、上下限値設定手段が、移動ベクトルの大きさが大きいほど角度範囲の幅が小さくなるように、頂点角度のうちの最大値及び最小値を補正して、その補正後の値を角度範囲の上下限値とする。これにより、行先候補ボタンにポインタを移動させる意思があるか否かを、ユーザに迷いがあるか否かを考慮して、より精度良く判断することができる。
また、本発明において、前記角度範囲設定手段は、現在を基準として過去の所定期間内に前記移動ベクトルの向きがどの程度変化したかを示した変化率を算出する変化率算出手段を含み、
前記上下限値設定手段は、前記変化率算出手段で算出された前記変化率が小さいほど前記角度範囲の幅が小さくなるように、前記頂点角度のうちの最大値及び最小値を補正して、その補正後の値を前記角度範囲の上下限値とすることを特徴とする。
これによれば、ポインタを移動させる方向に対してユーザに迷いがある場合には、ポインタを移動させている最中にその移動方向がよく変化すると考えられる。これに対し、迷いが無い場合には、ポインタの移動方向はそれほど変化しないと考えられる。このことを考慮して、変化率算出手段が、現在を基準として過去の所定期間内に移動ベクトルの向きがどの程度変化したかを示した変化率を算出し、上下限値設定手段が、その変化率が小さいほど角度範囲の幅が小さくなるように、頂点角度のうちの最大値及び最小値を補正して、その補正後の値を角度範囲の上下限値とする。これにより、行先候補ボタンにポインタを移動させる意思があるか否かを、ユーザに迷いがあるか否かを考慮して、より精度良く判断することができる。
また、本発明において、前記角度範囲の上下限値の限界値が予め定められており、
前記角度範囲設定手段は、前記限界値の範囲内で、前記角度範囲を設定することを特徴とする。
これによれば、角度範囲の上下限値の限界値が予め定められており、角度範囲設定手段が、その限界値の範囲内で角度範囲を設定するので、角度範囲の下限を小さくしすぎることによって、行先候補ボタンが必要以上に選択ボタンとして選択しにくくなってしまうのを防止できる。また、角度範囲の上限を大きくしすぎることによって、行先候補ボタンが必要以上に選択ボタンとして選択しやすくなってしまうのを防止できる。
(第一実施形態)
以下、本発明の表示操作システムの第一実施形態を、図面を参照して説明する。図1は、本発明の表示操作システムを車両に適用した場合の、車室内における表示操作システム1の設置状態を示す図である。図2(a)は、図1の表示操作システム1における操作デバイス20を側面方向から見た断面図、図2(b)は、操作デバイス20を平面方向から見た断面図である。図3は、図1の表示操作システム1の電気的構成を示すブロック図である。
図1の表示操作システム1は、ポインタにより択一的に選択可能な複数のボタンを、互いに隣接する形で表示することができるディスプレイ50(表示手段)と、そのディスプレイ50上にてポインタを移動操作するための操作デバイス(操作手段)20と、それらディスプレイ50と操作デバイス20とを制御対象とする制御部100とを主として備えて構成される。
ディスプレイ50は、例えば周知の液晶表示装置等を用いることができる。操作デバイス20は、ユーザにより操作される周知のポインティングデバイスを用いることができ、ここでは二次元操作自由度を有したジョイスティック型操作部である。なお、操作デバイス20は、ジョイスティック型に限られず、同じく二次元操作自由度を有したスライダー型やトラックボール型等の他の種類の操作部であってもよい。
ここでの操作デバイス20は、図2に示すように、装置筐体31から突出する揺動支柱21aを有する操作装置本体21と、揺動支柱21aの先端部に取り付けられる操作ノブ22と、操作ノブ22になされる操作に対し操作反力を付与するための第一及び第二のアクチュエータ23、24と、操作ノブ22を介してなされる二次元操作入力変位を検出する第一及び第二の検出部(検出手段)25、26とを有して構成される。
操作装置本体21は、図2に示すように、揺動支柱21aと、装置筐体31と、装置筐体31に対しy軸線周りに回転可能に固定されて揺動支柱21aをy軸線周りに揺動可能に支持する第一の揺動支持部材32と、装置筐体31に対しy軸線方向に直交するx軸線周りに回転可能に固定されて揺動支柱21aのy軸方向の揺動変位を許容する形で該揺動支柱21aを第一の揺動支持部材32ごとx軸線周りに揺動可能に支持する第二の揺動支持部材33と、を有して構成される。この構成の場合、操作ノブ22をx軸方向(X−X方向)に操作すると、第一の揺動支持部材32がy軸線周りに回転し、これにより揺動支柱21aがy軸線周りに揺動する。また、操作ノブ22をy軸方向(Y−Y方向)に操作すると、第二の揺動支持部材33がx軸周りに回転し、これにより、y軸周りを揺動する揺動支柱21aを、これを支持する第一の揺動支持部材32ごと、x軸線周りに揺動する。
なお、本実施形態においては、第二の揺動支持部材33にx軸方向に延びる開口33aが設けられており、揺動支柱21aの下端部が、当該開口33a内を貫通する形で配置される。その開口幅(開口の延出方向及び深さ方向に対し直交する方向)は、揺動支柱21aの下端部の直径よりも若干大きい程度に形成されているため、揺動支柱21aの下端部は、第二の揺動支持部材33に対し、x軸方向(X−X方向:開口の延出方向)への変位は摺動の形で許容されるものの、y軸方向(Y−Y方向:開口幅方向)への変位は妨げられる。つまり、操作ノブ22をx軸方向(X−X方向)に操作すると、揺動支柱21aの下端部が第二の揺動支持部材33の開口33aの開口長さ方向(開口の延出方向:x軸方向)に摺動可能であるから、揺動支柱21aは、第二の揺動支持部材33とは無関係に、y軸周りを揺動する。他方、操作ノブ22をy軸方向(Y−Y方向)に操作すると、揺動支柱21aの下端部が第二の揺動支持部材33の開口33aの開口幅方向(Y−Y方向:y軸方向)側の内壁面に当接し、これを押圧するので、揺動支柱21aは、第二の揺動支持部材33と一体となって、x軸線周りを揺動する。
つまり、揺動支柱21aは、x軸周りとy軸周りの双方の揺動動作がそれぞれ独立に可能であり、これにより、操作ノブ22は、予め定められた二次元操作面上にて操作される。そして、第一の揺動支持部材32は、揺動支柱21aのy軸周りの揺動量に比例する回転量だけy軸周りに回転し、第二の揺動支持部材33は、揺動支柱21aのx軸周りの揺動量に比例する回転量だけx軸周りに回転し、これらの回転量が検出部25、26により検出される。
アクチュエータ23、24は、揺動支柱21aを介して操作ノブ22に操作反力を付与するものである。第一のアクチュエータ23は、第一の揺動支持部材32に連結され、揺動支柱21aをy軸周りに回転駆動し、第二のアクチュエータ24は、第二の揺動支持部材33に連結され、揺動支柱21aをy軸周りに回転駆動する。これら第一及び第二のアクチュエータ23、24には、DCモータなどの電動モータを用いることができる。
検出部25、26は、揺動支柱21aの直交するx、y軸周りの回転量(操作量)をそれぞれ検出するものである。第一及び第二の検出部25、26は、対応するアクチュエータ23、24の回転軸に連結されて、それら回転軸の回転方向と回転量とを検出し、それに応じた電気信号を出力するものであって、例えばロータリエンコーダなどを用いることができる。
また、操作装置本体21には、揺動支柱21a全体をz軸方向に押し込む操作(プッシュ操作)により決定入力を受け付ける決定スイッチ(押圧スイッチ)29が設けられる。決定スイッチ29は、押圧操作面を揺動支柱21aの下端面に対向させた形で配置され、該押圧操作面に所定の押圧変位を検出し、それに伴い所定の電気信号を出力するものであり、例えばタクトスイッチなどを用いることができる。
各種記憶部60は、ボタンを選択指示するポインタのディスプレイ50における位置を記憶するポインタ位置記憶部61と、各種の画面毎に、表示されるボタンの画像や表示位置(配置位置)といったボタン情報を記憶するボタン情報記憶部62と、各種の画面毎に、それら画面内の任意の地点において操作反力の標準反力レベル値を決定するための標準反力情報(演算式等)を記憶する標準反力情報記憶部63と、本実施形態の表示操作システム1を実現するための各種動作プログラムを記憶する動作プログラム記憶部65と、を備える。
動作プログラム記憶部65に記憶される動作プログラムには、ディスプレイ50にボタンを表示するためのプログラムや、操作デバイス20の操作に応じて入力される検出部25、26からの検出信号に基づいて、ポインタの移動先の位置を算出するプログラム、算出されるポインタの移動先の位置に基づいて、ポインタをディスプレイ50において移動させるプログラム、画面表示されたボタン上で、決定スイッチ29の操作入力があった場合に、操作入力がされたボタンに対応する制御を実施させるプログラムといった、ポインティングデバイスにおける周知の各種動作プログラムが含まれる。
また、本実施形態においては、これらに加えて、算出されるポインタの指示位置において操作デバイス20(操作ノブ22)に付与する操作反力値を決定・設定する操作反力制御プログラム65aと、ディスプレイ50に表示されているボタンのうち、ポインタの引き込み先のボタンをポインタに基づいて決定する引込ボタン判定プログラム65bと、を動作プログラム記憶部65に記憶している。
制御部100は、図3に示すように、タイマー100aを備えたCPU又はMPUである。制御部100は、各種記憶部60と、決定スイッチ29から出力されるスイッチ信号を制御部100に取り込む信号入力部41と、第一及び第二の検出部25、26から出力される各検出信号を制御部100に取り込む信号入力部42と、制御部100から出力されるアクチュエータ駆動信号に応じて第一及び第二のアクチュエータ23、24を駆動させる第一及び第二のモータドライバ43、44と、制御部100から出力されるディスプレイ駆動信号に応じてディスプレイ50を駆動させるディスプレイドライバ45と接続する。
その制御部100は、上記した動作プログラム記憶部65に記憶されている各プログラムに従って、ディスプレイ50にボタンを表示するボタン表示処理、ポインタをディスプレイ50上で移動させるポインタ制御処理、引き込み先のボタン(選択ボタン)を決定するボタン決定処理、決定した引き込み先のボタンにポインタを引き込むようにアクチュエータ23、24を制御するアクチュエータ制御処理等、各種処理を実行する。
ここで、図4は、ボタン表示処理及びポインタ制御処理を実行した際のディスプレイ50の表示内容の一例を示した図である。図4に示すように、制御部100は、ディスプレイ50に、その上段にボタンA11〜A14を、その中段にボタンA21〜A27を、その下段にボタンA31を表示させる。これらボタンAnは、それぞれ種類が異なるボタンであり、例えば、上段のボタンA11〜A14は数字に対応したボタンとされ、中段のボタンA21〜A27は仮名文字に対応したボタンとされ、下段のボタンA31は決定ボタンとされる。そして、制御部100は、各ボタンAnに重ねて、対応する数字、仮名文字等を表示させる。これによって、ユーザは、どのボタンAnを選択すれば、どの情報を入力できるかを容易に把握できる。
また、制御部100は、ボタンAnのうちのいずれかを選択するためのポインタPがディスプレイ50上に位置するように、その座標値を決定する。ただし、本実施形態では、ディスプレイ50の見た目をシンプルにして、見た目をよくするために、ポインタPをディスプレイ50に表示しないようにしている。なお、図4の例では、説明の便宜のために、現在のポインタPを示している。そして、ユーザが操作デバイス20を操作することによって、制御部100は、その操作内容に応じた移動方向及び速さでポインタPを移動させる。具体的には、図2の座標系と図4の座標系が対応しており、操作デバイス20の操作方向にポインタPが移動するように、制御部100は、ポインタPの動きを制御する。例えば、操作デバイス20が図2のX軸方向に操作(Y軸周りに回転)された場合には、検出部25、26がその操作方向を示した電気信号を出力する。その電気信号は、信号入力部42を介して制御部100に入力される。そして、制御部100は、入力された電気信号に基づいて操作デバイス20がX軸方向に操作されたことを把握し、ポインタPを図4のX軸方向に移動させる。なお、制御部100が本発明の「ポインタ制御手段」に相当する。
また、操作デバイス20の回転量とポインタPの移動速さが対応しており、制御部100は、検出部25、26が検出した操作デバイス20の回転量に基づいて、その回転量が大きくなるほど大きな速さでポインタPを移動させる。
なお、操作デバイス20の回転量とポインタPの移動先の位置とが対応したタイプの操作デバイス20を用いることもできる。この場合、制御部100は、検出部25、26が検出した操作デバイス20の回転量に応じた位置にポインタPを移動させる。
また、引き込み先のボタン(選択ボタン)として現在選択されているボタンAnである現在ボタンBには、そのことを示した強調枠15が表示される。このように強調枠15を表示することによって、ユーザは、どのボタンAnが現在選択されているのかを容易に把握でき、さらに、強調枠15を目印としてポインタPを移動させるための操作を容易にすることができる。なお、図4の例では、ボタンA23が引き込み先のボタンBとして現在選択されている。
上記したように構成された表示操作システム1は、例えば、車両のナビゲーションシステムにおける目的地設定の際に適用される。具体的には、例えばディスプレイ50に、目的地を特定できる情報としての住所、電話番号、施設名等を入力するための数字、仮名、アルファベット等、各種文字を示したボタンAnが表示される。また、ポインタPがディスプレイ50上に位置される。そして、ユーザは、操作デバイス20を操作して、ポインタPを所望するボタンAnに順番に合わせることによって、所望する目的地の情報を入力することができる。この際、ポインタPを各ボタンAnの表示位置に正確に合わせなくてもボタンAnを選択できるように、ユーザが所望するボタンAnが推定されて、そのボタンAnにポインタPが引き込まれるようにアクチュエータ23、24が制御される。
そこで次に、引き込み先のボタン(選択ボタン)を決定するボタン決定処理の詳細を説明する。ここで、図5は、ボタン決定処理を示したフローチャートである。なお、このボタン決定処理は、制御部100によって、一定間隔で繰り返し実行される。なお、ボタン決定処理を実行する制御部100が本発明の「ボタン決定手段」に相当する。
先ず、ステップS11では、ポインタPと各ボタンAnとの間の距離をそれぞれ算出する。具体的には、ポインタPの座標値と各ボタンAnの辺の座標値との間の距離を座標間距離として算出する。なお、ポインタPの座標値と各ボタンAnの中心点の座標値との間の距離を座標間距離として算出してもよい。そして、ステップS12では、その座標間距離が小さい順に各ボタンAnを順位付け(N=1、2・・・)する。すなわち、最も座標間距離が小さいボタンAnには順位N=1を、次に座標間距離が小さいボタンAnには順位N=2を付与し、他のボタンAnにも同じように順位Nを付与する。
続くステップS13では、引き込み先のボタンとして現在選択されている現在ボタンBの内部にポインタPが有るか否かを判断する。現在ボタンBの内部にポインタPが有る場合には(S13:YES)、ステップS14で、引き込み先を現在ボタンBに維持することを決定する。すなわち、ポインタPの引き込み先は、現在ボタンBに維持されることになる。その後、図5のフローチャートの処理を終了する。
一方、ステップS13において、現在ボタンBの内部にポインタPが無い場合には(S13:NO)、処理をステップS15に進める。そして、ステップS15では、ステップS12の順位付けによる順位Nが最も高いボタンAn、すなわち、最も座標間距離が小さいボタンAnを、ポインタPの行き先の候補となる行先候補ボタンCとして設定する。なお、ステップS15を実行する制御部100が本発明の「行先候補ボタン設定手段」に相当する。
続くステップS16では、行先候補ボタンCの内部にポインタPが有るか否かを判断する。有る場合には(S16:YES)、ステップS17で、引き込み先をその行先候補ボタンCに決定する。この場合、制御部100は、その行先候補ボタンCにポインタPを引き込むように、アクチュエータ23、24を制御することになる。その後、図5のフローチャートの処理を終了する。
一方、ステップS16において、行先候補ボタンCの内部にポインタPが無い場合には(S16:NO)、ステップS18以下の処理に進んで、ポインタPの移動方向及び移動速さに基づいて、ユーザがその行先候補ボタンCにポインタPを移動させる意思があるか否かを判断する。ここで、図6は、その判断方法を説明するための図であり、現在ボタンB、行先候補ボタンC及びポインタPを示している。以下、この図6も参照しながら、ステップS18以下の処理を説明する。
ステップS18では、向きがポインタPの移動方向を示し、大きさがポインタPの移動速さを示した移動ベクトルV(図6(a)参照)を算出する。その移動ベクトルVは、例えば、現在の操作デバイス20の操作方向及び操作量(操作ノブ22の回転量)に基づいて算出する。なお、操作デバイス20の操作量がポインタPの移動先の位置に対応しているタイプの操作デバイス20の場合には、移動前後でのポインタPの移動距離がポインタPの移動速さに対応していると考えられる。よって、この場合も、操作デバイス20の操作方向及び操作量に基づいて、移動ベクトルVを算出することができる。なお、ステップS18を実行する制御部100が本発明の「移動ベクトル算出手段」に相当する。
続くステップS19では、現在ボタンBの中心点O1(ベクトル基点)から行先候補ボタンCの中心点O2(基準点)へ向かう候補先ベクトルD0(図6(a)参照)を算出する。なお、ステップS19を実行する制御部100が本発明の「候補先ベクトル算出手段」に相当する。
続くステップS20では、移動ベクトルVと候補先ベクトルD0とが成す角度θ(図6(a)参照)をずれ角度θとして算出する。なお、ステップS20を実行する制御部100が本発明の「ずれ角度算出手段」に相当する。
ここで、ユーザが行先候補ボタンCにポインタPを移動させる意思があるならば、移動ベクトルVの向きは、候補先ベクトルD0の向きとある程度一致していると考えられる。つまり、ずれ角度θがある角度範囲(θmin〜θmax)に含まれているか否かを判断することによって、行先候補ボタンCにポインタPを移動させる意思の有無を判断することができる。この際、ユーザがポインタPをどのような向きや速度で移動させるか、すなわち、どのような移動ベクトルVでポインタPが移動させるかは、ユーザがポインタPを移動させたいと考えているボタンAnに応じて変わってくると考えられる。例えば、移動先のボタンAnのサイズが大きいほど、ポインタPの移動方向の自由度が大きくなる。したがって、上記角度範囲(θmin〜θmax)を固定値とすると、例えばサイズが大きい行先候補ボタンCに対しては、ポインタPの移動方向の自由度が大きいにもかかわらず角度範囲(θmin〜θmax)が小さすぎて、その行先候補ボタンCに移動させる意思があると判断しにくくなってしまう。
また、ユーザがポインタPの移動先を迷っている場合には、ポインタPをゆっくり移動させたり、ポインタPの移動方向が安定しなかったりする。この場合も、角度範囲(θmin〜θmax)を固定値とすると、ユーザが意図した行先候補ボタンCに対して意図なしと判断したり、反対に、ユーザが意図しない行先候補ボタンCに対して意図ありと判断したりするおそれがある。このことを考慮して、ステップS21では、行先候補ボタンCのサイズやポインタPの移動速さ等に応じた角度範囲(θmin〜θmax)を設定する。具体的には、図7のフローチャートの処理を実行する。なお、ステップS21を実行する制御部100が本発明の「角度範囲設定手段」に相当する。
先ず、ステップS31では、図6(b)に示すように、現在ボタンBの中心点O1から行先候補ボタンCの各頂点n1〜n4へ向かう頂点ベクトルD1〜D4を算出する。なお、ステップS31を実行する制御部100が本発明の「頂点ベクトル算出手段」に相当する。
続くステップS32では、頂点ベクトルD1〜D4ごとに候補先ベクトルD0と成す角度を頂点角度α1〜α4として算出する(図6(b)参照)。この際、候補先ベクトルD0で分断される領域のうち、予め定めた一方の領域に含まれている頂点n1〜n4に対応する頂点角度α1〜α4はプラスの角度として算出し、他方の領域に含まれている頂点n1〜n4に対応する頂点角度α1〜α4はマイナスの角度として算出するようにする。例えば図6(b)の例では、頂点n2、n3は候補先ベクトルD0で分断される一方の領域に含まれているのに対し、頂点n1、n4は他方の領域に含まれているので、頂点n2、n3に対応する頂点角度α2、α3は+α2、+α3として算出し、頂点n1、n4に対応する頂点角度α1、α4は−α1、−α4として算出する。なお、ステップS32を実行する制御部100が本発明の「頂点角度算出手段」に相当する。
続くステップS33では、現在を基準として過去の所定期間内における移動ベクトルVの大きさ|V|の平均値|V|aveを算出する。ここで、図8は、平均値|V|aveの算出方法を説明するための図であり、現在を基準として過去の所定期間内における移動ベクトルVt〜Vt−9を示した図である。これら移動ベクトルVt〜Vt−9はそれぞれ一定時間(例えば0.1秒)における移動ベクトルVであり、現在を基準として過去10回分の移動ベクトルVである。そして、このステップS33では、先ず各移動ベクトルVt〜Vt−9の大きさ|Vt|、|Vt−1|、・・・、|Vt−8|、|Vt−9|を算出する。次いで、大きさ|Vt|、|Vt−1|、・・・、|Vt−8|、|Vt−9|の平均値|V|aveを算出する。
このように、平均値|V|aveを算出しているのは、現在の移動ベクトルVの大きさ|V|がたまたま大きくなったり、小さくなったりした場合でも、正確な角度範囲(θmin〜θmax)を設定できるようにするためである。
続くステップS34では、現在を基準として過去の所定期間内に移動ベクトルVの向きφがどの程度変化したかを示した変化率Δφを算出する。具体的には、移動ベクトルVの平均値|V|aveを算出したときと同様に、現在を基準として過去10回分の移動ベクトルVt〜Vt−9に基づいて算出する。すなわち、先ず、各移動ベクトルVt〜Vt−9の向きφt〜φt−9を、図8に示すように例えばX軸と成す角度として算出する。次いで、それら向きφt〜φt−9の平均値φaveを算出する。次いで、向きφt〜φt−9のうちの最大値φmax、最小値φmin及び平均値φaveを下記式1に代入して、変化率Δφを算出する。なお、ステップS34を実行する制御部100が本発明の「変化率算出手段」に相当する。
(式1) |φmax−φmin|/φave
続くステップS35では、角度範囲(θmin〜θmax)の上下限値θmax、θminを算出するための補正係数Kを、先に算出した移動ベクトルVの平均値|V|ave及び移動ベクトルVの変化率Δφに基づいて決定する。本実施形態では、後述するように、頂点角度α1〜α4の最大値αmax、最小値αminに基づいて、角度範囲(θmin〜θmax)の上下限値θmax、θminを算出している。そして、この補正係数Kは、その頂点角度α1〜α4の最大値αmax、最小値αminを補正するための係数であり、値が大きくなるほど角度範囲(θmin〜θmax)の幅が小さくなる係数である。
その補正係数Kは、具体的には、移動ベクトルVの平均値|V|aveが大きいほど、大きな値となるように決定する。また、移動ベクトルVの変化率Δφが小さいほど、大きな値となるように決定する。このように、移動ベクトルVの平均値|V|aveや変化率Δφに基づいて補正係数Kを決定するために、例えば、移動ベクトルVの平均値|V|aveや変化率Δφに応じた補正係数Kを予め定めて、各種記憶部60に記憶しておく。
ここで、図9は、移動ベクトルVの平均値|V|aveや変化率Δφに応じた補正係数Kを例示した図である。図9に示すように、移動ベクトルVの平均値|V|aveを低速(0〜19)、中速(20〜29)、高速(30〜)の3段階に分ける。また、移動ベクトルVの変化率Δφを、安定(0〜29)、普通(30〜99)、不安定(100〜)の3段階に分ける。そして、移動ベクトルVの平均値|V|aveが大きいほど大きな値となり、移動ベクトルVの変化率Δφが小さいほど大きな値となる補正係数Kが、各段階ごとに定められている。例えば、平均値|V|aveが低速で、変化率Δφが安定である場合には、補正係数Kは「2」となる。
図7の説明に戻り、続くステップS36では、角度範囲(θmin〜θmax)の上下限値θmax、θminを算出する。具体的には、先ず、下記式2によって、頂点角度α1〜α4のうちの最小値αminを算出する。図6(b)の例では、頂点角度α4が最小値αminとなる。また、下記式3によって、頂点角度α1〜α4のうちの最大値αmaxを算出する。図6(b)の例では、頂点角度α2が最大値αmaxとなる。なお、下記式のMinは、後続する括弧内の数値のうち最小値を返す関数であり、Maxは、後続する括弧内の数値のうち最大値を返す関数である。
(式2)αmin=Min(α1、α2、α3、α4)
(式3)αmax=Max(α1、α2、α3、α4)
ここで、これら最小値αmin、最大値αmaxは、行先候補ボタンCのサイズや現在ボタンBと行先候補ボタンCとの間の距離を反映したものと言える。つまり、行先候補ボタンCのサイズが大きくなるほど、最大値αmaxがプラス側に、最小値αminがマイナス側に大きくなる。また、現在ボタンBと行先候補ボタンCとの距離が小さくなるほど、最大値αmaxがプラス側に、最小値αminがマイナス側に大きくなる。
したがって、この最大値αmax、最小値αminに基づいて、角度範囲の上下限値θmax、θminを設定すれば、行先候補ボタンCのサイズが大きく、現在ボタンBと行先候補ボタンCとの間の距離が小さくなるほど、大きな幅の角度範囲(θmin〜θmax)を設定することができる。反対に、行先候補ボタンCのサイズが小さく、現在ボタンBと行先候補ボタンCとの間の距離が大きければ、小さな幅の角度範囲(θmin〜θmax)を設定することができる。つまり、ユーザが行先候補ボタンCにポインタPを移動させる意思があるか否かを正確に判断できる角度範囲(θmin〜θmax)を設定することができる。
そして、本実施形態では、ユーザが行先候補ボタンCにポインタPを移動させる意思があるか否かをより正確に判断するために、さらにポインタPの移動速さや変化率Δφを考慮して、最大値αmax、最小値αminを補正して角度範囲の上下限値θmax、θminを設定する。例えば、ユーザは、ポインタPの移動先に迷いがなく、その方向に移動させる意思が強ければ、ポインタPをある程度速く移動させると考えられ、反対に、迷いがあれば、ポインタPをそれほど速く移動させないと考えられる。また、例えば、ユーザは、ポインタPの移動先に迷いがなく、その方向に移動させる意思が強ければ、ポインタPの変化率Δφが安定の値になると考えられ、反対に、迷いがあれば、ポインタPの変化率Δφが不安定の値になると考えられる。
そこで、ポインタPの移動速さや変化率Δφを反映した補正係数Kで最大値αmax、最小値αminを補正して角度範囲の上下限値θmax、θminを算出する。具体的には、角度範囲の上限値θmaxを算出するために、最大値αmaxを補正係数Kで除算する。ここで、補正係数Kは、上述したように、移動ベクトルVの平均値|V|aveが大きく、移動ベクトルVの変化率Δφが小さいほど大きな値となる係数である。したがって、最大値αmaxを補正係数Kで除算することによって、移動ベクトルVの平均値|V|aveが大きいほど、最大値αmaxを小さな値となるように補正することができる。また、移動ベクトルVの変化率Δφが小さいほど、最大値αmaxを小さな値となるように補正することができる。
同様にして、角度範囲の下限値θminを算出するために、最小値αminを補正係数Kで除算する。これにより、移動ベクトルVの平均値|V|aveが大きいほど、最小値αminを小さな値となるように補正することができる。また、移動ベクトルVの変化率Δφが小さいほど、最小値αminを小さな値となるように補正することができる。
そして、これら補正後の値を角度範囲の上下限値θmax、θminとすることにより、ユーザに迷いがなくその方向に移動させる意思が強ければ、角度範囲(θmin〜θmax)の幅を小さくすることができるので、より正確に、行先候補ボタンCにポインタPを移動させる意思があるか否かを判断できる角度範囲(θmin〜θmax)を設定することができる。
ただし、上記したように角度範囲(θmin〜θmax)を設定すると、遠くにあり、サイズが小さい行先候補ボタンCに対する角度範囲(θmin〜θmax)が必要以上に小さくなりすぎる場合があり、この場合、その行先候補ボタンCを引き込み先のボタンとして選択しにくくなってしまう。反対に、近くにあり、サイズが大きい行先候補ボタンCに対する角度範囲(θmin〜θmax)が必要以上に大きくなりすぎる場合があり、この場合、その行先候補ボタンCを引き込み先のボタンとして選択しやすくなってしまう。そこで、角度範囲の上下限値θmax、θminに限界値θmaxlimt、θminlimtを定めて、下記式によって、限界値θmaxlimt、θminlimtの範囲内で、角度範囲の上下限値θmax、θminを設定するようにする。
(式4)θmax=Min(αmax/K、θmaxlimt)
(式5)θmin=Max(αmin/K、θminlimt)
すなわち、式4によって、αmax/Kとθmaxlimtのうち、小さいほうが角度範囲の上限値θmaxとなるので、αmax/Kがθmaxlimtよりも小さければ、αmax/Kが角度範囲の上限値θmaxとなる。一方、αmax/Kがθmaxlimtよりも大きくなった場合には、θmaxlimtが角度範囲の上限値θmaxとなる。同様に、式5によって、αmax/Kとθminlimtのうち、大きいほうが角度範囲の下限値θminとなる。
これによって、必要以上に小さい幅の角度範囲(θmin〜θmax)や大きい幅の角度範囲(θmin〜θmax)を設定してしまうのを防止できる。以上のようにして、角度範囲(θmin〜θmax)を設定した後、図7のフローチャートの処理を終了して、図5のフローチャートの処理に戻る。なお、ステップS33〜ステップS36を実行する制御部100が本発明の「上下限値設定手段」に相当する。
そして、図5のステップS22では、ずれ角度θが設定した角度範囲(θmin〜θmax)に含まれているか否かを判断する。含まれている場合には(S22:YES)、ユーザはその行先候補ボタンCにポインタPを移動させる意思があると判断して、ステップS23で、その行先候補ボタンCを引き込み先のボタンとして決定する。この場合、制御部100は、ポインタPを行先候補ボタンCに引き込むように、アクチュエータ23、24を制御する。そして、その行先候補ボタンCに強調枠15(図4参照)を表示して、現在、選択されていることを強調する。その後、図5のフローチャートの処理を終了する。なお、ステップS22を実行する制御部100が本発明の「角度判断手段」に相当する。また、ステップS23を実行する制御部100が本発明の「最終決定手段」に相当する。
一方、ステップS22において、ずれ角度θが設定した角度範囲(θmin〜θmax)に含まれていない場合には(S22:NO)、ユーザはその行先候補ボタンCにポインタPを移動させる意思がないと判断して、ステップS15の処理に戻る。そして、ステップS15において、先の行先候補ボタンC以外のボタンAnのうちで、ステップS12の順位付けによる順位Nが最も高いボタンAnを、次の行先候補ボタンCとして設定する。つまり、先の行先候補ボタンCの次に座標間距離が小さいボタンAnを、次の行先候補ボタンCとして設定する。
そして、新たに設定した行先候補ボタンCに対して、先に説明したステップS15以下の処理を実行して、ユーザが新たな行先候補ボタンCにポインタPを移動させる意思があるか否かを判断する。その新たな行先候補ボタンCにポインタPを移動させる意思があると判断した場合には、その行先候補ボタンCを引き込み先のボタンとして決定する(S23)。一方、その新たな行先候補ボタンCにポインタPを移動させる意思がないと判断した場合には、残りのボタンAnに対して、引き込み先のボタンとして決定できるまで、ステップS15〜ステップS22の処理を繰り返し実行する。そして、引き込み先のボタンを決定した場合には、図5のフローチャートの処理を終了する。
以上説明したように、本実施形態の表示操作システム1では、ポインタPの現在の座標値とボタンAnの座標値との間の距離である座標間距離の他に、ポインタPの移動ベクトルVを考慮して、引き込み先のボタンAnを決定しているので、ユーザが意図しないボタンAnが選択されてしまうのを防止できる。例えば、図13の例では、ポインタPをボタンA27に移動させる途中で、ポインタPがボタンA14に近い領域204を通過する。この場合であっても、ポインタPの移動ベクトルVの向きは、ボタンA27に向いており、ボタンA14には向いていないので、ボタンA14が引き込み先のボタンとして選択されてしまうのを防止できる。
また、図14の例では、ポインタPをボタンA43に移動させる途中で、ポインタPがボタンA42に近い領域208を通過するが、この場合も移動ベクトルVを考慮することによって、ボタンA42が引き込み先のボタンとして選択されてしまうのを防止できる。
(第二実施形態)
次に、本発明の表示操作システムの第二実施形態を説明する。上記第一実施形態では、ポインタPをディスプレイ50に表示しないで、現在ボタンBを基点として候補先ベクトルD0や頂点ベクトルDnを算出していた。このように現在ボタンBを基点としているのは、ユーザは、ポインタPが表示されないので、強調枠15が表示される現在ボタンBを基点にして、ポインタPの移動操作をすると考えられるためである。この第二実施形態では、ポインタPをディスプレイ50に表示するととともに、ポインタPの現在位置を基点として候補先ベクトルD0や頂点ベクトルDnを算出する実施形態である。以下、本実施形態について、上記第一実施形態と異なる部分を中心にして説明する。
本実施形態の表示操作システムの構成は、第一実施形態のそれ(図1〜図3)と同じである。また、制御部100が実行する処理が第一実施形態と一部異なっている。すなわち、上述したように、制御部100は、ポインタPをディスプレイ50に表示する。このようにポインタPを表示することによって、ユーザは、ポインタPの現在位置を容易に把握することができる。そして、ユーザは、そのポインタPの現在位置を基点として、ポインタPの移動操作をすると考えられる。そこで、制御部100は、引き込み先のボタンを決定するボタン決定処理において、ポインタPの現在位置を基点として候補先ベクトルD0や頂点ベクトルDnを算出する。
ここで、図10は、本実施形態における候補先ベクトルD0や頂点ベクトルDnの算出の仕方を説明するための図であり、現在ボタンB、行先候補ボタンC及びポインタPを示している。なお、図10において、ポインタPは実際に表示されている。制御部100は、図5のフローチャートのステップS19において、ポインタPの現在位置(ベクトル基点)から行先候補ボタンCの中心点O2へ向かう候補先ベクトルD0(図10(a)参照)を算出する。続くステップS20では、移動ベクトルVとその候補先ベクトルD0とが成す角度θ(図10(a)参照)をずれ角度θとして算出する。
また、図7の角度範囲設定処理において、ポインタPの現在位置を基点として角度範囲(θmin〜θmax)を設定する。すなわち、ステップS31では、ポインタPの現在位置から行先候補ボタンCの各頂点nへ向かう頂点ベクトルDnを算出する(図10(b)参照)。続くステップS32では、その頂点ベクトルD1〜D4ごとに候補先ベクトルD0と成す角度を頂点角度α1〜α4として算出する(図10(b)参照)。そして、第一実施形態と同様にして、その頂点角度α1〜α4を用いて、角度範囲の上下限値θmin、θmaxを算出する(S33〜S36)。なお、その他の処理については第一実施形態と同じである。
このように、ポインタPの現在位置を基点とした候補先ベクトルD0や頂点ベクトルDnに基づいて算出したずれ角度θと角度範囲(θmin〜θmax)によっても、行先候補ボタンCにポインタPを移動させる意思があるか否かを判断することができる。特に、本実施形態のようにポインタPが表示される場合には、ポインタPの現在位置を基点としてポインタPの移動操作をすると考えられるので、本実施形態の判断方法は好適である。
なお、本発明の表示操作システムは上記第一、第二実施形態に限定されず、特許請求の範囲の記載を逸脱しない範囲で種々変形することができる。例えば、上記実施形態では、操作デバイス20として、アクチュエータ23、24で操作反力を付与できるタイプのものを用いているが、操作反力を付与しないタイプのものを用いても良い。この場合、上記処理によって引き込み先のボタンAnを決定した場合には、そのボタンAnを選択したことにして、強調枠15をそのボタンAnに表示する。
また、上記実施形態では、制御部100が、引き込み先のボタンAnを決定するボタン決定処理を実行していたが、操作デバイス20等の他の機器が実行するようにしてもよい。そして、操作反力の付与の有無、ボタン決定処理の実行主体について、図11のように組み合わせて表示操作システムを構成してもよい。すわなち、図11(a)に示すように、操作デバイスは操作反力を付与するタイプのものを用い、その操作デバイスがボタン決定処理を実行するようにしてもよい。また、図11(b)に示すように、操作デバイスは操作反力を付与しないタイプのものを用い、その操作デバイスがボタン決定処理を実行するようにしてもよい。また、図11(c)は上記実施形態と同じ構成であり、操作デバイスは操作反力を付与するタイプのものを用い、システム機器(制御部100に相当)がボタン決定処理を実行する。また、図11(d)に示すように、操作デバイスは操作反力を付与しないタイプのものを用い、システム機器(制御部100に相当)がボタン決定処理を実行するようにしてもよい。
また、上記実施形態では、ディスプレイ50に表示されるボタンAnは四角形として説明したが、四角形以外の多角形のボタンAnでも本発明を適用できる。この場合も、上記実施形態と同様に、ボタンAnの各頂点の頂点ベクトルDn、頂点角度αを算出することで、ボタンAnのサイズ等に応じた角度範囲(θmin〜θmax)を設定することができる。また、円形等、角のないボタンAnに対しても、本発明を適用することができる。この場合、例えば、ボタンAnの接線の方向となるように頂点ベクトルDnを定めれば、ボタンAnのサイズ等に応じた角度範囲(θmin〜θmax)を設定することができる。
また、上記実施形態では、候補先ベクトルD0や頂点ベクトルDnを、現在ボタンや行先候補ボタンCの中心点を基準として算出していたが、中心点以外の点を基準として算出してもよい。