説明

倒立型移動体及びその制御方法

【課題】危険な状態を判別可能として安全に制御する倒立型移動体を提供する。
【解決手段】倒立型移動体103の負荷角度と車輪のトルク指令とに基づいて、負荷角度推定誤差を算出し107、負荷角度推定誤差が発散するか否か、及び、倒立型移動体の状態を判別する。倒立型移動体は、状態判別器108から入力した倒立型移動体の状態に応じて、安全な状態においては倒立制御を開始/継続/再開し、危険な状態においては退避走行または停止などの安全確保制御を実施する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、倒立型移動体及びその制御方法に関する。
【背景技術】
【0002】
倒立制御を行って移動する移動体が開発されている。このような倒立型移動体を具現化するに際しては、転倒や暴走などを防止し、安全に操作できるようにすることが重要となる。ここで、「倒立型移動体」とは、車輪などの移動手段と、人や荷物などの負荷体を載せるステップと、を備えた移動体であって、車輪を駆動動作させることにより負荷体が倒立した状態を保ちながら移動する移動体を意味する。
【0003】
図5に、「倒立型移動体」の例を示す。図5に示す例は、ホイール501と、プラットホーム502と、ハンドル503と、グリップ504とを備えて構成され、ユーザ505を搬送する2輪倒立ロボットであり、倒立型移動体の典型である。
【0004】
特許文献1乃至4には、倒立制御を行って移動する移動体が開示されている。例えば、特許文献1には、倒立型移動体に設けられた近接検出器を用いて搭乗者の存在の有無を検出し、搭乗者の存在が確認できなかった場合に、安全スイッチを用いて、車輪を有する地面接地モジュールの操作を阻止する倒立型移動体が開示されている(第41頁、第1図など)。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特表2003−502002号公報
【特許文献2】特開2009−280132号公報
【特許文献3】特開2009−142127号公報
【特許文献4】特開2009−101899号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
例えば、倒立型移動体の搭乗者が存在しない場合において、安全に操作可能とすることを目的として、倒立型移動体の操作を安全スイッチにより阻止する技術は、従来から知られていた(例えば、特許文献1)。
しかしながら、倒立型移動体の危険な挙動(転倒、暴走など)は、搭乗者の有無のみに依存するわけではなく、他の複数の要因にも起因して引き起こされる。倒立型移動体の危険な状態としては、例えば、以下の状態が考えられる。
(1)走行中に搭乗者が倒立型移動体から飛び降りた後の状態、
(2)搭乗者の搭乗前または搭乗後に、搭乗者が手で倒立型移動体を支えている状態、
(3)走行中に倒立型移動体が物体と衝突した瞬間から後の状態、
(4)倒立型移動体の車輪が溝または段差に挟まれて、少なくとも1車輪が、少なくとも1方向に回転できなくなった状態、
(5)路面との摩擦が小さく、車輪が空転している状態、
(6)搭乗者の搭乗時に、その片足が地面に残っている状態、など。
従って、倒立型移動体を安全に操作するためには、このような危険な状態であるか否かを判別可能として、危険な状態であると判別される場合には、転倒や暴走などを防止するように安全に制御することが強く求められている。
【0007】
従って、本発明は、上述した課題を解決して、倒立制御を実施すると危険な状態であるかを判別して、倒立型移動体を安全に制御させることが可能な倒立型移動体及びその制御方法を提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明に係る倒立型移動体は、少なくとも1つの車輪と、当該車輪に回転可能に連結された負荷体とを備え、前記車輪を駆動することで前記負荷体の倒立制御を行う倒立型移動体であって、前記負荷体の傾斜角度である負荷角度を検出する負荷角度検出器と、前記負荷角度検出器により検出された負荷角度に基づいて、前記車輪を駆動するためのトルク指令を生成し、前記倒立制御を行う制御器と、前記倒立型移動体の数式モデルに基づいて導出される推定器を用いて、前記負荷角度検出器により検出された負荷角度と、前記制御器により生成されたトルク指令と、に基づいて、前記負荷角度の推定値を算出し、当該算出した推定値と前記負荷角度検出器により検出された負荷角度との誤差である負荷角度推定誤差を算出する負荷角度推定誤差演算部と、前記負荷角度推定誤差演算部により算出された負荷角度推定誤差が発散するか否かを判別する状態判別器と、前記状態判別器により前記負荷角度推定誤差が発散すると判別された場合には、前記制御器による制御を切り替えて所定の安全確保制御を実施させる制御切替器と、を備えるものである。
【0009】
これにより、倒立型移動体の負荷角度と車輪のトルク指令とに基づいて、負荷角度推定誤差を算出し、負荷角度推定誤差が発散するか否かを判別することができ、判別結果に応じて、倒立型移動体は安全確保制御に切り替えることできるため、危険な状態を判別して、転倒や暴走などを防止することができる。
【0010】
また、前記負荷角度推定誤差演算部は、前記負荷角度検出器により検出された負荷角度と、前記制御器により生成されたトルク指令と、に基づいて、前記推定器のゲインを算出する推定器ゲイン演算器と、前記推定器を用いて、前記推定器ゲイン演算器により算出されたゲインと、前記負荷角度検出器により検出された負荷角度と、前記制御器により生成されたトルク指令と、に基づいて、前記負荷角度推定誤差を算出する負荷角度推定誤差演算器と、を備えるようにしてもよい。
【0011】
さらにまた、前記車輪の回転角度を検出する車輪角度検出器を更に備え、前記状態判別器は、前記負荷角度推定誤差演算部により算出された負荷角度推定誤差が発散するか否かを判別すると共に、当該負荷角度推定誤差と、前記負荷角度検出器により検出された負荷角度と、前記車輪角度検出器により算出された車輪角度と、に基づいて、前記倒立型移動体について予め定めた複数の状態のうちのいずれの状態であるかを判別し、前記制御切替器は、前記状態判別器により前記負荷角度推定誤差が発散すると判別された場合には、前記制御器による制御を切り替えて、前記判別された状態に応じた所定の安全確保制御を実施させ、前記状態判別器により前記負荷角度推定誤差が発散しないと判別された場合には、前記倒立制御の開始、継続、再開のいずれか1の制御を前記制御器に実施させるようにしてもよい。
【0012】
また、前記状態判別器は、前記負荷角度推定誤差が発散すると判別した場合に、当該負荷角度推定誤差に基づいて、前記倒立型移動体の移動中に搭乗物体が飛び降りた後の状態であるか否かを判別するようにしてもよい。前記制御切替器は、前記状態判別器により前記負荷角度推定誤差が発散すると判別され、かつ、前記倒立型移動体の移動中に搭乗物体が飛び降りた後の状態であると判別された場合に、前記制御器による制御を、前記搭乗物体の飛び降り後、所定のペースで徐々に減速し停止する制御に切り替えて実施させると好適である。
【0013】
さらにまた、前記状態判別器は、前記負荷角度推定誤差が発散すると判別した場合に、前記負荷角度に基づいて、搭乗物体の搭乗前または搭乗後に外部物体により前記倒立型移動体が支えられている状態であるか否かを判別するようにしてもよい。前記制御切替器は、前記状態判別器により前記負荷角度推定誤差が発散すると判別され、かつ、前記搭乗物体の搭乗前または搭乗後に外部物体により前記倒立型移動体が支えられている状態であると判別された場合に、前記制御器による制御を、前記トルク指令を0とする制御に切り替えて実施させると好適である。
【0014】
また、前記状態判別器は、前記負荷角度推定誤差が発散すると判別した場合に、前記負荷角度推定誤差に基づいて、移動中に前記倒立型移動体が物体と衝突した瞬間から後の状態であるか否かを判別するようにしてもよい。前記制御切替器は、前記状態判別器により前記負荷角度推定誤差が発散すると判別され、かつ、移動中に前記倒立型移動体が物体と衝突した瞬間から後の状態であると判別された場合に、前記制御器による制御を、前記車輪を衝突時と反対方向に所定の短い時間回転させ、減速停止する制御に切り替えて実施させると好適である。
【0015】
さらにまた、前記状態判別器は、前記負荷角度推定誤差が発散すると判別した場合に、前記車輪角度に基づいて、前記車輪が溝または段差に挟まれて、少なくとも1方向に回転できなくなった状態であるか否かを判別するようにしてもよい。前記制御切替器は、前記状態判別器により前記負荷角度推定誤差が発散すると判別され、かつ、前記車輪が溝または段差に挟まれて、少なくとも1方向に回転できなくなった状態であると判別された場合に、前記制御器による制御を、前記トルク指令を0とする制御に切り替えて実施させると好適である。
【0016】
また、前記状態判別器は、前記負荷角度推定誤差が発散すると判別した場合に、前記車輪角度と、前記負荷角度推定誤差と、に基づいて、路面との摩擦が小さく前記車輪が空転している状態であるか否かを判別するようにしてもよい。前記制御切替器は、前記状態判別器により前記負荷角度推定誤差が発散すると判別され、かつ、路面との摩擦が小さく前記車輪が空転している状態であると判別された場合に、前記制御器による制御を、前記負荷角度検出器により検出される負荷角度がπ/2[rad]に近付くまでの間、比較的低いモータトルクで、前記倒立型移動体の進行方向に前記車輪を回転させた後、当該検出される負荷角度がπ/2[rad]に近付いた以降は、前記モータトルクを連続的に0に変化させる制御に切り替えて実施させると好適である。
【0017】
さらにまた、前記状態判別器は、前記負荷角度推定誤差が発散すると判別した場合に、前記負荷角度と、前記負荷角度推定誤差と、に基づいて、搭乗物体の搭乗時に、当該搭乗物体の一部が地面に残っている状態であるか否かを判別するようにしてもよい。前記制御切替器は、前記状態判別器により前記負荷角度推定誤差が発散すると判別され、かつ、搭乗物体の搭乗時に、当該搭乗物体の一部が地面に残っている状態であると判別された場合に、前記制御器による制御を、当該搭乗物体が完全に前記倒立型移動体に搭乗するまでの間、前記制御器が用いる制御ゲインを比較的低い値に設定する制御に切替えて実施させると好適である。
【0018】
また、前記状態判別器は、前記負荷角度推定誤差が発散しないと判別した場合に、前記負荷角度に基づいて、搭乗物体が搭乗したまま移動している状態であるか否かを判別するようにしてもよい。前記制御切替器は、前記状態判別器により前記負荷角度推定誤差が発散しないと判別され、かつ、搭乗物体が搭乗したまま移動している状態であると判別された場合に、前記制御器による制御を、前記倒立型移動体を倒立走行させる制御に切り替えて実施させると好適である。
【0019】
さらにまた、前記状態判別器は、前記負荷角度推定誤差が発散しないと判別した場合に、前記負荷角度に基づいて、搭乗物体が搭乗せずに前記倒立型移動体がその場で倒立している状態であるか否かを判別するようにしてもよい。前記制御切替器は、前記状態判別器により前記負荷角度推定誤差が発散しないと判別され、かつ、搭乗物体が搭乗せずに前記倒立型移動体がその場で倒立している状態であると判別された場合に、前記制御器による制御を、前記倒立型移動体をその場で倒立させる制御に切り替えて実施させると好適である。
【0020】
本発明に係る倒立型移動体の制御方法は、少なくとも1つの車輪と、当該車輪に回転可能に連結された負荷体とを備え、前記車輪を駆動することで前記負荷体の倒立制御を行う倒立型移動体の制御方法であって、前記負荷体の傾斜角度である負荷角度を検出するステップと、検出された負荷角度に基づいて、前記車輪を駆動するためのトルク指令を生成し、前記倒立制御を行うステップと、前記倒立型移動体の数式モデルに基づいて導出される推定器を用いて、検出された負荷角度と、生成された前記トルク指令と、に基づいて、前記負荷角度の推定値を算出するステップと、算出された前記負荷角度の推定値と検出された前記負荷角度との誤差である負荷角度推定誤差を算出するステップと、算出された前記負荷角度推定誤差が発散するか否かを判別するステップと、前記判別の結果、前記負荷角度推定誤差が発散する場合に、前記倒立制御を切り替えて所定の安全確保制御を実施させるステップと、を備えるものである。
【0021】
これにより、倒立型移動体の負荷角度と車輪のトルク指令とに基づいて、負荷角度推定誤差を算出し、負荷角度推定誤差が発散するか否かを判別することができ、判別結果に応じて、倒立型移動体は安全確保制御に切り替えることができるため、危険な状態を判別して、転倒や暴走などを防止することができる。
【発明の効果】
【0022】
本発明によれば、倒立制御を実施すると危険な状態であるかを判別して、倒立型移動体を安全に制御させることが可能な倒立型移動体及びその制御方法を提供することができる。
【図面の簡単な説明】
【0023】
【図1】実施の形態1にかかる倒立型移動体の制御システムの構成を示す図である。
【図3】実施の形態1にかかる倒立型移動体の模式的側面図である。
【図2】実施の形態1にかかる倒立型移動体の制御方法を示すフローチャートである。
【図4】実施の形態1にかかる倒立型移動体の危険又は安全な状態を判定する効果を確かめるシミュレーション結果を示す図である。
【図5】本発明に関連する倒立型移動体を示す図である。
【発明を実施するための形態】
【0024】
実施の形態1.
以下、図面を参照して本発明の実施の形態について説明する。
図1は、本実施の形態に係る倒立型移動体の制御システムの構成図である。制御システム100は、指令入力装置101と、制御器102と、倒立型移動体103と、負荷角度検出器104と、負荷角度推定誤差演算部105と、状態判別器108と、制御切替器109と、を備えている。
【0025】
指令入力装置101は、例えば、搭乗者による走行操作(ハンドル操作、スイッチ操作、重心移動操作等)に応じて、移動体103が所望の走行状態(前後進、加減速、左右旋回、停止等)となる指令値を生成する。指令入力装置101は、例えば、負荷角度指令や倒立型移動体103の移動速度指令などを指令入力として生成する。
【0026】
制御器102は、倒立型移動体103の負荷角度が、入力された指令に追従するように倒立型移動体103の倒立制御を実施する。また、制御器102は、制御切替器109からの制御切替指示に応じて、退避走行または停止などの所定の安全確保のための制御を実施する。制御器102は、これらの制御を行うため、トルク指令を生成する。
【0027】
負荷角度検出器104は、制御器102が倒立制御に使用する負荷角度として、倒立型移動体103の鉛直線に対する傾斜角度を検出する。負荷角度検出器104は、倒立型移動体103に設置されている。負荷角度検出器104は、例えば、ジャイロセンサや加速度センサを用いて構成される姿勢センサである。
【0028】
負荷角度推定誤差演算部105は、推定器ゲイン演算器105と、負荷角度推定誤差演算器106と、を備えている。負荷角度推定誤差演算部105は、倒立型移動体103の数式モデルにより導出される推定器(オブザーバ)を用いて、制御器102が出力するトルク指令と、負荷角度検出器104により検出される負荷角度と、に基づいて、負荷角度の推定値を算出し、算出した負荷角度の推定値と検出された負荷角度との誤差である負荷角度推定誤差を算出する。
【0029】
推定器ゲイン演算器106は、制御器102が出力するトルク指令と、負荷角度検出器104により検出される負荷角度と、に基づいて、推定器(オブザーバ)を用いて、負荷角度推定値、負荷角速度推定値、負荷角加速度推定値などを推定する。さらに、推定器ゲイン演算器105は、制御器102が出力するトルク指令と、負荷角度検出器104により検出される負荷角度と、負荷角度推定値と、に基づいて、推定器ゲインを算出する。
【0030】
負荷角度推定誤差演算器107は、推定器(オブザーバ)を用いて、トルク指令と、検出される負荷角度と、算出された推定器ゲインと、に基づいて、算出した負荷角度の推定値と検出された負荷角度との誤差である負荷角度推定誤差を算出する。
【0031】
状態判別器108は、算出した負荷角度推定誤差が発散するか否かを判別する。また、状態判別器108は、算出した負荷角度推定誤差の波形形状に基づいて、倒立型移動体103の複数の状態のいずれの状態であるかを判別する。
【0032】
制御切替器109は、状態判別器108による判別結果に基づいて、制御器102による倒立制御を切替えて、退避走行または停止するなどの所定の安全性確保制御を、制御器102に実施させる。制御切替器109は、状態判別器108により負荷角度推定誤差が発散すると判別された場合には、さらに、判別された状態に応じて、制御器102による制御を切り替えて、その判別された状態に対応する安全確保制御を、制御器102に実施させる。また、制御切替器109は、状態判別器108により負荷角度推定誤差が発散しないと判別された場合には、さらに、判別された状態に応じて、制御器102に通常の倒立制御(開始、継続、再開させるいずれか1の制御)を実施させる。
【0033】
次に、図2を参照して倒立型移動体が、その状態に応じて倒立制御を切り替える仕組みについて詳細に説明する。図2は、本実施の形態にかかる倒立型移動体の模式的側面図である。
【0034】
図2に示すように、倒立型移動体103は、同軸上に配置した2つの車輪202と、車輪に連結された負荷体201と、を備えている。負荷体201は、車輪202の回転軸を回転の中心として、回転可能に連結されている。負荷体201は、搭乗者や荷物などの搭乗物体、さらには、搭乗物体を支持するステップを含んで構成される。負荷角度とは、鉛直方向に対する負荷体201の傾斜角度を示す。倒立型移動体103は、負荷体201の倒立状態を維持し、かつ、進行方向(例えば、図の左右方向)に所望の速度で移動するように、車輪202を回転させるものである。移動体103は、例えば、負荷体201を前傾又は後傾させたときの傾斜角度に応じて、前進又は後進するように構成されている。なお、図示は省略するが、倒立型移動体103は、車輪202を回転させるモータトルクを伝達する減速機と、該モータトルクを発生するモータと、該モータを駆動するサーボアンプと、車輪202の回転角度を検出する車輪角度検出器と、モータに所望の回転速度指令を入力する入力装置と、を備えている。
【0035】
ここで、倒立型移動体の状態とは、具体的には以下に定める状態を含む。なお、以下の状態1〜8のうち、状態1及び状態2は、搭乗者にとって安全な状態の例を示す。また、状態3から状態8は、危険な状態の例を示す。
状態1:搭乗物体が搭乗したまま走行している状態
状態2:搭乗物体が搭乗せずに倒立型移動体がその場で倒立している状態
状態3:走行中に搭乗物体が倒立型移動体103から飛び降りた後の状態
状態4:搭乗物体の搭乗前または搭乗後に、搭乗者の手などの外部物体によって倒立型移動体103が支えられている状態
状態5:走行中に倒立型移動体103が物体と衝突した瞬間から後の状態
状態6:倒立型移動体の車輪202が溝または段差に挟まれて、少なくとも1方向に回転できなくなった状態
状態7:路面との摩擦が小さく、車輪202が空転している状態
状態8:搭乗物体の搭乗時に、搭乗者の片足などその一部が地面に残っている状態
【0036】
危険状態(状態3から状態8)の詳細を以下に説明する。
状態3では、搭乗者が飛び降りた後、倒立型移動体103と搭乗者とが接触する可能性がある。例えば、跳ね上がってきたハンドル(例えば、図5のハンドル503)と接触する可能性がある。
状態4では、搭乗者に向かってハンドル(例えば、図5のハンドル503)が傾斜する角度で、搭乗者が倒立型移動体103を支えると、倒立型移動体103が搭乗者に向かって走行して、搭乗者と接触する可能性がある。
状態5では、搭乗者による制御が実施できずに倒立型移動体103が暴走してしまう可能性がある。
状態6では、倒立型移動体103が、車輪202が回転できなくなった方向に回転させようとすることで、車輪202が溝または段差からわずかに外れた瞬間に最大トルクで回転して、結果として、倒立型移動体103が大きく転倒してしまう可能性がある。
状態7では、車輪202は床から小さな反力しか受けられないため、負荷角度を所望の角度にするために最大トルクで車輪202が回転してしまい、その結果、路面の摩擦が変化すると、倒立移動体103が大きく振れてしまう可能性がある。
状態8では、状態4と同様に、ハンドルの角度に応じて、搭乗者の地面に残っている足と、倒立型移動体103やその車輪202と、が接触する可能性がある。
【0037】
図2に例示した倒立型移動体を数式モデルによりモデル化するため、倒立型移動体の運動方程式を説明する。以下、解析力学の手法を用いて運動方程式を導出する。
まず、運動エネルギーTとポテンシャルエネルギーVは、以下の(数1)と(数2)を用いてそれぞれ表される。
【0038】
【数1】

