説明

倒立型移動体、その制御方法及び制御プログラム

【課題】安定的に倒立状態を維持できる倒立型移動体、その制御方法及び制御プログラムを提供すること。
【解決手段】倒立型移動体1は、負荷体の傾斜角度である負荷角度を検出する負荷角度手段と、車輪を駆動する駆動手段と、負荷体の倒立状態を維持するように駆動手段の駆動を制御する制御手段と、制御手段が駆動手段に対して出力する制御信号と、負荷角度検出手段により検出された負荷角度とに基づいて、車輪と路面との間の滑り量を時間で微分した微分値を演算する滑り演算手段と、滑り演算手段により演算された微分値に基づいて、所定時間後において、負荷体の倒立状態の維持が不能となる負荷角度の限界値を演算する負荷角度演算手段と、を備えている。制御手段は、負荷角度演算手段により演算された負荷角度の限界値に基づいて、駆動手段の駆動を制御する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、倒立状態を維持して走行する倒立型移動体、その制御方法及び制御プログラムに関するものである。
【背景技術】
【0002】
近年、倒立状態を維持して走行する倒立型移動体の開発が行われており、その走行時の安定性の向上が行われている。しかしながら、路面摩擦係数の低い滑り易い路面等を走行する場合には、その倒立状態を維持すると言う特性上、より高い安定性及び安全性が求められており、その開発が行われている(例えば、特許文献1及び2参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2007−318941号公報
【特許文献2】特開2010−082717号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上記倒立型移動体が、例えば、駆動車輪と路面の間の摩擦力が小さい値で変化する滑り易い路面上を走行する場合には、ある程度未来の状態を予測して制御を行わないと、安定的に倒立状態を維持することが困難となる可能性がある。
本発明は、このような問題点に鑑みてなされたものであり、安定的に倒立状態を維持できる倒立型移動体、その制御方法及び制御プログラムを提供することを主たる目的とする。
【課題を解決するための手段】
【0005】
上記目的を達成するための本発明の一態様は、負荷体の傾斜角度である負荷角度を検出する負荷角度検出手段と、車輪を駆動する駆動手段と、前記負荷体の倒立状態を維持するように前記駆動手段の駆動を制御する制御手段と、を備える倒立型移動体であって、前記制御手段が前記駆動手段に対して出力する制御信号と、前記負荷角度検出手段により検出された前記負荷角度とに基づいて、前記車輪と路面との間の滑り量を時間で微分した微分値を演算する滑り演算手段と、前記滑り演算手段により演算された微分値に基づいて、所定時間後において、前記負荷体の倒立状態の維持が不能となる前記負荷角度の限界値を演算する負荷角度演算手段と、を備え、前記制御手段は、前記負荷角度演算手段により演算された前記負荷角度の限界値に基づいて、前記駆動手段の駆動を制御する、ことを特徴とする倒立型移動体である。
【0006】
また、上記目的を達成するための本発明の一態様は、負荷体の傾斜角度である負荷角度を検出する工程と、前記負荷体の倒立状態を維持するように、車輪を駆動する駆動手段の制御を行う工程と、を含む倒立型移動体の制御方法であって、前記駆動手段に対して出力される制御信号と、前記検出された負荷角度とに基づいて、前記車輪と路面との間の滑り量を時間で微分した微分値を演算する工程と、前記演算された微分値に基づいて、所定時間後において、前記負荷体の倒立状態の維持が不能となる前記負荷角度の限界値を演算する工程と、前記演算された前記負荷角度の限界値に基づいて、前記駆動手段の駆動を制御する工程と、を含む、ことを特徴とする倒立型移動体の制御方法であってもよい。
【0007】
さらに、上記目的を達成するための本発明の一態様は、車輪を駆動する駆動手段に対して出力される制御信号と、負荷体の傾斜角度である負荷角度と、に基づいて、前記車輪と路面との間の滑り量を時間で微分した微分値を演算する処理と、前記演算された微分値に基づいて、所定時間後において、前記負荷体の倒立状態の維持が不能となる前記負荷角度の限界値を演算する処理と、前記演算された負荷角度の限界値に基づいて、前記負荷体の倒立状態を維持するように、前記駆動手段の駆動を制御する処理と、をコンピュータに実行させる、ことを特徴とする倒立型移動体の制御プログラムであってもよい。
【発明の効果】
【0008】
本発明によれば、安定的に倒立状態を維持できる倒立型移動体、その制御方法及び制御プログラムを提供できる。
【図面の簡単な説明】
【0009】
【図1】本発明の実施の形態に係る倒立型移動体の移動体制御装置の概略的なシステム構成を示すブロック図である。
【図2】本発明の実施の形態に係る倒立型移動体の制御処理フローの一例を示すフローチャートである。
【図3】本発明の実施の形態に係る倒立型移動体をモデル化したモデル図である。
【図4】本発明の実施の形態に係る倒立型移動体のシミュレーションにおける負荷角度を示す図である。
【図5】本発明の実施の形態に係る倒立型移動体のシミュレーションにおける滑り量の2階時間微分値を示す図である。
【図6】本発明の実施の形態に係る倒立型移動体のシミュレーションにおける未来限界負荷角度予測値を示す図である。
【図7】本発明の実施の形態に係る倒立型移動体のシミュレーションにおけるモータトルクを示す図である。
【図8】本発明の実施の形態に係る倒立型移動体の概略的な構成を示す斜視図である。
【図9】本発明の実施の形態に係る倒立型移動体の概略的なシステム構成を示すブロック図である。
【発明を実施するための形態】
【0010】
以下、図面を参照して本発明の実施の形態について説明する。図8は、本発明の実施の形態に係る倒立型移動体の概略的な構成を示す斜視図である。また、図9は、本実施の形態に係る倒立型移動体の概略的なシステム構成を示すブロック図である。
【0011】
本実施の形態に係る倒立型移動体1は、倒立状態を維持しつつ、所望の走行を行うものである。倒立型移動体1は、搭乗者が乗車する車両本体801と、車両本体801に回動可能に設けられた左右一対の駆動車輪802と、各駆動車輪802を回転駆動する一対の車輪駆動ユニット901と、各車輪駆動ユニット901を制御する移動体制御装置100と、車両本体801に操作可能に設けられた操作ハンドル803と、を備えている。
【0012】
操作ハンドル803は、これを前後方向に傾けることによって、倒立型移動体1の前進又は後退操作が実行され、ロール方向(左右方向)へ傾けることによって、倒立型移動体1の左旋回又は右旋回操作が実行される操作部である。ここで、ロール軸とは、車両本体801の中心を通り、倒立型移動体1の走行方向と平行をなす軸である。
【0013】
一対の駆動車輪802は、車両本体801の走行方向と直交する方向の両側において同軸上に配置されると共に、当該車両本体801に回転自在に支持されている。なお、本実施の形態において、車両本体801に一対の駆動車輪802が設けられる構成であるが、これに限らず、1つ或いは3つ以上の駆動車輪802が設けられる構成であってもよい。
【0014】
車両本体801の両側には、一対の車輪駆動ユニット901が夫々取り付けられている。各車輪駆動ユニット901は、駆動手段の一具体例であり、各駆動車輪802を独立して回転駆動することができる。各車輪駆動ユニット901は、例えば、車輪駆動モータ901aと、その車輪駆動モータ901aの回転軸に動力伝達可能に連結された減速ギア901bと、から構成することができる。
【0015】
車両本体801には、操作ハンドル803の操作情報(操作量、操作方向など)を検出するための指令入力器106が取り付けられている。指令入力器106としては、例えば、ポテンショメータやバリコン構造のセンサ等を適用することができる。なお、指令入力器106は、操作ハンドル803或いは車両本体801に設けられ、搭乗者が操作可能な操作スイッチなどの操作部により構成されてもよい。
【0016】
指令入力器106は移動体制御装置100に接続されており、検出した操作ハンドル803の操作情報を負荷角度指令として、移動体制御装置100に対して出力する。ここで、負荷体は、例えば、車両本体801、操作ハンドル803、及び搭乗者を一体として含むものである。さらに、負荷角度とは、例えば、負荷体と、駆動車輪802の車軸を通る鉛直線と、が成す角度である。
【0017】
車両本体801には、倒立型移動体1の走行時における傾斜角度、傾斜角速度、傾斜角加速度など姿勢情報を検出する負荷角度検出器107が設けられている。負荷角度検出器107は、負荷角度検出手段の一具体例であり、例えば、ジャイロセンサ、加速度センサなどから構成されている。
【0018】
搭乗者が操作ハンドル803を前方、あるいは後方に傾けると、車両本体801、操作ハンドル803、及び搭乗者から成る負荷体が同方向に傾くことになるが、例えば、この負荷角度検出器107は、かかる負荷体の傾斜に対応した上述の負荷角度を検出する。負荷角度検出器107は移動体制御装置100に接続されており、検出した負荷角度を、負荷角度検出値として移動体制御装置100に対して出力する。
【0019】
各駆動車輪802の車軸には、各駆動車輪802の回転情報(回転角度、回転速度、回転加速度等)を検出する一対の車輪センサ902が夫々設けられている。各車輪センサ902は移動体制御装置100に接続されており、検出した回転情報を移動体制御装置100に対して出力する。
【0020】
車両本体801には、一対の車輪駆動ユニット901等を駆動する一対の駆動回路903が内蔵されている。
【0021】
移動体制御装置100は、車両本体801に搭載されており、主要なハードウェアとして、例えば、マイクロコンピュータ(CPU:Central Processing Unit)を有する演算回路(ASIC:Application Specific Integrated Circuit)100aと、プログラムメモリ、データメモリ、その他のRAM(Random Access Memory)、ROM(Read Only Memory)等を有する記憶装置100bと、を備えている。
【0022】
移動体制御装置100は、負荷角度検出器107からの負荷角度検出値、指令入力器106からの負荷角度指令、などに基づいて所定の演算処理を実行し、必要な制御信号を、各駆動回路903を介して各車輪駆動ユニット901に対して出力する。移動体制御装置100は、各車輪駆動ユニット901に対して制御信号を送信することで、各駆動車輪802の駆動を制御し、倒立型移動体1に倒立状態を維持させつつ、所望の速度及び方向(例えば、前進、後進、右旋回、左旋回、加速、減速、停止)で走行させることができる。
【0023】
バッテリー904は、移動体制御装置100、及び各駆動回路903に夫々接続されており、これらに電力を供給する。なお、上述した倒立型移動体1の構成は一例であり、倒立状態を維持して走行する任意の車両構成が適用可能である。
【0024】
図1は、本実施の形態に係る倒立型移動体の移動体制御装置の概略的なシステム構成を示すブロック図である。本実施の形態に係る移動体制御装置100は、制御器101と、滑り演算器102と、限界負荷角度演算器103と、未来限界負荷角度予測器104と、トルク指令調整器105と、を有している。
【0025】
制御器101は、制御手段の一具体例であり、指令入力器106からの負荷角度指令と、トルク指令調整器105からのトルク指令と、に基づいて、車輪駆動ユニット901の車輪駆動モータ901aに対する制御信号であるモータ電流を、生成する。制御器101は、各駆動回路903を介して各車輪駆動ユニット901の車輪駆動モータ901aに接続されており、生成したモータ電流を、各駆動回路903を介して各車輪駆動モータ901aに対して出力する。
【0026】
滑り演算器102は、滑り演算手段の一具体例であり、制御器101から出力されるモータ電流(制御信号)と、負荷角度検出器107からの負荷角度検出値と、に基づいて、後述する各駆動車輪802と路面との間の滑り2階時間微分値を演算する。滑り演算器102は、限界負荷角度演算器103に接続されており、演算した滑り2階時間微分値を限界負荷角度演算器103に対して出力する。
【0027】
限界負荷角度演算器103は、限界負荷角度演算手段の一具体例であり、滑り演算器102から出力された滑り2階時間微分値に基づいて、限界負荷角度演算値を演算する。ここで、限界負荷角度演算値とは、例えば、各車輪駆動ユニット901の車輪駆動モータ901aが出力可能な限界モータトルクによって駆動可能な負荷角度の限界値である。限界負荷角度演算器103は、未来限界負荷角度予測器104に接続されており、演算した限界負荷角度演算値を未来限界負荷角度予測器104に対して出力する。
【0028】
未来限界負荷角度予測器104は、限界負荷角度予測手段の一具体例であり、限界負荷角度演算器103から出力された限界負荷角度演算値に基づいて、予め設定された所定時間後の未来の時間における負荷角度の限界値を予測する。より具体的には、未来限界負荷角度予測器104は、限界負荷角度演算器103から出力された現在の限界負荷角度演算値と、現在よりも所定ステップ(例えば、1ステップ)過去の制御周期における限界負荷角度演算値と、に基づいて、所定時間後における負荷角度の限界値を、外挿法を用いて予測する。未来限界負荷角度予測器104は、トルク指令調整器105に接続されており、予測した負荷角度の限界値を、未来限界負荷角度予測値としてトルク指令調整器105に対して出力する。
【0029】
トルク指令調整器105は、トルク指令調整手段の一具体例であり、未来限界負荷角度予測器104から出力された未来限界負荷角度予測値が0となる場合に、この未来限界負荷角度予測値の符号が現在の負荷角度の符号と逆になるまで、車輪駆動モータ901aに対するトルク指令を負荷角度と同一の符号方向へ変化させるように調整する。
【0030】
一方、トルク指令調整器105は、予め設定された時間経過後に、未来限界負荷角度予測器104から出力された未来限界負荷角度予測値の符号が現在の負荷角度の符号と逆となる場合に、現在のトルク指令値を維持するように調整する。これにより、倒立型移動体1は、安定的に倒立状態を維持することができる。
【0031】
さらに、トルク指令調整器105は、予め設定された時間経過しても、未来限界負荷角度予測値の符号が現在の負荷角度の符号の逆とならない場合に、倒立型移動体1を安全に停止させるようにトルク指令を調整する。これにより、倒立型移動体1が倒立状態を安定的に維持できないとき停止させ、安全性を確保することができる。
【0032】
トルク指令調整器105は、制御器101に接続されており、その調整結果、得られたトルク指令を制御器101に対して出力する。制御器101は、トルク指令調整器105から出力されたトルク指令に応じたモータ電流を、各駆動回路903を介して各車輪駆動モータ901aに対して出力する。
【0033】
次に、本実施の形態に係る移動体制御装置100の具体的な処理について、以下詳細に説明する。まず、滑り演算器102が駆動車輪802と路面との間の滑り量sの2階時間微分値(滑り2階時間微分値)を演算する方法について、図1及び図3を用いて説明する。図3は、本発明の実施の形態に係る倒立型移動体をモデル化したモデル図である。図3に示す負荷体301は、図8に示す車両本体801、操作ハンドル803、及び搭乗者を一体にしたものに対応しており、図3に示す駆動車輪302は、図8に示す駆動車輪802に対応している。図3において、各記号は以下の様に設定されている。
【0034】
θ:負荷角度
:負荷体301の慣性モーメント
:負荷体301の質量
θ:駆動車輪302の回転角度
:駆動車輪302の慣性モーメント
:駆動車輪302の質量
l:負荷体301の重心位置Gと駆動車輪302との間の距離(負荷重心車輪間距離)
:車輪駆動モータ901aのトルク
:負荷体301の水平位置
:負荷体301の垂直位置
:駆動車輪302の水平位置
:駆動車輪302と路面との間の滑り量
【0035】
ここで、負荷角度θとは、負荷体301を通る中心線が駆動車輪302の車軸を通る鉛直線と時計回り方向へ成す角度であり、負荷重心車輪間距離lとは、負荷体301の重心位置と駆動車輪302の車軸との間の距離であり、滑り量sとは、駆動車輪302が路面上を回転移動する際に、駆動車輪302の路面に対する滑り量である。なお、図3に示す各記号は矢印方向(紙面右方向)を正とする。
【0036】
まず、図3に示す倒立型移動体1の運動方程式を導出する。運動エネルギーK、ポテンシャルエネルギーV、負荷体301の水平位置x、負荷体301の垂直位置y、および駆動車輪302の水平位置xは、下記(1)式乃至(5)式として表すことができる。
【0037】
【数1】

【数2】

【数3】

【数4】

【数5】

【0038】
なお、上記(2)式において、gは重力加速度である。上記(3)式乃至(5)式を、上記(1)式及び(2)式に代入して、ラグランジアンL=K−Vを算出する。このラグランジアンLを下記オイラーラグランジ方程式(6)式乃至(8)式に代入すると、下記(9)式乃至(11)式を得ることができる。
【数6】

【0039】
なお、上記(6)式において、dは車輪駆動モータ901aのトルクに対する外乱である。
【数7】

【数8】

【数9】

【数10】

【数11】

【0040】
上述のように求めた(9)式乃至(11)式が、倒立型移動体1の運動方程式となる。これら運動方程式を使って、後述の滑り2階時間微分値の演算式を導出する。以降、滑り2階時間微分値の演算式の導出において、下記(12)式に示すパラメータを共通で使用するものとする。
【数12】

【0041】
上記(9)式乃至(12)式を用いて、下記(13)式及び(14)式を得ることができる。
【数13】

【数14】

【0042】
上記(13)式及び(14)式を、滑り2階時間微分値(滑り量sの2階時間微分値)d(s)/dtについて解くと、下記(15)式を得ることができる。
【数15】

【0043】
滑り演算器102は、負荷角度検出器107から出力された負荷角度検出値θに基づいて、上記得られた(15)式を用いて、滑り2階時間微分値を演算する。なお、上述の(15)式の導出において、車輪駆動モータ901aのトルクに対する外乱dを考慮している。このため、このトルクに対する外乱dの影響を受ける場合でも、上記(15)式は成立し、滑り2階時間微分を正確に演算できる。滑り演算器102は、上記(15)式を用いて、演算した滑り2階時間微分値を限界負荷角度演算器103に対して出力する。
【0044】
次に、限界負荷角度演算器103は、滑り演算器102から出力された滑り2階時間微分値に基づいて、駆動車輪302の滑り量sが存在する時に、所定時間後のある未来の時間において倒立型移動体1が倒立状態を維持できなくなる限界負荷角度演算値を演算する。
【0045】
ここで、負荷角度検出器107は、制御周期Tで負荷角度θを検出し、滑り演算器102に対して出力するものとする。現在の時間をkステップとし、1制御周期T[s]だけ未来の時間を(k+1)ステップとする。この場合、(k+1)ステップにおいて、上記(13)式及び(14)式を用いて、下記(16)式の関係が成立する。
【数16】

【0046】
上記(16)式を、θ(k+1)について解くと、下記(17)式が得られる。
【数17】

【0047】
なお、上記(12)式に基づいて、αの絶対値はαの絶対値より大きいため、上記(16)式において、T(k+1)の係数は負となる。また、同様に、上記(16)式のγは正となるため、T(k+1)が増加するとγが減少し、上記(16)式の平方根内の値が増加する。車輪駆動モータ901aのトルクTを増加させると、負荷角度θは減少するため、上記(17)式の平方根前の符号を負としている。次に、上記(17)式をT(k+1)で1階偏微分すると、下記(18)式が得られる。
【数18】

【0048】
上記(12)式によれば、βは正であり、αの絶対値はαの絶対値より大きいため、上記(18)式の分子は負となる。また、この分子はT(k+1)の値に関わらず常に正であるため、下記(19)式の関係が得られる。
【数19】

【0049】
上記(19)式に基づいて、θ(k+1)はT(k+1)の変化に伴って単調変化することが分かる。ここで、車輪駆動モータ901aが出力可能な限界のモータトルクを限界モータトルクTmlimとした場合において、この限界モータトルクTmlimにより1ステップで到達できる負荷角度の限界値である限界負荷角度演算値θ1limは、上記(17)式を用いて、下記(20)式のように導出できる。
【数20】

なお、上記限界負荷角度演算値は、1ステップで到達できる負荷角度の限界値としたが、これに限らず、例えば、2ステップ或いは3ステップなどの所定ステップで到達できる負荷角度の限界値としてもよい。
【0050】
限界負荷角度演算器103は、上述のように得られた(20)式を用いて、限界負荷角度演算値θ1limを演算する。限界負荷角度演算器103は、上記演算した限界負荷角度演算値θ1limを未来限界負荷角度予測器104に対して出力する。
【0051】
ここで、例えば、路面の状況の変化により、駆動車輪302と路面との間の滑り量sが連続的に変化する場合、未来限界負荷角度予測器104は、限界負荷角度演算器103から出力された限界負荷角度演算値θ1limに基づいて、線形外挿法によりmステップ未来の未来限界負荷角度予測値θ1lim(k+m)を、下記(21)式に基づいて予測する。
【数21】

【0052】
なお、mは限界負荷角度θ1limの予測の範囲であり、正の整数として予め設定されるものとする。また、未来限界負荷角度予測器104は、上記(21)式に示すように、線形外挿法を用いて限界負荷角度θ1limを予測しているが、これに限らず、例えば、2時間数的またはスプライン関数的に外挿法を用いて、限界負荷角度θ1limを予測してもよく、任意の外挿法を用いて限界負荷角度θ1limを予測することができる。未来限界負荷角度予測器104は、予測した未来限界負荷角度予測値θ1lim(k+m)をトルク指令調整器105に対して出力する。
【0053】
トルク指令調整器105は、未来限界負荷角度予測器104から出力された未来限界負荷角度予測値θ1lim(k+m)が0になったとき、θ1lim(k+m+1)の符号が−sgn(θ(k))になり負荷角度の符号の逆になるまで、車輪駆動モータ901aのトルクT(k+2)を増加させる。
【0054】
このように、駆動車輪302と路面との間の摩擦が連続的に減少し、滑り量sが増加する場合でも、限界モータトルクTmlimを超えて負荷角度θを0[rad]に戻すことができなくなる前に、上述した車輪駆動モータ901aの制御を行うことで、負荷角度θを連続的に0[rad]に近づけることができる。したがって、倒立型移動体1の倒立状態を安定的に維持でき、駆動車輪302と路面との間の摩擦の減少に起因する転倒などを防止することができる。
【0055】
次に、本実施の形態に係る倒立型移動体1の制御方法について詳細に説明する。図2は、本実施の形態に係る倒立型移動体の制御処理フローの一例を示すフローチャートである。なお、図2に示す制御処理は、所定時間毎に繰り返し実行される。
【0056】
例えば、倒立状態を維持して走行する倒立型移動体1の搭乗者が、操作ハンドル803を前後方向或いは左右方向へ操作すると、指令入力器106は、その操作ハンドル803操作に応じた操作情報を検出し、検出した操作情報を負荷角度指令として、移動体制御装置100の制御器101に対して出力する(ステップS201)。
【0057】
一方、負荷角度検出器107は、車両本体801、操作ハンドル803、及び搭乗者から成る負荷体301の傾斜に対応した負荷角度を検出し、検出した負荷角度を負荷角度検出値θとして移動体制御装置100の滑り演算器101に対して出力する(ステップS202)。
【0058】
滑り演算器102は、負荷角度検出器107から出力された負荷角度検出値θと、制御器101から出力されたモータ電流に応じた車輪駆動モータ901aのトルクTと、に基づいて、上記(15)式を用いて、滑り2階時間微分値を演算し、演算した滑り2階時間微分値を限界負荷角度演算器103に対して出力する(ステップS203)。
【0059】
限界負荷角度演算器103は、滑り演算器102から出力された滑り2階時間微分値に基づいて、上記(20)式を用いて、限界負荷角度演算値θ1limを演算し、演算した限界負荷角度演算値θ1limを未来限界負荷角度予測器104に対して出力する(ステップS204)。
【0060】
未来限界負荷角度予測器104は、限界負荷角度演算器103から出力された限界負荷角度演算値θ1limに基づいて、所定時間後のmステップ未来の負荷角度の限界値を、未来限界負荷角度予測値θ1lim(k+m)として上記(21)を用いて予測し、予測した未来限界負荷角度予測値θ1lim(k+m)を、トルク指令調整器105に対して出力する(ステップS205)。
【0061】
トルク指令調整器105は、未来限界負荷角度予測器104から出力された未来限界負荷角度予測値が0であるか否かを判定する(ステップS206)。トルク指令調整器105は、未来限界負荷角度予測値が0になったと判定したとき(ステップS206のYES)、未来限界負荷角度予測値の符号が現在の負荷角度検出値の符号と逆になるまで、トルク指令を負荷角度検出値と同一符号の方向に変化させるように調整し(ステップS207)、調整したトルク指令を制御器101に対して出力し、下記(ステップS208)に移行する。
【0062】
一方、トルク指令調整器105は、未来限界負荷角度予測値が0になっていないと判定したとき(ステップS206のNO)、予め設定された時間経過後に、未来限界負荷角度予測値の符号が現在の負荷角度の符号と逆になったか否かを判定する(ステップS208)。
【0063】
トルク指令調整器105は、予め設定された時間経過後に、未来限界負荷角度予測値の符号が現在の負荷角度の符号と逆になったと判定したとき(ステップS208のYES)、現在のトルク指令値を維持するように調整し(ステップS209)、調整したトルク指令を制御器101に対して出力し、下記(ステップS211)に移行する。
【0064】
一方、トルク指令調整器105は、予め設定された時間経過しても、未来限界負荷角度予測値の符号が現在の負荷角度の符号の逆にならないと判定したとき(ステップS208のNO)、倒立型移動体1を安全に停止させるようにトルク指令を調整し(ステップS210)、調整したトルク指令を制御器101に対して出力し、下記(ステップS211)に移行する。
【0065】
制御器101は、トルク指令調整器105から出力されたトルク指令に応じたモータ電流を、各駆動回路903を介して各車輪駆動ユニット901の車輪駆動モータ901aに対して出力することで、車輪駆動モータ901aの制御を行う(ステップS211)。
【0066】
上述したように、駆動車輪302と路面との間の摩擦力が小さい値で時間的に変化する場合でも、mステップ未来の負荷角度の限界値を未来限界負荷角度予測値として予測する。そして、予測した未来限界負荷角度予測値に基づいて、制御不能とならないように前もって車輪駆動モータ901aのトルクTを変化させることにより、倒立型移動体1の倒立状態を安定的に維持することができる。これにより、本実施の形態に係る倒立型移動体1は、滑り易い路面上を走行する場合でも、安全に走行することができる。
【0067】
次に、本実施の形態に係る倒立型移動体1において行ったシミュレーションについて、詳細に説明する。本シミュレーションにおいて、各パラメータの数値は一例として、以下の様に設定されているが、これに限らず、任意の設定が可能である。
【0068】
=70[kg]
=25.2[kg・m]
=15[kg]
=0.075[kg・m]
l=0.9[m]
r=0.1[m]
g=9.8[m/s]
ζ=0.5
ω=40・(2π)[rad/s]
T=1×10−3[s]
mlim=0.637[N・m]
m=5
【0069】
但し、上記パラメータにおいて、ζは所望の減衰係数であり、ωは所望の固有周波数である。本シミュレーションは、上述の数値に対して、駆動車輪302と路面との間の摩擦力が時間的に変化する場合において、移動体制御装置100の未来限界負荷角度予測器104が未来限界負荷角度予測値を予測し、トルク指令調整器105がその未来限界負荷角度予測値に基づいて車輪駆動モータ901aのトルク指令を調整して、倒立型移動体1を安定的に走行させる際の数値計算例を示すものである。
【0070】
なお、本シミュレーションにおいて、滑り量sが増加し、未来限界負荷角度予測値が0[rad]になるまで、制御器101は下記(21)式に示す車輪駆動モータ901aのトルクTを発生させるためのモータ電流を、フィードバック線形化制御に基づいて出力する。
【数22】

【0071】
但し、上記(22)式において、θ1rは負荷角度指令である。図4乃至7は、本実施の形態に係る倒立型移動体のシミュレーション結果を示す図である。なお、図4において、破線(a)は負荷角度指令θ1rを示し、実線(b)は従来技術に係る倒立型移動体の負荷角度θを示し、一点鎖線(c)は本実施の形態に係る倒立型移動体1の負荷角度θを示している。図5は、従来技術に係る倒立型移動体における滑り量sの2階時間微分値d(s)/dtを示している。
【0072】
図6は、未来限界負荷角度予測器104が上記(21)式を用いて予測する未来限界負荷角度予測値θ1lim(k+m)を示す図である。上述のように、m=5であり、T=1×10−3[s]であるので、未来限界負荷角度予測値θ1lim(k+m)は5×10−3[s]となる。図7において、破線(d)は本実施の形態に係る限界モータトルクTmlimを示し、実線(e)は従来技術に係る車輪駆動モータのトルクTを示し、一点鎖線(f)は本実施の形態に係る車輪駆動モータ901aのトルクTを示している。
【0073】
図4の(a)に示す負荷角度指令θ1rに対して、従来技術に係る倒立型移動体の滑り量sの2階時間微分値d(s)/dtは、例えば、図5のように変化する。この滑りによって、倒立型移動体が倒立状態を維持するために、そのモータトルクが余分に必要となる。このため、図7の(e)に示すように車輪駆動モータのトルクTが飽和し、その結果、図4の(b)に示すように従来技術に係る倒立型移動体の負荷角度は振動的に変化する。
【0074】
この場合、駆動車輪と路面との間の摩擦力が更に小さくなり、滑り量が大きくなると倒立状態を維持できなくなり、転倒する虞がある。この時、未来限界負荷角度予測値は図6に示すように、負荷角度と同一符号を持った状態で変化している。
【0075】
一方、本実施の形態に係る倒立型移動体1によれば、図6に示すような、未来限界負荷角度予測器104により予測される未来限界負荷角度予測値の符号が現在の負荷角度検出値の符号と逆になるまで、トルク指令を負荷角度と同一符号の方向に変化させ、図7の(f)のように調整する。このため、車輪駆動モータ901aにおいてトルクの飽和は起こらず、結果として図4の(c)に示すように、負荷角度指令(a)より小さな負荷角度となり、倒立型移動体1の倒立状態が安定していることが分かる。すなわち、本実施の形態に係る倒立型移動体1は、駆動車輪302と路面との間の摩擦力が小さい値で変化する場合でも、倒立状態を安定的に維持させることができる。
【0076】
以上、本実施の形態に係る倒立型移動体1において、未来限界負荷角度予測器104は所定時間後のmステップ未来の負荷角度の限界値を未来限界負荷角度予測値として予測し、制御器101は、予測された未来限界負荷角度予測値に基づいて、制御不能とならないように前もって車輪駆動モータ901aのトルクTを制御する。これにより、例えば、駆動車輪302と路面との間の摩擦力が小さい値で時間的に変化する場合でも、倒立型移動体1は安定的に倒立状態を維持することができる。
【0077】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
【0078】
また、上述の実施の形態では、本発明をハードウェアの構成として説明したが、本発明は、これに限定されるものではない。本発明は、上述した処理を、上記CPUにコンピュータプログラムを実行させることにより実現することも可能である。例えば、上記制御器101、滑り演算器102、限界負荷角度演算器103、未来限界負荷角度予測器104、及びトルク指令器105による処理は、CPUにコンピュータプログラムを実行させることにより実現してもよい。なお、上記制御器101、滑り演算器102、限界負荷角度演算器103、未来限界負荷角度予測器104、及びトルク指令器105を、夫々、専用のICにより構成してもよい。
【0079】
プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)、CD−ROM(Read Only Memory)、CD−R、CD−R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(random access memory))を含む。
【0080】
プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【産業上の利用可能性】
【0081】
本発明は、車輪と路面との間の摩擦力が変化する場合でも、倒立状態を安定的に維持できる任意の倒立型移動体に適用可能であり、例えば、小回りが利くことが要求される電動車椅子、家事手伝いロボット、介護ロボット、自動搬送台車などにも広く適用可能である。
【符号の説明】
【0082】
1 倒立型移動体
100 移動体制御装置
100a 演算回路
100b 記憶装置
101 制御器
102 滑り演算器
103 限界負荷角度演算器
104 未来限界負荷角度予測器
105 トルク指令調整器
106 指令入力器
107 負荷角度検出器
301 負荷体
302 駆動車輪
801 車両本体
802 駆動車輪
803 操作ハンドル
901 車輪駆動ユニット
901a 車輪駆動モータ
901b 減速ギア
902 車輪センサ
903 駆動回路
904 バッテリー

