(57)【特許請求の範囲】
【請求項１】
搭乗者に固有の身体情報値が格納されており、前記搭乗者によって持ち運び可能な情報記憶媒体に対してアクセス可能に構成された倒立二輪型移動体であって、
実際に搭乗中の前記搭乗者に割り当てられた前記情報記憶媒体に格納された前記身体情報値を前記情報記憶媒体から読み出し、読み出した前記身体情報値に応じて動作し、
所定のタイミングにおいて当該倒立二輪型移動体に生じるトルク値及び所定の条件式から求められる前記トルク値の推定値間のズレ量を低減するための補正値を算出し、当該補正値により前記身体情報値が補正された条件で動作する倒立二輪型移動体。
【請求項２】
前記トルク値及び前記推定値を所定期間に亘って順次算出し、当該所定の期間において前記ズレ量を低減するための前記補正値を算出することを特徴とする請求項１に記載の倒立二輪型移動体。
【請求項３】
算出した前記補正値に基づいて前記情報記憶媒体に格納された前記身体情報値を補正することを特徴とする請求項２に記載の倒立二輪型移動体。
【請求項４】
前記身体情報値は、前記搭乗者の体重及び／又は重心高さに応じた値であることを特徴とする請求項３に記載の倒立二輪型移動体。
【請求項５】
共通の軸線上に配置され、個々に独立して回転制御される一組の車輪と、
一組の前記車輪夫々を軸支すると共に、前記軸線を回転軸として前記車輪に対して揺動可能に構成された本体と、を備え、
少なくとも鉛直軸線に対する前記本体の傾き角、及び前記車輪の回転角に基づいて前記推定値を算出することを特徴とする請求項４に記載の倒立二輪型移動体。
【請求項６】
搭乗者に固有の身体情報値が格納されており、前記搭乗者によって持ち運び可能に構成された情報記憶媒体に対してアクセス可能に構成された倒立二輪型移動体であって、
実際に搭乗中の前記搭乗者に割り当てられた前記情報記憶媒体に格納された前記身体情報値を前記情報記憶媒体から読み出し、読み出した前記身体情報値に応じた指令を生成する制御部と、
前記制御部にて生成された指令に応じて車輪を駆動する駆動部と、
を備え、
前記制御部は、所定のタイミングにおいて当該倒立二輪型移動体に生じるトルク値及び所定の条件式から求められる前記トルク値の推定値間のズレ量を低減するための補正値を算出し、当該補正値により前記身体情報値が補正された条件で前記指令を生成する、倒立二輪型移動体。
【請求項７】
前記制御部は、前記トルク値及び前記推定値を所定期間に亘って順次算出し、当該所定の期間において前記ズレ量を低減するための前記補正値を算出することを特徴とする請求項６に記載の倒立二輪型移動体。
【請求項８】
前記制御部は、算出した前記補正値に基づいて前記情報記憶媒体に格納された前記身体情報値を補正することを特徴とする請求項７に記載の倒立二輪型移動体。
【請求項９】
前記身体情報値は、前記搭乗者の体重及び／又は重心高さに応じた値であることを特徴とする請求項８に記載の倒立二輪型移動体。
【請求項１０】
共通の軸線上に配置され、個々に独立して回転制御される一組の車輪と、
一組の前記車輪夫々を軸支すると共に、前記軸線を回転軸として前記車輪に対して揺動可能に構成された本体と、を備え、
少なくとも鉛直軸線に対する前記本体の傾き角、及び前記車輪の回転角に基づいて前記推定値を算出することを特徴とする請求項９に記載の倒立二輪型移動体。
【請求項１１】
搭乗者に固有の身体情報値が格納されており、前記搭乗者によって持ち運び可能な情報記憶媒体に対してアクセス可能に構成された倒立二輪型移動体を動作させるためのプログラムであって、
実際に搭乗中の前記搭乗者に割り当てられた前記情報記憶媒体に格納された前記身体情報値を前記情報記憶媒体から読み出させ、
所定のタイミングにおいて当該倒立二輪型移動体に生じるトルク値及び所定の条件式から求められる前記トルク値の推定値間のズレ量を低減するための補正値を算出させ、
当該補正値により前記身体情報値が補正された条件で動作させる、プログラム。
【請求項１２】
前記トルク値及び前記推定値を所定期間に亘って順次算出させ、当該所定の期間において前記ズレ量を低減するための前記補正値を算出させることを特徴とする請求項１１に記載のプログラム。
【請求項１３】
搭乗者に固有の身体情報値が格納されており、前記搭乗者によって持ち運び可能な情報記憶媒体に対してアクセス可能に構成された倒立二輪型移動体の動作方法であって、
実際に搭乗中の前記搭乗者に割り当てられた前記情報記憶媒体に格納された前記身体情報値を前記情報記憶媒体から読み出し、
所定のタイミングにおいて当該倒立二輪型移動体に生じるトルク値及び所定の条件式から求められる前記トルク値の推定値間のズレ量を低減するための補正値を算出し、
当該補正値により前記身体情報値が補正された条件で動作する、倒立二輪型移動体の動作方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、倒立二輪型移動体、移動体の動作方法、及びプログラムに関する。
【背景技術】
【０００２】
一組の車輪夫々を独立に制御し、倒立状態を維持しながら空間移動する倒立二輪型移動体に関する技術の進展が著しい。より安定な走行を実現するためには、搭乗者の身体情報（体重、重心位置等）を移動体の動作制御に反映させることが重要になる。搭乗者の身体情報に応じて、単位駆動量に対する移動体の動作量は変動するためである。例えば、搭乗者の体重がより重いときにはより大きな値のトルクが生じるように制御することが要求され、他方、搭乗者の体重がより軽いときにはより小さな値のトルクが生じるように制御することが要求される。
【０００３】
特許文献１には、簡単に最適な移動制御を可能とすることで搭乗者の乗り心地を向上させる技術が開示されている。具体的には、搭乗者の身長／体重を測定する測定部を有する不安定型移動体において、搭乗者の個人データに基づいて制御パラメータを特定し、この制御パラメータを測定部の測定結果に基づいて修正する。
【０００４】
特許文献２には、車両に搭乗している重量体の状態に適した姿勢制御を行なう技術が開示されている。具体的には、計測器による直接測定／制御結果からの推定によって、現在の車両に搭乗している搭乗物を含めた被制御対象全体の実際の力学的特性量を得る。そして、姿勢制御系における制御系特性量を修正する。
【０００５】
なお、特許文献３には、回転体と路面間のスリップの発生を検出することでスリップ解消のための処理を実行する技術が開示されている。特許文献４には、搭乗者を個体識別して常に安定な走行が行なわれるようにする技術が開示されている。特許文献５には、安全性を向上することができる倒立車輪型移動体に関する技術が開示されている。特許文献６には、タイヤの空転の抑制制御に関する技術が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００８−５６１９２号公報
【特許文献２】特開２００８−１８９３１号公報
【特許文献３】特開２００８−１８９０８９号公報
【特許文献４】特開２００８−８７６７４号公報
【特許文献５】特開２００９−１０１８９７号公報
【特許文献６】特開２００７−３１８９４１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上述のように、より安定な走行を実現するためには、搭乗者の身体情報（体重、重心位置等）を移動体の動作制御に反映させることが重要になる。不特定多数の者により倒立二輪型移動体が利用される場合には、個々人の身体情報を的確に移動制御に反映させることは非常に重要となる。同一の者によって倒立二輪型移動体が利用される場合においても同様である。搭乗者が同一であっても、その体重、体調は日々変動するためである。
【０００８】
なお、特許文献１の場合には、各人の身体情報に応じて最適な移動制御を実現する点が開示されているが、システム構成が複雑であり、簡易な構成にて倒立二輪型移動体を実現することはできない。
【０００９】
上述の説明から明らかなように、より簡便な方法にて、搭乗者の身体情報（体重、重心位置等）を移動体の移動制御に反映させることが強く望まれている。
【課題を解決するための手段】
【００１０】
本発明に係る倒立二輪型移動体は、搭乗者に固有の身体情報値が格納されており、前記搭乗者によって持ち運び可能な情報記憶媒体に対してアクセス可能に構成された倒立二輪型移動体であって、実際に搭乗中の前記搭乗者に割り当てられた前記情報記憶媒体に格納された前記身体情報値を前記情報記憶媒体から読み出し、読み出した前記身体情報値に応じて動作する。この構成を採用することによって、より簡便な方法にて、搭乗者の身体情報（体重、重心位置等）を移動体の移動制御に反映させることが可能になる。
【００１１】
所定のタイミングにおいて当該倒立二輪型移動体に生じるトルク値及び所定の条件式から求められる前記トルク値の推定値間のズレ量を低減するための補正値を算出し、当該補正値により前記身体情報値が補正された条件で動作する、と良い。
【００１２】
前記トルク値及び前記推定値を所定期間に亘って順次算出し、当該所定の期間において前記ズレ量を低減するための前記補正値を算出する、と良い。
【００１３】
算出した前記補正値に基づいて前記情報記憶媒体に格納された前記身体情報値を補正する、と良い。
【００１４】
前記身体情報値は、前記搭乗者の体重及び／又は重心高さに応じた値である、と良い。
【００１５】
共通の軸線上に配置され、個々に独立して回転制御される一組の車輪と、一組の前記車輪夫々を軸支すると共に、前記軸線を回転軸として前記車輪に対して揺動可能に構成された本体と、を備え、少なくとも鉛直軸線に対する前記本体の傾き角、及び前記車輪の回転角に基づいて前記推定値を算出する、と良い。
【００１６】
本発明に係るプログラムは、搭乗者に固有の身体情報値が格納されており、前記搭乗者によって持ち運び可能な情報記憶媒体に対してアクセス可能に構成された倒立二輪型移動体を動作させるためのプログラムであって、実際に搭乗中の前記搭乗者に割り当てられた前記情報記憶媒体に格納された前記身体情報値を前記情報記憶媒体から読み出させ、所定のタイミングにおいて当該倒立二輪型移動体に生じるトルク値及び所定の条件式から求められる前記トルク値の推定値間のズレ量を低減するための補正値を算出させ、当該補正値により前記身体情報値が補正された条件で動作させる。
【００１７】
本発明に係る倒立二輪型移動体の動作方法は、搭乗者に固有の身体情報値が格納されており、前記搭乗者によって持ち運び可能な情報記憶媒体に対してアクセス可能に構成された倒立二輪型移動体の動作方法であって、実際に搭乗中の前記搭乗者に割り当てられた前記情報記憶媒体に格納された前記身体情報値を前記情報記憶媒体から読み出し、所定のタイミングにおいて当該倒立二輪型移動体に生じるトルク値及び所定の条件式から求められる前記トルク値の推定値間のズレ量を低減するための補正値を算出し、当該補正値により前記身体情報値が補正された条件で動作する。
【発明の効果】
【００１８】
本発明によれば、より簡便な方法にて、搭乗者の身体情報（体重、重心位置等）を移動体の移動制御に反映させることができる。
【図面の簡単な説明】
【００１９】
【図１】本発明の第１実施形態にかかるロボットの概略的な斜視図である。
【図２】本発明の第１実施形態にかかるロボットの概略的なブロック図である。
【図３】本発明の第１実施形態にかかるロボットの本体のピッチ角を説明するための説明図である。
【図４】本発明の第１実施形態にかかるロボットの車輪の回転角を説明するための説明図である。
【図５】本発明の第１実施形態にかかるロボットの動作を示す概略的なフローチャートである。
【発明を実施するための形態】
【００２０】
以下、図面を参照して本発明の実施の形態について説明する。なお、各実施の形態は、説明の便宜上、簡略化されている。図面は簡略的なものであるから、図面の記載を根拠として本発明の技術的範囲を狭く解釈してはならない。図面は、もっぱら技術的事項の説明のためのものであり、図面に示された要素の正確な大きさ等は反映していない。同一の要素には、同一の符号を付し、重複する説明は省略するものとする。
【００２１】
［第１実施形態］
以下、図１乃至図５を参照して本発明の第１実施形態について説明する。図１は、ロボットの概略的な斜視図である。図２は、ロボットの概略的なブロック図である。図３は、ロボットの本体のピッチ角を説明するための説明図である。図４は、ロボットの車輪の回転角を説明するための説明図である。図５は、ロボットの動作を示す概略的なフローチャートである。
【００２２】
図１に示すように、ロボット１００は、本体２１０、及び車輪２２０を有する。本体２１０は、着座部２１１、一組の肘掛部２１２、及び足台部２１３を有する。着座状態の搭乗者から見て右側の肘掛部２１２には、ボールコントローラ２１５、及びスロット２３０が設けられている。
【００２３】
ロボット１００の本体２１０には、一組の車輪２２０夫々が軸支されている。一組の車輪２２０夫々は、同軸上に設けられている。各車輪２２０に対応づけてモータが設けられている。モータの回転軸には、車輪２２０がはめ込まれている。モータの回転軸は、車輪２２０の回転軸として機能する。モータへの電流供給に応じて車輪２２０は回転する。
【００２４】
本体２１０は、車輪２２０の回転軸に対して揺動可能に構成されている。本体２１０の筐体内にはコンピュータが内蔵されている。コンピュータは、車輪２２０の回転状態を制御し、これをもってロボット１００の移動状態が制御される。なお、ロボット１００内に組み込まれるコンピュータは、ＣＰＵ(Central Processing Unit)、ハードディスク、マザーボード、メモリ、ヒートシンク等から組み立てられる一般的なコンピュータである。ハードディスクに格納されたプログラムをＣＰＵにて実行することによって様々な制御が実行される。
【００２５】
本体２１０には、着座部２１１が設けられている。着座部２１１は、搭乗者が着座する部分である。本体２１０には、一組の肘掛部２１２が設けられている。肘掛部２１２は、搭乗者がその肘を掛ける部分である。肘掛部２１２には、上述のように、ボールコントローラ２１５、及びスロット２３０が設けられている。ボールコントローラ２１５は、ボールが操作子として機能する。ボールの回転を電気的に検出することによって、搭乗者による操縦指示がロボット１００に入力される。スロット２３０は、図１に模式的に示すように、一般的なメモリカード２３１が挿入されるスロットである。ロボット１００は、メモリカードリーダーを具備し、メモリカードリーダーのスロットに挿入されたメモリカードに格納された情報に対してアクセス可能に構成されている。
【００２６】
なお、後述の説明から明らかなように、メモリカード２３１には、搭乗者の体重を示す値（身体情報値）が格納されている。ロボット１００は、メモリカード２３１に格納された体重値に応じて動作する。これによって、現在の搭乗者に適した条件にてロボット１００を動作させることが可能になる。例えば、体重がより重い者が搭乗している場合、ロボット１００は、より大きなトルクが生じるように動作する。体重がより軽い者が搭乗している場合、ロボット１００は、より小さなトルクが生じるように動作する。これによって、現在の搭乗者に適した条件にてロボット１００が動作し、その搭乗者が感じ得るストレス（動作が遅すぎる／動作が速すぎる等）を低減することが可能になる。
【００２７】
昨今においては、メモリカードの普及は著しく、その価格も低価格化が進展している。このような背景において、ユーザーに対して、搭乗時、個々のロボット１００に対して体重値の入力を強いることは簡便性に欠ける。また、一人のユーザーが多数のロボット１００に搭乗する場合もあるため、予め個々のロボット１００に対してユーザーの体重値を入力しておくことも簡便性に欠ける。
【００２８】
本実施形態においては、上述のように、自身の体重値が格納されたメモリカード（情報記憶媒体）をユーザーが持ち運び、ユーザーは、ロボット１００に搭乗するとき、ロボット１００に対してメモリカード２３１を挿入する。この場合、ロボット１００に対して体重値を予め入力する必要はない。共通のロボット１００に対して多数のユーザーが存在する場合であっても、ユーザーが多数のロボット１００を使用する場合であっても、簡便にユーザーに適合した条件にてロボット１００を動作させることができる。また、ロボット１００に予めストアしておく情報量を低減し、ロボット１００に組み込まれる記憶装置の空き容量を増大することができる。また、各ユーザーは、自身に予め割り当てられたメモリカードを保持し、これをロボット１００のスロットの挿し込めば足りるため、個々のユーザー同士を識別する必要もなく、ロボット１００のシステム構成を簡素化することができる。
【００２９】
なお、スロット２３０を配置する位置は任意である。肘掛部２１２に限らず、本体２１０の背面にスロット２３０を設けても良い。
【００３０】
以下、図２乃至図５を参照して、ロボット１００の動作を詳細に説明する。
【００３１】
図２に示すように、ロボット１００は、角速度検出部１０、加速度検出部１１、操作指示入力部１２、メモリ部２０、制御部５０、駆動部６０、及び駆動部７０を有する。駆動部６０は、アンプ６１、モータ６２、電流検出部６３、及び回転角検出部６４を有する。駆動部７０は、アンプ７１、モータ７２、電流検出部７３、及び回転角検出部７４を有する。
【００３２】
接続関係は次のとおりである。角速度検出部１０の出力は、制御部５０に接続される。加速度検出部１１の出力は、制御部５０に接続される。操作指示入力部１２の出力は、制御部５０に接続される。メモリ部２０の出力は、制御部５０に接続される。制御部５０の出力は、メモリ部２０、アンプ６１、及びアンプ７１に接続される。アンプ６１の出力は、モータ６２に接続される。電流検出部６３の出力は、アンプ６１に接続される。回転角検出部６４の出力は、アンプ６１、及び制御部５０に接続される。アンプ７１の出力は、モータ７２に接続される。電流検出部７３の出力は、アンプ７１に接続される。回転角検出部７４の出力は、アンプ７１、及び制御部５０に接続される。
【００３３】
角速度検出部１０は、ｘｚ平面内で本体２１０の角速度を検出して出力する。具体的には、角速度検出部１０は、ジャイロセンサで角速度を検出し、ジャイロセンサから出力されるアナログ値をデジタル変換して出力する。
【００３４】
角速度検出部１０は、例えば、ＭＥＭＳ(Micro-Electro Mechanical Systems)を活用したジャイロセンサを有する。ジャイロセンサは、半導体プロセス技術を活用して、半導体、ガラス等の基板上に３次元構造を高精細に形成して製造される。ジャイロセンサは、基板上に配置された振動体の空間的な変位を電気的に検出することによって、コリオリの力を電気的に検出する。例えば、ジャイロセンサは、振動体を振動状態とし、振動体と検出電極間の容量値の変化を検出することによって、コリオリの力を電気的に検出する。なお、ジャイロセンサの具体的な構造、コリオリの力の検出方法は任意である。
【００３５】
加速度検出部１１は、ｘ軸、ｚ軸方向の加速度を検出し、次の計算式を実行して傾斜角ｎを算出する。
ｎ＝Ａｔａｎ（Ｇｘ／Ｇｚ）
但し、Ａ：任意の定数、Ｇｘ：ｘ軸方向の加速度、Ｇｚ：ｚ軸方向の加速度とする。
【００３６】
なお、傾斜角ｎは、図３に模式的に示すように、鉛直軸線ＡＸ１に対して本体２１０の軸ＡＸ２がなす角度に等しい。図３に示す軸線ＡＸ３は、車輪２２０の回転軸に一致する。傾斜角ｎは、車輪２２０に対する本体２１０の傾斜の程度を示す。
【００３７】
加速度検出部１１は、各軸に対応して加速度センサを有する。加速度センサの出力は、ローパス回路に接続される。ローパス回路の出力は、演算回路に接続される。加速度センサは、ＭＥＭＳ(Micro-Electro Mechanical Systems)を活用したセンサである。ローパス回路は、加速度センサの出力波形の高周波成分を除去し、その低周波成分を通過させる。演算回路は、ローパス回路の出力に基づいて上述の演算式を実行し、演算により求めた傾斜角ｎを出力する。なお、傾斜角ｎは、傾斜角度を示すデジタル値である。なお、加速度センサは、本体２１０の中心に対して１個搭載される。本体２１０の中心から相対的な距離が把握できる位置に加速度センサを配置しても良い。
【００３８】
操作指示入力部１２は、上述のボールコントローラ２１５に対応する。ただし、操作指示入力部１２の具体的な構成は任意である。操作子としては、通常のハンドルを採用しても良い。ジョイステックのような棒状の操作子を採用しても良い。操作指示入力部１２は、搭乗者の操作指示を受け付け、これに応じた操作指示値を制御部５０へ出力する。
【００３９】
メモリ部２０は、スロット２３０に挿着されたメモリカード２３１に相当する。メモリカード２３１は、ＤＲＡＭ(Dynamic Random Access Memory)等の通常の半導体メモリ素子である。
【００４０】
制御部５０は、様々な指令を生成し、周辺デバイスを制御する機能部分である。制御部５０は、例えば、ＣＰＵ等から構成される。制御部５０は、角速度検出部１０、加速度検出部１１、操作指示入力部１２、回転角検出部６４、及び回転角検出部７４の出力値を受信する。また、制御部５０は、メモリ部２０に対してメモリアクセスする。制御部５０は、角速度検出部１０、加速度検出部１１、操作指示入力部１２、メモリ部２０、回転角検出部６４、及び回転角検出部７４からの出力値に基づいて所定の演算処理をし、駆動部６０、７０を駆動するための指令を生成し、これを駆動部６０、７０に対して供給する。
【００４１】
駆動部６０、７０は、制御部５０から伝送される指令に応じて車輪２２０を駆動する。
【００４２】
アンプ６１は、制御部５０から供給される指令（デジタル値）に応じて、モータ６２へ電流を供給する。アンプ６１からモータ６２へ供給される電流量は、制御部５０から伝達した指令値と電流検出部６３により検出された電流値とに基づいて決定される。アンプ７１についても同様である。
【００４３】
モータ６２は、アンプ６１からの供給電流に応じて駆動される。モータ６２は、通電に応じて回転軸が回転する一般的なモータである。モータ６２の回転軸は、アンプ６１からの供給電流に応じて回転し、これにより、モータ６２に軸着した車輪２２０が回転する。モータ７２についても同様である。
【００４４】
電流検出部６３は、モータ６２に流れる電流量を検出し、これをアンプ６１に供給する。アンプ６１は、電流検出部６３から伝達する電流値に基づいて、現在のモータ６２に流れる電流量を検知し、モータ６２への供給電流量を調整する。電流検出部７３についても同様である。
【００４５】
回転角検出部６４は、車輪２２０の回転角θを検出する。なお、回転角θは、図４に模式的に示すように、移動前の位置ｐ１０が軸線ＡＸ１上にあり、移動後の位置ｐ１０が軸線ＡＸ４上にあるとき、軸線ＡＸ１に対して軸線ＡＸ４がなす角度に相当する。なお、説明の便宜上、基準となる位置を軸線ＡＸ１上に設定したが、これに限られることはない。回転角θを把握するための基準位置は、任意である。
【００４６】
回転角検出部６４は、例えば、光学式/磁気式のエンコーダである。光学式エンコーダの場合、エンコーダは、車輪２２０に設けられた回転体の外周領域に形成されたスリットの数を光学的に検出し、スリット数に応じたカウント値を出力する。磁気式エンコーダの場合、エンコーダは、上述の回転体の外周領域に順次配置された磁石の個数を磁気的に検出し、磁石数に応じたカウント値を出力する。回転角検出部６４の出力は、制御部５０、アンプ６１へ接続される。制御部５０は、回転角検出部６４から供給される回転角値に応じて、車輪２２０の回転状態を検知する。アンプ６１は、回転角検出部６４から供給される回転角値に応じて、モータ６２への供給電流量を調整する。回転角検出部７４についても同様である。
【００４７】
次に、図５を参照して、メモリカード２３１に格納された体重値に応じてロボット１００が動作する点について説明する。
【００４８】
まず、イニシャル処理を実行する（Ｓ１００）。具体的には、ロボット１００は、搭乗者によるスイッチオンに応じて、電気素子に対して電源供給を開始し、また、各電気素子の動作状態を確認する。イニシャル処理時に電子素子の異常が検知されると、ロボット１００は、自身の故障を検知して起動停止状態となる。
【００４９】
その後、メモリ部２０から体重値Ｍを取得する（Ｓ１０１）。具体的には、制御部５０は、メモリ部２０に対してメモリアクセスし、メモリ部２０にストアされている体重値Ｍをメモリ部２０からリードする。なお、ロボット１００の起動時、予め、現在の搭乗者が保持するメモリカード２３１がスロット２３０に挿入されているものとする。
【００５０】
次に、基礎データを取得する（Ｓ１０２）。具体的には、制御部５０は、駆動部６０、７０に対して所定の駆動指示をした状態において、角速度検出部１０、加速度検出部１１、回転角検出部６４からの出力値を取得する。制御部５０は、角速度検出部１０からの出力値に基づいて傾斜角ｎを算出する。また、制御部５０は、加速度検出部１１からの出力値に基づいて傾斜角ｎを算出する。制御部５０は、角速度検出部１０の出力値から算出した傾斜角を加速度検出部１１からの出力値から算出した傾斜角により補正する。制御部５０は、回転角検出部６４からの出力値に基づいて回転角θを検知する。
【００５１】
基礎データを全て取得した場合（Ｓ１０３）、補正値ΔＭを算出する（Ｓ１０４）。基礎データを全て取得できなかった場合（Ｓ１０３）、Ｓ１０２のステップに戻る。
【００５２】
以下、補正値ΔＭの算出方法について説明する。なお、補正値ΔＭは、体重値Ｍを補正するための値である。搭乗者の体重は日々変動する。従って、現在の搭乗者の体重が、メモリカード２３１にストアした体重値から大きくずれてしまう場合も生じ得る。このような場合、誤った体重値Ｍに応じてロボット１００が動作すると、搭乗者に心理的なストレスを与えうる。本実施形態では、ロボット１００に実際に生じるトルクとそのトルクの推定値間のズレを補正値ΔＭによって補う。補正値ΔＭによって体重値Ｍを修正することによって、メモリカード２３１に格納された体重値に誤りがある場合にも、現在のロボット１００の搭乗者により適した条件にてロボット１００を動作させることが可能になる。
【００５３】
以下のモデル式（１）は、本体２１０に生じるトルクに関し、任意のタイミングにおけるトルク値とその推定値との関係を示す。推定値（左辺）とトルク値（右辺）との差が存在するとしても、両辺の値が等しくなるようにΔＭの値は設定される。
【００５４】
なお、Ｊ１、Ｊ２、・・・は、慣性項であり、ロボット１００の具体的な構造から定められる係数である。Ｍは、メモリ部２０に格納された体重値である。ｆ１、ｆ２、・・・は、粘性項であり、ロボット１００の具体的な構造から定められる係数である。ｎは、ピッチ角である。θは、回転角である。ｍは、ギガ比（所定の係数）である。ｕは、トルク値である。なお、トルク値は、制御部５０自体がアンプ６１、７１に対して指示する値であり、その値は既知である。
0005391990.tif 000002
【００５５】
異なるタイミングｔ＝１〜ｋの間で、ｎ、θの各値を取得し、これをモデル式（１）に代入する。そして、数式（２）に示すように、推定値とトルク値間の差を積分し、積分値Ｑを取得する。そして、積分値Ｑを微分した値＝０となるような補正値ΔＭを算出する。これによって、トルク値及びトルク値の推定値間のズレ量を最小とするための補正値ΔＭの値を求めることができ、補正値ΔＭを体重値Ｍに加算することによって体重値Ｍに含まれる誤差をキャンセルすることが可能になる。
0005391990.tif 000003
【００５６】
また、以下のモデル式（３）は、車輪２２０に生じるトルクに関し、任意のタイミングにおける検知されたトルク値とその推定値との関係を示す。このモデル式（３）に対して、（Ｍ＋ΔＭ）の体重項を左辺に追加することによって、上述の場合と同様に、体重値Ｍに含まれる誤差を低減することが可能になる。但し、搭乗者が感じる心理的なストレスの影響は、回転角の増減の影響に比べて、ピッチ角の増減の影響が大きい。従って、ピッチ角について上述の計算処理を実行するほうが効率的である。
0005391990.tif 000004
【００５７】
なお、式（２）の値を最小とする具体的な計算方法は任意である。代数方程式を活用しても算出することができるが、補正値ΔＭに対して任意の値を予め代入し、補正値ΔＭを正の方向及び負の方向に変動させることによって、式（２）の値が最小となる補正値ΔＭを検知しても良い。
【００５８】
次に、ゲイン計算する（Ｓ１０５）。具体的には、制御部５０は、体重値Ｍの値に対して補正値ΔＭを加算し、修正後の体重値Ｍに基づいてゲインを計算する。なお、ゲインの計算方法は任意である。体重値Ｍの増加に応じて、算出されるゲインの絶対値は大きくなる。体重値Ｍの減少に応じて、算出されるゲインの絶対値は小さくなる。このような基本的な枠組みさえ満足すれば十分である。
【００５９】
次に、体重値Ｍを更新する（Ｓ１０６）。具体的には、制御部５０は、メモリ部２０に対してアクセスし、メモリ部２０に格納された体重値Ｍに対して補正値ΔＭを加算する。これによって、メモリ部２０にストアされた体重値を、現在の搭乗者に適合したものに修正することが可能になる。
【００６０】
その後、ロボット１００は、通常のように動作する。例えば、操作指示入力部１２に入力された操作指示に応じて、所望の方向に移動したり、その場で旋回したりする。算出されたゲインによって、制御部５０からアンプ６１に伝達される制御量は変動する。これによって、現在の搭乗者によりマッチした条件にて、ロボット１００を動作させることが可能になる。
【００６１】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。制御部５０は、ハードウェアのソフトウェア制御により実現されるものであり、本願には、プログラム及びこれが格納された情報記録媒体（ハードディスク、磁気／光ディスク、メモリ等）も開示されているものとする。
【００６２】
第１実施形態では、体重値を身体情報値として活用したが、これに限られることはない。重心高さを身体情報値として活用しても良い。また、体重値と重心高さの両方を活用し、より現在の搭乗者にマッチした条件にてロボット１００を駆動させても良い。ロボット１００の動作により体重値を推定し、この値に基づいてメモリカード２３１に格納された値の真偽を求めてもよい。
【符号の説明】
【００６３】
１００    ロボット（倒立二輪型移動体）
１０    角速度検出部
１１    加速度検出部
１２    操作指示入力部
２０    メモリ部
５０    制御部
６０    駆動部
６１    アンプ
６２    モータ
６３    電流検出部
６４    回転角検出部
７０    駆動部
７１    アンプ
７２    モータ
７３    電流検出部
７４    回転角検出部
２１０    本体
２１１    着座部
２１２    肘掛部
２１３    足台部
２１５    ボールコントローラ
２２０    車輪
２３０    スロット
２３１    メモリカード
Ｍ    体重値
ｎ    傾斜角値
ΔＭ    補正値
θ    回転角
【図１】
0005391990.tif 000005
【図２】
0005391990.tif 000006
【図３】
0005391990.tif 000007
【図４】
0005391990.tif 000008
【図５】
0005391990.tif 000009