【0039】
【数2】

【0040】
なお、(数1)及び(数2)で用いた記号の意味は次の通りである。
θ:負荷角度
θ:車輪角度
:負荷質量
:負荷慣性モーメント
:車輪質量
:車輪慣性モーメント
l:負荷重心と車軸の距離
r:車輪半径
g:重力加速度
【0041】
次に、(数1)と(数2)を用いてラグランジアンL=T−Vを算出し、オイラー・ラグランジュ方程式を用いると、運動方程式は、以下の(数3)及び(数4)として求められる。
【0042】
【数3】


なお、(数3)で用いた記号の意味は次の通りである。
:モータトルク
【0043】
【数4】

【0044】
次に、上述した状態1から状態8を検出し、検出した各状態に応じて倒立制御を切り替える原理を説明する。まず(数3)と(数4)から、車輪角度θの2階時間微分値(式中では、θの上部に2つのドットを付して示す変数)を消去することで、以下の(数5)を得る。
【0045】
【数5】

【0046】
負荷角度θを推定する推定器(オブザーバ)を、(数5)に基づいて、以下の(数6)の構成で設計する。推定器(オブザーバ)は、検出される負荷角度θと、トルク指令Tと、から、負荷角度推定値、負荷角速度推定値、負荷角加速度推定値などを推定することができる。なお、詳細は後述するが、(数6)において、後述する(数9)で示す推定器ゲインLを設定することで、負荷角度推定値が負荷角度に収束する。
【数6】