【特許請求の範囲】
【請求項1】
負荷体の傾斜角度である負荷角度を検出する負荷角度検出手段と、
車輪を駆動する駆動手段と、
前記負荷体の倒立状態を維持するように前記駆動手段の駆動を制御する制御手段と、を備える倒立型移動体であって、
前記制御手段が前記駆動手段に対して出力する制御信号と、前記負荷角度検出手段により検出された前記負荷角度とに基づいて、前記車輪と路面との間の滑り量を時間で微分した微分値を演算する滑り演算手段と、
前記滑り演算手段により演算された微分値に基づいて、所定時間後において、前記負荷体の倒立状態の維持が不能となる前記負荷角度の限界値を演算する負荷角度演算手段と、を備え、
前記制御手段は、前記負荷角度演算手段により演算された前記負荷角度の限界値に基づいて、前記駆動手段の駆動を制御する、ことを特徴とする倒立型移動体。
【請求項2】
請求項1記載の倒立型移動体であって、
前記負荷角度演算手段は、
前記滑り演算手段により演算された微分値に基づいて、前記駆動手段により出力可能な限界トルクを用いて所定ステップの制御周期で到達できる前記負荷角度の限界値を演算する限界負荷角度演算手段と、
前記限界負荷演算手段により演算された前記負荷角度の限界値に基づいて、前記所定時間後において負荷体の倒立状態の維持が不能となる前記負荷角度の限界値を予測する限界負荷角度予測手段と、を有する、ことを特徴とする倒立型移動体。
【請求項3】
請求項2記載の倒立型移動体であって、
前記限界負荷角度予測手段は、前記限界負荷角度演算手段により演算された現在の前記負荷角度の限界値と、現在よりも所定ステップ過去の制御周期における前記負荷角度の限界値と、に基づいて、前記所定時間後における負荷角度の限界値を予測する、ことを特徴とする倒立型移動体。
【請求項4】
請求項3記載の倒立型移動体であって、
前記限界負荷角度予測手段は、前記所定時間後における負荷角度の限界値θ1lim(k+1)を、下記式を用いて予測する、ことを特徴とする倒立型移動体。
【数23】

