(57)【要約】      （修正有）【課題】倒立制御の安定性を向上させることができる倒立型移動体及びその制御方法を提供する。【解決手段】本発明にかかる倒立型移動体１は、ハンドル部と、車体と、車輪と、を備える。さらに、倒立型移動体は、距離取得部２０２と、重心位置推定部２０３と、倒立制御演算部２０６と、左右モータ制御部２０７と、を備える。距離取得部２０２は、ハンドル部から搭乗者までの距離を取得する。重心位置推定部２０３は、移動体パラメータと、ハンドル部の姿勢角度と、ハンドル部から搭乗者までの距離と、に基づいて、予め設定された拘束条件を用いて搭乗者の重心位置を推定する。倒立制御演算部２０６及び左右モータ制御部２０７は、搭乗者の重心位置と、車体の姿勢角度と、に基づいて、車体の倒立制御を行う。【選択図】図２
2014159223.tif 000002
【特許請求の範囲】
【請求項１】
車輪と、前記車輪に支持され、搭乗者が搭乗可能な車体と、前記車体に固定されたハンドルと、を備える倒立型移動体であって、
前記搭乗者の体格に関する搭乗者パラメータと、前記倒立型移動体の形状に関する移動体パラメータと、を予め記憶する記憶手段と、
前記車体の姿勢角度を取得する車体角度取得手段と、
前記ハンドルの姿勢角度を取得するハンドル角度取得手段と、
前記ハンドルから前記搭乗者までの距離を取得する距離取得手段と、
前記搭乗者パラメータと、前記移動体パラメータと、前記ハンドルの姿勢角度と、前記ハンドルから前記搭乗者までの距離と、に基づいて、予め設定された拘束条件を用いて前記搭乗者の重心位置を推定する重心位置推定手段と、
前記搭乗者の重心位置と、前記車体の姿勢角度と、に基づいて、前記車輪の駆動を制御して前記車体の倒立制御を行う倒立制御手段と、
を備える倒立型移動体。
【請求項２】
前記車体の姿勢角度と、前記搭乗者の重心位置に基づく前記搭乗者の姿勢角度と、に基づいて、前記車体及び前記搭乗者を含む系全体の姿勢角度を算出する系角度算出手段をさらに備え、
前記倒立制御手段は、前記系全体の姿勢角度に基づいて、倒立制御を行う請求項１に記載の倒立型移動体。
【請求項３】
前記系全体の姿勢角度は、前記車体の姿勢角度から前記搭乗者の姿勢角度までの間の任意の角度である請求項２に記載の倒立型移動体。
【請求項４】
前記系角度算出手段は、前記車体の姿勢角度及び前記搭乗者の姿勢角度に所定の重み係数を乗じて足し合わせた値を、前記系全体の姿勢角度として算出し、
前記所定の重み係数は、任意に設定可能である請求項２または３に記載の倒立型移動体。
【請求項５】
前記搭乗者の肘関節の角度を検出する肘角度検出手段をさらに備え、
前記距離取得手段は、前記搭乗者パラメータ及び前記肘関節の角度に基づいて、前記ハンドルから前記搭乗者までの距離を取得する請求項１〜４のいずれか一項に記載の倒立型移動体。
【請求項６】
前記搭乗者の膝関節の角度を検出する膝角度検出手段をさらに備え、
前記重心位置推定手段は、前記搭乗者パラメータ及び前記膝関節の角度に基づいて、前記搭乗者の重心位置を推定する請求項１〜５のいずれか一項に記載の倒立型移動体。
【請求項７】
前記搭乗者パラメータには、前記搭乗者の身長が含まれる請求項１〜６のいずれか一項に記載の倒立型移動体。
【請求項８】
前記予め設定された拘束条件は、幾何学的な拘束条件である請求項１〜７のいずれか一項に記載の倒立型移動体。
【請求項９】
車輪と、前記車輪に支持され、搭乗者が搭乗可能な車体と、前記車体に固定されたハンドルと、を備える倒立型移動体の制御方法であって、
前記車体の姿勢角度を取得するステップと、
前記ハンドルの姿勢角度を取得するステップと、
前記ハンドルから前記搭乗者までの距離を取得するステップと、
前記搭乗者の体格に関する搭乗者パラメータと、前記倒立型移動体の形状に関する移動体パラメータと、前記ハンドルの姿勢角度と、前記ハンドルから前記搭乗者までの距離と、に基づいて、予め設定された拘束条件を用いて前記搭乗者の重心位置を推定するステップと、
前記搭乗者の重心位置と、前記車体の姿勢角度と、に基づいて、前記車輪の駆動を制御して前記車体の倒立制御を行うステップと、
を備える倒立型移動体の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、倒立型移動体及びその制御方法に関する。
【背景技術】
【０００２】
車輪に対して車体が起立した状態を維持して走行可能に構成された車両（以下、倒立型移動体と呼ぶこともある）は、コンパクト構成であることに加えて、搭乗の容易さ・迅速さを利点とする。この利点を更に進展させるため、従来から、倒立移動体に対する搭乗者の搭乗手順を改良し、よりユーザ志向の製品を提供することが求められている。
【０００３】
倒立型移動体は、一般的に車両の傾斜角を入力として、左右の車輪の回転角速度を算出し、左右の車輪を駆動させることにより、倒立制御を行う。例えば、特許文献１には、負荷体（搭乗者が把持するハンドルなど）の重心と車輪の重心との間の重心間距離と、車体の状態量と、所望の走行状態を実現するための指令値と、に基づいて、倒立制御を行う倒立型移動体が記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−６３１２０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に開示された技術においては、搭乗者と倒立型移動体との位置関係は考慮されていない。そのため、搭乗者の重心位置が倒立型移動体の重心位置と異なる場合に、安定した倒立制御が難しいという問題があった。
【０００６】
本発明はこのような問題を解決するためになされたものであり、倒立制御の安定性を向上させることができる倒立型移動体及びその制御方法を提供することを目的としている。
【課題を解決するための手段】
【０００７】
本発明の一態様にかかる倒立型移動体は、車輪と、前記車輪に支持され、搭乗者が搭乗可能な車体と、前記車体に固定されたハンドルと、を備える倒立型移動体であって、前記搭乗者の体格に関する搭乗者パラメータと、前記倒立型移動体の形状に関する移動体パラメータと、を予め記憶する記憶手段と、前記車体の姿勢角度を取得する車体角度取得手段と、前記ハンドルの姿勢角度を取得するハンドル角度取得手段と、前記搭乗者パラメータに基づいて、前記ハンドルから前記搭乗者までの距離を取得する距離取得手段と、前記搭乗者パラメータと、前記移動体パラメータと、前記ハンドルの姿勢角度と、前記ハンドルから前記搭乗者までの距離と、に基づいて、予め設定された拘束条件を用いて前記搭乗者の重心位置を推定する重心位置推定手段と、前記搭乗者の重心位置と、前記車体の姿勢角度と、に基づいて、前記車輪の駆動を制御して前記車体の倒立制御を行う倒立制御手段と、を備えるものである。これにより、搭乗者の重心位置及び車体の重心位置を含めた系全体としての倒立制御が可能になる。そのため、倒立制御の安定性を向上させることができる。
【０００８】
また、前記車体の姿勢角度と、前記搭乗者の重心位置に基づく前記搭乗者の姿勢角度と、に基づいて、前記車体及び前記搭乗者を含む系全体の姿勢角度を算出する系角度算出手段をさらに備え、前記倒立制御手段は、前記系全体の姿勢角度に基づいて、倒立制御を行ってもよい。これにより、搭乗者の重心位置及び車体の重心位置を含めた系全体としての姿勢角を用いて倒立制御することができる。
【０００９】
また、前記系全体の姿勢角度は、前記車体の姿勢角度から前記搭乗者の姿勢角度までの間の任意の角度であってもよい。
【００１０】
また、前記系角度算出手段は、前記車体の姿勢角度及び前記搭乗者の姿勢角度に所定の重み係数を乗じて足し合わせた値を、前記系全体の姿勢角度として算出し、前記所定の重み係数は、任意に設定可能であってもよい。これにより、重み係数の設定により、移動性能と安定性とのバランスをシームレスに切り替えることができる。
【００１１】
また、前記搭乗者の肘関節の角度を検出する肘角度検出手段をさらに備え、前記距離取得手段は、前記搭乗者パラメータ及び前記肘関節の角度に基づいて、前記ハンドルから前記搭乗者までの距離を取得してもよい。これにより、ハンドル部から搭乗者までの距離の算出精度を向上させることができる。
【００１２】
前記搭乗者の膝関節の角度を検出する膝角度検出手段をさらに備え、前記重心位置推定手段は、前記搭乗者パラメータ及び前記膝関節の角度に基づいて、前記搭乗者の重心位置を推定してもよい。これにより、搭乗者の重心位置の推定精度を向上させることができる。
【００１３】
また、前記搭乗者パラメータには、前記搭乗者の身長が含まれていてもよい。
【００１４】
また、前記予め設定された拘束条件は、幾何学的な拘束条件であってもよい。
【００１５】
本発明の一態様にかかる倒立型移動体の制御方法は、車輪と、前記車輪に支持され、搭乗者が搭乗可能な車体と、前記車体に固定されたハンドルと、を備える倒立型移動体の制御方法であって、前記車体の姿勢角度を取得するステップと、前記ハンドルの姿勢角度を取得するステップと、前記搭乗者の体格に関する搭乗者パラメータに基づいて、前記ハンドルから前記搭乗者までの距離を取得するステップと、前記搭乗者の体格に関する搭乗者パラメータと、前記倒立型移動体の形状に関する移動体パラメータと、前記ハンドルの姿勢角度と、前記ハンドルから前記搭乗者までの距離と、に基づいて、予め設定された拘束条件を用いて前記搭乗者の重心位置を推定するステップと、前記搭乗者の重心位置と、前記車体の姿勢角度と、に基づいて、前記車輪の駆動を制御して前記車体の倒立制御を行うステップと、を備えるものである。これにより、搭乗者の重心位置及び車体の重心位置を含めた系全体としての倒立制御が可能になる。そのため、倒立制御の安定性を向上させることができる。
【発明の効果】
【００１６】
本発明によれば、倒立制御の安定性を向上させることができる倒立型移動体及びその制御方法を提供することができる。
【図面の簡単な説明】
【００１７】
【図１】実施の形態１にかかる倒立型移動体の概略斜視図である。
【図２】実施の形態１にかかる倒立型移動体内部のブロック図である。
【図３】実施の形態１にかかる重心位置の推定処理を説明するための図である。
【図４】実施の形態１にかかる全体姿勢角を説明するための図である。
【図５】実施の形態１にかかる倒立型移動体の動作を示すフローチャートである。
【図６】比較例にかかる倒立型移動体のブロック図である。
【図７】実施の形態２にかかる倒立型移動体内部のブロック図である。
【図８】実施の形態２にかかる重心位置の推定処理を説明するための図である。
【図９】実施の形態２にかかる倒立型移動体の動作を示すフローチャートである。
【発明を実施するための形態】
【００１８】
＜実施の形態１＞
以下、図面を参照して本発明の実施の形態について説明する。始めに、図１を参照して、本実施の形態にかかる移動体１の構成について説明する。図１は、移動体１の外観斜視図である。
【００１９】
＜倒立型移動体１の構成＞
図１に示すように、倒立型移動体１は、ハンドル部１１と、車体１２と、車輪１３と、を備える。ハンドル部１１は、把持部１１１と、支柱部１１２と、を有する。把持部１１１は、搭乗者９００によって把持される部分であり、搭乗者９００が自由に把持可能となるように略三角形状の輪状体で構成される。支柱部１１２は、起立状態の搭乗者９００の足から胴部付近まで延在するように構成される。支柱部１１２の下端は、車体１２に対して連結している。より詳細には、支柱部１１２の下端は、車体１２に対して固定されている。そのため、支柱部１１２は、車体１２の傾きに伴って傾く。また、搭乗者９００のハンドル部１１の操作に応じて、支柱部１１２の車体１２に対する角度も変化可能である。支柱部１１２の上端には、把持部１１１が取り付けられている。把持部１１１は、図示しないセンサを有し、搭乗者９００が把持部１１１を把持したことを検出することができる。
【００２０】
車体１２は、バッテリ、モータ、コンピュータ、ロジック回路、センサ、配線、機械機構等（図示省略）を内蔵する。車体１２は、ステップ部１２１ａ、１２１ｂを有し、搭乗者９００が搭乗可能に構成されている。一組の車輪１３は、左車輪１３ａ及び右車輪１３ｂを有する。車輪１３は、車体１２を支持する。
【００２１】
搭乗者９００は、把持部１１１を両手で把持した状態で重心移動する。これに応じて倒立型移動体１は平面移動する。例えば、搭乗者９００が前方に重心をかけると、ハンドル部１１は前方に押され、支柱部１１２は前方へ傾斜する。倒立型移動体１は、支柱部１１２の前方への傾きに応じて、前方への移動指令を生成し、これに応じて前方へ移動する。つまり、倒立型移動体１は、目標姿勢角度に対して車体１２が傾斜した方向に、車体１２を移動させることで、倒立型移動体１の倒立状態を維持する倒立型移動体である。なお、目標姿勢角度とは、倒立型移動体１が目標とする姿勢角度であり、予め設定されている。目標姿勢角度は、例えば、予め設定された車体１２のピッチ角の目標値を用いて設定される。
【００２２】
次に、図２に示したブロック図を参照して、倒立型移動体１の内部構成について説明する。図２に示すように、倒立型移動体１は、車体姿勢角検出部２０１、距離取得部２０２、重心位置推定部２０３、目標姿勢角演算部２０４、係数設定部２０５、倒立制御演算部２０６、左右モータ制御部２０７、制御対象２０８、及びメモリ２０９を有する。
【００２３】
車体姿勢角検出部２０１（車体角度取得手段、ハンドル角度取得手段）は、例えばジャイロセンサ等を含み、車体１２の姿勢を検出する。具体的には、車体姿勢角検出部２０１は、車体１２の姿勢角度（鉛直軸に対するピッチ角やヨー角等）を検出する。車体１２の姿勢角度は、搭乗者９００の重心移動や、車輪１３の駆動によって変化する。また、車体姿勢角検出部２０１は、ハンドル部１１の姿勢角度を検出する。具体的には、車体姿勢角検出部２０１は、車体１２に対する支柱部１１２の角度を検出する。ハンドル部１１の姿勢角度は、搭乗者９００による把持部１１１の操作によって変化する。車体姿勢角検出部２０１は、検出した車体１２の姿勢角度及びハンドル部１１の姿勢角度を、重心位置推定部２０３に出力する。
【００２４】
距離取得部２０２は、把持部１１１と搭乗者９００との間の距離（以下、搭乗者−ハンドル距離と称す）を取得する。距離取得部２０２は、例えば、超音波や赤外線を用いた距離センサであり、把持部１１１に設けられている。距離取得部２０２は、取得した搭乗者−ハンドル距離を重心位置推定部２０３に出力する。
【００２５】
なお、距離取得部２０２は、メモリ２０９に予め記憶された搭乗者パラメータ２１０を取得し、取得した搭乗者パラメータ２１０に基づいて、搭乗者−ハンドル距離を算出してもよい。
【００２６】
このとき、搭乗者パラメータ２１０とは、搭乗者９００の体格に関する情報であって、例えば、搭乗者９００の身長、腕の長さ、足から肩までの高さ、足の長さ等を示す情報である。搭乗者パラメータ２１０は、搭乗者９００が搭乗する前に、予め設計者や搭乗者等によって倒立型移動体１に入力され、メモリ２０９に記憶されている。
【００２７】
また、距離取得部２０２による搭乗者−ハンドル距離を算出は、搭乗者パラメータ２１０を用いて、以下のような手法により算出される。例えば、搭乗者パラメータ２１０として搭乗者９００の身長が記憶されている場合、搭乗者パラメータ２１０と腕の長さとの相関関係を示す公知の情報（身体モデル）を用いて、搭乗者パラメータ２１０から腕の長さ（搭乗者−ハンドル距離）を算出してもよい。また、搭乗者パラメータ２１０として腕の長さが記憶されている場合、腕の長さをそのまま搭乗者−ハンドル距離としてもよい。さらに、搭乗者９００の腕の曲がりを考慮して、腕の長さに所定の係数を乗じた値を搭乗者−ハンドル距離としてもよい。
【００２８】
重心位置推定部２０３は、搭乗者パラメータ２１０と、移動体パラメータ２１１と、ハンドル部１１の姿勢角度と、搭乗者−ハンドル距離と、に基づいて、予め設定された拘束条件を用いて搭乗者９００の重心を推定する。
【００２９】
このとき、移動体パラメータ２１１とは、倒立型移動体１の形状に関する情報である。より詳細には、移動体パラメータ２１１は、倒立型移動体１の各部の寸法を示す情報である。移動体パラメータ２１１は、例えば、車体１２の高さ、車輪１３の直径、車体１２から把持部１１１までの高さ（把持部１１１の長さ、支柱部１１２の長さ）等である。移動体パラメータ２１１は、搭乗者９００が搭乗する前に、設計者や搭乗者等によって予め倒立型移動体１に入力され、メモリ２０９に記憶されている。
【００３０】
ここで、重心位置推定部２０３による搭乗者９００の重心位置の推定方法について図３を参照して説明する。図３は、図１に示した倒立型移動体１及び搭乗者９００をピッチ軸（車輪１３の回転軸）方向から見た側面図である。図３において、点Ｏは、車輪１３と路面との接地点である。点Ａは、搭乗者９００の足裏中心点である。言い換えると、点Ａは、搭乗者９００が平面に直立した場合の当該平面に対する重心投影点である。点Ｂは、搭乗者９００の把持部１１１の把持点である。点Ｃは、搭乗者９００の肩関節中心点である。点Ｄは、搭乗者９００の重心である。
【００３１】
重心位置推定部２０３は、図３の条件において、点Ｏと点Ｄを結ぶベクトルＯＤを推定することにより、搭乗者９００の重心位置を推定する。言い換えると、重心位置推定部２０３は、点Ｏ、Ａ、Ｂ、Ｃ、Ｄの幾何学的な拘束条件を用いて、搭乗者９００の重心位置を推定する。ベクトルＯＤは、以下の式（１）を用いて算出することができる。
【００３２】
【数１】
2014159223.tif 000003
【００３３】
このとき、ベクトルＯＡ、ＡＢ、ＢＣ、ＣＤは、各点間の距離と方向（角度）から求めることができる。具体的には、ベクトルＯＡは、搭乗者９００が車体１２の中央に搭乗しているとすると、車体１２の高さ及び姿勢角度から求めることができる。ベクトルＡＢは、搭乗者９００が車体１２の中央に搭乗しているとすると、ハンドル部１１の長さ（把持部１１１の形状及び支柱部１１２の長さ）とハンドル部１１の姿勢角度から求めることができる。なお、車体１２の高さやハンドル部１１の長さは、移動体パラメータ２１１として、予めメモリ２０９に記憶されている。また、接地点Ｏから把持点Ｂまでのベクトルが予めわかっている場合には、ベクトルＯＡとベクトルＡＢを合わせてベクトルＯＢとして計算してもよい。
【００３４】
また、ベクトルＢＣの長さは、距離取得部２０２の距離センサの検出結果から求めることができる。また、ベクトルＢＣの長さは、搭乗者パラメータ２１０に基づく搭乗者９００の腕の長さからも求めることができる。なお、ベクトルＢＣの方向（図３の角度θ１）は、搭乗者パラメータ２１０に基づいて、所定の範囲に限定することができる。具体的には、距離取得部２０２は、搭乗者９００の足から肩までの高さ及び搭乗者９００の膝の屈伸状態を考慮することにより、θ１の最大値及び最小値を推定することができる。このとき、θ１は、∠ＡＢＣの角度である。
【００３５】
また、ベクトルＣＤは、搭乗者９００の肩関節中心から搭乗者９００の重心までのベクトルである。このとき、搭乗者９００の重心位置は、搭乗者９００の姿勢の変化によっては大きく変化しないと考えられる。そのため、重心位置推定部２０３が、既存の人体データベースを参照して搭乗者９００の肩関節中心に対する重心の相対的な位置を取得することにより、ベクトルＣＤを求めることができる。
【００３６】
以上より、重心位置推定部２０３は、上記の式（１）を用いてベクトルＯＤを求めることができる。つまり、重心位置推定部２０３は、車輪１３の接地点Ｏから搭乗者９００の重心までのベクトルを取得する。これにより、重心位置推定部２０３は、接地点Ｏを基準とする搭乗者９００の重心位置を求めることができる。このため、目標姿勢角演算部２０４は、ベクトルＯＤを用いて表される倒立振子モデルを設定することができる。重心位置推定部２０３は、推定したベクトルＯＤ（搭乗者９００の重心位置）を目標姿勢角演算部２０４に出力する。
【００３７】
目標姿勢角演算部２０４（系角度算出手段）は、ベクトルＯＤ（搭乗者９００の重心）を用いた倒立振子モデルの姿勢角θＰと、車体１２の重心を用いた倒立振子モデルの姿勢角θＶと、に基づいて全体姿勢角θＡを設定する。つまり、全体姿勢角θＡは、搭乗者９００及び車体１２を含む系全体の姿勢角である。このとき、車体１２の姿勢角θＶは、車輪１３の接地点Ｏから車体１２の重心位置までのベクトルを用いて表される。なお、車体１２の重心位置に関する情報は、目標姿勢角演算部２０４が移動体パラメータ２１１を用いて算出してもよいし、移動体パラメータ２１１として予めメモリ２０９に格納されていてもよい。このとき、移動体パラメータ２１１を用いた車体１２の重心位置の算出は既存の手法を用いることができる。
【００３８】
ここで、目標姿勢角演算部２０４の全体姿勢角θＡの算出方法について図４を参照して説明する。図４は、ベクトルＯＤを用いて表される倒立振子モデルの姿勢角θＰ、車体１２の倒立振子モデルの姿勢角θＶ、及び全体姿勢角θＡを示す図である。なお、図４において、鉛直方向の軸線Ｘ（破線）は、車輪１３の接地点Ｏから鉛直方向に延びる軸線である。
【００３９】
姿勢角θＰは、推定された搭乗者９００の重心Ｄ及び接地点Ｏを通る軸線（ベクトルＯＤ）と、鉛直軸線Ｘと、がなす角である。姿勢角θＶは、車体１２の重心Ｅ及び接地点Ｏを通る軸線（ベクトルＯＥ）と、鉛直軸線Ｘと、がなす角である。全体姿勢角θＡは、姿勢角θＰから姿勢角θＶまでの任意の角度である。言い換えると、全体姿勢角θＡは、搭乗者９００の重心Ｄから倒立型移動体１の重心Ｅまでの線分の任意の内分点と、接地点Ｏと、を通る軸線ＸＡが鉛直軸線Ｘに対してなす角である。
【００４０】
具体的には、目標姿勢角演算部２０４は、以下の式（２）を用いて、全体姿勢角θＡを算出する。なお、式（２）において、αは０〜１の重み係数であり、ユーザが適宜設定可能である。
【００４１】
【数２】
2014159223.tif 000004
【００４２】
式（２）に示すように、全体姿勢角θＡは、姿勢角θＶと姿勢角θＰとの和を用いて表せる。つまり、重み係数αの値に応じて、全体姿勢角θＡにおける姿勢角θＶの比重及び姿勢角θＰの比重が変化する。
【００４３】
このとき、重み係数αが０に近づくに連れて、全体姿勢角θＡにおける姿勢角θＶの比重が大きくなる。つまり、全体姿勢角θＡは、車体１２の重心変化に重きをおいた値となる。そのため、車体１２の重心変化（車体１２の姿勢角度やハンドル部１１の姿勢角度の変化）に敏感な倒立制御となる。その結果、倒立型移動体１の動作は、ハンドル部１１等の操作に敏感に反応するため、機敏な動作となる。
【００４４】
一方、重み係数αが１に近づくに連れて、全体姿勢角θＡにおける姿勢角θＰの比重が大きくなる。つまり、全体姿勢角θＡは、搭乗者９００の重心変化に重きをおいた値となる。そのため、搭乗者９００の重心変化に敏感な倒立制御となる。その結果、倒立型移動体１の動作は、搭乗者９００の動きに対して反応し、ハンドル部１１等の操作に対する反応は鈍くなるため、安定した動作となる。例えば、搭乗者９００が直立状態で何らかの作業を行う場合、万が一、ハンドル部１１や車体１２が傾いたとしても、搭乗者９００の重心の変化がなければ、倒立型移動体１は、安定した倒立制御を継続する。
【００４５】
このように、目標姿勢角演算部２０４が、車体１２の重心位置に基づく姿勢角と、搭乗者９００の重心位置に基づく姿勢角と、に重みづけを行うことにより、移動性能と安定性とのバランスを重み係数αのみの設定によりシームレスに切り替えることができる。このとき、重み係数αは、搭乗者９００の運動能力に応じて設定してもよい（例えば、搭乗者９００が高齢者の場合、若年者よりも重み係数αを大きい値にする等）。また、重み係数αは、搭乗者の意図に応じて設定してもよい（例えば、機敏に移動したい場合には重み係数αを０．５よりも小さい値にする、ゆっくりとした動作で安定性の高い倒立を維持したい場合には重み係数αを０．５よりも大きい値にする等）。
【００４６】
係数設定部２０５は、目標姿勢角演算部２０４の演算に用いられる重み係数２１２（α）をメモリ２０９から取得する。そして、係数設定部２０５は、取得した重み係数２１２を目標姿勢角演算部２０４に出力する。
【００４７】
倒立制御演算部２０６（倒立制御手段）は、目標姿勢角演算部２０４が算出した全体姿勢角θＡを現在の姿勢角として倒立制御を行う。具体的には、倒立制御演算部２０６は、現在の全体姿勢角θＡとピッチ角度の目標値との差を取り、差を０に収束させるようにＰＩＤ制御を行なう。例えば、ピッチ角度の目標値が０°の場合、倒立制御演算部２０６は、全体姿勢角θＡが０°となるように、車輪１３を駆動させる制御信号を生成し、左右モータ制御部に出力する。なお、倒立制御演算部２０６は、全体姿勢角θＡの微分値（角速度）についても、現在の角速度と目標値との差が０になるように制御してもよい。現在の姿勢角と目標姿勢角の差に基づく倒立制御方法は既存の手法を用いることができるため、詳細な説明は省略する。
【００４８】
左右モータ制御部２０７（倒立制御手段）は、倒立制御演算部２０６の出力に基づいて、モータを制御するための制御信号を生成し、モータ（制御対象２０８）に出力する。モータの駆動に伴って、車両の状態（姿勢角、速度、加速度等）が変化する。
【００４９】
メモリ２０９は、例えばＲＡＭ（Random Access Memory）やＲＯＭ（Read Only Memory）等である。メモリ２０９は、搭乗者パラメータ２１０、移動体パラメータ２１１、及び重み係数２１２を記憶する。
【００５０】
＜倒立型移動体１の動作＞
続いて、本実施の形態にかかる倒立型移動体１の動作について、図５に示すフローチャートを参照して説明する。まず、重心位置推定部２０３は、メモリ２０９に予め格納された移動体パラメータ２１１を取得する（ステップＳ１０１）。
【００５１】
また、重心位置推定部２０３は、メモリ２０９に予め格納された搭乗者パラメータ２１０を取得する（ステップＳ１０２）。
【００５２】
次に、倒立型移動体１は、ハンドル把持情報を取得する（ステップＳ１０３）。ハンドル把持情報とは、把持部１１１に設けられたセンサの出力であり、搭乗者９００が把持部１１１を把持しているか否かを示す情報である。そして、倒立型移動体１は、把持部１１１のセンサの出力に基づいて、搭乗者９００が把持部１１１を把持しているか否かを判定する（ステップＳ１０４）。
【００５３】
搭乗者９００が把持部１１１を把持していない場合（ステップＳ１０４：Ｎｏ）、倒立型移動体１は、搭乗者９００が把持部１１１を把持しているか否かの判定を続ける（ステップＳ１０３）。
【００５４】
一方、搭乗者９００が把持部１１１を把持した場合（ステップＳ１０４：Ｙｅｓ）、車体姿勢角検出部２０１は、ハンドル部１１の角度変化量を取得する（ステップＳ１０５）。つまり、車体姿勢角検出部２０１は、ハンドル部１１の角度変化量に基づいて、現在のハンドル部１１の角度を取得し、重心位置推定部２０３に出力する。また、車体姿勢角検出部２０１は、車体１２の姿勢角度も検出し、重心位置推定部２０３に出力する。
【００５５】
また、搭乗者９００が把持部１１１を把持した場合（ステップＳ１０４：Ｙｅｓ）、距離取得部２０２は、搭乗者−ハンドル距離を取得する（ステップＳ１０６）。そして、距離取得部２０２は、取得した搭乗者−ハンドル距離を重心位置推定部２０３に出力する。
【００５６】
重心位置推定部２０３は、ハンドル部１１の姿勢角度、搭乗者−ハンドル距離、搭乗者パラメータ２１０、及び移動体パラメータ２１１に基づいて、幾何学的な拘束条件を用いて搭乗者９００の重心位置を推定する（ステップＳ１０７）。具体的には、重心位置推定部２０３は、上記式（１）を用いて、ベクトルＯＤを算出する。重心位置推定部２０３は、推定した搭乗者９００の重心位置を目標姿勢角演算部２０４に出力する。
【００５７】
目標姿勢角演算部２０４は、車体１２の姿勢角度及び移動体パラメータ２１１から車体１２の重心位置を算出する。そして、目標姿勢角演算部２０４は、重心位置推定部２０３により推定された搭乗者９００の重心位置と、算出した倒立型移動体１の重心位置と、に基づいて、上記の式（２）を用いて全体姿勢角θＡを算出する。
【００５８】
そして、倒立制御演算部２０６及び左右モータ制御部２０７は、全体姿勢角θＡに基づいて、倒立型移動体１の倒立制御を実現する（ステップＳ１０８）。つまり、全体姿勢角θＡが目標値になるように、車輪１３を駆動させる。
【００５９】
倒立制御演算部２０６は、倒立制御中であるか否かを判定する（ステップＳ１０９）。倒立制御中である場合（ステップＳ１０９：Ｙｅｓ）、ステップＳ１０３に戻り、倒立型移動体１は倒立制御を継続する。一方、倒立制御中でない場合（ステップＳ１０９：Ｎｏ）、倒立型移動体１は倒立制御を終了する。
【００６０】
以上のように、本実施の形態にかかる倒立型移動体１の構成によれば、メモリ２０９が、搭乗者９００の体格に関する搭乗者パラメータと、倒立型移動体１の形状に関する移動体パラメータと、を予め記憶する。車体姿勢角検出部２０１は、車体１２の姿勢角度及びハンドル部１１の姿勢角度を取得する。距離取得部２０２は、ハンドル部から搭乗者９００までの距離を取得する。そして、重心位置推定部２０３は、搭乗者パラメータと、移動体パラメータと、ハンドル部１１の姿勢角度と、ハンドル部１１から搭乗者９００までの距離と、に基づいて、予め設定された拘束条件を用いて搭乗者９００の重心を推定する。倒立制御演算部２０６は、搭乗者９００の重心と、車体１２の姿勢角度と、に基づいて、車輪１３の駆動を制御して車体１２の倒立制御を行う。これにより、車体１２の姿勢角度に加えて、搭乗者９００の重心の位置も考慮した倒立振子モデルを用いて倒立制御することができる。その結果、倒立型移動体１は、倒立制御の安定性を向上させることができる。
【００６１】
（比較例）
ここで、比較例にかかる倒立型移動体９の構成について説明する。比較例にかかる倒立型移動体９のブロック図を図６に示す。比較例にかかる倒立型移動体９は、車体姿勢角検出部９０１と、倒立制御演算部９０２と、左右モータ制御部９０３と、制御対象９０４と、を備える。
【００６２】
車体姿勢角検出部９０１は、倒立型移動体９の車体やハンドル部の姿勢角度を検出する。倒立制御演算部９０２は、車体姿勢角検出部９０１の出力に基づいて、倒立制御を行う。つまり、倒立制御演算部９０２は、倒立型移動体１の姿勢のみに基づいて、倒立制御を行う。そして、左右モータ制御部９０３は、制御信号に応じてトルクを出力し、制御対象（車輪等）を制御する。
【００６３】
このため、倒立型移動体９の倒立制御において、搭乗者９００の重心位置の変化は考慮されていない。したがって、搭乗者９００の姿勢（重心位置）によっては、安定した倒立制御が困難になる可能性がある。
【００６４】
これに対して、本実施の形態にかかる倒立型移動体１の構成によれば、上記の通り、倒立型移動体１は、車体１２の重心位置及び搭乗者９００の重心位置を考慮した倒立制御を実現する。その結果、倒立型移動体の重心位置のみを考慮する場合に比べて安定性を向上させることができる。
【００６５】
＜実施の形態２＞
本発明にかかる実施の形態２について説明する。本実施の形態にかかる倒立型移動体２のブロック図を図７に示す。倒立型移動体２は、図２に示した倒立型移動体１の構成に加えて、肘角度検出部２１３と、膝角度検出部２１４と、を備える。なお、その他の構成については倒立型移動体１と同様であるので、説明を適宜省略する。
【００６６】
＜倒立型移動体２の構成＞
肘角度検出部２１３は、搭乗者９００の肘の角度を検出する。つまり、肘角度検出部２１３は、肘関節角度を検出する。肘角度検出部２１３は、例えば、搭乗者９００の腕に装着されたロータリーエンコーダから肘角度を検出してもよいし、腕の筋電に基づいて肘角度を検出してもよいし、肘の画像データに基づいて画像処理などを用いて肘角度を検出してもよい。肘角度検出部２１３は、検出した肘角度を距離取得部２０２に出力する。
【００６７】
膝角度検出部２１４は、搭乗者９００の膝の角度を検出する。つまり、膝角度検出部２１４は、膝関節角度を検出する。膝角度検出部２１４も、上記の肘角度検出部２１３と同様に、ロータリーエンコーダや筋電、画像処理などを用いて膝角度を検出する。膝角度検出部２１４は、検出した膝角度を距離取得部２０２に出力する。
【００６８】
距離取得部２０２は、搭乗者９００の肘関節角度及び膝関節角度を用いて、搭乗者−ハンドル距離を取得する。ここで、図８を参照して、距離取得部２０２による搭乗者−ハンドル距離の算出について説明する。具体的には、上記式（１）に含まれるベクトルＢＣの算出方法について説明する。なお、図８において、θｅは、肘関節角度であり、搭乗者９００の上腕と前腕とがなす角である。θｋは、膝関節角度であり、搭乗者９００の大腿と下腿とがなす角である。θ１は、∠ＡＢＣの角度である。
【００６９】
距離取得部２０２は、搭乗者９００の腕の長さ及び肘関節角度θｅに基づいて、幾何学的関係を用いてベクトルＢＣの長さを算出する。例えば、上腕の長さ、前腕の長さ、及び肘関節角度θｅに基づいて、余弦定理を用いてベクトルＢＣの長さを算出することができる。なお、上腕及び前腕の長さについては、予め搭乗者パラメータ２１０としてメモリ２０９が上腕及び前腕の長さを記憶していてもよいし、距離取得部２０２が搭乗者９００の身長に基づいて既存の人体データベースを参照して上腕及び前腕の平均値を取得してもよい。
【００７０】
また、θ１の算出については、重心位置推定部２０３は、ベクトルＡＣの長さを算出し、ベクトルＡＣの長さ、ベクトルＡＢの長さ、及びベクトルＢＣの長さに基づいて、幾何学的関係を用いてθ１を算出する。重心位置推定部２０３は、例えばベクトルＡＢ、ＢＣ、ＡＣの長さに基づいて、余弦定理を用いて、θ１を算出することができる。
【００７１】
このとき、重心位置推定部２０３は、搭乗者９００の身長（肩の高さ）及び膝角度θｋに基づいて、幾何学的関係を用いてベクトルＡＣの長さを算出する。例えば、距離取得部２０２は、大腿の長さ、下腿の長さ、及び膝角度に基づいて、余弦定理を用いて点Ａから搭乗者９００の腰（大腿の付け根）までの距離を算出し、点Ａから腰までの距離に基づいて、ベクトルＡＣの長さを算出する。
【００７２】
＜倒立型移動体２の動作＞
続いて、本実施の形態にかかる倒立型移動体２の動作について、図９に示すフローチャートを参照して説明する。なお、ステップＳ１０１〜Ｓ１０９については、図５において説明した動作と同様であるので、適宜説明を省略する。
【００７３】
まず、重心位置推定部２０３は、移動体パラメータ２１１及び搭乗者パラメータ２１０を取得する（ステップＳ１０１、Ｓ１０２）。そして、倒立型移動体２は、ハンドル把持情報を取得し、搭乗者９００が把持部１１１を把持したか否かを判定する（ステップＳ１０３、Ｓ１０４）。
【００７４】
搭乗者９００が把持部１１１を把持している場合（ステップＳ１０４：Ｙｅｓ）、車体姿勢角検出部２０１は、ハンドル部１１の角度変化量を検出する（ステップＳ１０５）。車体姿勢角検出部２０１は、車体１２の姿勢角度も検出する。そして、ハンドル部１１及び車体１２の姿勢角度を重心位置推定部２０３に出力する。
【００７５】
肘角度検出部２１３は、搭乗者９００の肘関節角度θｅを検出する（ステップＳ２０１）。肘角度検出部２１３は、検出した肘関節角度θｅを距離取得部２０２に出力する。
【００７６】
膝角度検出部２１４は、搭乗者９００の膝関節角度θｋを検出する（ステップＳ２０２）。膝角度検出部２１４は、検出した膝関節角度θｋを重心位置推定部２０３に出力する。
【００７７】
距離取得部２０２は、肘関節角度θｅ及び搭乗者パラメータ２１０を用いて、把持点Ｂから肩関節中心Ｃまでの距離（搭乗者−ハンドル距離）を算出する（ステップＳ１０６）。そして、距離取得部２０２は、算出した搭乗者−ハンドル距離を重心位置推定部２０３に出力する。
【００７８】
重心位置推定部は、膝関節角度θｋ及び搭乗者パラメータ２１０を用いて、搭乗者９００の足裏中心点Ａから肩関節中心Ｃまでの距離を算出する。そして、距離取得部２０２は、ＡＢ、ＢＣ、ＡＣのそれぞれの距離からθ１を算出する。これにより、距離取得部２０２は、把持点Ｂと搭乗者９００の肩関節中心点Ｃとを結ぶベクトルＢＣを算出する。
【００７９】
また、重心位置推定部２０３は、上記の式（１）を用いて、ベクトルＯＤ、つまり搭乗者９００の重心位置を推定する（ステップＳ１０７）。重心位置推定部２０３は、推定した重心位置を目標姿勢角演算部２０４に出力する。
【００８０】
目標姿勢角演算部２０４は、上記の式（２）を用いて、全体姿勢角θＡを取得し、その目標角度を算出する。倒立制御演算部２０６は、全体姿勢角θＡの目標角度に基づいて、倒立制御を行う（ステップＳ１０８）。
【００８１】
以上のように、本実施の形態にかかる倒立型移動体２の構成によれば、肘角度検出部２１３が搭乗者９００の肘関節角度θｅを検出する。そして、距離取得部２０２は、肘関節角度θｅ及び搭乗者パラメータ２１０に基づいて、搭乗者−ハンドル距離を算出する。このため、重心位置推定部２０３は、搭乗者９００の姿勢に対応する搭乗者−ハンドル距離を取得できる。その結果、重心位置の推定精度を向上させることができる。
【００８２】
さらに、本実施の形態にかかる倒立型移動体２の構成によれば、膝角度検出部２１４が搭乗者９００の膝関節角度θｋを検出する。そして、重心位置推定部２０３は、膝関節角度θｋ及び搭乗者パラメータ２１０を用いて、搭乗者９００の直立時の重心投影点Ａから肩関節中心Ｃまでの距離を算出し、ベクトルＢＣの方向を特定する。このため、重心位置推定部２０３は、搭乗者９００の姿勢に対応するベクトルＢＣを取得できる。その結果、重心位置の推定精度を向上させることができる。
【００８３】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、倒立型移動体の具体的な構成は任意である。
【符号の説明】
【００８４】
１、２  倒立型移動体
１１  ハンドル部
１２  車体
１３  車輪
１１１  把持部
１１２  支柱部
２０１  車体姿勢角検出部
２０２  距離取得部
２０３  重心位置推定部
２０４  目標姿勢角演算部
２０５  係数設定部
２０６  倒立制御演算部
２０７  左右モータ制御部
２０８  制御対象
２０９  メモリ
２１０  搭乗者パラメータ
２１１  移動体パラメータ
２１２  重み係数
２１３  肘角度検出部
２１４  膝角度検出部
９００  搭乗者
【図１】
2014159223.tif 000005
【図２】
2014159223.tif 000006
【図３】
2014159223.tif 000007
【図４】
2014159223.tif 000008
【図５】
2014159223.tif 000009
【図６】
2014159223.tif 000010
【図７】
2014159223.tif 000011
【図８】
2014159223.tif 000012
【図９】
2014159223.tif 000013