(57)【特許請求の範囲】
【請求項１】
搭乗者が搭乗する搭乗部と、
前記搭乗部の一方側に偏位して取り付けられて回転駆動される第１駆動輪と、
前記搭乗部の他方側に偏位して取り付けられて、前記第１駆動輪とは独立して回転駆動される第２駆動輪と、
前記搭乗者から旋回指示を受け付ける受付部と、
前記搭乗者の重心に関する重心情報を取得する取得部と、
前記受付部が前記旋回指示を受け付けた場合に、前記旋回指示に基づいて算出する前記第１駆動輪の第１回転量に、前記取得部が取得した前記重心情報に基づいて算出する第１補正量を加味して前記第１駆動輪を回転駆動し、前記旋回指示に基づいて算出する前記第２駆動輪の第２回転量に、前記取得部が取得した前記重心情報に基づいて算出する第２補正量を加味して前記第２駆動輪を回転駆動する制御部と
を備える走行装置。
【請求項２】
前記制御部は、前記第１回転量による前記第１駆動輪の回転変化量を前記第１補正量により大きくする場合には、前記第２回転量による前記第２駆動輪の回転変化量を前記第２補正量により小さくし、前記第２回転量による前記第２駆動輪の回転変化量を前記第２補正量により大きくする場合には、前記第１回転量による前記第１駆動輪の回転変化量を前記第１補正量により小さくする請求項１に記載の走行装置。
【請求項３】
前記搭乗部は、前記搭乗者が立って搭乗するためのステップ部を含み、
前記取得部は、前記ステップ部に設けられた、前記搭乗者の左脚による荷重を検知する第１検知部と右脚による荷重を検知する第２検知部とを含み、前記第１検知部と前記第２検知部の検知結果に基づいて前記重心情報を取得する請求項１または２に記載の走行装置。
【請求項４】
前記制御部は、前記第１駆動輪と前記第２駆動輪との間隔に対する、前記第１駆動輪と前記第２駆動輪とを結ぶ直線方向における前記重心の偏位の割合に基づいて、前記第１補正量と前記第２補正量を算出する請求項１から３のいずれか１項に記載の走行装置。
【請求項５】
前記受付部は、前記搭乗者が重心を移動させる動作に起因して前記取得部が取得する前記重心情報を前記旋回指示として受け付ける請求項１から４のいずれか１項に記載の走行装置。
【請求項６】
搭乗者が搭乗する搭乗部と、
前記搭乗部の一方側に偏位して取り付けられて回転駆動される第１駆動輪と、
前記搭乗部の他方側に偏位して取り付けられて、前記第１駆動輪とは独立して回転駆動される第２駆動輪とを備える走行装置の制御方法であって、
前記搭乗者から旋回指示を受け付ける受付ステップと、
前記搭乗者の重心に関する重心情報を取得する取得ステップと、
前記受付ステップで前記旋回指示を受け付けた場合に、前記旋回指示に基づいて算出する前記第１駆動輪の第１回転量に、前記取得ステップで取得した前記重心情報に基づいて算出する第１補正量を加味して前記第１駆動輪を回転駆動し、前記旋回指示に基づいて算出する前記第２駆動輪の第２回転量に、前記取得ステップで取得した前記重心情報に基づいて算出する第２補正量を加味して前記第２駆動輪を回転駆動する制御ステップと
を含む走行装置の制御方法。
【請求項７】
搭乗者が搭乗する搭乗部と、
前記搭乗部の一方側に偏位して取り付けられて回転駆動される第１駆動輪と、
前記搭乗部の他方側に偏位して取り付けられて、前記第１駆動輪とは独立して回転駆動される第２駆動輪とを備える走行装置の制御プログラムであって、
前記搭乗者から旋回指示を受け付ける受付ステップと、
前記搭乗者の重心に関する重心情報を取得する取得ステップと、
前記受付ステップで前記旋回指示を受け付けた場合に、前記旋回指示に基づいて算出する前記第１駆動輪の第１回転量に、前記取得ステップで取得した前記重心情報に基づいて算出する第１補正量を加味して前記第１駆動輪を回転駆動し、前記旋回指示に基づいて算出する前記第２駆動輪の第２回転量に、前記取得ステップで取得した前記重心情報に基づいて算出する第２補正量を加味して前記第２駆動輪を回転駆動する制御ステップと
をコンピュータに実行させる走行装置の制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、走行装置、走行装置の制御方法および走行装置の制御プログラムに関する。
【背景技術】
【０００２】
ジャイロセンサや加速度センサなどを用いて姿勢情報を検出し、検出した姿勢情報に基づいて駆動制御を行う走行装置が知られている。これらの走行装置の中でも、倒立振子の姿勢制御モデルを応用して駆動輪を制御する倒立二輪車が知られている。例えば、特許文献１には、搭乗者が重心の前後やハンドルを左右に傾斜させることにより、前進・後進させたり旋回させたりすることができる倒立二輪車が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−３０４３６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に開示された走行制御を採用した場合に、旋回時において搭乗者が想定する走行軌跡と実際の走行軌跡に差異が生じる現象が顕在化した。特に、右車輪と左車輪を逆向きに回転させてその場で旋回しようとする場合に、実際には搭乗者の意図しない前後方向への平行移動も伴って渦巻き状に旋回してしまう現象が確認された。左右の車輪を駆動する走行装置においては、左右方向への位置ずれが生じると、正しい位置への復帰が大変困難である。
本発明は、このような問題を解決すべくなされたものであり、旋回指令に対して搭乗者の意図により忠実な軌跡を描く走行装置を提供することを目的とする。
【課題を解決するための手段】
【０００５】
本発明の第１の態様における走行装置は、搭乗者が搭乗する搭乗部と、搭乗部の一方側に偏位して取り付けられて回転駆動される第１駆動輪と、搭乗部の他方側に偏位して取り付けられて、第１駆動輪とは独立して回転駆動される第２駆動輪と、搭乗者から旋回指示を受け付ける受付部と、搭乗者の重心に関する重心情報を取得する取得部と、受付部が旋回指示を受け付けた場合に、旋回指示に基づいて算出する第１駆動輪の第１回転量に、取得部が取得した重心情報に基づいて算出する第１補正量を加味して第１駆動輪を回転駆動し、旋回指示に基づいて算出する第２駆動輪の第２回転量に、取得部が取得した重心情報に基づいて算出する第２補正量を加味して第２駆動輪を回転駆動する制御部とを備える。
【０００６】
本発明の第２の態様における、搭乗者が搭乗する搭乗部と、搭乗部の一方側に偏位して取り付けられて回転駆動される第１駆動輪と、搭乗部の他方側に偏位して取り付けられて、第１駆動輪とは独立して回転駆動される第２駆動輪とを備える走行装置の制御方法は、搭乗者から旋回指示を受け付ける受付ステップと、搭乗者の重心に関する重心情報を取得する取得ステップと、受付ステップで旋回指示を受け付けた場合に、旋回指示に基づいて算出する第１駆動輪の第１回転量に、取得ステップで取得した重心情報に基づいて算出する第１補正量を加味して第１駆動輪を回転駆動し、旋回指示に基づいて算出する第２駆動輪の第２回転量に、取得ステップで取得した重心情報に基づいて算出する第２補正量を加味して第２駆動輪を回転駆動する制御ステップとを含む。
【０００７】
本発明の第３の態様における、搭乗者が搭乗する搭乗部と、搭乗部の一方側に偏位して取り付けられて回転駆動される第１駆動輪と、搭乗部の他方側に偏位して取り付けられて、第１駆動輪とは独立して回転駆動される第２駆動輪とを備える走行装置の制御プログラムは、搭乗者から旋回指示を受け付ける受付ステップと、搭乗者の重心に関する重心情報を取得する取得ステップと、受付ステップで旋回指示を受け付けた場合に、旋回指示に基づいて算出する第１駆動輪の第１回転量に、取得ステップで取得した重心情報に基づいて算出する第１補正量を加味して第１駆動輪を回転駆動し、旋回指示に基づいて算出する第２駆動輪の第２回転量に、取得ステップで取得した重心情報に基づいて算出する第２補正量を加味して第２駆動輪を回転駆動する制御ステップとをコンピュータに実行させる。
【０００８】
上記の第１から第３の各態様において、以下の構成を追加的あるいは選択的に採用することもできる。すなわち、第１回転量による第１駆動輪の回転変化量を第１補正量により大きくする場合には、第２回転量による第２駆動輪の回転変化量を第２補正量により小さくし、第２回転量による第２駆動輪の回転変化量を第２補正量により大きくする場合には、第１回転量による第１駆動輪の回転変化量を第１補正量により小さくしても良い。また、搭乗部は、搭乗者が立って搭乗するためのステップ部を含み、取得部は、ステップ部に設けられた、搭乗者の左脚による荷重を検知する第１検知部と右脚による荷重を検知する第２検知部とを含み、第１検知部と第２検知部の検知結果に基づいて重心情報を取得するようにしても良い。また、第１駆動輪と第２駆動輪との間隔に対する、第１駆動輪と第２駆動輪とを結ぶ直線方向における重心の偏位の割合に基づいて、第１補正量と第２補正量を算出しても良い。また、搭乗者が重心を移動させる動作に起因して取得部が取得する重心情報を旋回指示として受け付けても良い。
【発明の効果】
【０００９】
本発明により、旋回指令に対してより忠実な軌跡を描く走行装置を提供することができる。
【図面の簡単な説明】
【００１０】
【図１】本実施形態に係る第１の倒立二輪車の外観斜視図である。
【図２】倒立二輪車の主な構成を示す概略図である。
【図３】倒立二輪車の動作制御系の概念を示す制御ブロック図である。
【図４】旋回指令に対する補正の概念と動作を説明する説明図である。
【図５】前進指令を伴わない場合の動作を説明する説明図である。
【図６】旋回指令に対する処理フローを説明するフロー図である。
【図７】変形例に係る第２の倒立二輪車の外観斜視図である。
【発明を実施するための形態】
【００１１】
以下、発明の実施の形態を通じて本発明を説明するが、特許請求の範囲に係る発明を以下の実施形態に限定するものではない。また、実施形態で説明する構成の全てが課題を解決するための手段として必須であるとは限らない。
【００１２】
図１は、本実施形態に係る第１の倒立二輪車１００の外観斜視図である。倒立二輪車１００は、全体の骨格を成す基台１９０に、ハンドル１１０、左右のステップ１２１、１２２、左右の車輪１３１、１３２が備え付けられて構成されている。ハンドル１１０は、搭乗者が把持して前進および旋回を指示するための指示受付部としての機能を担う。具体的には、搭乗者がステップ１２１、１２２に対して搭乗者の重心を前側に傾斜させることにより前進指示を与えると、倒立二輪車１００は前方に加速する。さらに前側への傾斜角度を大きくすると前方へ進む加速度が増す。搭乗者がハンドル１１０を進行方向に対して左側に傾斜させることにより左旋回指示を与えると、倒立二輪車１００は左方向へ旋回する。搭乗者がハンドル１１０を進行方向に対して右側に傾斜させることにより右旋回指示を与えると、倒立二輪車１００は右方向へ旋回する。左右側への傾斜角度を大きくすると、その方向へ旋回する旋回半径が小さくなる。また、搭乗者が搭乗者の重心を前側に傾斜させつつハンドル１１０を左右側へも傾斜させれば、倒立二輪車１００は、前進加速指示と旋回指示を合成した動作を実行する。
【００１３】
本実施形態に係る倒立二輪車１００は、搭乗者が立った状態で搭乗することを想定しているが、左右のステップ１２１、１２２は、搭乗者が左脚、右脚をそれぞれ乗せる搭乗部としての機能を担う。ステップ１２１、１２２は、基台１９０に対して固定されていても良いし、左右方向への旋回に合わせて載置面が傾斜するようにリンク機構を設けても良い。
【００１４】
左側の車輪１２１は、左右のステップ１２１、１２２の中心に対して左側に偏位して取り付けられており、後述するモータによって回転駆動される駆動輪である。右側の車輪１２２は、左右のステップ１２１、１２２の中心に対して右側に偏位して取り付けられており、後述するモータによって回転駆動される駆動輪である。左側の車輪１２１と右側の車輪１２２は、同軸芯線上に平行に配置されている。したがって、左側の車輪１２１と右側の車輪１２２が、同じ方向に同じ速度で回転すれば直進するし、異なる速度で回転すれば左右に旋回する。なお、本実施形態に係る倒立二輪車１００は、倒立振子の姿勢制御モデルに基づいて駆動輪である車輪１２１、１２２の回転を制御する同軸二輪車である。後述する制御部は、搭乗者が搭乗した倒立二輪車１００の全体の姿勢を検知して、搭乗者が搭乗した状態を安定的に維持できるように車輪１２１、１２２の回転駆動を制御する。具体的な制御については後述する。
【００１５】
倒立二輪車１００の座標系は、図示するように、両車輪を結ぶ車軸方向に直交する前進方向をｘ軸プラス方向、両車輪を結ぶ車軸方向で車輪１２１へ向かう方向をｙ軸プラス方向、ｘ軸ｙ軸に共に直交する方向で、搭乗者の頭部へ向かう方向をｚ軸プラス方向と定める。また、それぞれの直交軸に対して右手回りを正方向とするθｘ（ロール軸）、θｙ（ピッチ軸）、θｚ（ヨー軸）を定める。
【００１６】
図２は、倒立二輪車１００の主な構成を示す概略図である。具体的には、ｙｚ平面による断面をｘ軸プラス側から観察した様子を模式的に表すと共に、旋回制御に関連する要素ブロックを重ねて記したものである。
【００１７】
左右２つの車輪１３１、１３２は、それぞれの車軸１８１、１８２が一直線になるように、基台１９０に回転可能に軸支されている。左の車輪１３１を駆動するためのモータ１６１と、右の車輪１３２を駆動するためのモータ１６２は、基台１９０に固定配置されている。モータ１６１の駆動力は、減速機を兼ねる伝達機構１７１を介して車軸１８１に伝達され、車輪１８１を回転駆動する。モータ１６２の駆動力は、減速機を兼ねる伝達機構１７２を介して車軸１８２に伝達され、車輪１８２を回転駆動する。すなわち、それぞれの車輪１８１、１８２は、互いにそれぞれ独立したモータ１６１、１６２および伝達機構１７１、１７２により、別個に制御されて回転駆動される。
【００１８】
ハンドル１１０の一端部は、基台１９０に揺動可能に枢支されている。回転検出部２３０は、エンコーダなどの角度検出センサを含み、当該枢支部に設けられてハンドル１１０のロール軸方向の揺動角を検出する。
【００１９】
荷重センサ１５１は、搭乗者が左脚を乗せるためのステップ１２１に埋め込まれた荷重センサであり、搭乗者の左脚からの荷重位置とその分布を検知する。荷重センサ１５２は、搭乗者が右脚を乗せるためのステップ１２２に埋め込まれた荷重センサであり、搭乗者の右脚からの荷重位置とその分布を検知する。荷重センサ１５１、１５２は、例えば複数の圧電フィルムが配列されたシート状のセンサが用いられる。重心検出部２２０は、荷重センサ１５１、１５２の検知結果を取得し、搭乗者の重心情報を演算する。
【００２０】
直立した人間の重心位置は、三次元的にはおおよそ臍の位置にあると言われている。したがって、搭乗者がステップ１２１、１２２の中心に直立静止して搭乗した場合に、ｙ軸方向における重心位置は、ｙ＝０の位置となる。すなわち、荷重センサ１５１、１５２は、それぞれ等しい荷重を検知することになり、重心検出部２２０は、ｙ軸方向における重心位置としてｙ＝０を出力する。なお、重心は本来三次元的な座標で表現されるが、本実施形態においては、旋回動作に影響を与えるｙ軸方向の重心位置を単に重心位置と表現する場合がある。また、それぞれの荷重センサ１５１、１５２は、ｘｙ平面方向の二次元的な荷重分布を検出できるように構成することもでき、この場合は、重心検出部２２０は、ｘ軸方向およびｙ軸方向の重心位置をそれぞれ出力することができる。ただし、後述する旋回時における重心情報としては、ｙ軸方向の重心位置を利用する。
【００２１】
制御部２１０は、例えばＣＰＵであり、倒立二輪車１００の各要素部を統括的に制御する。例えば、後述するように、重心検出部２２０と回転検出部２３０の出力を受け取り、車輪１３１、１３２の角速度を演算し、モータ１６１、１６２を駆動するための駆動制御信号を演算結果に沿って生成して、モータ１６１、１６２を駆動する。一連の制御プログラムは、予めメモリ２１５に記憶されており、制御部２１０は、起動時にメモリ２１５から制御プログラムを読み込んで、各種制御を実行する。メモリ２１５は、不揮発性の記録媒体であり、例えばソリッドステートドライブが用いられる。メモリ２１５は、制御プログラムの他にも、制御に用いられる様々なパラメータ値、関数、ルックアップテーブル等を記録している。
【００２２】
バッテリ３００は、例えばリチウムイオン電池による二次電池であり、変圧回路等を介して、モータ１６１、１６２、制御部２１０等へ電力を供給する。二次電池は、例えば家庭用ＡＣ電源で充電することができ、着脱可能に構成されていても良い。
【００２３】
ここで、倒立二輪車１００の動作制御系の概念を簡単に説明する。図３は、倒立二輪車１００の動作制御系の概念を示す制御ブロック図である。ここでは、説明の簡略化のため倒立二輪車１００を単に車両と表現する。また、以下の説明において機能ブロックとして表現される各制御器は、制御部２１０が統括的にその機能を担う。
【００２４】
まず、以下の説明に用いる変数について説明する。ηは車両のピッチ角度を示し、η’はピッチ角速度を示す。ｘは車両の位置を示し、ｘ’は速度を示す。これらピッチ角度η、ピッチ角速度η’、位置ｘ、速度ｘ’は検出値を示す。また、ηｒはピッチ角度指令を示し、η’ｒはピッチ角速度指令を示す。ｘｒは位置指令を示し、ｘ’ｒは速度指令を示す。ζｒはヨー角度指令を示し、ζ’ｒはヨー角速度指令を示す。これらピッチ角度指令ηｒ、ピッチ角速度指令η’ｒ、位置指令ｘｒ、速度指令ｘ’ｒ、ヨー角度指令ζｒ、ヨー角速度指令ζ’ｒは目標値である指令値を示す。即ち、下添え文字にｒが付いている変数は指令値を示し、ｒが付いていない変数は検出値を示す。また、２Ｌは、車輪間の距離であるトレッド幅を示し、Ｒｗは車輪半径を示す。
【００２５】
駆動ユニットは、２つの車輪を独立に駆動する。駆動ユニットは、車輪を駆動するためのモータとアンプを含み、入力されるトルク指令を受けてトルク制御を行う。モータの回転に伴い車輪にはトルクが加えられる。また、モータの回転に伴い車両本体に対してトルクの反力が加わると共に、車輪の回転に伴い車両本体に対して地面からの反力としての力が加えられる。
【００２６】
図示しない車輪角速度検出部により、本体と車輪との相対角度および相対角速度としての車輪角度および車輪角速度を検出する。車輪角速度検出部は、例えば、モータの回転軸に設けられたエンコーダ情報から、車輪角度および車輪角速度を検出する。
【００２７】
位置姿勢検出器は、車両の位置ｘ、速度ｘ’、ピッチ角度ηおよびピッチ角速度η’を検出する。位置姿勢検出装置は、ＧＰＳやビーコンを用いて位置ｘおよび速度ｘ’を検出し、ジャイロセンサや加速度センサを用いてピッチ角度ηおよびピッチ角速度η’を検出する。
【００２８】
位置姿勢制御器は、位置姿勢検出器で検出した位置ｘ、速度ｘ’、ピッチ角度ηおよびピッチ角速度η’が、入力する位置指令ｘｒ、速度指令ｘ’ｒ、ピッチ角度指令ηｒおよびピッチ角速度指令η’ｒに追従するように位置と姿勢の制御を行う。即ち、位置姿勢制御器は、位置姿勢検出器で検出した位置ｘ、速度ｘ’ピッチ角度η、およびピッチ角速度η’と、入力する位置指令ｘｒ、速度指令ｘ’ｒ、ピッチ角度指令ηｒおよびピッチ角速度指令η’ｒとに基づいて、位置姿勢速度指令を生成する。
【００２９】
より具体的には、位置姿勢制御器は、入力される位置指令ｘｒ、速度指令ｘ’ｒ、ピッチ角度指令ηｒおよびピッチ角速度指令η’ｒと、位置姿勢検出器で検出した位置ｘ、速度ｘ’、ピッチ角度ηおよびピッチ角速度η’との差を取り、差を０に収束させるようにＰＤ（比例・微分）制御を行う。通常は、ピッチ角度指令ηｒおよびピッチ角速度指令η’ｒの値を共に０として入力し、乗員の重心移動によって生じるピッチ角度η及びピッチ角速度η’を０に保つように姿勢制御を行う。
【００３０】
位置姿勢制御器は、ＰＤ制御により、以下の数１を用いて位置姿勢速度指令θ’を計算する。式（１）において、Ｋｐｐ、Ｋｐｘは比例ゲインを示し、Ｋｄｐ、Ｋｄｘは微分ゲインを示す。
【数１】
0006281594.tif 000002
【００３１】
これらの制御ゲインによって、モータが位置指令ｘｒ、速度指令ｘ’ｒ、ピッチ角度指令ηｒおよびピッチ角速度指令η’ｒに対して応答する追従性が変化する。例えば、モータロータは、比例ゲインＫｐｐを小さくすると、ゆっくりとした追従遅れをもって動くようになり、比例ゲインＫｐｐを大きくすると、高速に追従するようになる。なお、位置姿勢制御器では、ＰＤ制御に限定されず、Ｈ∞制御や、ファジィ制御などを用いて制御を行ってもよい。
【００３２】
旋回制御器は、入力するヨー角度指令ζｒおよびヨー角速度指令ζ’ｒに基づいて旋回指令γを生成する。ヨー角度指令ζｒとヨー角速度指令ζ’ｒは、搭乗者がハンドル１１０を進行方向に向かって左右に傾斜させる傾斜角度に基づいて生成される。なお、ここでは説明の簡略化のため、ヨー角度指令ζｒは生成されず、ハンドル１１０の傾斜によりヨー角速度指令ζ’ｒが生成されるものとする。この場合、旋回制御器は、トレッド幅２Ｌ、車輪半径Ｒｗおよび入力されるヨー角速度指令ζ’ｒから以下の式（２）により旋回指令γを計算する。
【数２】
0006281594.tif 000003
【００３３】
旋回制御器は、これに制御ゲインＫｐｙを乗じたＫｐｙ・γを旋回速度指令として出力する。位置姿勢制御器が出力した位置姿勢速度指令θ’と、旋回制御器が出力した旋回速度指令Ｋｐｙ・γは、加算器で加算されて車輪角速度指令として速度制御器に入力される。ここで、左の車輪１３１に対する左車輪角速度指令θ’Ｌは、以下の式（３）で表される。
【数３】
0006281594.tif 000004
同様に、右の車輪１３２に対する右車輪角速度指令θ’Ｒは、以下の式（４）で表される。
【数４】
0006281594.tif 000005
【００３４】
速度制御器は、本実施形態の一つの特徴を成す後述の補正量を左車輪角速度指令θ’Ｌおよび右車輪角速度指令θ’Ｒに加味する。具体的には後に詳述する。そして、速度制御器は、補正量が加味された車輪角速度指令と、検出された車輪角速度との差を取り、差を０に収束させるようにＰＩ（比例・微分）制御を行って、検出値が指令値に一致するように速度制御を行う。すなわち、速度制御器は、補正量が加味された車輪角速度指令と、検出された車輪角速度とに基づいて、左右の車輪のトルク指令を生成し、駆動ユニットへ出力する。
【００３５】
さて、出願人は、上述の補正量を加味しない車輪角速度指令に基づく従来の制御において、次の現象を見出した。すなわち、旋回時において想定する走行軌跡と実際の走行軌跡に差異が生じる現象である。特に、右車輪と左車輪を逆向きに回転させてその場で旋回しようとする場合に、実際には搭乗者の意図しない前後方向への平行移動も伴って渦巻き状に旋回してしまう現象が確認された。
【００３６】
出願人は、このような現象を解析したところ、走行軌跡がずれる原因は、搭乗者が旋回指令を与える時点や走行装置が旋回中の時点において、搭乗者の重心が左右方向や前後方向に移動するからとの知見を得た。例えば、搭乗者がハンドルを左右に傾斜させると、倒立二輪車に対する搭乗者の重心位置が左右に移動する。この状態で倒立二輪車が旋回を開始すると、搭乗者の体は少し遅れて旋回することになる。すると、搭乗者の体が柔らかいことによる時間的な追従遅れに起因して旋回の途中で前後方向の重心ずれが発生し、ハンドルを前後に傾斜させていないにも関わらす、姿勢維持のフィードバック制御により前後方向の移動が生じてしまう。その結果、搭乗者は、例えば単にその場で旋回がしたいのに、倒立二輪車は、搭乗者の操縦意図とは異なる渦巻き状の走行軌跡を描いてしまう。
【００３７】
このように渦巻き状の走行軌跡を描くと、旋回を停止したときには、もとの位置に対して左右のどちらかに平行移動してしまう。倒立二輪車のように左右の車輪を駆動する走行装置においては、左右方向への位置ずれが生じると、正しい位置へ復帰するために何度も切り返しが必要となり、スムーズな走行が困難となる。そこで、本実施形態においては、車輪角速度指令に補正量を加味することにより、旋回指令に対してより忠実な軌跡を描く走行を実現する。以下にその補正について説明する。
【００３８】
図４は、旋回指令に対する補正の概念と動作を説明する説明図である。図４で示す例は、前進走行中に搭乗者が右方向へ旋回する指示を与えた場合を想定している。このとき、上述のように、搭乗者の重心ＣＧは左右方向にずれが生じ、そのずれ量をｄとする。なお、図示するように、ｙ軸は左方向がプラス方向なので、ずれ量ｄは、マイナスの値である。また、右に旋回する旋回指令γは、マイナスの値である。
【００３９】
右方向へ旋回させる図４の場合では、右方向（ｙ軸マイナス方向）に搭乗者の重心ＣＧがずれるので、これに起因する走行軌跡のずれを減少させるためには、そのずれ量に応じて、左の車輪１３１に加算する回転量を従来の制御より大きくし、右の車輪１３２から減算する回転量を従来の制御より小さくすれば良いことがわかる。換言すると、左の車輪１３１の回転変化量を従来の制御よりも大きくし、右の車輪１３２の回転変化量を従来の制御よりも小さくすれば良い。逆に、左方向へ旋回させる場合では、左方向（ｙ軸プラス方向）に搭乗者の重心ＣＧがずれるので、これに起因する走行軌跡のずれを減少させるためには、そのずれ量に応じて、左の車輪１３１から減算する回転量を従来の制御より小さくし、右の車輪１３２に加算する回転量を従来の制御より大きくすれば良いことがわかる。換言すると、左の車輪１３１の回転変化量を従来の制御よりも小さくし、右の車輪１３２の回転変化量を従来の制御よりも大きくすれば良い。
【００４０】
この方針に従って修正すべく、本実施形態においては、左車輪角速度指令θ’Ｌと右車輪角速度指令θ’Ｒとを、次の式（５）と式（６）のように修正する。
【数５】
0006281594.tif 000006
【数６】
0006281594.tif 000007
【００４１】
ここで、式（５）を見ると、修正されたθ’Ｌは、従来の制御量である式（３）のθ’Ｌに、Ｋｐｙ・（ｄ／Ｌ）・γが補正量として加算されているものであることがわかる。すなわち、θ’Ｌに対する補正量は、車輪１３１、１３２の間隔に対して、ｙ軸方向における重心の偏位の割合に基づいて算出されているものであることがわかる。右方向へ旋回する場合には、ｄもγもマイナスの値なので、旋回指令として加算する回転量を従来の制御量（＝｜−Ｋｐｙ・γ｜）より大きくしていることがわかる。一方、左方向へ旋回する場合には、ｄもγもプラスの値となるので、旋回指令として減算する回転量を従来の制御量（＝｜−Ｋｐｙ・γ｜）より小さくしていることがわかる。
【００４２】
同じく、式（６）を見ると、修正されたθ’Ｒは、従来の制御量である式（４）のθ’Ｒに、Ｋｐｙ・（ｄ／Ｌ）・γが補正量として加算されているものであることがわかる。すなわち、θ’Ｒに対する補正量も、車輪１３１、１３２の間隔に対して、ｙ軸方向における重心の偏位の割合に基づいて算出されているものであることがわかる。右方向へ旋回する場合には、ｄもγもマイナスの値なので、旋回指令として減算する回転量を従来の制御量（＝｜＋Ｋｐｙ・γ｜）より小さくしていることがわかる。一方、左方向へ旋回する場合には、ｄもγもプラスの値となるので、旋回指令として加算する回転量を従来の制御量（＝｜＋Ｋｐｙ・γ｜）より大きくしていることがわかる。
【００４３】
このように、修正されたθ’Ｌとθ’Ｒを用いれば、想定された軌跡により近い軌跡に沿って倒立二輪車１００が走行することを期待できる。なお、補正量は、上述のように従来の制御量に加算される形で表されるので、図３を用いて説明したように、速度制御器は、補正量を演算し、入力される車輪角速度指令に当該補正量を加算してθ’Ｌとθ’Ｒを出力することができる。あるいは、式（５）（６）のそれぞれの第一式における右辺第二項が旋回速度指令に相当するので、旋回制御器が、補正量を含んだ形で旋回速度指令を演算して出力しても良い。なお、θ’Ｌおよびθ’Ｒは、車輪角速度指令であるので、上述の説明における「回転量」および「補正量」は、単位時間あたりの「回転量」および「補正量」であって、角速度の次元を持つ値である。
【００４４】
図５は、前進指令を伴わない場合の右旋回の動作を説明する説明図である。搭乗者がハンドル１１０を前方向に傾斜させておらず、右方向に最も傾斜させた場合には、倒立二輪車１００は、その場旋回（いわゆる超信地旋回に類似する旋回）を行おうとする。例えば右回転のその場旋回の場合に、姿勢維持のための位置姿勢速度指令θ’を実質的に０とみなせば、式（５）は、
【数７】
0006281594.tif 000008
となる。γはマイナスの値であるので、右辺第一項は、一定の角速度で左の車輪１３１が順回転することを表している。ｄもマイナスの値であるので、右辺第二項の補正量は全体でプラスの値となり、順回転の角速度を増加させることを意味する。また、式（６）は、
【数８】
0006281594.tif 000009
となる。γはマイナスの値であるので、右辺第一項は、一定の角速度で右の車輪１３２が逆回転することを表している。ｄもマイナスの値であって、｜ｄ／Ｌ｜＜１であることを考慮すると、右辺第二項の補正量は、全体でプラスの値となり、逆回転の角速度を減少させることを意味する。このように制御することにより、渦巻き状にならないその場旋回の動作が期待できる。
【００４５】
図６は、旋回指令に対する処理フローを説明するフロー図である。フローは、搭乗者が倒立二輪車１００に搭乗した時点、あるいは前進走行している時点から開始される。
【００４６】
制御部２１０は、ステップＳ６０１で、搭乗者から旋回指示があったか否かを判断する。具体的には、制御部２１０は、回転検出部２３０の出力を取得し、ハンドル１１０が左右方向に傾けられたかを判断する。旋回指示があったと判断したらステップＳ６０２へ進み、なかったと判断したらステップＳ６０６へ進む。
【００４７】
ステップＳ６０２では、制御部２１０は、旋回指示を受け付ける。具体的には、制御部２１０は、回転検出部２３０の出力からハンドル１１０の傾斜方向と傾斜度合いを取得して、旋回指示に対応する旋回指令を算出する。そして、ステップＳ６０３へ進み、重心情報を取得する。具体的には、荷重センサ１５１、１５２の出力を用いて重心検出部２２０が検出したｙ軸方向の荷重分布を搭乗者の重心情報として取得する。より具体的には、この重心情報から、図４を用いて説明したずれ量ｄを算出する。
【００４８】
さらにステップＳ６０４へ進み、制御部２１０は、図４および図５を用いて説明した補正量を演算して、左車輪角速度指令θ’Ｌと右車輪角速度指令θ’Ｒを決定する。そして、ステップＳ６０５へ進み、これらの車輪角速度指令に応じたトルク指令を生成してモータ１６１、１６２へ送り、車輪１３１、１３２を駆動する。その後、ステップＳ６０６へ進む。
【００４９】
制御部２１０は、ステップＳ６０６で、搭乗者から停止指示があったか否かを判断する。停止指示がなかったと判断したらステップＳ６０１へ戻る。すなわち、搭乗者が旋回指示を与えている間は、ステップＳ６０２〜Ｓ６０５が繰り返される。したがって、旋回に伴って搭乗者がふらついてもほぼリアルタイムに補正量を再演算して旋回動作を修正することができる。このループは、例えば２ｍｓｅｃで１周する。一方、停止指示があったと判断したら、制御部２１０は、モータ駆動を停止して倒立二輪車１００の走行を停止させる。
【００５０】
以上に説明した倒立二輪車１００は、倒立振子の姿勢制御モデルに基づく同軸二輪車であったが、上記の制御手法は、さまざまな走行装置に適用できる。倒立振子の制御モデルに基づく同軸二輪車であっても、搭乗者の走行指示を受け付ける受付部はハンドルでなくても良い。また、搭乗者が立って搭乗するのではなく、腰掛部を備えた二輪車であっても良い。また、倒立振子の制御を行わない、同軸二輪の他に補助輪を備えた三輪車や四輪車であっても良い。また、一人が搭乗するに限らず、複数人が搭乗できるように構成しても良い。複数人が搭乗する場合には、搭乗者全員による全体としての重心移動を検出できるように構成する。また、駆動輪を駆動する駆動源は電気モータに限らず、例えば内燃機関であっても良い。いずれにしても、上記の制御手法は、搭乗者の重心移動が走行に影響を与える、２つの独立した駆動輪を備える走行装置に適用可能である。
【００５１】
変形例について簡単に図を用いて説明する。図７は、変形例に係る第２の倒立二輪車７００の外観斜視図である。倒立二輪車７００は、倒立二輪車１００と異なり、搭乗者が走行指示を与えるハンドルを備えない。搭乗者は、自身の身体を傾けることにより走行指示を与えることができる。具体的には、倒立二輪車７００は、搭乗者が身体を前方に傾けると前進し、左右に傾けるとその方向へ旋回する。倒立二輪車７００は、倒立二輪車１００と同様に、左脚、右脚の荷重分布を検知する荷重センサが、左のステップ７２１、右のステップ７２２にそれぞれ埋め込まれている。したがって、重心検出部は、搭乗者の走行指示を受け付ける受付部としての機能を同時に担う。
【００５２】
このとき、旋回指令γを搭乗者の重心移動に比例するように、
【数９】
0006281594.tif 000010
と定めると制御を単純化することができ、この場合の左車輪角速度指令θ’Ｌと右車輪角速度指令θ’Ｒは、次の式（１０）と式（１１）で表される。
【数１０】
0006281594.tif 000011
【数１１】
0006281594.tif 000012
【００５３】
上記の式（１０）（１１）によれば、搭乗者は、左に旋回させたいときに左方向に自身の重心を傾け、右に旋回させたいときには右方向に自身の重心を傾ける。しかし、例えば、搭乗者が基台に固定された把持部を把持しながら身体を大きく一方に傾けたときに、倒立二輪車が他方に旋回するほうが搭乗者の感覚に合う場合もある。このような制御を行う場合には、旋回指令の符号を逆転させて、
【数１２】
0006281594.tif 000013
と定め、左車輪角速度指令θ’Ｌと右車輪角速度指令θ’Ｒを、次の式（１３）と式（１４）で表されるように改める。
【数１３】
0006281594.tif 000014
【数１４】
0006281594.tif 000015
【００５４】
図７に示す倒立二輪車７００は、搭乗者が乗せる右脚左脚のステップ７２１、７２２をｙ軸方向に並べているが、これらを進行方向に沿って（すなわちｘ軸方向に沿って）並べても良い。すなわち、スケートボードのような体勢で搭乗する形式を採用すると、式（１２）から（１４）を用いて説明した制御が、より搭乗者の感覚に合うとも言える。
【００５５】
以上に説明した走行装置においては、図４等を用いて説明したように、補正量に重心移動ｄが寄与する係数をｄ／Ｌと定めた。しかし、補正量を演算するにあたり、重心移動ｄをどのように補正量に反映させるかは、走行装置、路面状態、その時点での前進速度、搭乗者の体重、周辺環境の温度等に合わせて異ならせても良いし、状況変化を検知して動的に変更しても良い。例えば、ｄ２／Ｌと定めても良いし、他のパラメータも組み込んだ関数で表現されていても良い。
【００５６】
以上説明した実施形態において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現し得る。便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【符号の説明】
【００５７】
１００、７００  倒立二輪車、１１０  ハンドル、１２１、１２２、７２１、７２２  ステップ、１３１、１３２、７３１、７３２  車輪、１５１、１５２  荷重センサ、１６１、１６２  モータ、１７１、１７２  伝達機構、１８１、１８２  車軸、１９０  基台、２１０  制御部、２１５  メモリ、２２０  重心検出部、２３０  回転検出部、３００  バッテリ
【図１】
0006281594.tif 000016
【図２】
0006281594.tif 000017
【図３】
0006281594.tif 000018
【図４】
0006281594.tif 000019
【図５】
0006281594.tif 000020
【図６】
0006281594.tif 000021
【図７】
0006281594.tif 000022