[第1実施形態]
本発明の第1実施形態を図1〜図13を参照して以下に説明する。なお、本実施形態は、本願の特許請求の範囲に記載した発明に関連する参考発明の実施形態である。図1及び図2に示すように本実施形態の倒立振子型車両1(以降、単に車両1ということがある)は、基体2と、床面上を移動可能な第1の移動動作部3及び第2の移動動作部4と、乗員が搭乗する乗員搭乗部5とを備える。
第1の移動動作部3は、図2に示す円環状の芯体6(以下、環状芯体6という)と、この環状芯体6の円周方向(軸心周り方向)に等角度間隔で並ぶようにして該環状芯体6に装着された複数の円環状のローラ7とを備える。各ローラ7は、その回転軸心を環状芯体6の円周方向に向けて環状芯体6に外挿されている。そして、各ローラ7は、環状芯体6の軸心周りに該環状芯体6と一体に回転可能とされていると共に、該環状芯体6の横断面の中心軸(環状芯体6の軸心を中心とする円周軸)周りに回転可能とされている。
これらの環状芯体6及び複数のローラ7を有する第1の移動動作部3は、例えば図1及び図2に示す如く、環状芯体6の軸心を床面と平行(もしくはほぼ平行)に向けた状態で、ローラ7(環状芯体6の下部に位置するローラ7)を介して床面上に接地され得る。この接地状態で、環状芯体6をその軸心周りに回転駆動することで、環状芯体6及び各ローラ7の全体が輪転し、それにより第1の移動動作部3が環状芯体6の軸心と直交する方向(詳しくは、環状芯体6の軸心を床面に投影してなる方向に直交する方向)に床面上を移動するようになっている。また、上記接地状態で、各ローラ7をその回転軸心周りに回転駆動することで、第1の移動動作部3が、環状芯体6の軸心方向(詳しくは、環状芯体6の軸心を床面に投影してなる方向)に移動するようになっている。
さらに、環状芯体6の回転駆動と各ローラ7の回転駆動とを行なうことで、環状芯体6の軸心と直交する方向と、環状芯体6の軸心方向とに対して傾斜した方向に第1の移動動作部3が移動するようになっている。
これにより、第1の移動動作部3は、床面上を全方向に移動することが可能となっている。以降の説明では、図1及び図2に示す如く、第1の移動動作部3の移動方向(水平面に投影して見た移動方向)のうち、環状芯体6の軸心と直交する方向をX軸方向、該環状芯体6の軸心方向をY軸方向とし、鉛直方向をZ軸方向とする。当該XYZ座標系は、所謂、グローバル座標系に相当する。なお、車両1の前方向をX軸の正方向、左方向をY軸の正方向、上方向をZ軸の正方向とする。
基体2には、上記第1の移動動作部3が組み付けられている。より詳しくは、基体2は、床面に接地させた第1の移動動作部3の下部を除く部分の周囲を覆うように設けられている。そして、この基体2に第1の移動動作部3の環状芯体6が、その軸心周りで回転自在に支持されている。この場合、基体2は、第1の移動動作部3の環状芯体6の軸心を支点として、その軸心周り方向(Y軸周り方向)に傾動自在とされていると共に、第1の移動動作部3と共に床面に対して傾くことで、第1の移動動作部3の接地部を支点として、環状芯体6の軸心と直交するX軸周り方向に傾動自在とされている。従って、基体2は、鉛直方向に対して2軸周りに傾動自在とされている。
また、基体2の内部には、図2に示すように、第1の移動動作部3を移動させる駆動力を発生する第1のアクチュエータ装置8が搭載されている。この第1のアクチュエータ装置8は、環状芯体6を回転駆動するアクチュエータとしての電動モータ8aと、各ローラ7を回転駆動するアクチュエータとしての電動モータ8bとから構成される。そして、電動モータ8a,8bは、それぞれ図示を省略する動力伝達機構を介して環状芯体6、各ローラ7に回転駆動力を付与するようにしている。この動力伝達機構は公知の構造のものでよい。
なお、第1の移動動作部3は、上記の構造と異なる構造のものであってもよい。例えば、第1の移動動作部3及びその駆動系の構造として、PCT国際公開公報WO/2008/132778、あるいは、PCT国際公開公報WO/2008/132779にて本願出願人が提案した構造のものを採用してもよい。
また、基体2には、乗員搭乗部5が組み付けられている。この乗員搭乗部5は、乗員が着座するシートにより構成されており、基体2の上端部に固定されている。そして、乗員は、その前後方向をX軸方向、左右方向をY軸方向に向けて、乗員搭乗部5に着座することが可能となっている。また、乗員搭乗部5(シート)は、基体2に固定されているので、基体2と一体に鉛直方向に対して傾動自在とされている。
基体2には、さらに乗員搭乗部5に着座した乗員がその足を載せる一対の足載せ部9,9と、乗員が把持する一対の把持部10,10とが組み付けられている。足載せ部9,9は、基体2の両側部の下部に突設されている。なお、図1及び図2では、一方側(右側)の足載せ部9の図示は省略されている。
また、把持部10,10は、乗員搭乗部5の両側にX軸方向(前後方向)に延在して配置されたバー状のものであり、それぞれ、基体2から延設されたロッド11を介して基体2に固定されている。そして、把持部10,10のうちの一方の把持部10(図では右側の把持部10)には、操作器としてのジョイスティック12が取り付けられている。
このジョイスティック12は、前後方向(Y軸周り方向)及び左右方向(X軸周り方向)に揺動操作可能とされている。そして、該ジョイスティック12は、その前後方向(Y軸周り方向)の揺動量を示す操作信号を、車両1を前方又は後方に移動させる指令として出力し、左右方向(X軸周り方向)の揺動量を示す操作信号を、車両1を右周り(時計周り)又は左周り(反時計周り)に旋回させるための指令(旋回指令)として出力する。
なお、本実施形態では、ジョイスティック12の前後方向の揺動量(すなわち、Y軸周り方向の回転量)は、例えば、前向きの揺動量が正、後向きの揺動量が負である。また、ジョイスティック12の左右方向の揺動量(すなわち、X軸周り方向の回転量)は、例えば、左向きの揺動量が正、右向きの揺動量が負である。
第2の移動動作部4は、本実施形態では、所謂、オムニホイールにより構成されている。第2の移動動作部4としてのオムニホイールは、同軸心の一対の環状芯体(図示省略)と、各環状芯体に、回転軸心を該環状芯体の円周方向に向けて回転自在に外挿された複数の樽状のローラ13とを備える公知の構造のものである。
この場合、第2の移動動作部4は、その一対の環状芯体の軸心をX軸方向(前後方向)に向けて第1の移動動作部3の後方に配置され、ローラ13を介して床面に接地されている。
なお、上記一対の環状芯体の一方側のローラ13と、他方側のローラ13とは、該環状芯体の周方向に位相をずらして配置されており、該一対の環状芯体の回転時に、該一対の環状芯体の一方側のローラ13と、他方側のローラ13とのうちのいずれか一方が床面に接地するようになっている。
上記オムニホイールにより構成された第2の移動動作部4は、基体2に連結されている。より詳しくは、第2の移動動作部4は、オムニホイール(一対の環状芯体及び複数のローラ13の全体)の上部側の部分を覆う筐体14を備えており、この筐体14にオムニホイールの一対の環状芯体がその軸心周りに回転自在に軸支されている。さらに、筐体14から基体2側に延設されたアーム15が、前記第1の移動動作部3の環状芯体6の軸心周りに揺動し得るように基体2に軸支されている。これにより、第2の移動動作部4は、アーム15を介して基体2に連結されている。
そして、第2の移動動作部4は、アーム15の揺動によって第1の移動動作部3の環状芯体6の軸心周りに基体2に対して揺動自在とされ、これにより、第1の移動動作部3と第2の移動動作部4との両方を接地させたまま、乗員搭乗部5を基体2と共にY軸周り方向に傾動させることが可能となっている。
なお、アーム15を第1の移動動作部3の環状芯体6の軸心部に軸支して、第1の移動動作部3に第2の移動動作部4をアーム15を介して連結するようにしてもよい。
また、基体2には、アーム15の揺動範囲を制限する一対のストッパ16,16が設けられており、該アーム15は、ストッパ16,16の間の範囲内で揺動することが可能となっている。これにより、第1の移動動作部3の環状芯体6の軸心周りでの第2の移動動作部4の揺動範囲、ひいては、基体2及び乗員搭乗部5のX軸周り方向の傾動範囲が制限されて、該基体2及び乗員搭乗部5が乗員の後ろ側に過大に傾くことが防止されるようになっている。
なお、第2の移動動作部4は、床面に押し付けられるようにバネ等により付勢されていてもよい。
上記のように、第2の移動動作部4は、その一対の環状芯体の回転と、ローラ13の回転とのうちの一方又は両方を行なうことで、第1の移動動作部3と同様に、床面上をX軸方向及びY軸方向を含む全方向に移動することが可能となっている。詳しくは、環状芯体の回転によって、第2の移動動作部4がY軸方向(左右方向)に移動可能とされ、ローラ13の回転によって、X軸方向(前後方向)に移動可能とされている。
また、第2の移動動作部4の筐体14には、第2の移動動作部4を駆動する第2のアクチュエータ装置としての電動モータ17が取り付けられている。この電動モータ17は、第2の移動動作部4の一対の環状芯体を回転駆動するように該一対の環状芯体に連結されている。
したがって、本実施形態では、第2の移動動作部4のX軸方向での移動は、第1の移動動作部3のX軸方向での移動に追従して従動的に行われる。また、第2の移動動作部4のY軸方向での移動は、電動モータ17により第2の移動動作部4の一対の環状芯体を回転駆動することによって行われる。
補足すると、第2の移動動作部4は、第1の移動動作部3と同様の構造のものであってもよい。
以上が本実施形態における車両1の機構的な構成である。補足すると、本実施形態では、第1の移動動作部3、第1のアクチュエータ装置8、及び乗員搭乗部5がそれぞれ本発明における移動動作部、アクチュエータ装置、物体搭載部に相当する。
また、本実施形態の車両1は、第2の移動動作部4を備える車両であるが、第2の移動動作部4を備えない車両であってもよい。この場合には、第2のアクチュエータ装置(電動モータ17)と後述の第2制御処理部22は不要である。
図1及び図2での図示は省略したが、本実施形態の車両1の基体2には、該車両1の動作制御(第1の移動動作部3及び第2の移動動作部4の動作制御)のための構成として、図3に示したように、CPU、RAM、ROM等を含む電子回路ユニットにより構成された制御装置20と、基体2の3軸方向の加速度を検出する加速度センサ50と、3軸周りの角速度を検出する角速度センサ51と、電動モータ8aの回転速度を検出する回転速度センサ52aと、電動モータ8bの回転速度を検出する回転速度センサ52bと、電動モータ17の回転速度を検出する回転速度センサ53とが搭載されている。
角速度センサ51は、例えばジャイロセンサ等により構成され、回転速度センサ52a,52b,53は、例えば、ロータリエンコーダ、レゾルバ等により構成される。なお、加速度センサ50及び角速度センサ51は、本発明における慣性センサに相当する。
そして、制御装置20には、ジョイスティック12の出力(操作信号)と、加速度センサ50、角速度センサ51及び回転速度センサ52a,52b,53の各検出信号とが入力される。
制御装置20は、加速度センサ50及び角速度センサ51のそれぞれの検出信号から、基体2の並進加速度(X軸方向及びY軸方向の並進加速度)の計測値と、基体2の角速度(ヨー方向(Z軸周り方向)の角速度)の計測値と、基体2の乗員搭乗部5の傾斜角度(=基体2の傾斜角度)の計測値とをストラップダウン方式等の公知の手法を用いて取得する機能を有する。
なお、本実施形態における乗員搭乗部5の傾斜角度(又は基体2の傾斜角度)というのは、より詳しくは、車両1の全体重心(乗員搭乗部5に乗員が搭乗した状態では、該乗員を含めた全体重心)が、第1の移動動作部3の接地部の直上(鉛直方向上方)もしくはほぼ直上に位置する状態での乗員搭乗部5(又は基体2)の姿勢を基準(ゼロ)とする傾斜角度(X軸周り方向の傾斜角度とY軸周り方向の傾斜角度との組)である。
制御装置20は、実装されたハードウェア構成又はプログラムにより実現される機能として、上記のように計測値を取得する機能の他、第1のアクチュエータ装置8を構成する電動モータ8a,8bを制御することで第1の移動動作部3の移動動作を制御する第1制御処理部21と、第2のアクチュエータ装置としての電動モータ17を制御することで第2の移動動作部4の移動動作を制御する第2制御処理部22とを備えている。
第1制御処理部21は、後述する演算処理を実行することで、第1の移動動作部3の移動速度(詳しくは、X軸方向の並進速度とY軸方向の並進速度との組)の目標値である目標速度を逐次算出し、第1の移動動作部3の実際の移動速度を、該目標速度に一致させるように電動モータ8a,8bの回転速度を制御する。
この場合、電動モータ8a,8bのそれぞれの回転速度と、第1の移動動作部3の実際の移動速度(詳しくは、第1の移動動作部3と床面との間の滑りが無い場合の移動速度)との間の関係は、電動モータ8a,8bと第1の移動動作部3と間の動力伝達機構の構成によってあらかじめ定められており、第1の移動動作部3の目標速度に応じて、各電動モータ8a,8bの回転速度の目標値が規定される。
そして、第1制御処理部21は、電動モータ8a,8bの回転速度を、第1の移動動作部3の目標速度に応じて規定される目標値にフィードバック制御することで、第1の移動動作部3の実際の移動速度を目標速度に一致させるように制御する。
また、第2制御処理部22は、後述する演算処理を実行することで、第2の移動動作部4の移動速度(詳しくは、Y軸方向の並進速度)の目標値である目標速度を逐次算出し、Y軸方向での第2の移動動作部4の実際の移動速度を、該目標速度に一致させるように電動モータ17の回転速度を制御する。
この場合、第1の移動動作部3の場合と同様に、電動モータ17の回転速度と、Y軸方向での第2の移動動作部4の実際の移動速度(詳しくは、第2の移動動作部4と床面との間の滑りが無い場合の移動速度)との間の関係はあらかじめ定められており、第2の移動動作部4の目標速度に応じて、電動モータ17の回転速度の目標値が規定される。
そして、第1制御処理部21は、電動モータ17の回転速度を第2の移動動作部4の目標速度に応じて規定される目標値にフィードバック制御することで、Y軸方向での第2の移動動作部4の実際の移動速度を目標速度に一致させるように制御する。
補足すると、本実施形態では、第2の移動動作部4のX軸方向での移動は、第1の移動動作部3のX軸方向の移動に追従して従動的に行なわれる。このため、X軸方向での第2の移動動作部4の移動速度の目標値を設定する必要はない。
なお、本明細書の実施形態の説明では、第1の移動動作部3の移動速度は、特にことわらない限り、第1の移動動作部3の接地点の移動速度を意味する。同様に、第2の移動動作部4の移動速度は、特にことわらない限り、第2の移動動作部4の接地点の移動速度を意味する。第1の移動動作部3の接地点の移動速度は、換言すれば、該第1の移動動作部3の代表点の並進移動速度を意味する。第2の移動動作部4の接地点の移動速度についても同様である。
次に、上記第1制御処理部21及び第2制御処理部22による処理をさらに詳細に説明する。まず、図4〜図12Bを参照して、第1制御処理部21による処理について説明する。
第1制御処理部21は、図4に示すように、第1の移動動作部3の移動速度の基準の目標値である基準目標速度Vw1_cmd1_xyを後述する演算処理により逐次算出する基準目標速度決定部211と、第1の移動動作部3の空転が発生している場合に、上記基準目標速度Vw1_cmd1_xyを適宜修正する空転時速度調整部212と、第1の移動動作部3の空転の度合に応じて第1の移動動作部3の移動動作を停止するか否かを決定する移動停止判断部213と、空転時速度調整部212及び移動停止判断部213の出力に応じて第1の移動動作部3の目標速度Vw1_cmd_xy(移動速度の目標値)を確定する目標速度確定部215とを含む。
この場合、移動停止判断部213は、第1の移動動作部3の空転量ΔV1_xyを推定する空転量推定部214としての機能を含んでいる。そして、空転量ΔV1_xyの推定値は、空転時速度調整部212で使用される。
なお、Vw1_cmd1_xy等の参照符号における添え字“_xy”は、X軸方向の成分とY軸方向の成分との組を意味する。
第1制御処理部21は、上記各機能部の処理を所定の演算処理周期で逐次実行することで、第1の移動動作部3の目標速度Vw1_cmd_xyを逐次決定する。この場合、第1制御処理部21は、各演算処理周期において、基準目標速度決定部211及び移動停止判断部213の処理を実行し、さらに、空転時速度調整部212の処理を実行した後、目標速度確定部215の処理を実行することで、第1の移動動作部3の目標速度Vw1_cmd_xyを決定する。
基準目標速度決定部211は、図5に示すように、その主要な機能部として、ジョイスティック12から入力される操作信号により示される該ジョイスティック12の前後方向の揺動量(Y軸周り方向の回転量)Js_x及び左右方向の揺動量(X軸周り方向の回転量)Js_yから車両1の移動のための速度指令に変換する操作指令変換部31と、車両1の全体重心(以降、車両系全体重心という)の目標速度を決定する重心目標速度決定部32と、車両系全体重心の速度を推定する重心速度推定部33と、推定した車両系全体重心の速度を目標速度に追従させつつ、乗員搭乗部5の姿勢(基体2の姿勢)を安定化するように第1の移動動作部3の目標速度を決定する姿勢制御演算部34と、車両系全体重心の後述する重心ずれ量を推定する重心ずれ推定部35と、該重心ずれ量に起因する後述する重心ずれ影響量を算出する重心ずれ影響量算出部36とを備える。
そして、基準目標速度決定部211は、各演算処理周期において、これらの各機能部の処理を実行することで、基準目標速度Vw1_cmd1_xyを決定する。
ここで、基準目標速度決定部211の各機能部の処理を具体的に説明する前に、その処理の基礎となる事項を説明しておく。車両系全体重心の動力学的な挙動(詳しくは、Y軸方向から見た挙動と、X軸方向から見た挙動)は、近似的に、図6に示すような倒立振子モデルの挙動により表現される。基準目標速度決定部211等の第1制御処理部21の処理のアルゴリズムは、この挙動を基礎として構築されている。
なお、図6の参照符号を含めて、本明細書の実施形態の説明では、添え字“_x”は車両1をY軸方向から見た場合の変数等の参照符号を意味し、添え字“_y”は車両1をX軸方向から見た場合の変数等の参照符号を意味する。また、図6では、Y軸方向から見た場合の倒立振子モデルと、X軸方向から見た場合の倒立振子モデルとを併せて図示するために、Y軸方向から見た場合の変数の参照符号に括弧を付さないものとし、X軸方向から見た場合の変数の参照符号に括弧を付している。
Y軸方向から見た車両系全体重心の挙動を表す倒立振子モデルは、Y軸方向と平行な回転軸心を有して床面上を輪転自在な仮想的な車輪61_x(以降、仮想車輪61_xという)と、該仮想車輪61_xの回転中心から延設されて、該仮想車輪61_xの回転軸周りに(Y軸周り方向に)揺動自在なロッド62_xと、このロッド62_xの先端部(上端部)である基準部Ps_xに連結された質点Ga_xとを備える。
この倒立振子モデルでは、質点Ga_xの運動が、Y軸方向から見た車両系全体重心の運動に相当し、鉛直方向に対するロッド62_xの傾斜角度θb_x(Y軸周り方向の傾斜角度)が、乗員搭乗部5(又は基体2)のY軸周り方向の傾斜角度に一致する。また、第1の移動動作部3のX軸方向の並進運動が、仮想車輪61_xの輪転によるX軸方向の並進運動に相当する。
そして、仮想車輪61_xの半径r_xと、基準部Ps_x及び質点Ga_xの床面からの高さh_xとは、あらかじめ設定された既定値(一定値)とされる。
同様に、X軸方向から見た車両系全体重心の挙動を表す倒立振子モデルは、X軸方向と平行な回転軸心を有して床面上を輪転自在な仮想的な車輪61_y(以降、仮想車輪61_yという)と、該仮想車輪61_yの回転中心から延設されて、該仮想車輪61_yの回転軸周りに(X軸周り方向に)揺動自在なロッド62_yと、このロッド62_yの先端部(上端部)である基準部Ps_yに連結された質点Ga_yとを備える。
この倒立振子モデルでは、質点Ga_yの運動が、X軸方向から見た車両系全体重心の運動に相当し、鉛直方向に対するロッド62_yの傾斜角度θb_y(X軸周り方向の傾斜角度)が、乗員搭乗部5(又は基体2)のX軸周り方向の傾斜角度に一致する。また、第1の移動動作部3のY軸方向の並進運動が、仮想車輪61_yの輪転によるY軸方向の並進運動に相当する。
そして、仮想車輪61_yの半径r_yと、基準部Ps_y及び質点Ga_yの床面からの高さh_yとは、あらかじめ設定された既定値(一定値)とされる。なお、X軸方向で見た基準部Ps_y及び質点Ga_yの床面からの高さh_yは、Y軸方向で見た基準部Ps_x及び質点Ga_xの床面からの高さh_xと同じである。そこで、以降、h_x=h_y=hとおく。
ここで、Y軸方向から見た場合の上記基準部Ps_xと質点Ga_xとの位置関係について補足すると、基準部Ps_xの位置は、乗員搭乗部5に搭乗(着座)した乗員が、該乗員搭乗部5に対して予め定められた中立姿勢のまま不動であると仮定した場合における車両系全体重心の位置に相当している。
したがって、この場合には、質点Ga_xの位置は、基準部Ps_xの位置に一致する。このことは、X軸方向から見た場合の上記基準部Ps_yと質点Ga_yとの位置関係ついても同様である。
ただし、実際には、乗員搭乗部5に搭乗した乗員が、その上体等を乗員搭乗部5(又は基体2)に対して動かすことで、実際の車両系全体重心のX軸方向の位置及びY軸方向の位置は、一般には、それぞれ基準部Ps_x,Ps_yの位置から水平方向にずれることとなる。このため、図6では、質点Ga_x,Ga_yの位置をそれぞれ基準部Ps_x,Ps_yの位置からずらした状態で示している。
上記のような倒立振子モデルで表現される車両系全体重心の挙動は、次式(1a),(1b),(2a),(2b)により表現される。この場合、式(1a),(1b)は、Y軸方向で見た挙動、式(2a),(2b)は、X軸方向で見た挙動を表している。
Vb_x=Vw1_x+h・ωb_x ……(1a)
dVb_x/dt=(g/h)・(θb_x・(h−r_x)+Ofst_x)+ωz・Vb_y ……(1b)
Vb_y=Vw1_y+h_y・ωb_y ……(2a)
dVb_y/dt=(g/h)・(θb_y・(h−r_y)+Ofst_y)−ωz・Vb_x ……(2b)
ここで、Vb_xは、車両系全体重心のX軸方向の速度(並進速度)、θb_xは乗員搭乗部5(又は基体2)のY軸周り方向の傾斜角度、Vw1_xは、仮想車輪61_xのX軸方向の移動速度(並進速度)、ωb_xはθb_xの時間的変化率(=dθb_x/dt)、Ofst_xは車両系全体重心のX軸方向の位置(質点Ga_xのX軸方向の位置)の、前記基準部Ps_xの位置からのX軸方向のずれ量、Vb_yは、車両系全体重心のY軸方向の速度(並進速度)、Vw1_yは、仮想車輪61_yのY軸方向の移動速度(並進速度)、θb_yは乗員搭乗部5(又は基体2)のX軸周り方向の傾斜角度、ωb_yはθb_yの時間的変化率(=dθb_y/dt)、Ofst_yは車両系全体重心のY軸方向の位置(質点Ga_yのY軸方向の位置)の、前記基準部Ps_yの位置からのY軸方向のずれ量である。また、ωzは車両1の旋回時のヨーレート(ヨー軸周り方向の角速度)、gは重力加速度定数である。
なお、式(1a),(1b),(2a),(2b)では、θb_x、ωb_xの正方向は、車両系全体重心がX軸の正方向(前向き)に傾く方向、θb_y、ωb_yの正方向は、車両系全体重心がY軸の正方向(左向き)に傾く方向である。また、ωzの正方向は、車両1を上方から見た場合に、反時計周り方向である。
式(1a)の右辺第2項(=h・ωb_x)は、乗員搭乗部5のY軸周り方向の傾動によって生じる基準部Ps_xのX軸方向の並進速度成分、式(2a)右辺第2項(=h・ωb_y)は、乗員搭乗部5のX軸周り方向の傾動によって生じる基準部Ps_yのY軸方向の並進速度成分である。
補足すると、式(1a)におけるVw1_xは、詳しくは、ロッド62_xに対する(換言すれば乗員搭乗部5又は基体2に対する)相対的な仮想車輪61_xの周速度である。このため、Vw1_xには、床面に対する仮想車輪61_xの接地点のX軸方向の移動速度(床面に対する第1の移動動作部3の接地点のX軸方向の移動速度)に加えて、ロッド62_xの傾動に伴う速度成分(=r_x・ωb_x)が含まれている。このことは、式(1b)におけるVw1_yについても同様である。
また、式(1b)の右辺の第1項は、車両系全体重心のX軸方向の位置(質点Ga_xのX軸方向の位置)の、仮想車輪61_xの接地部(Y軸方向から見た第1の移動動作部3の接地部)の鉛直上方位置からのずれ量(=θb_x・(h−r_x)+Ofst_x)に応じて仮想車輪61_xの接地部に作用する床反力(図6のF)のX軸方向成分(図6のF_x)によって車両系全体重心に発生するX軸方向の加速度成分、式(1b)の右辺の第2項は、ωzのヨーレートでの旋回時に車両1に作用する遠心力によって発生するX軸方向の加速度成分である。
同様に、式(2b)の右辺の第1項は、車両系全体重心のY軸方向の位置(質点Ga_yのY軸方向の位置)の、仮想車輪61_yの接地部(X軸方向から見た第1の移動動作部3の接地部)の鉛直上方位置からのずれ量(=θb_y・(h−r_y)+Ofst_y)に応じて仮想車輪61_yの接地部に作用する床反力(図6のF)のY軸方向成分(図6のF_y)によって車両系全体重心に発生するY軸方向の加速度成分、式(2b)の右辺の第2項は、ωzのヨーレートでの旋回時に車両1に作用する遠心力によって発生するY軸方向の加速度成分である。
上記のように、式(1a)、(1b)により表現される挙動(Y軸方向で見た挙動)は、ブロック線図で表現すると、図7に示すように表される。図中の1/sは積分演算を表している。
図7における参照符号Aを付した演算部の処理が、式(1a)の関係式に該当しており、参照符号Bを付した演算部の処理が、式(1b)の関係式に該当している。
なお、図7中のh・θb_xは、近似的には、図6に示したDiff_xに一致する。
一方、式(2a)、(2b)により表現される挙動(X軸方向で見た挙動)を表現するブロック線図は、図7中の添え字“_x”と“_y”とを入れ替えると共に、参照符号Cを付した加算器への入力の一つである図中下側の加速度成分(遠心力によって発生する加速度成分)の符号“+”を“−”に置き換えることによって得られる。
本実施形態では、第1制御処理部21の処理のアルゴリズムは、上記のように車両系全体重心の基準部Ps_x,Ps_yからのずれ量と、遠心力とを考慮した車両系全体重心の挙動モデル(倒立振子モデル)に基づいて構築されている。
以上を前提として、第1制御処理部21の基準目標速度決定部211の処理をより具体的に説明する。なお、以降の説明では、Y軸方向から見た挙動に関する変数の値と、X軸方向から見た挙動に関する変数の値との組を添え字“_xy”を付加して表記する。
図5を参照して、基準目標速度決定部211は、各演算処理周期において、まず、操作指令変換部31の処理と、重心速度推定部33の処理とを実行する。
操作指令変換部31は、図8に示すように、ジョイスティック12のY軸方向への揺動量(X軸周りの回転量)Js_yと、ジョイスティック12のX軸方向への揺動量(Y軸周りの回転量)Js_xとに応じて、第1の移動動作部3の移動速度(並進速度)の基本指令値である基本速度指令Vjs_xyと、車両1の旋回時のヨー軸周り方向の角速度の指令値である旋回角速度指令ωjsとを決定する。
上記基本速度指令Vjs_xyのうち、X軸方向の基本速度指令Vjs_xは、処理部31aにて、ジョイスティック12のX軸方向への揺動量Js_xに応じて決定される。具体的には、揺動量Js_xが正方向の揺動量(前向きの揺動量)である場合には、X軸方向の基本速度指令Vjs_xは、車両1の前進方向への速度指令(正の速度指令)とされ、揺動量Js_xが負方向の揺動量(後向きの揺動量)である場合には、X軸方向の基本速度指令Vjs_xは、車両1の後進方向への速度指令(負の速度指令)とされる。また、この場合、X軸方向の基本速度指令Vjs_xの大きさは、ジョイスティック12のX軸方向(前向き又は後向き)への揺動量Js_xの大きさが大きいほど、既定の上限値以下で、大きくなるように決定される。
なお、ジョイスティック12の正方向又は負方向への揺動量Js_xの大きさが十分に微小なものとなる所定の範囲を不感帯域として、その不感帯域内の揺動量では、X軸方向の基本速度指令Vjs_xをゼロに設定するようにしてもよい。図8の処理部31a中に示すグラフは、上記不感帯域を有する場合の入力(Js_x)と、出力(Vjs_x)との間の関係を示している。
また、基本速度指令Vjs_xyのうち、Y軸方向の基本速度指令Vjs_yは、車両1の旋回用の第1の移動動作部3のY軸方向の速度指令として、ジョイスティック12のY軸方向への揺動量Js_yに応じて決定される。具体的には、揺動量Js_yが負方向の揺動量(右向きの揺動量)である場合には、Y軸方向の基本速度指令Vjs_yは、車両1の左向きへの速度指令(正の速度指令)とされ、揺動量Js_yが正方向の揺動量(左向きの揺動量)である場合には、Y軸方向の基本速度指令Vjs_yは、車両1の右向きへの速度指令(負の速度指令)とされる。この場合、Y軸方向の基本速度指令Vjs_yの大きさは、ジョイスティック12のY軸方向への(右向き又は左向きへの)揺動量の大きさが大きいほど、既定の上限値以下で、大きくなるように決定される。
より具体的には、例えば、図8に示すように、処理部31bの処理によって、ジョイスティック12のY軸方向への揺動量Js_yに応じて、車両1の旋回時のヨー軸周りの方向の角速度の指令値である旋回角速度指令ωjsが決定される。具体的には、ジョイスティック12の揺動量Js_yが負方向の揺動量(右向きの揺動量)である場合には、旋回角速度指令ωjsは、右周り(時計周り)の旋回の角速度指令(負の角速度指令)とされ、ジョイスティック12の揺動量Js_yが正方向の揺動量(左向きの揺動量)である場合には、旋回角速度指令ωjsは、左周り(反時計周り)の旋回の角速度指令(正の角速度指令)とされる。この場合、旋回角速度指令ωjsの大きさは、ジョイスティック12のY軸方向への揺動量の大きさが大きいほど、既定の上限値以下で、大きくなるように決定される。
そして、処理部31cにおいて、この旋回角速度指令ωjsに、車両1の瞬間旋回中心(車両1の旋回時の各演算処理周期でのヨー軸周り方向の瞬間的な回転中心)と第1の移動動作部3の接地点とのX軸方向の距離としてあらかじめ定められた所定値Kを乗じることによって、第1の移動動作部3のY軸方向の基本速度指令Vjs_yが決定される。
従って、第1の移動動作部3のY軸方向の基本速度指令Vjs_yは、ジョイスティック12のY軸方向への揺動量Js_yに応じて決定される旋回角速度指令ωjsに比例するように決定される。
ただし、基本速度指令Vjs_y又は旋回角速度指令ωjsの大きさは、ジョイスティック12のY軸方向への揺動量の大きさが十分に微小なものとなる所定の範囲を不感帯域として、その不感帯域内の揺動量では、Y軸方向の基本速度指令Vjs_y又は旋回角速度指令ωjsをゼロに設定するようにしてもよい。図8の処理部31b中に示すグラフは、上記不感帯域を有する場合の入力(Js_y)と、出力(ωjs)との間の関係を示している。
また、ジョイスティック12がX軸方向(前後方向)及びY軸方向(左右方向)の両方に操作されている場合には、Y軸方向の基本速度指令Vjs_yの大きさを、ジョイスティック12のX軸方向への揺動量又はX軸方向の基本速度指令Vjs_xに応じて変化させるようにしてもよい。
前記重心速度推定部33は、前記倒立振子モデルにおける前記式(1a),(2a)に表される幾何学的な(運動学的な)関係式に基づいて、車両系全体重心の速度の推定値Vb_estm1_xyを算出する。
具体的には、図5のブロック線図で示す如く、第1の移動動作部3の実際の並進速度Vw1_act_xyの値と、乗員搭乗部5の傾斜角度θb_xyの実際の時間的変化率(傾斜角速度)ωb_act_xyに、車両系全体重心の高さhを乗じてなる値とを加え合せることにより、車両系全体重心の速度の推定値Vb_estm1_xyを算出する。
すなわち、車両系全体重心のX軸方向の速度の推定値Vb_estm1_xとY軸方向の速度の推定値Vb_estm1_yとがそれぞれ、次式(3a),(3b)により算出される。
Vb_estm1_x=Vw1_act_x+h・ωb_act_x ……(3a)
Vb_estm1_y=Vw1_act_y+h・ωb_act_y ……(3b)
ただし、ここでは、車両系全体重心の位置の基準部Ps_xyの位置からの前記ずれ量Ofst_xy(以降、重心ずれ量Ofst_xyという)の時間的変化率は、Vb_estm1_xyに比べ十分に小さく無視できるものとした。
この場合、上記演算におけるVw1_act_x,Vw1_act_yの値としては、本実施形態では、前回の演算処理周期で目標速度確定部215により決定された第1の移動動作部3の目標速度Vw1_cmd_x,Vw1_cmd_y(前回値)が用いられる。
ただし、例えば、電動モータ8a,8bのそれぞれの回転速度を回転速度センサ52a,52bにより検出し、それらの検出値から推定したVw1_act_x,Vw1_act_yの最新値(換言すれば、Vw1_act_x,Vw1_act_yの計測値の最新値)を式(3a),(3b)の演算に用いるようにしてもよい。
また、ωb_act_x,ωb_act_yの値としては、本実施形態では、加速度センサ50及び角速度センサ51の検出信号に基づく乗員搭乗部5の傾斜角度θbの計測値の時間的変化率の最新値(換言すれば、ωb_act_x,ωb_act_yの計測値の最新値)が用いられる。
基準目標速度決定部211は上記の如く操作指令変換部31及び重心速度推定部33の処理を実行した後、次に、図5に示す重心ずれ推定部35の処理を実行することで、前記重心ずれ量Ofst_xyの推定値である重心ずれ量推定値Ofst_estm_xyを決定する。
この重心ずれ推定部35の処理は、図9のブロック線図により示される処理である。なお、図9は、重心ずれ量推定値Ofst_estm_xyのうちのX軸方向の重心ずれ量推定値Ofst_estm_xの決定処理を代表的に表している。
図9の処理を具体的に説明すると、重心ずれ推定部35は、加速度センサ50及び角速度センサ51の検出信号から得られた乗員搭乗部5のY軸周り方向の実際の傾斜角度θb_act_xの計測値(最新値)及び車両1の実際のヨーレートωz_actの計測値(最新値)と、重心速度推定部33により算出された車両系全体重心のY軸方向の速度の第1推定値Vb_estm1_y(最新値)と、前回の演算処理周期で決定したX軸方向の重心ずれ量推定値Ofst_estm_x(前回値)とを用いて、前記式(1b)の右辺の演算処理を演算部35aで実行することにより、車両系全体重心のX軸方向の並進加速度の推定値DVb_estm_xを算出する。
さらに重心ずれ推定部35は、車両系全体重心のX軸方向の並進加速度の推定値DVb_estm_xを積分する処理を演算部35bで実行することにより、車両系全体重心のX軸方向の速度の第2推定値Vb_estm2_xを算出する。
次いで、重心ずれ推定部35は、車両系全体重心のX軸方向の速度の第2推定値Vb_estm2_x(最新値)と、第1推定値Vb_estm1_x(最新値)との偏差を算出する処理を演算部35cで実行する。
さらに、重心ずれ推定部35は、この偏差に所定値のゲイン(−Kp)を乗じる処理を演算部35dで実行することにより、X軸方向の重心ずれ量推定値Ofst_estm_xの最新値を決定する。
Y軸方向の重心ずれ量推定値Ofst_estm_yの決定処理も上記と同様に実行される。具体的には、この決定処理を示すブロック線図は、図9中の添え字“_x”と“_y”とを入れ替え、加算器35eへの入力の一つである図中右側の加速度成分(遠心力によって発生する加速度成分)の符号“+”を“−”に置き換えることによって得られる。
このような重心ずれ推定部35の処理によって、重心ずれ量推定値Ofst_estm_xyを逐次更新しつつ決定することによって、Ofst_estm_xyを実際の値に収束させるように決定することができる。
基準目標速度決定部211は、次に、図5に示す重心ずれ影響量算出部36の処理を実行することによって、重心ずれ影響量Vofs_xyを算出する。
重心ずれ影響量Vofs_xyは、後述する姿勢制御演算部34において、車両系全体重心の位置が倒立振子モデルにおける前記基準部Ps_xyの位置からずれることを考慮せずにフィードバック制御を行った場合の車両系全体重心の目標速度に対する実際の速度のずれを表す。
この重心ずれ影響量算出部36は、新たに決定された重心ずれ量推定値Ofst_estm_xyの各成分に、(Kth_xy/(h-r_xy))/Kvb_xyという値を乗じることにより、重心ずれ影響量Vofs_xyを算出する。
なお、Kth_xyは、後述する姿勢制御演算部34の処理において、乗員搭乗部5の傾斜角度をゼロに近づけるように機能する操作量成分を決定するためのゲイン値である。また、Kvb_xyは、後述する姿勢制御演算部34の処理において、車両系全体重心の目標速度Vb_cmd_xyと該車両系全体重心の速度の第1推定値Vb_estm1_xyとの偏差をゼロに近づけるように機能する操作量成分を決定するためのゲイン値である。
第1制御処理部21は、次に、図5に示す重心目標速度決定部32の処理を実行することによって、操作指令変換部31により決定された基本速度指令Vjs_xyと、重心ずれ影響量算出部32bにより決定された重心ずれ影響量Vofs_xyとに基づいて、制限後重心目標速度Vb_cmd_xyを算出する。
重心目標速度決定部32は、まず、図5に示す処理部32cの処理を実行する。この処理部32cは、重心ずれ影響量Vofs_xyの値に関する不感帯処理とリミット処理とを実行することで、車両系全体重心の目標速度のうちの重心ずれ量に応じた成分としての目標重心速度加算量Vb_cmd_by_ofs_xyを決定する。
具体的には、本実施形態では、重心目標速度決定部32は、X軸方向の重心ずれ影響量Vofs_xの大きさがゼロ近辺の所定の範囲である不感帯域内の値(比較的ゼロに近い値)である場合には、X軸方向の目標重心速度加算量Vb_cmd_by_ofs_xをゼロにする。
また、重心目標速度決定部32は、X軸方向の重心ずれ影響量Vofs_xの大きさが不感帯域内から逸脱した値である場合には、X軸方向の目標重心速度加算量Vb_cmd_by_ofs_xを、Vofs_xと同極性で、その大きさが、Vofs_xの大きさの増加に伴い大きくなるように決定する。ただし、目標重心速度加算量Vb_cmd_by_ofs_xの値は、所定の上限値(>0)と下限値(≦0)との間の範囲内に制限される。
Y軸方向の目標重心速度加算量Vb_cmd_by_ofs_yの決定処理も上記と同様である。
次いで、重心目標速度決定部32は、操作指令変換部31により決定された基本速度指令Vjs_xyの各成分に目標重心速度加算量Vb_cmd_by_ofs_xyの各成分を加え合わせてなる目標速度V1_xyを決定する処理を図5に示す処理部32dで実行する。すなわち、V1_x=Vjs_x+Vb_cmd_by_ofs_x、V1_y=Vjs_y+Vb_cmd_by_ofs_yという処理によって、V1_xy(V1_xとV1_yとの組)を決定する。
さらに、重心目標速度決定部32は、処理部32eの処理を実行する。この処理部32eでは、第1の移動動作部3のアクチュエータ装置8としての電動モータ8a,8bのそれぞれの回転速度を、所定の許容範囲から逸脱させることのないようにするために、目標速度V1_xとV1_yとの組み合わせを制限してなる車両系全体重心の目標速度としての制限後重心目標速度Vb_cmd_xy(Vb_cmd_x,Vb_cmd_yの組)を決定するリミット処理が実行される。
この場合、処理部32dで求められた目標速度V1_x,V1_yの組が、目標速度V1_xの値を縦軸、目標速度V1_yの値を横軸とする座標系上で所定の領域内に在る場合には、その目標速度V1_xyがそのまま制限後重心目標速度Vb_cmd_xyとして決定される。
また、処理部32dで求められた目標速度V1_x,V1_yの組が、上記座標系上の所定の領域から逸脱している場合には、該所定の領域の境界上の組に制限したものが、制限後重心目標速度Vb_cmd_xyとして決定される。
以上のように、前記基本速度指令Vjs_xyと、前記重心ずれ影響量Vofs_xy(または、重心ずれ量Ofst_xy)とに基づいて、重心目標速度Vb_cmd_xyが決定されるので、乗員は、操作器の操作(ジョイスティック12の操作)と、乗員の身体の姿勢の変化(体重移動)とのうちの一方又は両方によって、車両1を操縦することができる。
補足すると、例えばジョイスティック12を除去して、目標重心速度加算量Vb_cmd_by_ofs_xyをそのまま車両系全体重心の目標速度V1_xyとして決定してもよい。
あるいは、操作指令変換部31により決定された基本速度指令Vjs_xyをそのまま車両系全体重心の目標速度V1_xyとして決定してもよい。
また、例えば、ジョイスティック12の代わりに、スマートフォン等の携帯端末の操作によって、基本速度指令Vjs_xy又は目標速度V1_xyを決定し得るようにしてもよい。
以上の如く重心目標速度決定部32の処理を実行した後、基準目標速度決定部211は、次に、姿勢制御演算部34の処理を実行する。この姿勢制御演算部34は、図5のブロック線図で示す処理によって、乗員搭乗部5及び基体2の姿勢を安定化するように、第1の移動動作部3の基準目標速度Vw1_cmd1_xyを決定する。
より詳しくは、姿勢制御演算部34は、まず、前記制限後重心目標速度Vb_cmd_xyの各成分から、重心ずれ影響量Vofs_xyの各成分を減じる処理を演算部34bで実行することにより重心ずれ補償後目標速度Vb_cmpn_cmd_xyを決定する。
次いで、姿勢制御演算部34は、上記演算部34bと、積分演算を行う積分演算部34aとを除く演算部の処理によって、第1の移動動作部3の接地点の並進加速度の目標値である目標並進加速度DVw1_cmd_xyのうちのX軸方向の目標並進加速度DVw1_cmd_xと、Y軸方向の目標並進加速度DVw1_cmd_yとをそれぞれ次式(4a),(4b)の演算により算出する。
DVw1_cmd_x=Kvb_x・(Vb_cmpn_cmd_x−Vb_estm1_x)
−Kth_x・θb_act_x−Kw_x・ωb_act_x ……(4a)
DVw1_cmd_y=Kvb_y・(Vb_cmpn_cmd_y−Vb_estm1_y)
−Kth_y・θb_act_y−Kw_x・ωb_act_y ……(4b)
式(4a),(4b)におけるKvb_xy、Kth_xy、Kw_xyはあらかじめ設定された所定のゲイン値である。
また、式(4a)の右辺の第1項は、車両系全体重心のX軸方向の重心ずれ補償後目標速度Vb_cmpn_cmd_x(最新値)と第1推定値Vb_estm1_x(最新値)との偏差に応じたフィードバック操作量成分、第2項は、乗員搭乗部5のY軸周り方向の実際の傾斜角度θb_act_xの計測値(最新値)に応じたフィードバック操作量成分、第3項は、乗員搭乗部5のY軸周り方向の実際の傾斜角速度ωb_act_xの計測値(最新値)応じたフィードバック操作量成分である。そして、X軸方向の目標並進加速度DVw1_cmd_xは、これらのフィードバック操作量成分の合成操作量として算出される。
同様に、式(4b)の右辺の第1項は、車両系全体重心のY軸方向の重心ずれ補償後目標速度Vb_cmpn_cmd_y(最新値)と第1推定値Vb_estm1_y(最新値)との偏差に応じたフィードバック操作量成分、第2項は、乗員搭乗部5のX軸周り方向の実際の傾斜角度θb_act_yの計測値(最新値)に応じたフィードバック操作量成分、第3項は、乗員搭乗部5のX軸周り方向の実際の傾斜角速度ωb_act_yの計測値(最新値)に応じたフィードバック操作量成分である。そして、Y軸方向の目標並進加速度DVw1_cmd_yは、これらのフィードバック操作量成分の合成操作量として算出される。
なお、前記式(4a),(4b)はそれぞれ、次式(4a)’、(4b)’に書き換えることができる。
DVw1_cmd_x=Kvb・(Vb_cmd_x−Vb_estm1_x)
−Kth・(Ofst_estm_x/(h−r_x)+θb_act_x)
−Kw_x・ωb_act_x ……(4a)’
DVw1_cmd_y=Kvb・(Vb_cmd_y−Vb_estm1_y)
−Kth・(Ofst_estm_y/(h−r_y)+θb_act_y)
−Kw_x・ωb_act_y ……(4b)’
この場合、式(4a)’、(4b)’の右辺第2項は、X軸方向及びY軸方向における実際の車両系全体重心の位置が、第1の移動動作部3の接地部の直上の位置になるようにするためのフィードバック操作量成分としての意味を持つ。
次いで、姿勢制御演算部34は、積分演算部34aによって、目標並進加速度DVw1_cmd_xyの各成分を積分することによって、第1の移動動作部3の基準目標速度Vw1_cmd1_xy(最新値)を決定する。
基準目標速度決定部211の処理は、各演算処理周期において、以上の如く実行される。この処理によって、第1の移動動作部3の基準目標速度Vw1_cmd1_xyは、第1の移動動作部3の空転(第1の移動動作部3が床面に対して滑ることによる空転)が発生しないことを前提として、車両1の乗員搭乗部5及び基体2の姿勢を安定に保ちつつ、車両系全体重心の移動速度(水平方向の移動速度)を制限後重心目標速度Vb_cmd_xyに収束させることを実現し得るように決定される。
補足すると、基準目標速度決定部211は、本発明における基準目標運動決定部に相当する。この場合、前記目標並進加速度DVw1_cmd_xy、あるいは、これを積分してなる基準目標速度Vw1_cmd1_xyが本発明における基準目標運動に相当する。
次に、移動停止判断部213の処理を図10を参照して説明する。移動停止判断部213は、各演算処理周期において、まず、前記空転量推定部214の処理を実行する。この空転量推定部214は、第1の移動動作部3の接地点の実際の並進加速度(X軸方向及びY軸方向の並進加速度ac_xy)を接地点加速度算出部40aにより推定する。
この接地点加速度算出部40aは、加速度センサ50の検出信号により示される加速度ベクトル(加速度センサ50に対して設定されたセンサ座標系で見た加速度ベクトル)を、基体2の傾斜角度の計測値に応じてグローバル座標系(前記したXYZ座標系)に座標変換してなる加速度ベクトル↑asと、角速度センサ51の検出信号により示される角速度ベクトル(角速度センサ51に対して設定されたセンサ座標系で見た角速度ベクトル)を、基体2の傾斜角度の計測値に応じて上記グローバル座標系に座標変換してなる角速度ベクトル↑ωsと、第1の移動動作部3の接地点での実際の外周速度ベクトル↑Vw1の推定値とを用いて、次式(5)により第1の移動動作部3の接地点の実際の加速度ベクトル↑acの推定値を算出する。
そして、接地点加速度算出部40aは、この加速度ベクトル↑acのX軸方向成分ac_x及びY軸方向成分ac_yを、第1の移動動作部3の接地点の実際の並進加速度のX軸方向成分及びY軸方向成分の推定値として得る。なお、上記↑as等の参照符号における「↑」はベクトル量を表す記号である。また、式(5)における「×」はベクトル積(外積)を表す記号である。
↑ac=↑as−↑hs×(d↑ωs/dt)−↑Vw1×↑ωs ……(5)
ここで、式(5)のd↑ωs/dtは、角速度ベクトル↑ωsの時間的変化率(すなわち、角加速度ベクトル)、↑hsは第1の移動動作部3の接地点から見た加速度センサ50の位置ベクトルである。この位置ベクトル↑hsは、基体2の傾斜角度の計測値と、基体2における加速度センサ50の位置とに応じて規定される。
また、第1の移動動作部3の外周速度ベクトル↑Vw1は、より詳しくは、電動モータ8a,8bと第1の移動動作部3との間の動力伝達機構によって、電動モータ8a,8bのそれぞれの実際の回転速度に応じて機構的に規定される、第1の移動動作部3の外周の並進速度ベクトル(接地点での水平方向の速度ベクトル)である。この外周速度ベクトル↑Vw1は、第1の移動動作部3と床面との間の滑りが無い場合には、該第1の移動動作部3の水平方向の移動速度ベクトルに一致する。
そして、本実施形態では、目標速度確定部215で確定された第1の移動動作部3のX軸方向及びY軸方向の並進移動速度の目標値である目標速度Vw1_cmd_xyに応じて、電動モータ8a,8bのそれぞれの実際の目標回転速度が決定され、該目標回転速度に、電動モータ8a,8bのそれぞれの実際の目標回転速度がフィードバック制御される。このため、第1の移動動作部3の外周速度ベクトル↑Vw1のX軸方向成分及びY軸方向成分の組は、目標速度Vw1_cmd_xyに一致もしくはほぼ一致するとみなし得る。
そこで、本実施形態では、式(5)の右辺の外周速度ベクトル↑Vw1として、そのX軸方向成分及びY軸方向成分を前回の演算処理周期での目標速度Vw1_cmd_xyに一致させ、且つZ軸方向成分をゼロとしたベクトルを使用する。このため、接地点加速度算出部40aには、図10に示す如く第1の移動動作部3の目標速度Vw1_cmd_xy(前回値)が入力される。
ただし、例えば、回転速度センサ52a,52bの出力により示される電動モータ8a,8bの回転速度の計測値から、外周速度ベクトル↑Vw1のX軸方向成分及びY軸方向成分を推定し、その推定値を、目標速度Vw1_cmd_xyの代わりに、接地点加速度算出部40aの処理で使用してもよい。
空転量推定部214は、基本的には、接地点加速度算出部40aにより算出された接地点加速度ac_xyの各成分を、処理部40bの積分演算部40b2において積分することで、第1の移動動作部3の実際の接地点速度Va_xy(第1の移動動作部3の実際の並進速度)の推定値を算出する。そして、空転量推定部214は、この接地点速度Va_xyの推定値の各成分から、第1の移動動作部3の外周速度ベクトル↑Vw1のX軸方向成分及びY軸方向成分の組の推定値としての目標速度Vw1_cmd_xy(前回値)の各成分を演算部40b3で減算することで、第1の移動動作部3の空転量ΔV1_xy(X軸方向での空転量ΔV1_x及びY軸方向での空転量ΔV1_y)の推定値を算出する。
ただし、本実施形態では、空転量推定部214は、加速度センサ50の出力のドリフトの影響による積分値(接地点速度Va_xy)の発散を防止するために、処理部40bにおいて第1の移動動作部3の接地点速度Vc_xyの推定値を算出する処理では、空転量ΔV1_xyの推定値の前回値(前回の演算処理周期で算出した値)の各成分に、演算部40b4で所定のゲイン値Kdを乗じてなる値を、接地点加速度ac_xyの推定値(最新値)の各成分から減算する処理を演算部40b1で実行し、該演算部40b1の出力値を積分演算部40b2で逐次積分することによって、第1の移動動作部3の接地点速度Va_xyの推定値を算出する。
これにより、接地点速度Va_xyの推定値が目標速度Vw1_cmd_xyに漸近するように算出されることで、加速度センサ50の出力のドリフトの影響が補償される。すなわち、該ドリフトの影響によって、空転量ΔV1_xyがゼロでない値に定常的にオフセットするのが防止される。
移動停止判断部213は、上記のように算出した空転量ΔV1_xyの推定値を、第1の移動動作部3の空転の度合いを表す指標として用いて、第1の移動動作部3の移動動作を停止するか否かを決定する。
具体的には、移動停止判断部213は、空転量ΔV1_xyの推定値の各成分に、ローパス特性のフィルタ40cによる処理(図示例では、伝達関数が(1/(1+Ta・S))により表されるフィルタリング処理)を施すことによって得られたフィルタリング値ΔV2_xyの各成分から、処理部40dにより速度閾値Vth_xy(Vth_x及びVth_y)を設定する。
該速度閾値Vth_xyのうちのVth_x,Vth_yは、それぞれ、第1の移動動作部3のX軸方向の並進速度に関する閾値、Y軸方向の並進速度に関する閾値である。これらの速度閾値Vth_xyのうちのVth_x,Vth_yのそれぞれは、処理部40dに関して図中に示す如く、あらかじめ作成されたマップに基づいて設定される。この場合、X軸方向の速度閾値Vth_xは、X軸方向の空転量ΔV1_xのフィルタリング値ΔV2_xの大きさ(絶対値)がある値以上の過大なものとなる場合に、ゼロに設定される。また、フィルタリング値ΔV2_xの大きさ(絶対値)が比較的小さい場合には、Vth_xは、ΔV2_xが大きさが小さいほど、正の値の最大値まで増加するように設定される。Y軸方向の速度閾値Vth_yについても同様である。
さらに、移動停止判断部213は、第1の移動動作部3の接地点での実際の外周速度(水平方向の並進速度)の現在の推定値としての目標速度Vw1_cmd_x(前回値),Vw1_cmd_y(前回値)のそれぞれが、−Vth_x<Vw1_cmd_x<+Vth_xという許容範囲、及び−Vth_y<Vw1_cmd_y<+Vth_yという許容範囲のそれぞれの範囲に属するか否かを処理部40eで判断し、その判断結果に応じて、第1の移動動作部3の移動動作を停止するか否かをそれぞれ値“1”、“0”で示すフラグFidleの値を設定する。
この場合、移動停止判断部213は、X軸方向の目標速度Vw1_cmd_x(前回値)及びY軸方向の目標速度Vw1_cmd_y(前回値)のいずれか一方が、上記許容範囲を逸脱している場合には、第1の移動動作部3の移動動作を停止すべくフラグFidleの値を“1”に設定する。
また、移動停止判断部213は、X軸方向の目標速度Vw1_cmd_x(前回値)及びY軸方向の目標速度Vw1_cmd_y(前回値)が、いずれも、上記許容範囲に収まっている場合には、第1の移動動作部3の移動動作を許容すべくフラグFidleの値を“0”に設定する。
移動停止判断部213の処理は、以上の如く実行される。この場合、空転量ΔV1_xyのいずれかの成分のフィルタリング値ΔV2_x又はΔV2_yの大きさが、ある値以上の過大なものとなると速度閾値Vth_x又はVth_yがゼロに設定されるので、目標速度Vw1_cmd_x(前回値)又はVw1_cmd_y(前回値)が許容範囲を逸脱し、ひいては、フラグFidleの値が“1”に設定されることとなる。
次に、空転時速度調整部212の処理を図11を参照して説明する。空転時速度調整部212には、移動停止判断部213の空転量推定部214で算出された空転量ΔV1_xyが逐次入力される。
そして、空転時速度調整部212は、各演算処理周期において、まず、処理部42aで空転量ΔV1_xyの各成分を前記した仮想車輪61_x,61_yのそれぞれの半径r_x,r_yで除算することによって、空転量ΔV1_xyの各成分を、仮想車輪61_x,61_yのそれぞれの回転角速度の空転量ΔW1_xy(以降、角速度空転量ΔW1_xyという)に変換する。
次いで、空転時速度調整部212は、角速度空転量ΔW1_xyの各成分に、処理部(ローカットフィルタ)42bによりローカット特性のフィルタリング処理を施すことで、角速度空転量ΔW1_xyの各成分の高周波成分を抽出する。
この場合、処理部42bは、例えば、角速度空転量ΔW1_xyの各成分(Y軸周り方向の成分ΔW1_x及びX軸周り方向の成分ΔW1_y)に、ローパス特性のフィルタリング処理(図示例では、伝達関数が(1/(1+T1・S))により表されるフィルタリング処理)を施してなる値を、角速度空転量ΔW1_xyの各成分から差し引くことによって、角速度空転量ΔW1_xyの高周波成分ΔW1(h)_xyを抽出する。この場合、高周波成分ΔW1(h)_xyは、上記ローパス特性のフィルタリング処理の伝達関数の時定数T1により規定される所定周波数以上の高周波成分である。
次いで、空転時速度調整部212は、当該高周波成分ΔW1(h)_x,ΔW1(h)_yのそれぞれに、不感帯処理部42cの処理及びリミット処理部42dの処理を順次施すことによって、仮想車輪61_x,61_yのそれぞれの回転角速度の補正量である角速度補正量ΔWc_x,ΔWc_yを求める。
この場合、高周波成分ΔW1(h)_xに対する不感帯処理部42cの処理は、図11中のグラフで示されるように、ΔW1(h)_xがゼロ近辺の所定の不感帯域の値である場合には、ゼロを出力し、ΔW1(h)_xが不感帯域から逸脱した値である場合には、ΔW1(h)_xから、不感帯域の境界値(不感帯域の上限値及び下限値のうち、ΔW1(h)_xに近い方の境界値)を減算してなる値を出力する処理である。ΔW1(h)_yに対する不感帯処理部42cの処理も同様である。なお、ΔW1(h)_xに対する不感帯域の範囲と、ΔW1(h)_yに対する不感帯域の範囲は一般には互いに相違する。
また、高周波成分ΔW1(h)_xに対するリミット処理部42dの処理は、図11中のグラフで示されるように、不感帯処理部42cの出力値が、所定の許容範囲内の値である場合には、不感帯処理部42cの出力値をそのまま出力し、不感帯処理部42cの出力値が、所定の許容範囲から逸脱した値である場合には、該許容範囲の上限値及び下限値のうち、不感帯処理部42cの出力値に近い方の境界値を出力する処理である。ΔW1(h)_yに対するリミット処理部42dの処理も同様である。なお、ΔW1(h)_xに対する許容範囲と、ΔW1(h)_yに対する許容範囲とは、一般には互いに相違する。
次いで、空転時速度調整部212は、リミット処理部42dの出力である角速度補正量ΔWc_x,ΔWc_yのそれぞれにローパス特性のフィルタリング処理(図示例では、伝達関数が(1/(1+T2・S))により表されるフィルタリング処理)を処理部42eで施した後、ΔWc_x,ΔWc_yのそれぞれのフィルタリング値に、仮想車輪61_x,61_yのそれぞれの半径r_x,r_yを処理部42fで乗算することにより、角速度補正量ΔWc_x,ΔWc_yのフィルタリング値をそれぞれ、X軸方向の並進速度補正量ΔVc_x及びY軸方向の並進速度補正量ΔVc_yに変換する。
なお、処理部42eのローパス特性のフィルタリング処理は、第1の移動動作部3の速度調整のために使用する空転量ΔV1_xyの周波数域よりも高周波のノイズ成分を除去するためのフィルタリング処理である。このため、該フィルタリング処理における時定数T2は、処理部(ローカットフィルタ)42bにおけるフィルタリング処理の時定数T1以下の値に設定される。
上記のようにして求められる並進速度補正量ΔVc_x,ΔVc_yは、第1の移動動作部3の実際の空転が発生して、空転量ΔV1_xyの高周波成分が大きくなった場合に、該空転量ΔV1_xyの高周波成分を解消もしくは低減するように、該第1の移動動作部3の目標速度Vw1_cmdを基準目標速度Vw1_cmd1よりも減速させる補正量(≦0)である。
そして、空転時速度調整部212は、当該並進速度補正量ΔVc_xyの各成分を、基準目標速度Vw1_cmd1_xyの各成分に加える処理を処理部42gで実行することにより、該基準目標速度Vw1_cmd1_xyを補正してなる補正後目標速度Vw1_cmd2xyを決定する。
空転時速度調整部212の処理は以上の如く実行される。補足すると、本実施形態では、前記空転量推定部214と、空転時速度調整部212の処理部42a,42bとを合わせた処理によって、本発明における高周波空転状態量算出部が実現される。
この場合において、空転量推定部214の処理部40bのうちの積分演算部40b2により算出される接地点速度Va_xyが本発明における移動動作部(第1の移動動作部3)の実際の移動速度の計測値に相当し、第1の移動動作部3の目標速度Vw1_cmd_xyの前回値が、本発明における無滑り状態移動速度推定値に相当し、空転量推定部214の処理部40bのうち演算部40b3で算出される空転量ΔV1_xyが本発明における速度差に相当する。
さらに、空転時速度調整部212の処理部42aで算出される角速度空転量ΔW1_xyが、本発明における速度差関数値に相当し、処理部(ローカットフィルタ)42bで得られる高周波成分ΔW1(h)_xyが本発明における高周波空転状態量に相当する。
また、空転時速度調整部212の処理部42fで算出される並進速度補正量ΔVc_xy
が本発明における補正量に相当し、処理部42gの処理によって、本発明における目標運動補正部が実現される。
本実施形態では、空転時速度調整部212の上記の処理により、第1の移動動作部3の空転が発生した場合には、その空転量ΔV1_xyの高周波成分(第1の移動動作部3の空転の開始直後などにおける空転量ΔV1_xyの素早い変動成分)に応じて決定した並進速度補正量ΔVc_xyによって、補正後目標速度Vw1_cmd2_xyの各成分の大きさを、基準目標速度Vw1_cmd1_xyの各成分の大きさよりも減少させるように、補正後目標速度Vw1_cmd2_xyが決定される。
例えば、図12Aに例示する如く、角速度空転量ΔW1_x(又はΔW1_y)が変動した場合において、処理部(ローカットフィルタ)42bで抽出される高周波成分W1(h)_x(又はW1(h)_y)は、図12Bに示す如き波形のものとなる。そして、この高周波成分W1(h)_x(又はW1(h)_y)に応じて、並進速度補正量ΔVc_x(又はΔVc_y)が決定される。
一方、例えば、X軸方向の空転量ΔV1_xが高周波成分を含まない場合には、処理部(ローカットフィルタ)42bから出力される高周波成分W1(h)_xyはゼロもしくはほぼゼロとなる。このため、加速度センサ50の出力のドリフト、あるいは、前記空転量推定部214の積分演算部40b2の処理での積分誤差の蓄積に起因して、空転量ΔV1_xが定常的な(もしくは低周波の)オフセット成分を含んでいても、第1の移動動作部3の実際の空転が発生していないか、もしくは、該空転が軽微なものである場合には、高周波成分W1(h)_xがゼロもしくはほぼゼロとなる。ひいては、X軸方向の並進速度補正量ΔVc_xもゼロもしくはほぼゼロとなる。このことは、Y軸方向の空転量ΔV1_yについても同様である。
このように、本実施形態によれば、第1の移動動作部3の実際の空転が発生することに起因して、X軸方向又はY軸方向の空転量ΔV1_x又はΔV1_yが高周波成分が大きくなった場合に、該高周波成分を素早く解消もしくは低減するように、並進速度補正量ΔVc_x,ΔVc_yのそれぞれが算出されることとなる。
そして、第1の移動動作部3の実際の空転が発生していないか、もしくは、該空転が軽微なものである状況では、加速度センサ50の出力のドリフトもしくは積分誤差に起因して、空転量推定部214で算出される空転量ΔV1_xyのいずれかの成分の推定値が定常的な(もしくは低周波の)オフセット成分を含んでいても、それに応じた並進速度補正量ΔVc_x又はΔVc_yが算出されるのが防止される。
補足すると、本実施形態における空転時速度調整部212の処理では、空転量ΔV1_xyを処理部42aで角速度空転量ΔW1_xyに変換した上で、処理部42b〜42fの処理を実行することで、並進速度補正量ΔVc_xyを算出した。ただし、例えば、処理部42a,42fの処理を省略し、空転量ΔV1_xyの各成分に対して、処理部42b〜42eと同様の処理を実行することで、並進速度補正量ΔVc_xyを算出してもよい。
また、空転量ΔV1_xy又は角速度空転量ΔW1_xyの高周波成分に所定値のゲインを乗じてなる値、あるいは、該高周波成分の微分値、あるいは、該高周波成分の積分値、あるいは、高周波成分の極性と同一極性の処置値(定数値)、あるいは、これらの4種類の値のうちの2種類以上の値を線形結合してなる値に応じて、並進速度補正量ΔVc_xyを決定するようにしてもよい。
第1制御処理部21は、各演算処理周期において、以上の如く移動停止判断部213及び空転時速度調整部212の処理を実行した後、目標速度確定部215の処理を実行する。該目標速度確定部215は、図4に示すように、移動停止判断部213で決定されたフラグFidleの値が“1”である場合には、第1の移動動作部3を徐々に停止させるべく、第1の移動動作部3の目標速度Vw1_cmd_xyの各成分を現在値(前回値)からゼロまで漸減させる(徐々に減衰させる)ように、目標速度Vw1_cmd_xyを決定する。この場合、目標速度Vw1_cmd_xyは、例えば、第1の移動動作部3の移動方向を一定に維持しつつ、第1の移動動作部3の移動速度の大きさをゼロまで減衰させるように決定される。
また、目標速度確定部215は、移動停止判断部213で決定されたフラグFidleの値が“0”である場合には、空転時速度調整部212で決定された補正後目標速度Vw1_cmd2_xyをそのまま、目標速度Vw1_cmd_xyとして確定する。
目標速度確定部215は、以上の如く、第1の移動動作部3の目標速度Vw1_cmd_xyを確定する。そして、第1制御処理部21は、このように決定された目標速度Vw1_cmd_xyに第1の移動動作部3の実際の移動速度を追従させるように、電動モータ8a,8bを制御する。
次に、第2制御処理部22の処理を図13を参照して説明する。第2制御処理部22は、前記操作指令変換部31により決定される旋回角速度指令ωjsがゼロである状況(ジョイスティック12のY軸方向への揺動量Js_yがゼロもしくはほぼゼロである状況)では、車両1の並進移動を行なわせるために、第2の移動動作部4のY軸方向の移動速度(並進速度)の目標値である目標速度Vw2_cmd_yを、第1の移動動作部3のY軸方向の目標速度Vw1_cmd_yに一致させるように決定する。
また、第2制御処理部22は、前記旋回角速度指令ωjsがゼロでない状況では、車両1の旋回を行なわせるために、第2の移動動作部4のY軸方向の目標速度Vw2_cmd_yを、第1の移動動作部3のY軸方向の目標速度Vw1_cmd_yと異ならせるように決定する。
このような第2制御処理部22の処理は、具体的には次のように行なわれる。すなわち、図13を参照して、第2制御処理部22は、まず、演算部22a処理を実行する。この演算部22aは、上記旋回角速度指令ωjsに、第1の移動動作部3と第2の移動動作部4の間のX軸方向の距離Lの(−1)倍の値を乗じることによって、旋回角速度指令ωjsの角速度で車両1の旋回を行なうための、第1の移動動作部3に対する第2の移動動作部4のY軸方向の相対速度の指令値である相対速度指令Vjs2_yを決定する。
次いで、第2制御処理部22は、上記相対速度指令Vjs2_y(最新値)を、第1制御処理部21で決定された第1の移動動作部3のY軸方向の目標速度Vw1_cmd_y(最新値)に加える処理を演算部22bで実行することにより、第2の移動動作部4のY軸方向の目標速度Vw2_cmd_yを決定する。
そして、第2制御処理部22は、このように決定さした目標速度Vw2_cmd_yに第2の移動動作部4のY軸方向の実際の移動速度を追従させるように、電動モータ17を制御する。
以上説明した実施形態によれば、第1の移動動作部3の実際の空転が発生することに起因して、前記空転量ΔV1_x又はΔV1_yの推定値の高周波成分が発生すると、速やかに、該高周波成分を解消もしくは低減するように(目標速度Vw1_cmd_xyにより規定される第1の移動動作部3の外周速度が、実際の接地点速度に近づくように)、基準目標速度Vw1_cmd1_xyを補正してなる目標速度Vw1_cmd_xyが決定され、該目標速度Vw1_cmd_xyを実現するように第1の移動動作部3の移動速度が制御される。
これにより、第1の移動動作部3の空転は、その発生の直後に素早く解消もしくは低減され、ひいては、第1の移動動作部3と床面との間で発生し得る摩擦力が回復する。その結果、第1の移動動作部3は、基本的には、速やかに、基準目標速度Vw1_cmd1_xyに従って移動し得る状態に回復することができる。ひいては、乗員搭乗部5及び基体2の姿勢を安定に保ちつつ、車両1の移動を行うことを継続することが可能となる。
例えば、本願発明者の実験によれば、車両1を床面の段差を乗り越えるように移動させた場合に、第1の移動動作部3の空転が発生しても、その空転が速やかに解消もしくは低減して、車両1の移動を継続し得る頻度が高まることが確認された。また、例えば、車両1のY軸方向の往復移動を比較的素早く行う状況で、第1の移動動作部3の空転が発生しても、該空転が速やかに解消もしくは低減して、車両1のY軸方向の往復移動を継続し得ることが確認された。
さらに、本実施形態の車両1によれば、加速度センサ50の出力のドリフト又は積分誤差に起因して、前記空転量ΔV1_x又はΔV1_yの推定値に定常的な(もしくは低周波の)オフセット成分が含まれていても、第1の移動動作部3の空転が発生していないか、もしくは該空転が軽微なものとなる状況では、並進速度補正量ΔVc_xyはゼロもしくは微小な値となる。このため、上記オフセット成分が大きくなって、前記フラグFidleの値が“1”に設定される状況にならない限り、第1の移動動作部3を基準目標速度V1_cmd1_xyに一致もしくはほぼ一致する速度で移動させることができる。
従って、乗員搭乗部5及び基体2の姿勢を安定に保ちつつ、車両1の移動を行うことを極力、継続することができる。
[第2実施形態]
次に、本発明の第2実施形態を図14を参照して説明する。なお、本実施形態は、空転時速度調整部212の処理だけが、前記第1実施形態と相違するものである。このため、本実施形態の説明は、第1実施形態と相違する事項を中心に行い、第1実施形態と同一の事項については説明を省略する。なお、本実施形態は、本願の特許請求の範囲に記載した発明に関連する参考発明の実施形態である。
図14を参照して、本実施形態の空転時速度調整部212の処理は、処理部42aから処理部42fまでの処理は、第1実施形態と同じである。本実施形態では、空転時速度調整部212は、処理部42fの出力の各成分に、後述する如く設定した動力増加判定フラグの値(=0又は1)を処理部42hで乗じてなる値を、並進速度補正量ΔVc_xyとして求める。そして、空転時速度調整部212は、このようにして求めた並進速度補正量ΔVc_xyの各成分を、基準目標速度Vw1_cmd1_xyの各成分に加える処理を処理部42gで実行することにより、該基準目標速度Vw1_cmd1_xyを補正してなる補正後目標速度Vw1_cmd2xyを決定する。
ここで、電動モータ8a,8bから第1の移動動作部3に付与される駆動力が立ち上がる(増加していく)状況で、第1の移動動作部3の空転が発生して、空転量ΔV1_xyの高周波成分が大きくなりやすい。そこで、本実施形態では、空転時速度調整部212は、第1の移動動作部3に付与される駆動力が立ち上がる状況(駆動力の増加状態)であることを必要条件として、第1の移動動作部3の空転を抑制するように、補正後目標速度Vw1_cmd2xyを決定する。
具体的には、空転時速度調整部212は、X軸方向及びY軸方向の各方向毎に、当該方向において第1の移動動作部3に付与される駆動力が立ち上がる(増加していく)状況であるか否かを、電動モータ8a,8bのそれぞれの通電電流の検出値もしくは指令値に基づいて判定し、該判定結果が肯定的であるか否かに応じて、それぞれ、前記動力増加判定フラグの値を“1”、“0”に設定する。
駆動力が立ち上がる状況であるか否かの判定は、例えば次のように行われる。すなわち、例えば、電動モータ8a,8bのそれぞれの通電電流の検出値もしくは指令値に基づいて、第1の移動動作部3に付与されるX軸方向の駆動力及びY軸方向の駆動力が、各演算処理周期毎に推定される。この場合、X軸方向の駆動力は、第1の移動動作部3をX軸の正方向に移動させる駆動力が正の駆動力、X軸の負方向に移動させる駆動力が負の駆動力である。Y軸方向の駆動力についても同様である。
さらに、X軸方向及びY軸方向の各方向毎に、駆動力の推定値と、その時間的変化率(微分値)との積が、各演算処理周期毎に算出され、該積の値が正の値である場合に、当該方向の駆動力が立ち上がる状況であると判定される。また、該積の値がゼロ、もしくは負の値である場合には、当該方向の駆動力が立ち上がる状況ではないと判定される。
これにより、当該判定を適正に行うことができる。本実施形態は、以上説明した事項以外は、第1実施形態と同じである。補足すると、本実施形態では、処理部42h,42gにより本発明における目標運動補正部が実現される。
かかる本実施形態では、第1の移動動作部3の目標速度Vw1_cmd_xyを基準目標速度Vw1_cmd_xyから補正することを第1の移動動作部3の空転が発生し易い状況に限定して行うことができる。
このため、第1の移動動作部3の目標速度Vw1_cmd_xyを基準目標速度Vw1_cmd_xyから補正することを、必要最小限に留めることができる。そして、本実施形態は、上記以外は、第1実施形態と同様の効果を奏することができる。
[第3実施形態]
次に、本発明の第3実施形態を図15を参照して説明する。なお、本実施形態は、空転時速度調整部212の処理だけが、前記第1実施形態と相違するものである。このため、本実施形態の説明は、第1実施形態と相違する事項を中心に行い、第1実施形態と同一の事項については説明を省略する。なお、本実施形態は、本願の特許請求の範囲に記載した発明の実施形態である。
図15を参照して、本実施形態の空転時速度調整部212は、前記空転量推定部214の処理の一部を修正した処理によって、第1の移動動作部3の高周波域の空転量ΔV1(h)_xyを求める高周波空転量推定部216を具備する。
この高周波空転量推定部216は、第1実施形態における空転量推定部214の接地点加速度算出部40aと同じ処理を接地点加速度算出部44aで実行することで、第1の移動動作部3の接地点の並進加速度ac_xyの推定値を算出する。
さらに、高周波空転量推定部216は、第1の移動動作部3の接地点の並進加速度ac_xyの推定値と、第1の移動動作部3の外周速度(X軸方向及びY軸方向の速度)の推定値に相当する目標速度Vw1_cmd_xyの前回値とから、第1実施形態における空転量推定部214の処理部40bと一部のパラメータを異ならせた処理部44bの処理によって、第1の移動動作部3の高周波域の空転量ΔV1(h)_xyを求める。
この場合、処理部44bは、第1実施形態における処理部40bの各演算部40b1〜40b4と同様の演算処理をそれぞれ行う演算部44b1〜44b4を有する。ただし、本実施形態では、演算部44b4において、空転量ΔV1(h)_xyの前回値に乗じるゲイン値Kd2は、第1実施形態における演算部40b4で使用するゲイン値Kdよりも大きい値に設定されている。
このように、演算部44b4におけるゲイン値Kd2を大き目の値に設定しておくことで、処理部44bで算出される空転量ΔV1(h)_xyは、第1の移動動作部3の空転量のうちの所定周波以上の高周波域の成分に相当するものとなる。従って、本実施形態では、高周波空転量推定部216の処理によって、第1の移動動作部3の空転量の高周波域の成分ΔV1(h)_xyが直接的に得られる。
なお、高周波空転量推定部216の処理では、接地点加速度算出部44aを省略し、空転量推定部214の接地点加速度算出部40aで算出される並進加速度ac_xyをそのまま、処理部44bに入力することで、空転量ΔV1(h)_xyを算出してもよい。
そして、本実施形態では、空転時速度調整部212は、上記の如く高周波空転量推定部216により求めた空転量ΔV1(h)_xyに対して、第1実施形態で説明した前記処理部42a,42c〜42fの処理を順次実行することによって、第1の移動動作部3の補正後目標速度Vw1_cmd2_xyを決定する。この場合、高周波空転量推定部216により求めた空転量ΔV1(h)_xyが、高周波域の成分であるため、第1実施形態で説明した前記処理部(ローカットフィルタ)42bによるフィルタリング処理は不要である。
本実施形態は、以上説明した事項以外は、第1実施形態と同じである。補足すると、本実施形態では、高周波空転量推定部216が本発明における高周波空転状態量算出部に相当する。そして、接地点加速度算出部44aの処理が本発明における第1処理に相当し、演算部44b1の処理が本発明における第2処理に相当し、演算部44b3の処理が本発明における第3処理に相当する。
本実施形態によれば、前記した処理部(ローカットフィルタ)42b(又はハイパスフィルタ)を必要とせずに、高周波成分の空転量ΔV1(h)_xyを求めることができる。そして、本実施形態は、上記以外は、第1実施形態と同様の効果を奏することができる。
[他の実施形態]
なお、本発明は、以上説明した第1〜第3実施形態に限定されるものではない。例えば、前記各実施形態では、車両1に乗員(人)を搭乗させるために、乗員搭乗部5を備える車両1を示した。ただし、本発明における倒立振子型車両は、乗員搭乗部5の代わりに、任意の運搬物の搭載部を備えた車両であってもよい。
また、乗員搭乗部5は、乗員が着座するシートに限らず、例えば、乗員が起立した状態で両足を載せるように構成されていてもよい。
また、倒立振子型車両は、例えば、第1の移動動作部3及び第2の移動動作部4、並びに、基体2が傾動せず、該基体2に対して、乗員搭乗部5(又は物体搭載部)が傾動し得るように取り付けられた構造のものであってもよい。
また、前記各実施形態では、ジョイスティック12の操作に応じて、車両1のヨー方向の目標角速度としての旋回角速度指令ωjsを決定した。ただし、例えば、Y軸方向の重心ずれ量推定値Ofst_estm_y、あるいは、Y軸方向の重心ずれ影響量Vofs_yに応じて、旋回角速度指令ωjsを決定してもよい。