【0047】
なお、(数6)で用いた記号の意味は次の通りである。
L:推定器ゲイン
sgn(・):シグナム関数(符号関数)
θ:負荷角度推定値(式中では、θの上部にハット(^)を付して示す変数)
θ:負荷角度推定誤差(式中では、θの上部にチルダ(〜)を付して示す変数)
s:中間変数
c:負荷角度推定誤差の収束の速さ
【0048】
次に、負荷角度推定誤差θを0に収束させる推定器ゲインLの十分条件を、(数6)の推定器を用いて導出する。(数6)において負荷角度推定誤差θを0に収束させるためには、中間変数sを0に収束させればよいので、リアプノフ関数の候補として以下の(数7)を用いる。
【0049】
【数7】

【0050】
(数7)において、全てのs≠0においてV>0である。リアプノフ関数候補Vの1階時間微分が、全てのs≠0において負となれば、中間変数sは0に収束する。すなわち、以下の(数8)が成り立てばよい。
【0051】
【数8】

【0052】
(数8)の十分条件は、以下の(数9)となる。
【数9】

【0053】
なお、(数9)に用いた記号の意味は次の通りである。
δ:倒立型移動体103の状態判定指標
【0054】
検出器ゲインLを(数9)のように設定することで(数8)が成立し、中間変数sは、0に収束する。sが0に収束すると(数6)より負荷角度推定誤差θはcの速さで収束し、負荷角度推定値θは負荷角度θに収束することになる。
【0055】
ここで、倒立型移動体103に対して、(数3)及び(数4)で示した運動方程式に含まれない外力が加わった状況を想定する。かかる状況において、その外力の絶対値が(数9)の状態判定指標δよりも大きくなった場合には(数9)が成立しなくなり、負荷角度推定誤差θが発散する。
【0056】
従って、負荷角度推定誤差θの発散または収束状況に応じて、倒立型移動体103に対して、状態判定指標δよりも大きな外力が加わったか否かを判定することができる。上述した複数の危険状態のうち、状態1及び状態2の場合には負荷角度推定誤差θは0に収束するのに対して、状態3から状態8の場合には、負荷角度推定誤差θは発散する。
【0057】
以上説明した原理に基づいて、図1に示した推定器ゲイン演算器106は、(数9)を用いて推定器ゲインLを算出する。負荷角度推定誤差演算器107は、(数5)及び(数6)に基づいて、負荷角度推定誤差θを算出する。状態判別器108は、算出された負荷角度推定誤差θが発散するか否かを判別する。判別の結果、負荷角度推定誤差θが0に収束している間は、倒立型移動体103は安全な状態にあると判定し、倒立制御を継続する。一方で、判別の結果、負荷角度推定誤差θが発散する場合には、上述した状態3から状態8のような危険な状態であるため、倒立型移動体103を退避走行または停止させる制御を実施する。さらに、後述するように、状態判別器108は、倒立型移動体103が上述した状態1から状態8のいずれであるかを判別することもできる。
【0058】
負荷角度推定誤差θを用いて、上述した状態1から状態8を、以下の条件に基づいて判別する。この判別は、状態判別器108により行う。なお、以下の判別条件において、dは負荷角度推定誤差θの収束・発散を判定する閾値であり、c51、c52、c61、c62、c71、c72は一定値とする。
【0059】
(状態1の判別条件)
【数10】


