(57)【特許請求の範囲】
【請求項１】
推定対象の体重移動によって加わる鉛直方向の力を検出する複数のセンサと、
複数の前記センサで検出された鉛直方向の力に基づいて、前記推定対象の重心位置の水平加速度を算出する重心位置加速度算出手段と、
前記重心位置の水平加速度に基づいて、前記推定対象の重心位置を推定する重心位置推定手段と、を備え、
前記重心位置推定手段が、
前記重心位置加速度算出手段で算出された重心位置の水平加速度を積分することで、前記重心位置の水平方向速度を算出する重心位置速度算出手段と、
複数の前記センサで検出された鉛直方向の力に基づいて、前記推定対象の重心位置の水平方向加速度を一定値とみなした時の、重心位置の静的重心位置を推定する静的重心位置推定手段と、
前記重心位置速度算出手段で算出された前記水平方向速度を前記静的重心位置に収束する値によって補正する重心位置速度補正手段と、
前記重心位置速度補正手段によって補正された補正済重心位置速度に基づいて、重心位置を推定する速度重心位置推定手段と、を備える重心位置推定装置。
【請求項２】
前記センサで検出された力に基づいて、前記推定対象の重心位置の鉛直方向加速度を算出し、
前記鉛直方向加速度に応じて、鉛直方向における前記推定対象の重心位置を推定する請求項１に記載の重心位置推定装置。
【請求項３】
請求項１、又は２に記載の重心位置推定装置と、
前記重心位置推定装置で推定された重心位置に基づいて、入力値を算出する入力値算出手段と、を備える入力装置。
【請求項４】
推定対象の体重移動によって加わる鉛直方向の力を複数のセンサで検出するステップと、
複数の前記センサで検出された鉛直方向の力に基づいて、処理装置が推定対象の重心位置の水平加速度を算出するステップと、
前記重心位置の水平加速度に基づいて、処理装置が推定対象の重心位置を推定するステップと、を備え、
前記重心位置を推定するステップでは、
前記重心位置の水平加速度を積分することで、前記重心位置の水平方向速度を算出し、
複数の前記センサで検出された鉛直方向の力に基づいて、前記推定対象の重心位置の水平方向加速度を一定値とみなした時の、重心位置の静的重心位置を推定し、
前記水平方向速度を前記静的重心位置に収束する値によって補正し、
補正された補正済重心位置速度に基づいて、重心位置を推定する重心位置推定方法。
【請求項５】
前記センサで検出された力に基づいて、処理装置が前記推定対象の重心位置の鉛直方向加速度を算出し、
前記鉛直方向加速度に応じて、処理装置が鉛直方向における前記推定対象の重心位置を推定する請求項４に記載の重心位置推定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、重心位置推定装置、重心位置推定方法、及び入力装置に関し、特に詳しくは、センサに加わる力に基づいて重心位置を推定する重心位置推定装置、重心位置推定方法、及び入力装置に関する。
【背景技術】
【０００２】
操作者の重心移動によって、入力を行う入力装置が開示されている（特許文献１、２）。例えば、特許文献１の入力装置では、複数の感圧センサによって、重心位置や重心位置の変化を把握するようにしている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平１０−３１５５２号公報
【特許文献２】特開平１０−２２５５７３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、感圧センサによって、重心位置を把握しようとすると以下のような問題点がある。操作者が重心を移動しようとする場合、移動方向と反対側の足を蹴り出したり、踏み込んだりする。例えば、操作者が右方向に移動しようとする場合、左足を力強く踏み込むことで、右方向に移動する。この場合、左足側の感圧センサに高い力が加わってしまい、左側に重心が移動していると判断してしまう。このように、特許文献１に記載の方法では、一時的に、実際の重心の移動方向と反対方向に重心が移動していると判断してしまうおそれがある。従って、急激な運動時に、重心位置を正確に求めることが困難であるという問題がある。
【０００５】
本発明は、上記の問題点に鑑みてなされたものであり、正確に重心位置を推定することができる重心位置推定装置、重心位置推定方法、及び入力装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の第１の態様にかかる重心位置推定装置は、推定対象の体重移動によって加わる力を検出する複数のセンサと、複数の前記センサからの出力に基づいて、前記推定対象の重心位置の水平加速度を算出する重心位置加速度算出手段と、前記重心位置の水平加速度に基づいて、前記推定対象の重心位置を推定する重心位置推定手段と、を備えるものである。この構成では、水平加速度に基づいて、重心位置を推定しているため、急激な体重移動が合った場合でも正確に重心位置を推定することができる。
【０００７】
本発明の第２の態様にかかる重心位置推定装置は、上記の重心位置推定装置であって、前記重心位置推定手段が、前記重心位置加速度算出手段で算出された重心位置の水平加速度を積分することで、前記重心位置の水平方向速度を算出する重心位置速度算出手段と、複数の前記センサからの出力に基づいて、前記推定対象の重心位置の水平方向加速度を一定値とみなした時の、重心位置の静的重心位置を推定する静的重心位置推定手段と、前記重心位置速度算出手段で算出された前記水平方向速度を前記静的重心位置に収束する値によって補正する重心位置速度補正手段と、前記重心位置速度補正手段によって補正された補正済重心位置速度に基づいて、重心位置を推定する速度重心位置推定手段と、を備えるものである。この構成では、重心位置速度を収束する値によって補正しているため、より正確に重心位置を推定することができる。
【０００８】
本発明の第３の態様にかかる重心位置推定装置は、上記の重心位置推定装置であって、前記センサで検出された力に基づいて、前記推定対象の重心位置の鉛直方向加速度を算出し、前記鉛直方向加速度に応じて、鉛直方向における前記推定対象の重心位置を推定するものである。これにより、鉛直方向における重心位置を正確に推定することができる。
【０００９】
本発明の第４の態様にかかる入力装置は、上記の重心位置推定装置と、前記重心位置推定装置で推定された重心位置に基づいて、入力値を算出する入力値算出手段と、を備えるものである。これにより、正確に推定された重心位置から入力値を算出することができるため、より適切に入力することができる。
【００１０】
本発明の第５の態様にかかる重心位置推定方法は、推定対象の体重移動によって加わる力を複数のセンサで検出するステップと、複数の前記センサからの出力に基づいて、推定対象の重心位置の水平加速度を算出するステップと、前記重心位置の水平加速度に基づいて、推定対象の重心位置を推定するステップと、を備えるものである。この方法では、水平加速度に基づいて、重心位置を推定しているため、急激な体重移動が合った場合でも正確に重心位置を推定することができる。
【００１１】
本発明の第６の態様にかかる重心位置推定方法は、上記の重心位置推定方法であって、前記重心位置を推定するステップでは、前記重心位置の水平加速度を積分することで、前記重心位置の水平方向速度を算出し、複数の前記センサからの出力に基づいて、前記推定対象の重心位置の水平方向加速度を一定値とみなした時の、重心位置の静的重心位置を推定し、前記水平方向速度を前記静的重心位置に収束する値によって補正し、補正された補正済重心位置速度に基づいて、重心位置を推定するものである。この方法では、重心位置速度を収束する値によって補正しているため、より正確に重心位置を推定することができる。
【００１２】
本発明の第７の態様にかかる重心位置推定方法は、上記の重心位置推定方法であって、複数の前記センサで検出された力に基づいて、前記推定対象の重心位置の鉛直方向加速度を算出し、前記鉛直方向加速度に応じて、鉛直方向における前記推定対象の重心位置を推定するものである。これにより、鉛直方向における重心位置を正確に推定することができる。
【００１３】
本発明の第８の態様にかかる重心位置推定装置は、推定対象の体重移動によって加わる力を検出する複数のセンサと、前記推定対象の運動に関する運動方程式を用いて、複数の前記センサからの出力から前記推定対象の重心位置を推定する重心位置推定手段と、を備えるものである。この構成では、運動方程式を用いて、重心位置を推定しているため、急激な体重移動が合った場合でも正確に重心位置を推定することができる。
【発明の効果】
【００１４】
本発明によれば、正確に重心を推定することができる重心位置推定装置、重心位置推定方法、及び入力装置を提供することができる。
【図面の簡単な説明】
【００１５】
【図１】本実施形態にかかる入力装置の構成を模式的に示す図である。
【図２】本実施形態にかかる入力装置の処理装置を示すブロック図である。
【図３】本実施形態にかかる重心位置推定方法の初期化ルーチンを示すフローチャートである。
【図４】本実施形態にかかる重心位置推定方法の演算ルーチンを示すフローチャートである。
【図５】本実施形態にかかる重心位置推定方法における信号を示すグラフである。
【図６】本実施形態にかかる入力装置を利用した移動体を模式的に示す図である。
【発明を実施するための形態】
【００１６】
本実施の形態にかかる重心位置推定装置は、推定対象の体重移動によって加わる力を検出する複数のセンサと、複数の前記センサからの出力に基づいて、前記推定対象の重心位置の水平加速度を算出する重心位置加速度算出手段と、前記重心位置の水平加速度に基づいて、前記推定対象の重心位置を推定する重心位置推定手段と、を備えている。
以下、本発明に係る重心位置推定装置、及び入力装置の実施形態を、図面に基づいて詳細に説明する。但し、本発明が以下の実施形態に限定される訳ではない。また、説明を明確にするため、以下の記載及び図面は、適宜、簡略化されている。
【００１７】
実施の形態１．
本実施の形態１にかかる入力装置の構成について図１、及び図２を用いて説明する。図１は、入力装置の構成を模式的に示す図である。図２は、図１で示したセンサからの出力が入力される処理装置を示すブロック図である。本実施の形態にかかる入力装置は、重心移動を入力インターフェースとするゲーム機や、移動手段などのデバイスに対して入力値を与える。本実施の形態にかかる入力装置は、水平方向における操作者５０の重心位置を推定し、その推定値に基づいて入力値を算出している。図１に示すように、センサ１１と、センサ１２と、処理装置２０とを有している。まず、図１を用いて、入力装置の全体構成に付いて説明する。
【００１８】
センサ１１とセンサ１２は、操作者５０から加わる力を検出する力センサである。センサ１１、１２は、例えば、床面に設置されている。このセンサ１１、１２の上に、重心位置の推定対象である操作者５０が乗る。センサ１１とセンサ１２とは、同じタイプのセンサであり、離間して配置されている。本実施の形態では、左右方向の重心位置を推定するため、センサ１１とセンサ１２とを左右に離間している。また、センサ１１、１２は、前後方向において同じ位置となっている。センサ１１とセンサ１２との間隔をＷ（ｍ）とする。そして、操作者５０が右足をセンサ１１に乗せ、左足をセンサ１２に乗せる。従って、操作者５０の重心が左右に移動すると、センサ１１とセンサ１２に加わる荷重が変化する。２つのセンサ１１、１２によって、操作者５０から加わる力を検出することで、操作者５０の重心位置の変化を検出することができる。
【００１９】
なお、図１に示すように、センサ１１によって検出した力をＦ１（Ｎ）とし、センサ１２によって検出した力をＦ２（Ｎ）とする。ここでは、センサ１１、１２が、鉛直方向に加わる荷重を検出する。すなわち、操作者５０の体重移動によって、センサ１１、１２斜め方向（図１中の白抜き矢印）に力が加わった場合でも、センサ１１、１２は、鉛直方向（図１中の黒矢印）を検出する。また、センサ１１の上面（測定面）からの操作者５０の重心位置の高さをＨ（ｍ）、操作者５０の重心位置の速度をＶｘ（ｍ／ｓ）、操作者５０の重心位置をＸ（ｍ）としている。なお、重心位置Ｘの原点をセンサ１１とセンサ１２の中間位置としている。さらに、図１では、操作者５０の重心をＧとして示している。
【００２０】
センサ１１、１２は、検出した力に応じた出力信号を図２に示す、処理装置２０に出力する。例えば、処理装置２０は、パーソナルコンピュータであり、ＣＰＵ（Central Processing Unit）、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）、通信用のインターフェースなどを有する演算処理装置である。また、処理装置２０は、着脱可能なＨＤＤ、光ディスク、光磁気ディスク等を有し、各種プログラムや制御パラメータなどを記憶し、そのプログラムやデータを必要に応じてメモリ（不図示）等に供給する。もちろん、処理装置２０は、物理的に一つの構成に限られるものではない。処理装置２０は、センサ１１、１２からの出力に応じて、操作者５０の重心位置を推定するための処理を実行する。そして、処理装置２０は、推定した重心位置に応じた入力値を算出するための処理を実行する。これらの演算処理は、所定の演算処理プログラムによって、実行される。次に、処理装置２０の具体的構成について、図２を用いて説明する。図２は、処理装置２０の構成を模式的に示すブロック図である。図２に示すように、処理装置２０は、重心位置加速度算出手段２１と、重心位置推定手段２２を備えている。
【００２１】
重心位置加速度算出手段２１は、センサ１１、１２からの出力に基づいて、重心位置の加速度を算出する。ここで、重心位置加速度算出手段２１によって算出される重心位置加速度は、水平方向における加速度であり、センサ１１とセンサ１２が離れている方向における加速度である。従って、ここでは、操作者５０の左右方向（ｘ方向）における、重心位置の加速度が算出される。重心位置加速度算出手段２１は操作者５０に関する運動方程式を用いて、水平方向における重心位置の加速度を算出する。
【００２２】
重心位置加速度算出手段２１によって算出された重心位置の加速度に基づいて、重心位置推定手段２２は、重心位置を推定する。具体的には、重心位置速度算出手段２３が重心位置の加速度を積分して、重心位置速度を算出する。なお、重心位置速度算出手段２３によって算出される重心位置速度は、水平方向、すなわち、操作者５０の左右方向における重心位置速度である。静的重心位置推定手段２４は、操作者の重心位置の水平方向加速度を一定値（ここでは、ゼロ）とみなした時の静的重心位置を推定する。なお、静的重心位置は、水平方向における静的重心位置である。
【００２３】
重心位置速度補正手段２５は、重心位置速度算出手段２３で算出された重心位置速度を補正する。具体的には、重心位置が静的重心位置に収束する値によって、重心位置速度を補正する。そして、速度重心位置推定手段２６は、重心位置速度補正手段２５で補正された補正済重心位置速度に基づいて、重心位置を推定する。このようにして、重心位置推定手段２２が水平方向の重心位置を推定する。入力値算出手段２７は、推定された重心位置によって、入力値を算出する。これにより、左右方向における入力値を求めることができる。
【００２４】
次に、処理装置２０によって実施される重心位置推定方法について、図３、及び図４を用いて説明する。図３は、重心位置推定方法の初期化ルーチンを示すフローチャートであり、図４は、演算ルーチンを示すフローチャートである。まず、重心位置推定を行う際の初期化ルーチンについて、図３を用いて説明する。図３に示す初期化ルーチンでは、重心位置Ｘと重心位置速度Ｖｘを初期化することによって、重心位置Ｘの前回値Ｘｏｌｄと重心位置速度Ｖｘの前回値Ｖｘｏｌｄを設定する。なお、前回値とは、重心位置Ｘを求めるための演算ルーチンにおいて用いられる値であり、この前回値を用いて最新値が求められていく。すなわち、前回値、及び力Ｆ１、Ｆ２を用いて値を更新していくことで、最新の重心位置Ｘと重心位置速度Ｖｘが求められる。
【００２５】
まず、操作者５０の重心高さＨと、操作者５０の重量ｍの値を設定する（ステップＳ１０１）。これらの値は、操作者５０がキーボードなどを使って入力しても良く、あるいは、センサ等を用いて取得するようにしてもよい。さらには、重心高さＨと重量ｍをＲＯＭ等から読み出してもよい。次に、センサ１１、１２によってＦ１、Ｆ２を取得する（ステップＳ１０２）。例えば、センサ１１とセンサ１２の上に操作者５０が直立して静止した状態で力Ｆ１、Ｆ２が取得される。そして、力Ｆ１、Ｆ２に基づいて、重心位置Ｘの前回値Ｘｏｌｄを算出する（ステップＳ１０３）。ここで、重心位置の前回値Ｘｏｌｄは、センサ１１、１２と重心位置Ｇの配置を考慮して、以下の式（１）で求めることができる。
Ｘｏｌｄ＝Ｗ×（Ｆ１−Ｆ２）／（Ｆ１＋Ｆ２）    ・・・（１）
【００２６】
操作者５０からの力が斜め方向に加わり（図１の白抜き矢印参照）、センサ１１、１２が鉛直方向の力Ｆ１、Ｆ２を検出するとして、式（１）が導出されている。次に、重心位置速度Ｖｘの前回値Ｖｘｏｌｄ＝０と設定する（ステップＳ１０４）。なお、本実施の形態では、初期化時において操作者５０が静止しているため、重心位置速度Ｖｘの前回値を０としたが、初期値は特に限定されるものでない。このようにして、初期化ルーチンが実行される。
【００２７】
図３に示す初期化ルーチンを実行した後、図４に示す演算ルーチンを実行する。この演算ルーチンを、例えば、サンプリングタイムΔｔ秒毎に実行する。なお、Δｔは０．０１秒以下であることが好ましい。
【００２８】
まず、センサ１１、１２によって、最新の力Ｆ１、Ｆ２を取得する（ステップＳ２０１）。そして、最新の力Ｆ１、Ｆ２を用いて静的演算による静的重心位置Ｘｏ（ｍ）を算出する（ステップＳ２０２）。静的重心位置Ｘｏ（ｍ）は、以下の式（２）によって、求めることができる。
Ｘｏ＝Ｗ×（Ｆ１−Ｆ２）／（Ｆ１＋Ｆ２）    ・・・（２）
【００２９】
（２）式は、（１）式と同様に導出されている。（２）式を用いることで、静的重心位置推定手段２４は力Ｆ１、Ｆ２から静的重心位置Ｘｏを算出する。すなわち、静的重心位置推定手段２４は、センサ等の幾何学的配置を考慮して、力Ｆ１と力Ｆ２から、静的重心位置Ｘｏを求めている。なお、静的重心位置の演算では、従来方法と同様、急激な体重移動を行った場合等の過渡的な重心位置変化が考慮されていない。例えば、急激に右に体重移動しようとするとき、左足を蹴り出すことによって、体重が右に移動する。このとき、左足を蹴り出すという操作によって、一時的に左足のセンサ１２が大きい値を示す。従って、操作者５０の意図と反対方向の応答を示してしまう。そこで、本実施形態では、下記の通り、運動方程式を用いて、加速度を求め、この加速度から重心位置を推定する。
【００３０】
まず、運動方程式を用いて、重心位置速度Ｖｘを算出する（ステップＳ２０３）。ここで、重心位置速度Ｖｘは以下の式（３）によって求めることができる。
Ｖｘ＝｛（Ｗ＋Ｘ）×Ｆ１−（Ｗ−Ｘ）×Ｆ２｝×Δｔ／（ｍ×Ｈ）＋Ｖｘｏｌｄ    ・・・（３）
【００３１】
上記の式（３）を導出するため、まず、運動方程式を考える。運動方程式から、以下の式（４）が成り立つ。
ｄＶｘ／ｄｔ＝（Ｆ１−Ｆ２−Ｆｏ）×Ｗ／（ｍ×Ｈ）    ・・・（４）
【００３２】
ｄＶｘ／ｄｔは、水平方向における重心位置の加速度となり、重心位置加速度算出手段２１によって算出される。なお、Ｆｏ（Ｎ）は、操作者５０の重心が移動したことによる幾何学変化の補正項で、次の式（５）で表すことができる。
Ｆｏ＝（Ｆ１＋Ｆ２）×Ｘ／Ｗ    ・・・（５）
【００３３】
Ｖｘ＝Ｖｘｏｌｄ＋ｄＶｘ／ｄｔ×Δｔとすると、式（４）、及び式（５）から式（３）を導出することができる。このようにして、重心位置速度算出手段２３が、重心位置の加速度から、重心位置速度Ｖｘを算出する。
【００３４】
次に、重心位置速度Ｖｘを用いて、操作者５０の重心位置Ｘを推定する（ステップＳ２０４）。式（３）を解くことで得られる操作者５０の重心位置速度Ｖｘを時間で積分すれば、操作者５０の重心位置Ｘを推定することができるはずである。但し、計測に誤差が生じている場合、単に重心位置速度Ｖｘを積分しただけでは、誤差が蓄積されていってしまう。そこで、本実施形態では、長い時間スケールや静的な条件では、静的重心位置Ｘｏ（ｍ）の値が操作者５０の重心位置を正しく示すことを利用している。具体的には、推定される重心位置Ｘが静的演算による静的重心位置Ｘｏに収束する減衰項を設ける。この減衰項を設けた式は、以下の式（６）に示すようになる。
【００３５】
Ｘ＝｛Ｖｘ＋（Ｘｏ−Ｘｏｌｄ）／Ｔｘ｝×Δｔ＋Ｘｏｌｄ  ・・・（６）
【００３６】
式（６）において、第２項、すなわち｛（Ｘｏ−Ｘｏｌｄ）／Ｔｘ｝が、重心位置Ｘが静的重心位置Ｘｏに収束する減衰項であり、Ｔｘ（ｓｅｃ）がその時定数である。この減衰項によって、重心位置速度を補正する。人間の動作は、０．１秒〜１秒のスケールで行われるため、時定数Ｔｘの値をその範囲より長めの０．３秒〜３秒に設定することが好ましい。ここで、重心位置Ｘが静的重心位置Ｘｏに収束する値を用いて補正した場合に付いて、図５を参照して説明する。図５では、操作者が右側に傾いている状態（重心位置が中心よりも右側にある状態）から、右足を蹴り上げ、左側に体重移動していく例を示している。
【００３７】
センサ１１、１２の計測値に誤差が含まれる場合、単に、Ｖｘの積分値のみから、重心位置を求めると、図５に示すように発散してしまう。例えば、センサ１１、１２のゼロ点がずれている場合、図５のＶｘの積分値に示すように、時間とともに誤差が蓄積し、重心位置が左側に移動していると判断される。一方、図５の破線で示す静的重心位置Ｘｏは、操作者の体重移動時は、実際の重心位置Ｘからずれるが、ある程度時間が経過すると、実際の重心位置Ｘに収束する。具体的には、操作者５０が体重移動をしてから、ある程度時間が経過すると、操作者５０が静止した状態となる。そのため、実際の重心位置Ｘに、静的重心位置Ｘｏが収束していき、操作者５０が静止した状態で時間が十分経過すると、実際の重心位置Ｘは、静的重心位置Ｘｏがほぼ一致するようになる。なお、静的重心位置Ｘｏは、式（２）によって算出された値である。
【００３８】
ここで、重心位置Ｘが静的重心位置Ｘｏに収束する値である減衰項を用いて、重心位置速度補正手段２５が重心位置速度を補正する。そして、速度重心位置推定手段２６が、重心位置速度補正手段２５によって補正された補正済重心位置速度から重心位置を算出する。すなわち、補正された補正済重心位置速度とサンプリングタイムΔｔとの積に、前回値Ｘｏｌｄを加えることで、重心位置を算出する。具体的には、速度重心位置推定手段２６が、式（６）を用いて、重心位置を推定する。従って、速度重心位置推定手段２６で推定された重心位置は、加速度を考慮した動的な重心位置である。このようにして、重心位置推定手段２２が重心位置を推定する。
【００３９】
重心位置Ｘを推定したら、Ｘｏｌｄ＝Ｘとし（ステップＳ２０５）、Ｖｘｏｌｄ＝Ｖｘとする（ステップＳ２０６）。これにより、最新値が前回値として設定され、この前回値が次の演算ルーチンで使用される。そして、ステップＳ２０１〜ステップＳ２０６を繰り返し行っていき、重心位置を更新していく。このようなアルゴリズムを用いることで、操作者５０が急激に体重移動した場合でも、正確に重心位置を推定することができる。重心位置推定手段２２が推定した重心位置を入力値算出手段２７に出力する。入力値算出手段２７は、推定された重心位置Ｘに基づいて、入力値を算出する。入力値算出手段２７は、利用される入力装置に応じた演算プログラムによって、入力値を算出する。これにより、操作者５０が急激に体重移動した場合でも、操作者５０の重心位置を適切に反映した入力値を求めることができる。よって、適切に入力を行うことができる。さらに、本実施の形態では、重心位置Ｘが静的重心位置Ｘｏに収束する値で、重心位置速度に補正している。これにより、計測に誤差がある場合でも、重心位置Ｘが発散せずに収束する。よって、正確に重心位置を算出することができる。このような重心位置推定方法は、乗物用の入力装置やゲーム機の入力装置に好適である。また、例えば、センサ１１、１２に誤差の蓄積がない場合や、誤差の除去できる場合は、減衰項を用いた補正を行わなくても良い。
【００４０】
上記の説明では、２つのセンサ１１、１２を用いて、左右の重心位置を推定したが、前後の重心位置を推定しても良い。前後に離間した２つのセンサによって、操作者５０から加わる力を検出する。そして、前側のセンサで検出した力を力Ｆ１とし、後側のセンサで検出した力を力Ｆ２とし、Ｘ方向を前後方向とすればよい。さらに、前後左右の重心位置を推定することもできる。例えば、前後の重心位置と、左右の重心位置を推定する場合、４つのセンサを設ける。すなわち、前後に離間した２つのセンサによって、前後の重心位置を推定し、左右に離間した２つのセンサによって左右の重心位置を推定する。前後左右方向の重心位置を推定する場合も、上記のアルゴリズムと同様のアルゴリズムを用いることができる。
【００４１】
さらに、操作者５０が上下方向に動くことも考慮して、重心位置を補正することや、上下方向の運動方程式を設定することも可能である。例えば、上下方向の運動方程式は、以下の式（７）、（８）に示すようになる。
ｄＶｚ／ｄｔ＝（Ｆ１＋Ｆ２）／ｍ−ｇ−Ｖｚ／Ｔｖｚ  ・・・（７）
ｄＺ／ｄｔ＝Ｖｚ＋（Ｈ−Ｚ）／Ｔｚ  ・・・（８）
【００４２】
式（７）、（８）において、Ｖｚは上下方向の重心位置速度（ｍ／ｓｅｃ）、ｇは重力加速度（ｍ／ｓｅｃ２）、Ｚは上下方向の重心位置である。式（７）の第３項、すなわち（Ｖｚ／Ｔｖｚ）は、上下方向の重心位置速度Ｖｚの誤差が蓄積することを防止するために設けた項であり、Ｔｖｚ（ｓｅｃ）は、その時定数である。例えば、時定数Ｔｖｚを０．３秒〜３秒程度とすることができる。このようにすることで、水平方向の重心位置に加え、鉛直方向の重心位置を正確に推定することができる。
【００４３】
なお、上記の説明では、センサ１１、１２が鉛直方向の力を検出する荷重センサとして説明したが、センサ１１、１２が水平方向の力を直接検出してもよい。この場合、式（１）、式（２）を用いずに、センサ１１、１２が検出した水平方向の力の差を用いて、静的重心位置Ｘｏを算出すればよい。センサ１１、１２で検出した水平方向の力をＦｌ１（Ｎ）、Ｆｌ２（Ｎ）とすると、この場合、Ｖｘ＝Ｖｏｌｄ＋（Ｆｌ１−Ｆｌ２）×Δｔ／ｍとなる。
【００４４】
実施の形態２．
本実施の形態にかかる移動体について図６を用いて説明する。図６は、重心位置の移動を入力インターフェースとする入力装置を移動体に応用した例を示している。本実施の形態では、実施の形態１で示した入力装置を移動体の入力装置として用いている。本実施の形態では、４つのセンサ１１〜１４を設けて、前後左右の重心位置変化を推定している。
【００４５】
移動体は、右車輪３１と左車輪３２と車台３０を備えている。車台３０には、実施の形態２で示した処理装置２０を有する制御ボックス（図示せず）を収納している。また、車台３０には、処理装置２０に加えて、右車輪３１を駆動する右車輪用モータ（図示せず）と、左車輪３２を駆動する左車輪用モータ（図示せず）と、これらの機器に電源を供給するバッテリ（図示せず）等を収納している。車台３０には、右車輪３１と左車輪３２が回転可能に取り付けられている。右車輪３１と左車輪３２は同軸上に配置される。この右車輪３１と左車輪３２が回転することで、移動体が移動する。例えば、右車輪３１と左車輪３２が同じ回転速度で前方に回転することで、移動体が前方方向に並進移動し、同じ回転速度で後方に回転することで、移動体が後方に並進移動する。また、右車輪３１と左車輪３２を異なる回転速度で、同じ方向に回転させることで、移動体が右折、又は左折する。さらに、右車輪３１と左車輪３２とを同じ回転速度で逆方向に回転させることで、右旋回、または左旋回する。
【００４６】
さらに、車台３０の上には、センサ１１〜センサ１４が設けられている。センサ１１とセンサ１２とは実施の形態１と同様に、左右に離間して配置される。センサ１１とセンサ１３は、前後に離間して配置される。センサ１２とセンサ１４は、前後に離間して配置される。従って、車台３０の右前側にセンサ１１が配置され、左前側にセンサ１２が配置され、右後側にセンサ１３が配置され、左後側にセンサ１４が配置される。センサ１１、１３の上に、操作者５０が右足を乗せ、センサ１２、１４の上に操作者５０が左足を乗せる。このように、センサ１１〜１４を前後左右に離間して配置することで、前後方向、及び左右方向の両方向において、重心位置を推定することができる。例えば、右側に配置されたセンサ１１、１３と、左側に配置されたセンサ１２、１４とを用いて、左右方向の重心位置を推定する。同様に、前側に配置されたセンサ１１、１２と、後側に配置されたセンサ１３、１４とを用いて、前後方向の重心位置を推定する。
【００４７】
入力装置は、車輪制御アルゴリズムによって、推定された重心位置から、２つのモータに対する入力値（指令値）をそれぞれ算出する。この入力値に基づいて、２つのモータがそれぞれ独立に回転駆動する。そして、モータの駆動力によって、右車輪３１と左車輪３２が回転する。例えば、操作者５０が右に旋回したい場合、右に体重を移す。このとき、左側のセンサ１２、１４を蹴り出した後、右側のセンサ１１、１３に体重が移る。そのため、従来の制御では、一瞬左に旋回してしまう問題があった。しかしながら、本実施の形態では、操作者５０の意図通りに右に旋回することができる。これにより、操作者５０が意図する動作を速やかに行うことができる。
【００４８】
このように、本実施の形態１、２では、操作者５０の重心位置の運動に関する運動方程式を用いて、複数のセンサ１１、１２等からの出力から操作者５０の重心位置を推定する。そして、推定された重心位置から、入力値を求める。なお、上記の実施の形態では、入力値を求めるために操作者５０の重心位置Ｘを推定したが、推定した重心位置Ｘを別の用途に用いても良い。例えば、重心位置を推定して、乗物からの転落防止制御等を行ってもよい。さらに、リハビリ用に歩行者の重心位置を表示する装置に利用しても良い。なお、重心位置を推定する推定対象は人間に限らず、動物やロボットなどでもよい。また、当業者であれば、以上の実施の形態の各要素を本発明の範囲において容易に変更、追加、変換することが可能である。
【符号の説明】
【００４９】
１１  センサ
１２  センサ
２０  処理装置
２１  重心位置加速度算出手段
２２  重心位置推定手段
２３  重心位置速度算出手段
２４  静的重心位置推定手段
２５  重心位置速度補正手段
２６  速度重心位置推定手段
２７  入力値算出手段
３０  車台
３１  右車輪
３２  左車輪
５０  操作者
Ｆ１  センサ１１で検出した力（Ｎ）
Ｆ１  センサ１２で検出した力（Ｎ）
Ｗ  センサ間距離（ｍ）
Ｈ  操作者の重心高さ（ｍ）
ｍ  操作者の重量（ｋｇ）
Ｔｘ  制御時定数（ｓｅｃ）
Ｆｏ  力バランス補正値（Ｎ）
Ｘｏ  静的演算での重心位置（ｍ）
Ｖｘ  Ｘ方向（左右方向）における重心位置速度（ｍ／ｓｅｃ）
Ｘ  Ｘ方向（左右方向）における推定重心位置（ｍ）
Ｘｏｌｄ  Ｘ前回値（ｍ）
Ｖｘｏｌｄ  Ｖｘ前回値（ｍ）
Δｔ  演算のサンプリングタイム（ｓｅｃ）
Ｖｚ  鉛直方向の重心位置速度（ｍ／ｓｅｃ）
ｇ  重力加速度（ｍ／ｓｅｃ２）
【図１】
0005644442.tif 000002
【図２】
0005644442.tif 000003
【図３】
0005644442.tif 000004
【図４】
0005644442.tif 000005
【図５】
0005644442.tif 000006
【図６】
0005644442.tif 000007