入力デバイス及び入力デバイスによる情報提供方法
【課題】ユーザが加速感や減速感を体感できるとともに違和感なく操作できる入力デバイスなどを提供する。
【解決手段】表示物の移動方向情報を取得する取得手段801と、表示物の移動方向に連動させて可動部を移動させる動作手段802と、目的地点に近づくにつれ移動速度が減少する表示物の速度に連動させ、可動部を基準位置へ所定の移動速度以下で移動させ、表示物が目的地点に到着した時点で可動部が基準位置に配置されるよう制御する制御手段803と、ユーザから操作を受け付ける受付手段804とを備え、経路案内中に操作を受け付けると、制御手段は、可動部の基準位置からの移動量及び表示物の現在位置から目的地点までの距離に基づき可動部の移動速度を算出し、それが所定の移動速度を上回れば所定の移動速度に変更し、変更された可動部の移動速度に基づき表示物の空間上の移動速度を算出し、それに変更させる信号を生成し送信する。
【解決手段】表示物の移動方向情報を取得する取得手段801と、表示物の移動方向に連動させて可動部を移動させる動作手段802と、目的地点に近づくにつれ移動速度が減少する表示物の速度に連動させ、可動部を基準位置へ所定の移動速度以下で移動させ、表示物が目的地点に到着した時点で可動部が基準位置に配置されるよう制御する制御手段803と、ユーザから操作を受け付ける受付手段804とを備え、経路案内中に操作を受け付けると、制御手段は、可動部の基準位置からの移動量及び表示物の現在位置から目的地点までの距離に基づき可動部の移動速度を算出し、それが所定の移動速度を上回れば所定の移動速度に変更し、変更された可動部の移動速度に基づき表示物の空間上の移動速度を算出し、それに変更させる信号を生成し送信する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、自身が動くことによりユーザに対して経路案内などを行う入力デバイス及び入力デバイスによる情報提供方法に関する。
【背景技術】
【0002】
コントローラ(入力デバイスに相当)には、図1aから図1dに示すようなスティック状のものや図2aから図2dに示すようなボタン型のものなどがある。コントローラには、図1b、図2bで示されるように、力を加えられていない状態、すなわちコントローラの移動量X=0(ゼロの位置)の状態というものが存在する。スティック状の場合は、図1c、図1dに示すようにスティックを傾けて、またボタン型の場合は、図2c、図2dに示すようにボタンを平行移動させて移動量Xを生じさせる。移動量Xは、スティック状のコントローラの場合は弧を描いた角度で、ボタン型のコントローラの場合は平行移動した距離で定義できる。なお、それらの値は、それぞれの最大移動量で割ることで0から1までの値をとるように規格化したものとしても構わない。ユーザは、コントローラを使って実在の空間に存在するある対象物又は仮想空間内の仮想対象物を移動させることができる。
【0003】
コントローラには、ハプティックデバイスなどに見られるように、自ら力を発生させ、スティックが自動で動く機能やボタンが動く機能を備えたものがある。そのようなコントローラの一例として、例えば、対象物の位置を操作でき、かつ、自ら力を発生させ、ユーザの手に力をフィードバックして情報を伝えることができるというバイラテラル制御が可能なコントローラが存在する(特許文献1を参照)。このようなコントローラを使い、遠距離にあるものを触ることで、フィードバックにより触っている対象物を感じながら操作できるテレイグジスタンス(Telexistence)の開発もなされている(非特許文献1)。さらに、フィードバックする力を、制御、加工して発生させるものとして、医師に装置による重力などを感じさせないようにして力を与える手術支援装置のようなものがある(特許文献2を参照)。さらに、フィードバックする力を誘導(ガイド)に利用するものとして、医療用カテーテルにおいてカテーテルが目的の位置に辿り着くようコントローラを移動させるものがある(特許文献3を参照)。
【0004】
これらのコントローラを発展させることで、発生した力によって任意の方向にコントローラを傾けたり、移動させたりすることで、操作すべき操作対象物(表示物に相当)を操作し、ユーザに対して操作を誘導させたり情報を案内させたりすることが可能である。具体的には、コントローラを使って地図上を移動できる場合、ロボットやエージェントなどの第三者が、この先、右へ進み、さらに上に進めばお店があることを案内するため、コントローラが自動で(勝手に)右へ倒れ、さらに前へ倒れる。これにより、お店に辿り着く、すなわち地図上の特定の位置に案内することができるというものである。その間、ユーザは軽くコントローラに手を乗せたまま、コントローラに働く誘導力を感じることも可能であり、またコントローラから手を離し、そのまま自動で(勝手に)動くコントローラを案内が終わるまで放置することも可能である。
【0005】
ここで、以下に数式を用いてコントローラの移動量X(例えば、スティック状のコントローラの場合、後述する基準位置(静止状態の位置とも言う)からの傾き量などを言う)と操作される対象物(操作対象物)の移動量(例えば、表示画面上での移動距離などを言う)の関係について述べる。図1aから図1dで示したようなコントローラを傾ける、押す、移動させるなどの操作で、ユーザは目的の対象物を移動させたり、地図を移動させたりすることができる。コントローラの移動量Xコントローラと物体の速度V対象物の間には、何らかの事前に決められた関係式が存在しなければならない。さもなければ、あるときは少しコントローラを動かしただけで対象物が速く動いたり、またあるときはコントローラを大きく動かしても対象物が少ししか動かなかったりという状態になり、ユーザは混乱する。コントローラの傾き度、移動度に対し、対象物が動く関係は以下の数式1のようにある関数で決められる。
【0006】
V対象物 =f( Xコントローラ ) (数式1)
【0007】
実際には、単純にコントローラの移動量と対象物の速度とを“比例関係”にすることが望ましい。それを以下の数式2に示す。Cは比例定数である。なお、この関係を図3aに示す。
【0008】
V対象物 =C(定数)× Xコントローラ (数式2)
【0009】
数式2の比例関係は、ユーザがコントローラを大きく動かせば動かすほど、ある空間での対象物が比例して速く動くことを意味する。さらに、両辺を時間で微分すれば、対象物の動く加速度a 対象物とコントローラの移動速度dXコントローラとの関係も数式3のように比例となり、その関係が図3bに示される。
【0010】
a対象物 =C(定数)× dXコントローラ (数式3)
【0011】
このことは、コントローラをゼロの位置(例えば、基準位置)から倒してそのまま固定すれば、対象物は一定スピードで空間内を移動し続ける。さらに、コントローラを一定の速さでゼロの位置に戻していくと、対象物は一定の加速度で減速し停止する。
【0012】
また、上記案内においては、以下に述べる重要な3つの条件「同期条件」、「突き指防止条件」、「ユーザ介入条件」を満たしながら行われることが望ましい。まず、「同期条件」の定義について図4a、図4bを用いて説明する。図4a、図4bには、出発点から目的地点まで空間内を対象物が自動で移動する様子が示されている。図4aには出発地点から目的地点までの地理的様子が示されている。図4bの(1)には、その際の自動で動くスティック状のコントローラの傾きと時間(横軸)との関係が示されている。図4bの(2)には、その際の自動で動かされている対象物の速度(縦軸)と時間(横軸)との関係が示されている。図4bの(3)には、出発地点から目的地点まで対象物が移動する際の対象物の加速度a(縦軸)と時間(横軸)との関係が示されている。
【0013】
まず、出発地点では、コントローラはゼロの位置にあり、対象物は静止状態とする。目的地点の方向に向けて、徐々にコントローラが一定の速度で自動で傾き、その傾きと比例して地図のスクロール速度が一定の加速度で上がる。コントローラが最大限まで傾き、地図もある一定の最高速度でスクロールされて移動し続ける。
【0014】
そして、目的地点まで近づいたら、今度は逆にコントローラが元のゼロ位置まで徐々に一定の速さで戻り始め、それに応じて目的地点までのスクロールの速度が一定の加速度で減速する。スクロールして目的地点に着いた瞬間が、コントローラが元の位置に戻り、速度が止まった瞬間であるという“同期された状態”(単に、同期とも言う)であることを必要条件とする。これにより、ユーザは加速感や減速感を表示画面に表示された速度の数値などを見なくても体感することが可能となる。もちろん、目的地点においては、“突然”対象物の移動速度が0になったのではなく連続的に変化して0になったとする。これを「同期条件」と呼ぶ。仮に、ユーザが一連の動きに対し、コントローラに余計な不規則な力を加えてなければ、この同期された世界観を実現することは理論的に可能である。それは、目的地点に着く前に、いつ、どれだけ減速していけば目的地点でちょうど停止できるか事前に計算ができるからである。
【0015】
次に、「突き指防止条件」の定義について説明する。コントローラの安全操作のためには、コントローラが勝手に速く、大きく動くことは避けるべきである。なぜなら、図5に示すように、不意に自動で大きく動き出したコントローラによりユーザが突き指をしたり、指がボタンに挟まれたりして、操作中にユーザが驚いたりしてしまうからである。さらには、コントローラの商品としての動きの演出という意味でも「カタッ」と素早く動くと安価な感じとなってしまう。自動で動くスティックコントローラに対する突き指防止の技術そのものに関しては、下記の非特許文献2のようなコントローラにセンサを取り付けたものが提案されている。すなわち、ユーザの指などがコントローラに触れていないとセンサが検知した場合は、コントローラのスティックが勝手に動く機能を停止させるものである。
【0016】
しかし、上述のセンサのように、ユーザがコントローラから手を離すとコントローラが動かなくなり案内が停止するというのでは、案内機能が使用される機会が制限されてしまう。つまり、案内を再生させるために、ユーザは始終、常にコントローラに手を当てなければならなくなり、これを強いると、案内機能の使用そのものの敷居が高くなり、ユーザも使用しようとする気が減ってしまう。
【0017】
よって、コントローラに手が触れていようが、離れていようがコントローラは自動で(勝手に)動いて案内を行う。ただし、突き指の防止などのために、速度は事前に決められたある一定の速度dXmax以上であってはならないというものを考える。数式4でそれを定義すると、コントローラが移動する速度をdXコントローラとすると、以下の数式4を満たさなければならない。これを「突き指防止条件」と呼ぶ。
【0018】
|dXコントローラ | ≦ |dXmaxコントローラ| (数式4)
【0019】
この「突き指防止条件」の数式4を満たし、数式2の関係を保ちながら、出発点から目的地点までの案内をコントローラの自動制御で行う。コントローラの移動の速さは、地図の移動速度の加速度を意味するので、地図の移動については急激に加速や減速をさせることはできなくなる。そのため、前述の「同期条件」をも同時に満たすためには、目的地点に近づいてきたら事前に早めに減速し始めることで、ゆっくりコントローラが戻りながらでも目的地点で丁度、速度がゼロになり、コントローラもゼロの位置に同期して戻るよう予測して自動操作のための計算を行うことは可能である。
【0020】
最後の条件の「ユーザ介入条件」について説明する。“完全”な強制による案内ではなく“半”強制下の状態、すなわち自動で(勝手に)動くコントローラに対して、ユーザによる新たな操作の介入を許す性質を持つ。これにより、案内の最中で地図が右に移動していたとしても、ユーザが周辺に興味をもち、コントローラの動きを止めたり、逆方向にコントローラを動かしたりして、自動の案内に介入することも可能である。これを「ユーザ介入条件」と呼ぶ。
【0021】
上述した、加速感や減速感をユーザに与える「同期条件」、安全のための「突き指防止条件」、ユーザに自由度を与える「ユーザ介入条件」を満たすコントローラによる案内機能は、案内として最適なものであり、開発者が容易に想定できる設定である。
【先行技術文献】
【特許文献】
【0022】
【特許文献1】特開2003−525490号公報(要約)
【特許文献2】特開2010−269162号公報(要約)
【特許文献3】特開2007−528256号公報(要約)
【非特許文献】
【0023】
【非特許文献1】日章: 相互テレイグジスタンス用人型ロボット「テレサ2」、日本機会学会誌、Vol. 109、No. 1051、pp. 452-453 (2006.6)
【非特許文献2】Microsoft Sidewinder Force feedback Pro2 http://www.microsoft.com/japan/hardware/sw/fo_feedback_2.aspx
【発明の概要】
【発明が解決しようとする課題】
【0024】
しかし、これらの条件を満たすことができない特殊な状況が存在する。その特殊な状況について具体例を用いて説明する。自動制御で目的地点に向かって対象物がスクロールされ、もう少しで目的地点に到着することにより、自動的にコントローラが元の位置に戻りながら減速している最中に「ユーザ介入条件」により、ユーザが不幸にも一気にコントローラを倒して速度を速めて、目的地点寸前まで進めてしまった場合があるとする。前述の「同期条件」である目的地点で丁度、速度が0で到着するためには、それに間に合うように速度を急激に減速させなければならない。しかし、ここで一気に減速させることは、数式2から、ユーザによって大きく倒されたコントローラを一気にゼロの位置に戻すことに相当する。それは、「突き指防止条件」の数式4に反する。
【0025】
逆に「突き指防止条件」の数式4を尊重して、コントローラをゆっくり元の位置に戻そうとすると、大きく倒れているコントローラがゆっくりゼロの位置に戻る間も、コントローラそのものがゼロよりも前の位置に倒れているため、スクロールが行われ続け、目的地点寸前に着いても速度が0ではないので、そのまま通過してしまうという「同期条件」に反する。これらのことは、「ユーザ介入条件」、「同期条件」、「突き指防止条件」を同時に満たすことが不可能になる場合があることを意味する。
【0026】
本発明は、上記の問題点に鑑み、これらの3つの条件を満たし、ユーザが加速感や減速感を体感できるとともに、違和感なく操作できる入力デバイス及び入力デバイスによる情報提供方法を提供することを目的とする。
【課題を解決するための手段】
【0027】
上記目的を達成するために、本発明によれば、表示手段に表示された仮想空間又は実空間上に存在し、現在位置を示す表示物であって、その移動により前記ユーザに所定の目的地点までの経路案内を行うシステムで利用可能であり、原則として前記表示物の移動方向及び速度に応じて対応する方向及び距離又は角度だけ移動する可動部を有する入力デバイスであって、前記経路案内のために前記表示物が移動している方向を示す移動方向情報を取得する取得手段と、前記移動方向情報により示される移動方向に連動させて前記可動部を所定の移動速度以下で移動させる動作手段と、前記目的地点から所定の距離範囲内に前記表示物の位置が入ると、前記目的地点に近づくにつれて前記空間上での移動速度が減少するよう前記システムによって制御された前記表示物の移動速度に連動させて、前記可動部を前記経路案内の開始前の基準位置へ前記所定の移動速度以下で移動させ、前記表示物が前記目的地点に到着した時点で前記可動部が前記基準位置に配置されるように前記表示物と前記可動部が同期して移動するよう制御する制御手段と、前記可動部を介して前記ユーザからの操作を受け付ける受付手段とを備え、前記経路案内中に前記ユーザからの操作が受け付けられ、前記可動部が移動した場合、前記制御手段は、前記可動部の移動速度の前記表示物の移動速度に対する前記連動を解消し、前記基準位置に配置するための前記可動部の移動速度を変更するため、前記可動部の前記基準位置からの移動量及び前記操作が受け付けられた時点における前記表示物の現在位置から目的地点までの距離の情報を所定の算出式により前記可動部の移動速度を算出し、算出される前記移動速度が前記所定の移動速度を上回る場合には前記可動部の移動速度を前記所定の移動速度に変更するとともに、変更された前記可動部の移動速度に基づいて前記表示物の前記空間上での前記同期の制御を可能とする移動速度を算出し、算出された前記移動速度に変更させるための制御信号を生成し、生成された前記制御信号を前記システムへ送信するよう構成された入力デバイスが提供される。この構成により、ユーザが加速感や減速感を体感できるとともに、違和感なく操作をすることができる。ここで、可動部が、表示物の移動方向及び速度に応じて対応する方向及び距離又は角度だけ移動するとあるが、表示物が表示手段(ディスプレイなど)に表示されている場合に、例えば表示物が表示手段の上方向へ移動する場合には、前記上方向に対応した方向(例えば、可動部が2次元平面(床)に対して垂直に置かれている(立っている)場合には、前方に倒す方向)に移動することである。また、表示物とは、例えば仮想空間又は実空間上で自車両などの現在位置を示すカーソルなどを言う。また、所定の算出式とは、後述する数式9などに相当する。また、可動部の移動とは、2次元的な移動だけではなく、角度的な移動(例えば、ジョイスティックが支点を基準として傾く移動)も含むものである。また、基準位置とは、例えば入力デバイスのニュートラルの状態の位置など言い、上述するゼロの位置などを言う。
【0028】
また、本発明によれば、表示手段に表示された仮想空間又は実空間上に存在し、現在位置を示す表示物であって、その移動により前記ユーザに所定の目的地点までの経路案内を行うシステムで利用可能であり、原則として前記表示物の移動方向及び速度に応じて対応する方向及び距離又は角度だけ移動する可動部を有する入力デバイスによる前記経路案内における情報提供方法であって、前記経路案内のために前記表示物が移動している方向を示す移動方向情報を取得する取得ステップと、前記移動方向情報により示される移動方向に連動させて前記可動部を所定の移動速度以下で移動させる動作ステップと、前記目的地点から所定の距離範囲内に前記表示物の位置が入ると、前記目的地点に近づくにつれて前記空間上での移動速度が減少するよう前記システムによって制御された前記表示物の移動速度に連動させて、前記可動部を前記経路案内の開始前の基準位置へ前記所定の移動速度以下で移動させ、前記表示物が前記目的地点に到着した時点で前記可動部が前記基準位置に配置されるように前記表示物と前記可動部が同期して移動するよう制御する同期制御する制御ステップとを有し、前記経路案内中に前記ユーザからの操作が受け付けられ、前記可動部が移動した場合、前記可動部の移動速度の前記表示物の移動速度に対する前記連動を解消し、前記基準位置に配置するための前記可動部の移動速度を変更するため、前記可動部の前記基準位置からの移動量及び前記操作が受け付けられた時点における前記表示物の現在位置から目的地点までの距離の情報を所定の算出式により前記可動部の移動速度を算出し、算出される前記移動速度が前記所定の移動速度を上回る場合には前記可動部の移動速度を前記所定の移動速度に変更するとともに、変更された前記可動部の移動速度に基づいて前記表示物の前記空間上での前記同期の制御を可能とする移動速度を算出し、算出された前記移動速度に変更させるための制御信号を生成し、生成された前記制御信号を前記システムへ送信するステップを更に有する情報提供方法が提供される。この構成により、ユーザが加速感や減速感を体感できるとともに、違和感なく操作をすることができる。
【発明の効果】
【0029】
本発明の入力デバイス及び入力デバイスによる情報提供方法は、上記構成を有し、3つの条件を満たし、ユーザが加速感や減速感を体感できるとともに、違和感なく操作できる。すなわち、本発明の入力デバイス及び入力デバイスによる情報提供方法は、フィードバックによる誘導(ガイド)機能における誘導する力を加工して、ユーザがいつでも操作を行える「ユーザ介入条件」、目的地点に着いたときコントローラが静止状態に戻る「同期条件」、安全のための「突き指防止条件」のすべてを矛盾せず満たすよう判定させることで、ユーザに、安全で、自由度があり、操作対象物の移動速度がわかる触覚による情報の提供を可能にする。
【図面の簡単な説明】
【0030】
【図1a】本発明の実施の形態におけるスティック状のコントローラを示す図である。
【図1b】本発明の実施の形態におけるスティック状のコントローラの静止状態を示す図である。
【図1c】本発明の実施の形態におけるスティック状のコントローラを一方に傾けた状態を示す図である。
【図1d】本発明の実施の形態におけるスティック状のコントローラを他方に傾けた状態を示す図である。
【図2a】本発明の実施の形態におけるボタン型のコントローラを示す図である。
【図2b】本発明の実施の形態におけるボタン型のコントローラの静止状態を示す図である。
【図2c】本発明の実施の形態におけるボタン型のコントローラを一方に移動させた状態を示す図である。
【図2d】本発明の実施の形態におけるボタン型のコントローラを他方に移動させた状態を示す図である。
【図3a】本発明の実施の形態におけるコントローラの移動量と対象物の速度との関係を示す図である。
【図3b】本発明の実施の形態におけるコントローラの動かす速度と対象物の加速度との関係を示す図である。
【図4a】本発明の実施の形態における操作対象物の出発地点から目的地点までの地理的様子を示す図である。
【図4b】(1)自動で動くスティック状のコントローラの傾きと時間(横軸)との関係を示す図(2)自動で動かされている対象物の速度(縦軸)と時間(横軸)との関係を示す図(3)出発地点から目的地点まで操作対象物が移動する際の対象物の加速度a(縦軸)と時間(横軸)との関係を示す図である。
【図5】本発明の実施の形態における「突き指防止条件」の定義について説明するための図である。
【図6】本発明の実施の形態における入力デバイスの動作フローの一例を示すフローチャートである。
【図7】本発明の実施の形態における案内において目的地付近で地図のスクロールが減速し、コントローラがゼロの位置に戻ろうしている際、ユーザがさらにコントローラを倒した場合の様子を時間軸で示したグラフを示す図である。
【図8】本発明の実施の形態における入力デバイスの構成の一例を示す構成図である。
【発明を実施するための形態】
【0031】
本発明の実施の形態では、例えば、不図示の経路案内を行うシステムで用いられる接続可能コントローラを対象としており、与えられた状況を判断し、必要に応じて上述のコントローラの傾きと対象物(操作対象物や表示物とも言う)の移動速度の関係を記述した数式1や数式2を、変形させたりさせなかったりする機能を追加し、本来矛盾しうる前述の「ユーザ介入条件」、「同期条件」、「突き指防止条件」を常に満たせるよう解決する。
【0032】
数式1や数式2は、コントローラを倒した量と、それに反応して対象物がどれだけの速度で移動するのかを表したものであり、ある条件下での限られた時間内であれば、この両者を結ぶ定数が変わっても、ユーザはそれほど違和感なく操作できる。その様子を詳細に以下に述べる。
【0033】
ここでの例では、既に知られている初期値として、コントローラの移動量と物体の速度の関係が数式2のような比例関係であり、その比例定数C0であるとする。また、目的地点まで自動で移動している際、現在地点から目的地点までの距離L0と現在のコントローラの傾きXコントローラであるX0が与えられているとする。まず、数式2を使い、コントローラの傾いた位置X0に基づいて現在の対象物の速度V対象物を計算する。これが初速度となる。
【0034】
V対象物=X0×C0 (数式5)
【0035】
次に、「同期条件」から目的地点に達した時点でこの速度V対象物(初速度)が減速の加速度をa対象物受けた結果、0になるべきなので目的地点に達するまでの時間tは数式6のように求められる。
【0036】
t=V対象物 /a対象物 (数式6)
【0037】
さらに、時間t後、距離L0進んでなければいけないので、数式7が満たされるべきである。
【0038】
L0 = V対象物×t+1/2 ×a対象物 × t2 (数式7)
【0039】
これら数式6と数式7により、V対象物は既に数式5でわかっており、他のわからない変数はtとa対象物の2つだけなので両方が求まる。
【0040】
a対象物 = −(V対象物)2 / (2L0)
= −(X0×C0 )2 / (2L0) (数式8)
【0041】
数式8により減速する加速度が求まる。減速すべき加速度から、数式3を使い、コントローラがどれくらいの速さdXコントローラでゼロの位置に戻らなければならないかが計算できる。
【0042】
dXコントローラ =a対象物 / C0
=−(X0×C0)2/(2L0)/C0
=−X02 C0/(2L0) (数式9)
【0043】
コントローラの移動速度dXコントローラは、「突き指防止条件」の数式4を満たさなければならない。本発明では、満たさない場合を、前述の特殊な条件下であるとする。その条件下では、数式2の定数Cを変えることで、数式4を満たすようにすることが本発明の特徴である。ここの例では条件を満たさない、|dXコントローラ| > |dXmaxコントローラ| となった場合、数式10のようにdXコントローラの値をdXmaxコントローラとする。
【0044】
if |dXコントローラ| > |dXmaxコントローラ|
dXコントローラ = dXmaxコントローラ (数式10)
【0045】
これにより、コントローラが自動で動く速度dXは、いかなる状況下でも事前にコントローラの開発者(利用者)が事前に決めた値dXmaxより遅くしか動かないため「突き指防止条件」を満たすようになる。すなわち、dXコントローラ =dXmaxコントローラとして、この新しいdXコントローラで逆に、数式2、数式3を満たす古い定数C0ではなく新しい定数Cnewを求めなければならない。既に、数式9からdXコントローラ=−X02 C0/(2L0) の関係がわかっているため、新しい定数Cnewは以下の数式11を満たす。
【0046】
dXコントローラ= dXmaxコントローラ = −X02 Cnew/(2L0) (数式11)
【0047】
よって、数式11から新しい定数Cnewが数式12のように求まる。
【0048】
Cnew =−2L0(dXmaxコントローラ)/X02 (数式12)
【0049】
この新しいCnewを使い、コントローラの位置と、そのときの対象物の移動速度の関係が数式13を満たすように目的地に向かえば「同期の条件」を満たすことになる。
【0050】
V対象物 =Cnew× Xコントローラ (数式13)
【0051】
以上述べた手順を図6のフローチャートにまとめる。図6に示すように、現在のコントローラの位置Xコントローラ=X0、目的地点までの距離L=L0とし、コントローラの比例定数C=C0である(ステップS601)。現在のコントローラの位置Xコントローラから現在の対象物の速度V対象物を算出する(ステップS602)。算出された速度V対象物から速度0で停止するまでに距離L0進むため減速の加速度a対象物を算出する(ステップS603)。算出された加速度と数式3からコントローラの速度dXコントローラを算出する(ステップS604)。数式4を満たすか否かが判断され(ステップS605)、満たさない場合には、数式10、11によりコントローラの速度dXコントローラを算出する(ステップS606)。そして、数式12により、新たな比例定数Cnewを算出する(ステップS607)。次に、数式13により、対象物の速度V対象物を算出する(ステップS608)。そして、dXコントローラの分だけコントローラを移動させ、V対象物の分だけ表示手段に表示された地図をスクロールさせる(ステップS609)。地図をスクロールさせる場合、例えば、スクロールさせるための制御信号をコントローラ側で生成し、生成された制御信号を不図示の経路案内を行うシステム側に送信するようにしてもよい。
【0052】
図7の(1)から(6)は、自動案内において、目的地付近で地図のスクロールが減速し、コントローラがゼロの位置に戻ろうしている際、ユーザがさらにコントローラを倒した場合の様子を時間軸で示したグラフである。図7の(1)、(2)には目的地までの距離(縦軸)と時間(横軸)の関係を、図7の(3)、(4)にはコントローラの移動量X(縦軸)と時間(横軸)との関係を、図7の(5)、(6)にはコントローラの移動する速度dX(縦軸)と時間(横軸)との関係を示したグラフが示されている。図7の(1)、(3)、(5)は、ユーザが少しだけコントローラを倒した場合を表したものであり、図7の(2)、(4)、(6)は、ユーザが大きくコントローラを倒した場合を表したものである。
【0053】
ユーザが少しだけコントローラを倒した場合について説明する。図7の(1)に示されるように、目的地まで負の加速度で減速して進んでいたため、放物線状の右下がりで目的地までの距離が変化している。そこで、ユーザが介入しコントローラを突然進めたため、さらに急カーブな放物線で急速に減速し、早めに目的地点に到着した。図7の(3)には、コントローラが時間に比例してゼロの位置に戻ろうとしている際、ユーザの介入により、さらに前に倒され、移動量Xが突然増大した様子が示されている。図7の(5)では、図7の(3)の線の傾きを意味する。介入後は、さらに絶対値の大きい速度dXになっていることがわかる。
【0054】
図7の(2)、(4)、(6)では同様にユーザの介入が入るが、ユーザが大きくコントローラを倒した場合である。数式10に見られるように、dXmaxの絶対値は上限が決まっていることから、図7の(4)、(6)に示されるように、どれだけXの値を大きくしても右下がりに下がる傾きはdXmaxを超えない。そのため、図7の(2)に示されるように通常より時間がかかって目的地に着くようになる。
【0055】
ここで、本発明の実施の形態に係るコントローラ(入力デバイス)800の構成の一例について図8を用いて説明する。図8に示すように、取得部801は、経路案内のために対象物(表示物)が移動している方向を示す移動方向情報を取得するものである。ここで、移動方向情報とは、例えば、対象物が表示手段(ディスプレイなど)に表示されている場合、表示されている対象物の位置を原点とした座標軸における対象物の移動方向の情報を言う。動作部802は、取得された移動方向情報により示される移動方向に連動させてコントローラ800の一部を構成する可動部(例えば、スティック状のコントローラであれば、ユーザが把持するスティック部分)を所定の移動速度(dXmax)以下で移動させるものである。
【0056】
制御部803は、目的地点から所定の距離範囲内に対象物の位置が入ると、目的地点に近づくにつれて空間上での移動速度が減少するよう不図示のシステムによって制御された対象物の移動速度に連動させて、可動部を経路案内の開始前の基準位置へ所定の移動速度以下で移動させ、対象物が目的地点に到着した時点で可動部が基準位置に配置されるように対象物と可動部が同期して移動するよう制御するものである。受付部804は、可動部を介してユーザからの操作を受け付けるものである。ここで、さらに、制御部803は、経路案内中にユーザからの操作が受け付けられ、可動部が移動した場合、可動部の移動速度の対象物の移動速度に対する連動を解消し、基準位置に配置するための可動部の移動速度を変更するため、可動部の基準位置からの移動量X及び操作が受け付けられた時点における対象物の現在位置から目的地点までの距離L0の情報を所定の算出式により可動部の移動速度を算出し、算出される移動速度が所定の移動速度を上回る場合には可動部の移動速度を所定の移動速度に変更するとともに、変更された可動部の移動速度に基づいて対象物の空間上での同期の制御を可能とする移動速度を算出し、算出された移動速度に変更させるための制御信号を生成し、生成された制御信号を不図示のシステムへ送信するものである。なお、制御信号を受信したシステムでは、その信号に基づいて表示手段に表示される対象物の移動速度を変更して対象物を変更された移動速度で表示するようにする。
【産業上の利用可能性】
【0057】
本発明に係る入力デバイス及び入力デバイスによる情報提供方法は、ユーザが加速感や減速感を体感できるとともに、違和感なく操作できるため、経路案内などを自身が動くことで行う入力デバイス及び入力デバイスによる情報提供方法などに有用である。
【符号の説明】
【0058】
800 コントローラ(入力デバイス)
801 取得部(取得手段)
802 動作部(動作手段)
803 制御部(制御手段)
804 受付部(受付手段)
【技術分野】
【0001】
本発明は、自身が動くことによりユーザに対して経路案内などを行う入力デバイス及び入力デバイスによる情報提供方法に関する。
【背景技術】
【0002】
コントローラ(入力デバイスに相当)には、図1aから図1dに示すようなスティック状のものや図2aから図2dに示すようなボタン型のものなどがある。コントローラには、図1b、図2bで示されるように、力を加えられていない状態、すなわちコントローラの移動量X=0(ゼロの位置)の状態というものが存在する。スティック状の場合は、図1c、図1dに示すようにスティックを傾けて、またボタン型の場合は、図2c、図2dに示すようにボタンを平行移動させて移動量Xを生じさせる。移動量Xは、スティック状のコントローラの場合は弧を描いた角度で、ボタン型のコントローラの場合は平行移動した距離で定義できる。なお、それらの値は、それぞれの最大移動量で割ることで0から1までの値をとるように規格化したものとしても構わない。ユーザは、コントローラを使って実在の空間に存在するある対象物又は仮想空間内の仮想対象物を移動させることができる。
【0003】
コントローラには、ハプティックデバイスなどに見られるように、自ら力を発生させ、スティックが自動で動く機能やボタンが動く機能を備えたものがある。そのようなコントローラの一例として、例えば、対象物の位置を操作でき、かつ、自ら力を発生させ、ユーザの手に力をフィードバックして情報を伝えることができるというバイラテラル制御が可能なコントローラが存在する(特許文献1を参照)。このようなコントローラを使い、遠距離にあるものを触ることで、フィードバックにより触っている対象物を感じながら操作できるテレイグジスタンス(Telexistence)の開発もなされている(非特許文献1)。さらに、フィードバックする力を、制御、加工して発生させるものとして、医師に装置による重力などを感じさせないようにして力を与える手術支援装置のようなものがある(特許文献2を参照)。さらに、フィードバックする力を誘導(ガイド)に利用するものとして、医療用カテーテルにおいてカテーテルが目的の位置に辿り着くようコントローラを移動させるものがある(特許文献3を参照)。
【0004】
これらのコントローラを発展させることで、発生した力によって任意の方向にコントローラを傾けたり、移動させたりすることで、操作すべき操作対象物(表示物に相当)を操作し、ユーザに対して操作を誘導させたり情報を案内させたりすることが可能である。具体的には、コントローラを使って地図上を移動できる場合、ロボットやエージェントなどの第三者が、この先、右へ進み、さらに上に進めばお店があることを案内するため、コントローラが自動で(勝手に)右へ倒れ、さらに前へ倒れる。これにより、お店に辿り着く、すなわち地図上の特定の位置に案内することができるというものである。その間、ユーザは軽くコントローラに手を乗せたまま、コントローラに働く誘導力を感じることも可能であり、またコントローラから手を離し、そのまま自動で(勝手に)動くコントローラを案内が終わるまで放置することも可能である。
【0005】
ここで、以下に数式を用いてコントローラの移動量X(例えば、スティック状のコントローラの場合、後述する基準位置(静止状態の位置とも言う)からの傾き量などを言う)と操作される対象物(操作対象物)の移動量(例えば、表示画面上での移動距離などを言う)の関係について述べる。図1aから図1dで示したようなコントローラを傾ける、押す、移動させるなどの操作で、ユーザは目的の対象物を移動させたり、地図を移動させたりすることができる。コントローラの移動量Xコントローラと物体の速度V対象物の間には、何らかの事前に決められた関係式が存在しなければならない。さもなければ、あるときは少しコントローラを動かしただけで対象物が速く動いたり、またあるときはコントローラを大きく動かしても対象物が少ししか動かなかったりという状態になり、ユーザは混乱する。コントローラの傾き度、移動度に対し、対象物が動く関係は以下の数式1のようにある関数で決められる。
【0006】
V対象物 =f( Xコントローラ ) (数式1)
【0007】
実際には、単純にコントローラの移動量と対象物の速度とを“比例関係”にすることが望ましい。それを以下の数式2に示す。Cは比例定数である。なお、この関係を図3aに示す。
【0008】
V対象物 =C(定数)× Xコントローラ (数式2)
【0009】
数式2の比例関係は、ユーザがコントローラを大きく動かせば動かすほど、ある空間での対象物が比例して速く動くことを意味する。さらに、両辺を時間で微分すれば、対象物の動く加速度a 対象物とコントローラの移動速度dXコントローラとの関係も数式3のように比例となり、その関係が図3bに示される。
【0010】
a対象物 =C(定数)× dXコントローラ (数式3)
【0011】
このことは、コントローラをゼロの位置(例えば、基準位置)から倒してそのまま固定すれば、対象物は一定スピードで空間内を移動し続ける。さらに、コントローラを一定の速さでゼロの位置に戻していくと、対象物は一定の加速度で減速し停止する。
【0012】
また、上記案内においては、以下に述べる重要な3つの条件「同期条件」、「突き指防止条件」、「ユーザ介入条件」を満たしながら行われることが望ましい。まず、「同期条件」の定義について図4a、図4bを用いて説明する。図4a、図4bには、出発点から目的地点まで空間内を対象物が自動で移動する様子が示されている。図4aには出発地点から目的地点までの地理的様子が示されている。図4bの(1)には、その際の自動で動くスティック状のコントローラの傾きと時間(横軸)との関係が示されている。図4bの(2)には、その際の自動で動かされている対象物の速度(縦軸)と時間(横軸)との関係が示されている。図4bの(3)には、出発地点から目的地点まで対象物が移動する際の対象物の加速度a(縦軸)と時間(横軸)との関係が示されている。
【0013】
まず、出発地点では、コントローラはゼロの位置にあり、対象物は静止状態とする。目的地点の方向に向けて、徐々にコントローラが一定の速度で自動で傾き、その傾きと比例して地図のスクロール速度が一定の加速度で上がる。コントローラが最大限まで傾き、地図もある一定の最高速度でスクロールされて移動し続ける。
【0014】
そして、目的地点まで近づいたら、今度は逆にコントローラが元のゼロ位置まで徐々に一定の速さで戻り始め、それに応じて目的地点までのスクロールの速度が一定の加速度で減速する。スクロールして目的地点に着いた瞬間が、コントローラが元の位置に戻り、速度が止まった瞬間であるという“同期された状態”(単に、同期とも言う)であることを必要条件とする。これにより、ユーザは加速感や減速感を表示画面に表示された速度の数値などを見なくても体感することが可能となる。もちろん、目的地点においては、“突然”対象物の移動速度が0になったのではなく連続的に変化して0になったとする。これを「同期条件」と呼ぶ。仮に、ユーザが一連の動きに対し、コントローラに余計な不規則な力を加えてなければ、この同期された世界観を実現することは理論的に可能である。それは、目的地点に着く前に、いつ、どれだけ減速していけば目的地点でちょうど停止できるか事前に計算ができるからである。
【0015】
次に、「突き指防止条件」の定義について説明する。コントローラの安全操作のためには、コントローラが勝手に速く、大きく動くことは避けるべきである。なぜなら、図5に示すように、不意に自動で大きく動き出したコントローラによりユーザが突き指をしたり、指がボタンに挟まれたりして、操作中にユーザが驚いたりしてしまうからである。さらには、コントローラの商品としての動きの演出という意味でも「カタッ」と素早く動くと安価な感じとなってしまう。自動で動くスティックコントローラに対する突き指防止の技術そのものに関しては、下記の非特許文献2のようなコントローラにセンサを取り付けたものが提案されている。すなわち、ユーザの指などがコントローラに触れていないとセンサが検知した場合は、コントローラのスティックが勝手に動く機能を停止させるものである。
【0016】
しかし、上述のセンサのように、ユーザがコントローラから手を離すとコントローラが動かなくなり案内が停止するというのでは、案内機能が使用される機会が制限されてしまう。つまり、案内を再生させるために、ユーザは始終、常にコントローラに手を当てなければならなくなり、これを強いると、案内機能の使用そのものの敷居が高くなり、ユーザも使用しようとする気が減ってしまう。
【0017】
よって、コントローラに手が触れていようが、離れていようがコントローラは自動で(勝手に)動いて案内を行う。ただし、突き指の防止などのために、速度は事前に決められたある一定の速度dXmax以上であってはならないというものを考える。数式4でそれを定義すると、コントローラが移動する速度をdXコントローラとすると、以下の数式4を満たさなければならない。これを「突き指防止条件」と呼ぶ。
【0018】
|dXコントローラ | ≦ |dXmaxコントローラ| (数式4)
【0019】
この「突き指防止条件」の数式4を満たし、数式2の関係を保ちながら、出発点から目的地点までの案内をコントローラの自動制御で行う。コントローラの移動の速さは、地図の移動速度の加速度を意味するので、地図の移動については急激に加速や減速をさせることはできなくなる。そのため、前述の「同期条件」をも同時に満たすためには、目的地点に近づいてきたら事前に早めに減速し始めることで、ゆっくりコントローラが戻りながらでも目的地点で丁度、速度がゼロになり、コントローラもゼロの位置に同期して戻るよう予測して自動操作のための計算を行うことは可能である。
【0020】
最後の条件の「ユーザ介入条件」について説明する。“完全”な強制による案内ではなく“半”強制下の状態、すなわち自動で(勝手に)動くコントローラに対して、ユーザによる新たな操作の介入を許す性質を持つ。これにより、案内の最中で地図が右に移動していたとしても、ユーザが周辺に興味をもち、コントローラの動きを止めたり、逆方向にコントローラを動かしたりして、自動の案内に介入することも可能である。これを「ユーザ介入条件」と呼ぶ。
【0021】
上述した、加速感や減速感をユーザに与える「同期条件」、安全のための「突き指防止条件」、ユーザに自由度を与える「ユーザ介入条件」を満たすコントローラによる案内機能は、案内として最適なものであり、開発者が容易に想定できる設定である。
【先行技術文献】
【特許文献】
【0022】
【特許文献1】特開2003−525490号公報(要約)
【特許文献2】特開2010−269162号公報(要約)
【特許文献3】特開2007−528256号公報(要約)
【非特許文献】
【0023】
【非特許文献1】日章: 相互テレイグジスタンス用人型ロボット「テレサ2」、日本機会学会誌、Vol. 109、No. 1051、pp. 452-453 (2006.6)
【非特許文献2】Microsoft Sidewinder Force feedback Pro2 http://www.microsoft.com/japan/hardware/sw/fo_feedback_2.aspx
【発明の概要】
【発明が解決しようとする課題】
【0024】
しかし、これらの条件を満たすことができない特殊な状況が存在する。その特殊な状況について具体例を用いて説明する。自動制御で目的地点に向かって対象物がスクロールされ、もう少しで目的地点に到着することにより、自動的にコントローラが元の位置に戻りながら減速している最中に「ユーザ介入条件」により、ユーザが不幸にも一気にコントローラを倒して速度を速めて、目的地点寸前まで進めてしまった場合があるとする。前述の「同期条件」である目的地点で丁度、速度が0で到着するためには、それに間に合うように速度を急激に減速させなければならない。しかし、ここで一気に減速させることは、数式2から、ユーザによって大きく倒されたコントローラを一気にゼロの位置に戻すことに相当する。それは、「突き指防止条件」の数式4に反する。
【0025】
逆に「突き指防止条件」の数式4を尊重して、コントローラをゆっくり元の位置に戻そうとすると、大きく倒れているコントローラがゆっくりゼロの位置に戻る間も、コントローラそのものがゼロよりも前の位置に倒れているため、スクロールが行われ続け、目的地点寸前に着いても速度が0ではないので、そのまま通過してしまうという「同期条件」に反する。これらのことは、「ユーザ介入条件」、「同期条件」、「突き指防止条件」を同時に満たすことが不可能になる場合があることを意味する。
【0026】
本発明は、上記の問題点に鑑み、これらの3つの条件を満たし、ユーザが加速感や減速感を体感できるとともに、違和感なく操作できる入力デバイス及び入力デバイスによる情報提供方法を提供することを目的とする。
【課題を解決するための手段】
【0027】
上記目的を達成するために、本発明によれば、表示手段に表示された仮想空間又は実空間上に存在し、現在位置を示す表示物であって、その移動により前記ユーザに所定の目的地点までの経路案内を行うシステムで利用可能であり、原則として前記表示物の移動方向及び速度に応じて対応する方向及び距離又は角度だけ移動する可動部を有する入力デバイスであって、前記経路案内のために前記表示物が移動している方向を示す移動方向情報を取得する取得手段と、前記移動方向情報により示される移動方向に連動させて前記可動部を所定の移動速度以下で移動させる動作手段と、前記目的地点から所定の距離範囲内に前記表示物の位置が入ると、前記目的地点に近づくにつれて前記空間上での移動速度が減少するよう前記システムによって制御された前記表示物の移動速度に連動させて、前記可動部を前記経路案内の開始前の基準位置へ前記所定の移動速度以下で移動させ、前記表示物が前記目的地点に到着した時点で前記可動部が前記基準位置に配置されるように前記表示物と前記可動部が同期して移動するよう制御する制御手段と、前記可動部を介して前記ユーザからの操作を受け付ける受付手段とを備え、前記経路案内中に前記ユーザからの操作が受け付けられ、前記可動部が移動した場合、前記制御手段は、前記可動部の移動速度の前記表示物の移動速度に対する前記連動を解消し、前記基準位置に配置するための前記可動部の移動速度を変更するため、前記可動部の前記基準位置からの移動量及び前記操作が受け付けられた時点における前記表示物の現在位置から目的地点までの距離の情報を所定の算出式により前記可動部の移動速度を算出し、算出される前記移動速度が前記所定の移動速度を上回る場合には前記可動部の移動速度を前記所定の移動速度に変更するとともに、変更された前記可動部の移動速度に基づいて前記表示物の前記空間上での前記同期の制御を可能とする移動速度を算出し、算出された前記移動速度に変更させるための制御信号を生成し、生成された前記制御信号を前記システムへ送信するよう構成された入力デバイスが提供される。この構成により、ユーザが加速感や減速感を体感できるとともに、違和感なく操作をすることができる。ここで、可動部が、表示物の移動方向及び速度に応じて対応する方向及び距離又は角度だけ移動するとあるが、表示物が表示手段(ディスプレイなど)に表示されている場合に、例えば表示物が表示手段の上方向へ移動する場合には、前記上方向に対応した方向(例えば、可動部が2次元平面(床)に対して垂直に置かれている(立っている)場合には、前方に倒す方向)に移動することである。また、表示物とは、例えば仮想空間又は実空間上で自車両などの現在位置を示すカーソルなどを言う。また、所定の算出式とは、後述する数式9などに相当する。また、可動部の移動とは、2次元的な移動だけではなく、角度的な移動(例えば、ジョイスティックが支点を基準として傾く移動)も含むものである。また、基準位置とは、例えば入力デバイスのニュートラルの状態の位置など言い、上述するゼロの位置などを言う。
【0028】
また、本発明によれば、表示手段に表示された仮想空間又は実空間上に存在し、現在位置を示す表示物であって、その移動により前記ユーザに所定の目的地点までの経路案内を行うシステムで利用可能であり、原則として前記表示物の移動方向及び速度に応じて対応する方向及び距離又は角度だけ移動する可動部を有する入力デバイスによる前記経路案内における情報提供方法であって、前記経路案内のために前記表示物が移動している方向を示す移動方向情報を取得する取得ステップと、前記移動方向情報により示される移動方向に連動させて前記可動部を所定の移動速度以下で移動させる動作ステップと、前記目的地点から所定の距離範囲内に前記表示物の位置が入ると、前記目的地点に近づくにつれて前記空間上での移動速度が減少するよう前記システムによって制御された前記表示物の移動速度に連動させて、前記可動部を前記経路案内の開始前の基準位置へ前記所定の移動速度以下で移動させ、前記表示物が前記目的地点に到着した時点で前記可動部が前記基準位置に配置されるように前記表示物と前記可動部が同期して移動するよう制御する同期制御する制御ステップとを有し、前記経路案内中に前記ユーザからの操作が受け付けられ、前記可動部が移動した場合、前記可動部の移動速度の前記表示物の移動速度に対する前記連動を解消し、前記基準位置に配置するための前記可動部の移動速度を変更するため、前記可動部の前記基準位置からの移動量及び前記操作が受け付けられた時点における前記表示物の現在位置から目的地点までの距離の情報を所定の算出式により前記可動部の移動速度を算出し、算出される前記移動速度が前記所定の移動速度を上回る場合には前記可動部の移動速度を前記所定の移動速度に変更するとともに、変更された前記可動部の移動速度に基づいて前記表示物の前記空間上での前記同期の制御を可能とする移動速度を算出し、算出された前記移動速度に変更させるための制御信号を生成し、生成された前記制御信号を前記システムへ送信するステップを更に有する情報提供方法が提供される。この構成により、ユーザが加速感や減速感を体感できるとともに、違和感なく操作をすることができる。
【発明の効果】
【0029】
本発明の入力デバイス及び入力デバイスによる情報提供方法は、上記構成を有し、3つの条件を満たし、ユーザが加速感や減速感を体感できるとともに、違和感なく操作できる。すなわち、本発明の入力デバイス及び入力デバイスによる情報提供方法は、フィードバックによる誘導(ガイド)機能における誘導する力を加工して、ユーザがいつでも操作を行える「ユーザ介入条件」、目的地点に着いたときコントローラが静止状態に戻る「同期条件」、安全のための「突き指防止条件」のすべてを矛盾せず満たすよう判定させることで、ユーザに、安全で、自由度があり、操作対象物の移動速度がわかる触覚による情報の提供を可能にする。
【図面の簡単な説明】
【0030】
【図1a】本発明の実施の形態におけるスティック状のコントローラを示す図である。
【図1b】本発明の実施の形態におけるスティック状のコントローラの静止状態を示す図である。
【図1c】本発明の実施の形態におけるスティック状のコントローラを一方に傾けた状態を示す図である。
【図1d】本発明の実施の形態におけるスティック状のコントローラを他方に傾けた状態を示す図である。
【図2a】本発明の実施の形態におけるボタン型のコントローラを示す図である。
【図2b】本発明の実施の形態におけるボタン型のコントローラの静止状態を示す図である。
【図2c】本発明の実施の形態におけるボタン型のコントローラを一方に移動させた状態を示す図である。
【図2d】本発明の実施の形態におけるボタン型のコントローラを他方に移動させた状態を示す図である。
【図3a】本発明の実施の形態におけるコントローラの移動量と対象物の速度との関係を示す図である。
【図3b】本発明の実施の形態におけるコントローラの動かす速度と対象物の加速度との関係を示す図である。
【図4a】本発明の実施の形態における操作対象物の出発地点から目的地点までの地理的様子を示す図である。
【図4b】(1)自動で動くスティック状のコントローラの傾きと時間(横軸)との関係を示す図(2)自動で動かされている対象物の速度(縦軸)と時間(横軸)との関係を示す図(3)出発地点から目的地点まで操作対象物が移動する際の対象物の加速度a(縦軸)と時間(横軸)との関係を示す図である。
【図5】本発明の実施の形態における「突き指防止条件」の定義について説明するための図である。
【図6】本発明の実施の形態における入力デバイスの動作フローの一例を示すフローチャートである。
【図7】本発明の実施の形態における案内において目的地付近で地図のスクロールが減速し、コントローラがゼロの位置に戻ろうしている際、ユーザがさらにコントローラを倒した場合の様子を時間軸で示したグラフを示す図である。
【図8】本発明の実施の形態における入力デバイスの構成の一例を示す構成図である。
【発明を実施するための形態】
【0031】
本発明の実施の形態では、例えば、不図示の経路案内を行うシステムで用いられる接続可能コントローラを対象としており、与えられた状況を判断し、必要に応じて上述のコントローラの傾きと対象物(操作対象物や表示物とも言う)の移動速度の関係を記述した数式1や数式2を、変形させたりさせなかったりする機能を追加し、本来矛盾しうる前述の「ユーザ介入条件」、「同期条件」、「突き指防止条件」を常に満たせるよう解決する。
【0032】
数式1や数式2は、コントローラを倒した量と、それに反応して対象物がどれだけの速度で移動するのかを表したものであり、ある条件下での限られた時間内であれば、この両者を結ぶ定数が変わっても、ユーザはそれほど違和感なく操作できる。その様子を詳細に以下に述べる。
【0033】
ここでの例では、既に知られている初期値として、コントローラの移動量と物体の速度の関係が数式2のような比例関係であり、その比例定数C0であるとする。また、目的地点まで自動で移動している際、現在地点から目的地点までの距離L0と現在のコントローラの傾きXコントローラであるX0が与えられているとする。まず、数式2を使い、コントローラの傾いた位置X0に基づいて現在の対象物の速度V対象物を計算する。これが初速度となる。
【0034】
V対象物=X0×C0 (数式5)
【0035】
次に、「同期条件」から目的地点に達した時点でこの速度V対象物(初速度)が減速の加速度をa対象物受けた結果、0になるべきなので目的地点に達するまでの時間tは数式6のように求められる。
【0036】
t=V対象物 /a対象物 (数式6)
【0037】
さらに、時間t後、距離L0進んでなければいけないので、数式7が満たされるべきである。
【0038】
L0 = V対象物×t+1/2 ×a対象物 × t2 (数式7)
【0039】
これら数式6と数式7により、V対象物は既に数式5でわかっており、他のわからない変数はtとa対象物の2つだけなので両方が求まる。
【0040】
a対象物 = −(V対象物)2 / (2L0)
= −(X0×C0 )2 / (2L0) (数式8)
【0041】
数式8により減速する加速度が求まる。減速すべき加速度から、数式3を使い、コントローラがどれくらいの速さdXコントローラでゼロの位置に戻らなければならないかが計算できる。
【0042】
dXコントローラ =a対象物 / C0
=−(X0×C0)2/(2L0)/C0
=−X02 C0/(2L0) (数式9)
【0043】
コントローラの移動速度dXコントローラは、「突き指防止条件」の数式4を満たさなければならない。本発明では、満たさない場合を、前述の特殊な条件下であるとする。その条件下では、数式2の定数Cを変えることで、数式4を満たすようにすることが本発明の特徴である。ここの例では条件を満たさない、|dXコントローラ| > |dXmaxコントローラ| となった場合、数式10のようにdXコントローラの値をdXmaxコントローラとする。
【0044】
if |dXコントローラ| > |dXmaxコントローラ|
dXコントローラ = dXmaxコントローラ (数式10)
【0045】
これにより、コントローラが自動で動く速度dXは、いかなる状況下でも事前にコントローラの開発者(利用者)が事前に決めた値dXmaxより遅くしか動かないため「突き指防止条件」を満たすようになる。すなわち、dXコントローラ =dXmaxコントローラとして、この新しいdXコントローラで逆に、数式2、数式3を満たす古い定数C0ではなく新しい定数Cnewを求めなければならない。既に、数式9からdXコントローラ=−X02 C0/(2L0) の関係がわかっているため、新しい定数Cnewは以下の数式11を満たす。
【0046】
dXコントローラ= dXmaxコントローラ = −X02 Cnew/(2L0) (数式11)
【0047】
よって、数式11から新しい定数Cnewが数式12のように求まる。
【0048】
Cnew =−2L0(dXmaxコントローラ)/X02 (数式12)
【0049】
この新しいCnewを使い、コントローラの位置と、そのときの対象物の移動速度の関係が数式13を満たすように目的地に向かえば「同期の条件」を満たすことになる。
【0050】
V対象物 =Cnew× Xコントローラ (数式13)
【0051】
以上述べた手順を図6のフローチャートにまとめる。図6に示すように、現在のコントローラの位置Xコントローラ=X0、目的地点までの距離L=L0とし、コントローラの比例定数C=C0である(ステップS601)。現在のコントローラの位置Xコントローラから現在の対象物の速度V対象物を算出する(ステップS602)。算出された速度V対象物から速度0で停止するまでに距離L0進むため減速の加速度a対象物を算出する(ステップS603)。算出された加速度と数式3からコントローラの速度dXコントローラを算出する(ステップS604)。数式4を満たすか否かが判断され(ステップS605)、満たさない場合には、数式10、11によりコントローラの速度dXコントローラを算出する(ステップS606)。そして、数式12により、新たな比例定数Cnewを算出する(ステップS607)。次に、数式13により、対象物の速度V対象物を算出する(ステップS608)。そして、dXコントローラの分だけコントローラを移動させ、V対象物の分だけ表示手段に表示された地図をスクロールさせる(ステップS609)。地図をスクロールさせる場合、例えば、スクロールさせるための制御信号をコントローラ側で生成し、生成された制御信号を不図示の経路案内を行うシステム側に送信するようにしてもよい。
【0052】
図7の(1)から(6)は、自動案内において、目的地付近で地図のスクロールが減速し、コントローラがゼロの位置に戻ろうしている際、ユーザがさらにコントローラを倒した場合の様子を時間軸で示したグラフである。図7の(1)、(2)には目的地までの距離(縦軸)と時間(横軸)の関係を、図7の(3)、(4)にはコントローラの移動量X(縦軸)と時間(横軸)との関係を、図7の(5)、(6)にはコントローラの移動する速度dX(縦軸)と時間(横軸)との関係を示したグラフが示されている。図7の(1)、(3)、(5)は、ユーザが少しだけコントローラを倒した場合を表したものであり、図7の(2)、(4)、(6)は、ユーザが大きくコントローラを倒した場合を表したものである。
【0053】
ユーザが少しだけコントローラを倒した場合について説明する。図7の(1)に示されるように、目的地まで負の加速度で減速して進んでいたため、放物線状の右下がりで目的地までの距離が変化している。そこで、ユーザが介入しコントローラを突然進めたため、さらに急カーブな放物線で急速に減速し、早めに目的地点に到着した。図7の(3)には、コントローラが時間に比例してゼロの位置に戻ろうとしている際、ユーザの介入により、さらに前に倒され、移動量Xが突然増大した様子が示されている。図7の(5)では、図7の(3)の線の傾きを意味する。介入後は、さらに絶対値の大きい速度dXになっていることがわかる。
【0054】
図7の(2)、(4)、(6)では同様にユーザの介入が入るが、ユーザが大きくコントローラを倒した場合である。数式10に見られるように、dXmaxの絶対値は上限が決まっていることから、図7の(4)、(6)に示されるように、どれだけXの値を大きくしても右下がりに下がる傾きはdXmaxを超えない。そのため、図7の(2)に示されるように通常より時間がかかって目的地に着くようになる。
【0055】
ここで、本発明の実施の形態に係るコントローラ(入力デバイス)800の構成の一例について図8を用いて説明する。図8に示すように、取得部801は、経路案内のために対象物(表示物)が移動している方向を示す移動方向情報を取得するものである。ここで、移動方向情報とは、例えば、対象物が表示手段(ディスプレイなど)に表示されている場合、表示されている対象物の位置を原点とした座標軸における対象物の移動方向の情報を言う。動作部802は、取得された移動方向情報により示される移動方向に連動させてコントローラ800の一部を構成する可動部(例えば、スティック状のコントローラであれば、ユーザが把持するスティック部分)を所定の移動速度(dXmax)以下で移動させるものである。
【0056】
制御部803は、目的地点から所定の距離範囲内に対象物の位置が入ると、目的地点に近づくにつれて空間上での移動速度が減少するよう不図示のシステムによって制御された対象物の移動速度に連動させて、可動部を経路案内の開始前の基準位置へ所定の移動速度以下で移動させ、対象物が目的地点に到着した時点で可動部が基準位置に配置されるように対象物と可動部が同期して移動するよう制御するものである。受付部804は、可動部を介してユーザからの操作を受け付けるものである。ここで、さらに、制御部803は、経路案内中にユーザからの操作が受け付けられ、可動部が移動した場合、可動部の移動速度の対象物の移動速度に対する連動を解消し、基準位置に配置するための可動部の移動速度を変更するため、可動部の基準位置からの移動量X及び操作が受け付けられた時点における対象物の現在位置から目的地点までの距離L0の情報を所定の算出式により可動部の移動速度を算出し、算出される移動速度が所定の移動速度を上回る場合には可動部の移動速度を所定の移動速度に変更するとともに、変更された可動部の移動速度に基づいて対象物の空間上での同期の制御を可能とする移動速度を算出し、算出された移動速度に変更させるための制御信号を生成し、生成された制御信号を不図示のシステムへ送信するものである。なお、制御信号を受信したシステムでは、その信号に基づいて表示手段に表示される対象物の移動速度を変更して対象物を変更された移動速度で表示するようにする。
【産業上の利用可能性】
【0057】
本発明に係る入力デバイス及び入力デバイスによる情報提供方法は、ユーザが加速感や減速感を体感できるとともに、違和感なく操作できるため、経路案内などを自身が動くことで行う入力デバイス及び入力デバイスによる情報提供方法などに有用である。
【符号の説明】
【0058】
800 コントローラ(入力デバイス)
801 取得部(取得手段)
802 動作部(動作手段)
803 制御部(制御手段)
804 受付部(受付手段)
【特許請求の範囲】
【請求項1】
表示手段に表示された仮想空間又は実空間上に存在し、現在位置を示す表示物であって、その移動により前記ユーザに所定の目的地点までの経路案内を行うシステムで利用可能であり、原則として前記表示物の移動方向及び速度に応じて対応する方向及び距離又は角度だけ移動する可動部を有する入力デバイスであって、
前記経路案内のために前記表示物が移動している方向を示す移動方向情報を取得する取得手段と、
前記移動方向情報により示される移動方向に連動させて前記可動部を所定の移動速度以下で移動させる動作手段と、
前記目的地点から所定の距離範囲内に前記表示物の位置が入ると、前記目的地点に近づくにつれて前記空間上での移動速度が減少するよう前記システムによって制御された前記表示物の移動速度に連動させて、前記可動部を前記経路案内の開始前の基準位置へ前記所定の移動速度以下で移動させ、前記表示物が前記目的地点に到着した時点で前記可動部が前記基準位置に配置されるように前記表示物と前記可動部が同期して移動するよう制御する制御手段と、
前記可動部を介して前記ユーザからの操作を受け付ける受付手段とを備え、
前記経路案内中に前記ユーザからの操作が受け付けられ、前記可動部が移動した場合、
前記制御手段は、前記可動部の移動速度の前記表示物の移動速度に対する前記連動を解消し、前記基準位置に配置するための前記可動部の移動速度を変更するため、前記可動部の前記基準位置からの移動量及び前記操作が受け付けられた時点における前記表示物の現在位置から目的地点までの距離の情報を所定の算出式により前記可動部の移動速度を算出し、算出される前記移動速度が前記所定の移動速度を上回る場合には前記可動部の移動速度を前記所定の移動速度に変更するとともに、変更された前記可動部の移動速度に基づいて前記表示物の前記空間上での前記同期の制御を可能とする移動速度を算出し、算出された前記移動速度に変更させるための制御信号を生成し、生成された前記制御信号を前記システムへ送信するよう構成された入力デバイス。
【請求項2】
表示手段に表示された仮想空間又は実空間上に存在し、現在位置を示す表示物であって、その移動により前記ユーザに所定の目的地点までの経路案内を行うシステムで利用可能であり、原則として前記表示物の移動方向及び速度に応じて対応する方向及び距離又は角度だけ移動する可動部を有する入力デバイスによる前記経路案内における情報提供方法であって、
前記経路案内のために前記表示物が移動している方向を示す移動方向情報を取得する取得ステップと、
前記移動方向情報により示される移動方向に連動させて前記可動部を所定の移動速度以下で移動させる動作ステップと、
前記目的地点から所定の距離範囲内に前記表示物の位置が入ると、前記目的地点に近づくにつれて前記空間上での移動速度が減少するよう前記システムによって制御された前記表示物の移動速度に連動させて、前記可動部を前記経路案内の開始前の基準位置へ前記所定の移動速度以下で移動させ、前記表示物が前記目的地点に到着した時点で前記可動部が前記基準位置に配置されるように前記表示物と前記可動部が同期して移動するよう制御する同期制御する制御ステップとを有し、
前記経路案内中に前記ユーザからの操作が受け付けられ、前記可動部が移動した場合、前記可動部の移動速度の前記表示物の移動速度に対する前記連動を解消し、前記基準位置に配置するための前記可動部の移動速度を変更するため、前記可動部の前記基準位置からの移動量及び前記操作が受け付けられた時点における前記表示物の現在位置から目的地点までの距離の情報を所定の算出式により前記可動部の移動速度を算出し、算出される前記移動速度が前記所定の移動速度を上回る場合には前記可動部の移動速度を前記所定の移動速度に変更するとともに、変更された前記可動部の移動速度に基づいて前記表示物の前記空間上での前記同期の制御を可能とする移動速度を算出し、算出された前記移動速度に変更させるための制御信号を生成し、生成された前記制御信号を前記システムへ送信するステップを更に有する情報提供方法。
【請求項1】
表示手段に表示された仮想空間又は実空間上に存在し、現在位置を示す表示物であって、その移動により前記ユーザに所定の目的地点までの経路案内を行うシステムで利用可能であり、原則として前記表示物の移動方向及び速度に応じて対応する方向及び距離又は角度だけ移動する可動部を有する入力デバイスであって、
前記経路案内のために前記表示物が移動している方向を示す移動方向情報を取得する取得手段と、
前記移動方向情報により示される移動方向に連動させて前記可動部を所定の移動速度以下で移動させる動作手段と、
前記目的地点から所定の距離範囲内に前記表示物の位置が入ると、前記目的地点に近づくにつれて前記空間上での移動速度が減少するよう前記システムによって制御された前記表示物の移動速度に連動させて、前記可動部を前記経路案内の開始前の基準位置へ前記所定の移動速度以下で移動させ、前記表示物が前記目的地点に到着した時点で前記可動部が前記基準位置に配置されるように前記表示物と前記可動部が同期して移動するよう制御する制御手段と、
前記可動部を介して前記ユーザからの操作を受け付ける受付手段とを備え、
前記経路案内中に前記ユーザからの操作が受け付けられ、前記可動部が移動した場合、
前記制御手段は、前記可動部の移動速度の前記表示物の移動速度に対する前記連動を解消し、前記基準位置に配置するための前記可動部の移動速度を変更するため、前記可動部の前記基準位置からの移動量及び前記操作が受け付けられた時点における前記表示物の現在位置から目的地点までの距離の情報を所定の算出式により前記可動部の移動速度を算出し、算出される前記移動速度が前記所定の移動速度を上回る場合には前記可動部の移動速度を前記所定の移動速度に変更するとともに、変更された前記可動部の移動速度に基づいて前記表示物の前記空間上での前記同期の制御を可能とする移動速度を算出し、算出された前記移動速度に変更させるための制御信号を生成し、生成された前記制御信号を前記システムへ送信するよう構成された入力デバイス。
【請求項2】
表示手段に表示された仮想空間又は実空間上に存在し、現在位置を示す表示物であって、その移動により前記ユーザに所定の目的地点までの経路案内を行うシステムで利用可能であり、原則として前記表示物の移動方向及び速度に応じて対応する方向及び距離又は角度だけ移動する可動部を有する入力デバイスによる前記経路案内における情報提供方法であって、
前記経路案内のために前記表示物が移動している方向を示す移動方向情報を取得する取得ステップと、
前記移動方向情報により示される移動方向に連動させて前記可動部を所定の移動速度以下で移動させる動作ステップと、
前記目的地点から所定の距離範囲内に前記表示物の位置が入ると、前記目的地点に近づくにつれて前記空間上での移動速度が減少するよう前記システムによって制御された前記表示物の移動速度に連動させて、前記可動部を前記経路案内の開始前の基準位置へ前記所定の移動速度以下で移動させ、前記表示物が前記目的地点に到着した時点で前記可動部が前記基準位置に配置されるように前記表示物と前記可動部が同期して移動するよう制御する同期制御する制御ステップとを有し、
前記経路案内中に前記ユーザからの操作が受け付けられ、前記可動部が移動した場合、前記可動部の移動速度の前記表示物の移動速度に対する前記連動を解消し、前記基準位置に配置するための前記可動部の移動速度を変更するため、前記可動部の前記基準位置からの移動量及び前記操作が受け付けられた時点における前記表示物の現在位置から目的地点までの距離の情報を所定の算出式により前記可動部の移動速度を算出し、算出される前記移動速度が前記所定の移動速度を上回る場合には前記可動部の移動速度を前記所定の移動速度に変更するとともに、変更された前記可動部の移動速度に基づいて前記表示物の前記空間上での前記同期の制御を可能とする移動速度を算出し、算出された前記移動速度に変更させるための制御信号を生成し、生成された前記制御信号を前記システムへ送信するステップを更に有する情報提供方法。
【図1a】
【図1b】
【図1c】
【図1d】
【図2a】
【図2b】
【図2c】
【図2d】
【図3a】
【図3b】
【図4a】
【図4b】
【図5】
【図6】
【図7】
【図8】
【図1b】
【図1c】
【図1d】
【図2a】
【図2b】
【図2c】
【図2d】
【図3a】
【図3b】
【図4a】
【図4b】
【図5】
【図6】
【図7】
【図8】
【公開番号】特開2012−208807(P2012−208807A)
【公開日】平成24年10月25日(2012.10.25)
【国際特許分類】
【出願番号】特願2011−74887(P2011−74887)
【出願日】平成23年3月30日(2011.3.30)
【出願人】(502324066)株式会社デンソーアイティーラボラトリ (332)
【Fターム(参考)】
【公開日】平成24年10月25日(2012.10.25)
【国際特許分類】
【出願日】平成23年3月30日(2011.3.30)
【出願人】(502324066)株式会社デンソーアイティーラボラトリ (332)
【Fターム(参考)】
[ Back to top ]