状態1の判別条件(数10)は、走行中の倒立型移動体103の負荷角度θは、進行方向に非零値を取ることに基づいて導出した。
【0060】
(状態2の判別条件)
【数11】


状態2の判別条件(数11)は、搭乗者が搭乗せずに倒立型移動体103がその場で倒立している場合には、負荷角度θが0であることに基づいて導出した。
【0061】
(状態3の判別条件)
【数12】


状態3の判別条件(数12)は、搭乗者が飛び降りた場合には、負荷慣性モーメントが突然減少して、図2に例示した負荷体201を起き上がらせる方向に、負荷角度推定誤差θがオーバーシュートすることに基づいて導出した。
【0062】
(状態4の判別条件)
【数13】


状態4の判別条件(数13)は、負荷体201を外から手で支えている場合には、負荷角度θが一定値を取り、モータトルクTが飽和して一定値を取ることに基づいて導出した。
【0063】
(状態5の判別条件)
【数14】


状態5の判別条件(数14)は、倒立型移動体103が一定速度で移動中に物体と衝突した場合には、衝突の直後の所定の短い時間の間、一定速度で移動し、モータトルクTが飽和することに基づいて導出した。
【0064】
(状態6の判別条件)
【数15】


状態6の判別条件(数15)は、図2に例示した車輪202が少なくとも片方に動かなくなった場合には、車輪速度dθ/dtが0となり、モータトルクTが飽和し、負荷体201が自由落下することに基づいて導出した。
【0065】
(状態7の判別条件)
【数16】