但し、上記式において、kは正の整数、Tは前記駆動手段の出力トルク、Tmlimは前記駆動手段により出力可能な限界トルク、θは前記負荷角度であり、γ、γ、及びγは、下記式により表わされる。
【数24】

但し、上記式において、Tは制御周期であり、sは前記滑り量であり、β、β、β及びβは下記式より表わされる。
【数25】

但し、上記式において、mは前記負荷体の質量であり、Jは前記車輪の慣性モーメントであり、mは前記車輪の質量であり、lは前記負荷体の重心位置と前記車輪との間の距離である。
【請求項5】
請求項2乃至4のうちいずれか1項記載の倒立型移動体であって、
前記限界負荷角度予測手段は、前記所定時間後における負荷角度の限界値を、外挿法を用いて予測する、ことを特徴とする倒立型移動体。
【請求項6】
請求項2乃至5のうちいずれか1項記載の倒立型移動体であって、
前記限界負荷角度予測手段は、前記所定時間後における負荷角度の限界値θ1lim(k+m)を、下記式を用いて予測する、ことを特徴とする倒立型移動体。
【数26】

但し、上記式において、kおよびmは任意の正の整数とする。
【請求項7】
請求項1乃至6のうちいずれか1項記載の倒立型移動体であって、
前記負荷角度演算手段により演算された前記所定時間後における負荷角度の限界値が0となる場合に、該負荷角度の限界値の符号が現在の前記負荷角度の符号と逆になるまで、トルク指令を前記負荷角度と同一の符号方向へ変化させるように調整するトルク指令調整手段を更に備え、
前記制御手段は、前記トルク指令調整手段により調整された前記トルク指令に基づいて、前記駆動手段の駆動を制御する、ことを特徴とする倒立型移動体。
【請求項8】
請求項7記載の倒立型移動体であって、
前記トルク指令調整手段は、
予め設定された時間経過後に、前記負荷角度演算手段により演算された前記負荷角度の限界値の符号が現在の前記負荷角度の符号と逆の場合に、現在の前記トルク指令を維持するように調整し、
前記予め設定された時間経過しても、前記負荷角度演算手段により演算された前記負荷角度の限界値の符号が現在の前記負荷角度の符号の逆にならない場合に、当該倒立型移動体を停止させるように前記トルク指令を調整する、
ことを特徴とする倒立型移動体。
【請求項9】
請求項1乃至8のうちいずれか1項記載の倒立型移動体であって、
前記滑り演算手段は、前記車輪と路面との間の滑り量の2階時間微分値を演算する、ことを特徴する倒立型移動体。
【請求項10】
負荷体の傾斜角度である負荷角度を検出する工程と、
前記負荷体の倒立状態を維持するように、車輪を駆動する駆動手段の制御を行う工程と、を含む倒立型移動体の制御方法であって、
前記駆動手段に対して出力される制御信号と、前記検出された負荷角度とに基づいて、前記車輪と路面との間の滑り量を時間で微分した微分値を演算する工程と、
前記演算された微分値に基づいて、所定時間後において、前記負荷体の倒立状態の維持が不能となる前記負荷角度の限界値を演算する工程と、
前記演算された前記負荷角度の限界値に基づいて、前記駆動手段の駆動を制御する工程と、を含む、ことを特徴とする倒立型移動体の制御方法。
【請求項11】
車輪を駆動する駆動手段に対して出力される制御信号と、負荷体の傾斜角度である負荷角度と、に基づいて、前記車輪と路面との間の滑り量を時間で微分した微分値を演算する処理と、
前記演算された微分値に基づいて、所定時間後において、前記負荷体の倒立状態の維持が不能となる前記負荷角度の限界値を演算する処理と、
前記演算された負荷角度の限界値に基づいて、前記負荷体の倒立状態を維持するように、前記駆動手段の駆動を制御する処理と、をコンピュータに実行させる、ことを特徴とする倒立型移動体の制御プログラム。
【請求項12】
請求項11記載の倒立型移動体の制御プログラムを格納した、ことを特徴とするコンピュータ可読媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2012−35742(P2012−35742A)
【公開日】平成24年2月23日(2012.2.23)
【国際特許分類】
【出願番号】特願2010−177355(P2010−177355)
【出願日】平成22年8月6日(2010.8.6)
【出願人】(000003207)トヨタ自動車株式会社 (59,920)
【Fターム(参考)】