状態7の判別条件(数16)は、車輪202が空転する場合には、車輪速度dθ/dtが非零となり、負荷体201を起き上がらせるためにモータトルクTが飽和し、路面からの反力が得られないために負荷体201が自由落下することに基づいて導出した。
【0066】
(状態8の判別条件)
【数17】


状態8の判別条件(数17)は、搭乗者が倒立型移動体103に片足を乗せており、且つ、倒立型移動体103が搭乗者側に傾いている状態では、路面に着いている足に搭乗者の体重がより多く掛かっており、搭乗者から遠い側に傾いている状態では、倒立型移動体103に載せている足に搭乗者の体重がより多く掛かっていることに基づいて導出した。
【0067】
上述した判別条件により状態判別器108が状態の判別を行い、判別結果が制御切替器109に出力される。制御切替器109は、状態判別器108から入力された状態が状態1または状態2である場合には、制御器102が倒立制御を開始/継続/再開するように切り替える。制御切替器109は、状態判別器108から入力された状態が状態3から状態8のいずれかの状態である場合には、その状態に応じて、制御器102が退避走行または停止する制御を実施するように切り替える。
【0068】
状態3〜状態8のいずれかの危険状態であると判別された場合の、制御器102による退避走行または停止の具体例、およびその効果を説明する。
【0069】
(状態3の場合)
走行中に搭乗者が倒立型移動体103から飛び降りた後の状態では、所定のペースで徐々に減速して停止させる。これにより、飛び降りた搭乗者と倒立型移動体103とが接触する危険を低減することができる。
【0070】
(状態4の場合)
搭乗前または搭乗後に、搭乗者が手で倒立型移動体103を支えている状態では、モータトルクTを0にする。これにより、倒立型移動体103が暴走して周囲の物体と接触する危険性を低減することができる。
【0071】
(状態5の場合)
走行中に倒立型移動体103が物体と衝突した瞬間から後の状態では、衝突時と反対方向に車輪202を所定の短い時間回転させ、その後、減速して停止させる。これにより、搭乗者及び衝突した物体への被害を低減することができる。
【0072】
(状態6の場合)
倒立型移動体の車輪202が溝または段差に挟まれて、少なくとも1方向に回転できなくなった状態では、モータトルクTを0にする。これにより、車輪202が溝などから突然外れた場合に、倒立型移動体103が急発進する危険性を低減することができる。
【0073】
(状態7の場合)
路面との摩擦が小さく、車輪202が空転している状態では、検出される負荷角度θがπ/2[rad]に近付くまでの間、比較的低いモータトルクTで、倒立型移動体103の進行方向に車輪202を回転させ、そして、負荷角度θがπ/2[rad]に近付いたら、モータトルクTを連続的に0に変化させる。これにより、倒立型移動体103が転倒するような場合には、搭乗者への衝撃を低減できる可能性がある。
【0074】
(状態8の場合)
搭乗者の搭乗時に、その片足が地面に残っている状態では、搭乗者の両脚が倒立型移動体103に乗るまでの間、制御ゲインを比較的低い値に設定する。例えば、制御帯域が10[Hz]程度となるようにする。これにより、路面に残っている搭乗者の足が倒立型移動体103と接触する危険性を低減することができ、同時に、搭乗時に搭乗者はバランスをとりやすくなることから、安全に乗車できるようになるという効果がある。
【0075】
図3を参照して、倒立型移動体の倒立制御と、退避走行または停止させる制御と、を切り替える処理を説明する。図3は倒立型移動体の制御方法のフローチャートである。
まず、搭乗者が、所望の負荷角度、移動速度などの指令を、指令入力装置101を用いて入力する(S301)。負荷角度検出器104は、一定周期で、負荷角度を検出する(S302)。
【0076】
負荷角度推定誤差演算部105(推定器ゲイン演算器106及び負荷角度推定誤差演算器107)は、上述したようにして、負荷角度推定誤差θを算出する(S303)。状態判別器108は、負荷角度推定誤差θが発散しているか否かを判別し、また、負荷角度推定誤差θの波形形状に基づいて、上述の状態1から状態8のいずれであるかを判別する(S304)。
【0077】
制御切替器109は、負荷角度推定誤差θが収束する場合(状態1または状態2)には、倒立制御を開始/継続/再開させるように、制御器102の制御を切り替える(S305)。一方で、制御切替器109は、負荷角度推定誤差θが発散する場合(状態3から状態8のいずれか)には、指令入力に応じた制御を中止させ、判別した状態に応じて、退避走行または停止させるように制御器102の制御を切り替える(S306)。指令入力に応じた制御を制御器102に中止させるためには、制御切替器109は、例えば、指令入力装置101からの入力指令に基づいて制御器102が制御指令を算出する際に用いるゲインについて、そのゲインの値を0に設定すればよい。以降、S301からS306の処理が再び繰り返される。
【0078】
次に、図4を参照して、本発明の効果を説明する。ここでは、(数6)の推定器を用いて倒立型移動体103の安全または危険な状態を判定するシミュレーション行い、図4にその結果を示す。なお、シミュレーションに用いた数値は以下の通りである。
=70[kg]
=25.2[kg・m^2]
=15[kg]
=0.075[kg・m^2]
l=0.9[m]
r=0.1[m]
g=9.8[m/s^2]
D=1×10^−6[N・s/m](D:車輪と路面の間の粘性摩擦係数)
c=500[rad/s]
δ=0.01
Kp=50[s^−1](Kp:負荷角度比例制御ゲイン)
Kv=50(2π)[s^−1](Kv:負荷速度比例制御ゲイン)
T=1×10^−3[s](T:制御周期)
【0079】
本シミュレーションでは、制御器102は、負荷角度θ及び車輪速度θを、上記ゲイン(Kp、Kv)を用いてそれぞれ比例制御する。そして、車輪202が接触する路面が、滑らない状態(状態1)から滑る状態(状態7)へと変化する場合に、(数6)の推定器が算出する負荷角度推定誤差θに基づいて、倒立型移動体103の倒立型移動体103の状態を判別した。
【0080】
図4(a)に示すように、時間2[s]において、車輪202と路面とが滑らない状態(縦軸の値1で示す、stick)から滑る状態(0で示す、slip)へと路面状態が変化する。
図4(b)では、与えられる負荷角度指令を破線で示し、検出される負荷角度θを実線で示している。このとき、図4(a)で示した状況下において、図4(b)に示すような負荷角度指令を与えた場合には、検出される負荷角度θにより示されように、滑っている間制御不能となり、負荷体201が発散していることが分かる。
【0081】
図4(c)では、負荷角度推定誤差演算器107が出力する負荷角度推定誤差θを実線で示している。図4(a)、(b)に示した状況の下で、負荷角度推定誤差演算器107が出力する負荷角度推定誤差θは、図4(c)に示すように変化する。すなわち、外力に起因して上述した運動方程式が成立しなくなることで、負荷角度推定誤差θが閾値を超えて変化する。
【0082】
図4(c)において、状態判別器108は、負荷角度推定誤差θが所定の範囲に収まっている時間区間のうち、負荷角度θ=0である区間(0[s]から1[s])では、状態2と判別し、負荷角度θ≠0である区間(1[s]以降)では、状態1であると判別する。そして、状態判別器108は、負荷角度推定誤差θが破線の範囲を超えている時間区間において、負荷角度推定誤差θが2次曲線的に発散していること、及び、車輪角速度(車輪角度θの2階時間微分値)が非零であること(不図示)に基づいて、状態7であると判別する。なお、図4(c)では、破線により所定の範囲を示す。また、所定の範囲は、上述したδに基づいて定められ、当該閾値δは、ユーザにより予め適切な値が設定される。
【0083】
制御切替器109は、状態の判別結果に基づいて、状態2及び状態1である間は、上述した制御ゲインを用いた比例制御を制御器102に実施させることで、倒立型移動体103の倒立状態を維持させる。そして、状態7に変化した後は、負荷角度θがπ/2[rad]に近付くまでの間、比較的低いモータトルクTで倒立型移動体103の進行方向に車輪202を回転させ、負荷角度θがπ/2[rad]に近付いた後は、モータトルクTを連続的に0に変化させる。このようにモータトルクTを変化させることにより、車輪202と路面との間の小さな摩擦(粘性摩擦係数D)によって、負荷体201を起き上がらせる方向に力が働くことになるため、倒立型移動体103が転倒した場合においても、搭乗者への衝撃を低減することができる。
【0084】
以上説明したように、倒立型移動体103は、2つの非線形運動方程式(数3、数4)を用いて記述される。これら2つの運動方程式を変形することで、負荷角度のみを含む1つの非線形微分方程式(数5)を得る。この非線形微分方程式に基づいて、負荷角度を推定する非線形推定器(数6)を設計する。
そして、負荷角度と負荷角度推定値との差を負荷角度推定誤差として、負荷角度推定誤差の所望のダイナミクスを表す1階微分関数を中間変数として定義し、その中間変数の2次関数であるリアプノフ関数候補(数7)を導入する。
このリアプノフ関数候補は上記中間変数が非ゼロの場合に正となり、リアプノフ関数候補の1階時間微分(数8)が負となるように、上記非線形推定器の推定器ゲインを設定する(数9)。これにより、倒立型移動体103が、上記非線形運動方程式に含まれない大きな外力を受けていない場合には、負荷角度推定誤差は0に収束し、そのような外力を受けた場合には、負荷角度推定誤差は発散する。
【0085】
負荷角度推定誤差が0に収束している間は、倒立型移動体103は安全な状態にあると判定することができるため、この間は倒立制御を継続する。一方で、負荷角度推定誤差が発散した場合には、倒立型移動体103は危険な状態にあると判定することができるため、退避走行または停止などの安全確保のための制御を行う。
さらに、負荷角度推定誤差が発散した場合には、その時の負荷角度推定誤差の波形の特徴に基づいて、複数の危険な状態を判別することができるため、それぞれの状態に応じた退避走行または停止させる制御を実施する。
【0086】
従来の倒立型移動体では、危険状態であるか否かの自動判別は困難であった。
これに対して本発明では、検出される負荷角度のみを用いて非線形推定器の推定誤差の発散または収束を検出することで、危険状態であるか否かを判別可能とし、倒立型移動体103を安全に制御させることを可能とした。
さらに、負荷角度推定誤差の波形の特徴に基づいて、危険な状態を正確に判別可能とし、各危険状態に応じた安全な制御を実施可能とした。
従って、本発明によれば、危険な状態を判別して、安全となるように制御を行うことで、転倒または暴走を防止するができる。
【0087】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、上述した8の状態は例示であり、搭乗者にとって安全な状態及び危険な状態として、他の状態を定めるものとしてもよい。危険な状態としては、倒立型移動体のモデル化の際に想定されていなかった外力に起因して、搭乗者にとって倒立型移動体の挙動が危険となる状態であればよい。
【0088】
また、上述した実施の形態1では、2つの車輪202を備える倒立型移動体について例示したが、本発明はこれに限定されず、1以上の車輪202を駆動することで倒立制御を行う倒立型移動体であればよい。
【0089】
また、制御システムの各要素は、各種演算器として動作する論理素子等のハードウェアで構成されたものに限らず、CPU(中央処理装置)、メモリ(記憶装置)等を備えたコンピュータによって構成されていてもよい。そして、このコンピュータに所定のプログラムを組み込んで制御器102、推定器ゲイン演算器106、負荷角度推定誤差演算器107、状態判別器108、制御切替器109等の各機能を実現させるようにしてもよい。
【符号の説明】
【0090】
100:制御システム、
101:指令入力装置、
102:制御器、
103:倒立型移動体、
104:負荷角度検出器、
105:負荷角度推定誤差演算部、
106:推定器ゲイン演算器、
107:負荷角度推定誤差演算器、
108:状態判別器、
109:制御切替器、
201:負荷体、
202:車輪、
501:ホイール、
502:プラットホーム、
503:ハンドル、
504:グリップ、
505:ユーザ

【特許請求の範囲】
【請求項1】
少なくとも1つの車輪と、当該車輪に回転可能に連結された負荷体とを備え、前記車輪を駆動することで前記負荷体の倒立制御を行う倒立型移動体であって、
前記負荷体の傾斜角度である負荷角度を検出する負荷角度検出器と、
前記負荷角度検出器により検出された負荷角度に基づいて、前記車輪を駆動するためのトルク指令を生成し、前記倒立制御を行う制御器と、
前記倒立型移動体の数式モデルに基づいて導出される推定器を用いて、前記負荷角度検出器により検出された負荷角度と、前記制御器により生成されたトルク指令と、に基づいて、前記負荷角度の推定値を算出し、当該算出した推定値と前記負荷角度検出器により検出された負荷角度との誤差である負荷角度推定誤差を算出する負荷角度推定誤差演算部と、
前記負荷角度推定誤差演算部により算出された負荷角度推定誤差が発散するか否かを判別する状態判別器と、
前記状態判別器により前記負荷角度推定誤差が発散すると判別された場合には、前記制御器による制御を切り替えて所定の安全確保制御を実施させる制御切替器と、を備える
倒立型移動体。
【請求項2】
前記負荷角度推定誤差演算部は、
前記負荷角度検出器により検出された負荷角度と、前記制御器により生成されたトルク指令と、に基づいて、前記推定器のゲインを算出する推定器ゲイン演算器と、
前記推定器を用いて、前記推定器ゲイン演算器により算出されたゲインと、前記負荷角度検出器により検出された負荷角度と、前記制御器により生成されたトルク指令と、に基づいて、前記負荷角度推定誤差を算出する負荷角度推定誤差演算器と、を備える
ことを特徴とする請求項1に記載の倒立型移動体。
【請求項3】
前記車輪の回転角度を検出する車輪角度検出器を更に備え、
前記状態判別器は、
前記負荷角度推定誤差演算部により算出された負荷角度推定誤差が発散するか否かを判別すると共に、当該負荷角度推定誤差と、前記負荷角度検出器により検出された負荷角度と、前記車輪角度検出器により算出された車輪角度と、に基づいて、前記倒立型移動体について予め定めた複数の状態のうちのいずれの状態であるかを判別し、
前記制御切替器は、
前記状態判別器により前記負荷角度推定誤差が発散すると判別された場合には、前記制御器による制御を切り替えて、前記判別された状態に応じた所定の安全確保制御を実施させ、
前記状態判別器により前記負荷角度推定誤差が発散しないと判別された場合には、前記倒立制御の開始、継続、再開のいずれか1の制御を前記制御器に実施させる
ことを特徴とする請求項1に記載の倒立型移動体。
【請求項4】
前記状態判別器は、
前記負荷角度推定誤差が発散すると判別した場合に、当該負荷角度推定誤差に基づいて、前記倒立型移動体の移動中に搭乗物体が飛び降りた後の状態であるか否かを判別する
ことを特徴とする請求項3に記載の倒立型移動体。
【請求項5】
前記制御切替器は、
前記状態判別器により前記負荷角度推定誤差が発散すると判別され、かつ、前記倒立型移動体の移動中に搭乗物体が飛び降りた後の状態であると判別された場合に、前記制御器による制御を、前記搭乗物体の飛び降り後、所定のペースで徐々に減速し停止する制御に切り替えて実施させる
ことを特徴とする請求項4に記載の倒立型移動体。
【請求項6】
前記状態判別器は、
前記負荷角度推定誤差が発散すると判別した場合に、前記負荷角度に基づいて、搭乗物体の搭乗前または搭乗後に外部物体により前記倒立型移動体が支えられている状態であるか否かを判別する
ことを特徴とする請求項3に記載の倒立型移動体。
【請求項7】
前記制御切替器は、
前記状態判別器により前記負荷角度推定誤差が発散すると判別され、かつ、前記搭乗物体の搭乗前または搭乗後に外部物体により前記倒立型移動体が支えられている状態であると判別された場合に、前記制御器による制御を、前記トルク指令を0とする制御に切り替えて実施させる
ことを特徴とする請求項6に記載の倒立型移動体。
【請求項8】
前記状態判別器は、
前記負荷角度推定誤差が発散すると判別した場合に、前記負荷角度推定誤差に基づいて、移動中に前記倒立型移動体が物体と衝突した瞬間から後の状態であるか否かを判別する
ことを特徴とする請求項3に記載の倒立型移動体。
【請求項9】
前記制御切替器は、
前記状態判別器により前記負荷角度推定誤差が発散すると判別され、かつ、移動中に前記倒立型移動体が物体と衝突した瞬間から後の状態であると判別された場合に、前記制御器による制御を、前記車輪を衝突時と反対方向に所定の短い時間回転させ、減速停止する制御に切り替えて実施させる
ことを特徴とする請求項8に記載の倒立型移動体。
【請求項10】
前記状態判別器は、
前記負荷角度推定誤差が発散すると判別した場合に、前記車輪角度に基づいて、前記車輪が溝または段差に挟まれて、少なくとも1方向に回転できなくなった状態であるか否かを判別する
ことを特徴とする請求項3に記載の倒立型移動体。
【請求項11】
前記制御切替器は、
前記状態判別器により前記負荷角度推定誤差が発散すると判別され、かつ、前記車輪が溝または段差に挟まれて、少なくとも1方向に回転できなくなった状態であると判別された場合に、前記制御器による制御を、前記トルク指令を0とする制御に切り替えて実施させる
ことを特徴とする請求項10に記載の倒立型移動体。
【請求項12】
前記状態判別器は、
前記負荷角度推定誤差が発散すると判別した場合に、前記車輪角度と、前記負荷角度推定誤差と、に基づいて、路面との摩擦が小さく前記車輪が空転している状態であるか否かを判別する
ことを特徴とする請求項3に記載の倒立型移動体。
【請求項13】
前記制御切替器は、
前記状態判別器により前記負荷角度推定誤差が発散すると判別され、かつ、路面との摩擦が小さく前記車輪が空転している状態であると判別された場合に、前記制御器による制御を、前記負荷角度検出器により検出される負荷角度がπ/2[rad]に近付くまでの間、比較的低いモータトルクで、前記倒立型移動体の進行方向に前記車輪を回転させた後、当該検出される負荷角度がπ/2[rad]に近付いた以降は、前記モータトルクを連続的に0に変化させる制御に切り替えて実施させる
ことを特徴とする請求項12に記載の倒立型移動体。
【請求項14】
前記状態判別器は、
前記負荷角度推定誤差が発散すると判別した場合に、前記負荷角度と、前記負荷角度推定誤差と、に基づいて、搭乗物体の搭乗時に、当該搭乗物体の一部が地面に残っている状態であるか否かを判別する
ことを特徴とする請求項3に記載の倒立型移動体。
【請求項15】
前記制御切替器は、
前記状態判別器により前記負荷角度推定誤差が発散すると判別され、かつ、搭乗物体の搭乗時に、当該搭乗物体の一部が地面に残っている状態であると判別された場合に、前記制御器による制御を、当該搭乗物体が完全に前記倒立型移動体に搭乗するまでの間、前記制御器が用いる制御ゲインを比較的低い値に設定する制御に切替えて実施させる
ことを特徴とする請求項14に記載の倒立型移動体。
【請求項16】
前記状態判別器は、
前記負荷角度推定誤差が発散しないと判別した場合に、前記負荷角度に基づいて、搭乗物体が搭乗したまま移動している状態であるか否かを判別する
ことを特徴とする請求項3に記載の倒立型移動体。
【請求項17】
前記制御切替器は、
前記状態判別器により前記負荷角度推定誤差が発散しないと判別され、かつ、搭乗物体が搭乗したまま移動している状態であると判別された場合に、前記制御器による制御を、前記倒立型移動体を倒立走行させる制御に切り替えて実施させる
ことを特徴とする請求項16に記載の倒立型移動体。
【請求項18】
前記状態判別器は、
前記負荷角度推定誤差が発散しないと判別した場合に、前記負荷角度に基づいて、搭乗物体が搭乗せずに前記倒立型移動体がその場で倒立している状態であるか否かを判別する
ことを特徴とする請求項3に記載の倒立型移動体。
【請求項19】
前記制御切替器は、
前記状態判別器により前記負荷角度推定誤差が発散しないと判別され、かつ、搭乗物体が搭乗せずに前記倒立型移動体がその場で倒立している状態であると判別された場合に、前記制御器による制御を、前記倒立型移動体をその場で倒立させる制御に切り替えて実施させる
ことを特徴とする請求項18に記載の倒立型移動体。
【請求項20】
少なくとも1つの車輪と、当該車輪に回転可能に連結された負荷体とを備え、前記車輪を駆動することで前記負荷体の倒立制御を行う倒立型移動体の制御方法であって、
前記負荷体の傾斜角度である負荷角度を検出するステップと、
検出された負荷角度に基づいて、前記車輪を駆動するためのトルク指令を生成し、前記倒立制御を行うステップと、
前記倒立型移動体の数式モデルに基づいて導出される推定器を用いて、検出された負荷角度と、生成された前記トルク指令と、に基づいて、前記負荷角度の推定値を算出するステップと、
算出された前記負荷角度の推定値と検出された前記負荷角度との誤差である負荷角度推定誤差を算出するステップと、
算出された前記負荷角度推定誤差が発散するか否かを判別するステップと、
前記判別の結果、前記負荷角度推定誤差が発散する場合に、前記倒立制御を切り替えて所定の安全確保制御を実施させるステップと、を備える
倒立型移動体の制御方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate