説明

走行体

【課題】 駆動に関する異常が発生した場合でも、転倒を回避することができる走行体を提供する。
【解決手段】 走行体10は車体12を倒立状態に維持しながら略同軸上に配置されている一対の駆動輪34、44で走行可能である。走行体の制御モジュール14には車体を倒立状態に維持するためのトルク指令値をモータ32、42に出力する安定化制御器50と、操作レバー18からの入力に従って走行体を走行させるためのトルク指令値をモータ32、42に出力する走行用制御部52を独立して備える。異常検出部58が異常を検出した場合、走行用制御部によるトルク指令値の出力を停止させる。異常検出時にはモータ32、42が出力可能なトルクを全て車体の倒立状態を維持することに使えるので倒立状態を維持する、又は転倒までの時間を引き延ばすことができる。その間に補助輪26を出す。車体が転倒する前に三輪で車体を支持できる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、車体を倒立状態に維持しながら走行することが可能な走行体に関する。
【背景技術】
【0002】
車体を倒立状態に維持しながら走行することが可能な走行体が開発されている。この走行体は、車体と、車体に対して回転自在であるとともに略同軸上に配置されている一対の駆動輪と、駆動源を備えており、駆動源が夫々の駆動輪にトルクを与えることによって走行する。
ここで「車体が倒立状態にある」とは、駆動輪にトルクを適切に付与し、車体が鉛直方向に対してなす傾斜角の絶対値がある一定の値を超えて増加しないように保たれている状態にある、ことをいう。
倒立型走行体は、車体をコンパクトに構成することができ、小回りがきくという利点を有する。倒立型走行体は、荷物や人を狭い場所で移動させるのに便利である。
しかしそのような倒立型走行体は、一対の駆動輪で接地している状態が不安定であり、走行体の駆動系に関するなんらかの異常が発生した場合に、車体を倒立状態に維持しておくことが困難になるという不安定要素を持っている。そこで、走行体の駆動系に関するなんらかの異常が発生した場合に対応する技術が望まれている。
特許文献1には、倒立型走行体に故障(異常)が検出された場合に、車体が転倒する前に車体の速度を減速させる技術が開示されている。
【0003】
【特許文献1】特表2004−510673号公報
【0004】
特許文献1の技術では、故障が検出されると、輸送車(倒立型走行体)の目標速度を徐々に減少して最終的にはゼロに設定する。特許文献1の技術では、特許文献1の図2に示されているように、2系統の制御系を並列に用意しておく。いずれか一方の制御系が故障した場合には(異常が発生した場合には)、正常に作動している他方の制御系によって輸送車を徐々に減速させて停止させる。特許文献1の技術では、一方の制御系の故障に備えて、それと同等の制御系を用意しておく。いわゆる冗長制御系が構築されている。これによりどちらか一方の制御系に異常が発生した場合には、他方の正常な制御系を利用して輸送車(倒立型走行体)を徐々に減速して停止させることができる。
【発明の開示】
【発明が解決しようとする課題】
【0005】
上記の従来の技術では、一方の制御系に異常が発生した場合には、他方の制御系を利用して倒立型走行体を徐々に減速して停止させることができる。
しかしながら、例えば駆動源(具体的にはモータ)や、モータに駆動電流を供給するアンプに異常が発生した場合には、意図した異常処理を実施することができない。異常となったモータやアンプで、倒立型走行体を走行させ続ける制御を続行する(減速するとはいえ、減速中も倒立型走行体を走行させ続ける制御を続行する)ために、意図したように走行させ続けられないことが起こる。
例えば駆動源(具体的にはモータ)やモータに駆動電流を供給するアンプ等のように、2系統が用意されている制御系とは別の部分で異常が発生しても、走行速度を徐々に減速する制御を行わずとも転倒を回避することができる倒立型走行体を実現する技術が必要とされている。
【課題を解決するための手段】
【0006】
倒立型走行体では、走行体の制御部が、車体を倒立状態に維持するためのトルク指令値(第1トルク指令値)と走行体を走行させるためのトルク指令値(第2トルク指令値)の両トルク指令値をモータなどの駆動源に対して出力しなければならない。
ここで例えば駆動源に異常が発生し、駆動源が出力できる駆動力が半減したとする。この状態で走行体の制御部が駆動源に対して第1トルク指令値と第2トルク指令値の両者を出力しても、駆動源では第1トルク指令値と第2トルク指令値が加算されたトルク指令値に相当するトルクを発生できなくなる可能性がある。駆動源に与えられるトルク指令値は、第1トルク指令値と第2トルク指令値の加算値であるため、駆動源が出力するトルクの一部は車体を倒立状態に維持するためでなく、走行体を走行させ続けるために利用される。車体を倒立状態に維持するためのトルク(第1トルク指令値に基づくトルク)だけなら駆動源で発生することができても、さらにその上に走行体を走行させ続けるために必要なトルク(第2トルク指令値に基づくトルク)までは発生できない事態が生じる。あるいは、倒立状態を維持するだけのトルクを発生することが困難であっても、車体の転倒を遅らせるのに有用なトルクを駆動源が発生できる可能性がある。車体が転倒するまでの時間を引き延ばすことができれば、その間に補助輪を出す等の措置を講じて転倒を防止することができる。
【0007】
そこで本発明では、倒立型走行体の駆動源が駆動輪に与えるトルク状態の異常を検出が検出された場合に、第2トルク指令値の出力を停止する。車体を倒立状態に維持するのに必要な第1トルク指令値で駆動源を制御する。こうすることによって、駆動源が出力可能なトルクの全てを、車体を倒立状態に維持するためのトルクに利用できる。よって転倒を回避する、若しくは転倒までの時間を引き延ばすことができる。車体が転倒するまでの時間を引き延ばすことができれば、その間に補助輪を出す等の措置を講じて転倒を防止することができる。
第2トルク指令値の出力を停止しても、走行体には慣性が作用するために、急停止することはない。第1制御器は、慣性によって進み続ける車体を倒立状態に維持するための第1トルク指令値を計算する。第2トルク指令値の出力を停止することは、走行体を積極的に進めるためのトルクまでは加えないという意味であり、走行体を急停止させる結果を作り出すものでない。走行体は、慣性によって進み続ける間は、駆動源が出力可能なトルクを車体を倒立状態に維持するために利用する。
なお、車体を倒立状態に維持するための制御を行っている最中には、車体を倒立状態に維持するように駆動輪が回転する。その結果として、このとき、駆動輪の回転角度の制御は特に行う必要はない。従って走行体の位置は許容できる範囲で変化することもある。
【0008】
本発明は、車体を倒立状態に維持しながら走行することが可能な走行体に具現化できる。この走行体は、車体と、一対の駆動輪と、駆動源と、第1制御部と、第2制御部と、異常検出部と、異常時処理部を備える。
一対の駆動輪は、車体に対して回転自在であるとともに、略同一軸上に配置されている。
駆動源は、具体的には各駆動輪に対して夫々トルクを与える機能を備えている。
第1制御部は、具体的には車体を倒立状態に維持するための第1トルク指令値を駆動源へ出力する機能を備えている。
第2制御部は、具体的には走行体を走行させるための第2トルク指令値を駆動源へ出力する機能を備えている。
異常検出部は、具体的には駆動源が駆動輪に与えるトルク状態の異常を検出する機能を備えている。
異常時処理部は、異常検出部によって、前記異常が検出された場合に第2制御部による第2トルク指令値の出力を停止させる機能を備えている。
【0009】
第1制御部と第2制御部は別個の装置として独立して設けられてもよいし、一つの制御装置内で第1制御部が実行すべき制御系と第2制御部が実行すべき制御系が独立している構成であってもよい。また、1つの制御用コンピュータが、第1制御部が実行すべき処理のプログラムと第2制御部が実行すべき処理のプログラムを独立して、あるいは経時的に切り替えて実行するものであってもよい。
異常検出部は、例えば車体を倒立状態に維持する制御を実行中であるにも関わらず、あるセンサが一定時間、一定の値を出力し続けている状態を検出し、異常と判断する機能を備えていてもよい。
また、異常検出部が検出する駆動源が駆動輪に与えるトルク状態の異常とは、例えば車輪の回転角を検出するエンコーダの異常を検出するものや駆動源の異常や駆動に関係するギヤの異常を検出するものであってよい。または車体の鉛直上方に対する傾斜角が許容された範囲を超えたことを検出するものであってもよい。さらに車体に鉛直方向の加速度を検出する加速度センサが設けられており、その加速度センサの出力値が所定範囲を超えたことを異常として検出するものであってもよい。上記例のように「駆動源が駆動輪に与えるトルク状態の異常を検出する異常検出部」とは、別言すれば、走行体に設けられおり、車体を倒立状態に維持しながら走行体を走行させる制御を実行するのに必要なセンサの出力値および/または制御部内で計算されるトルク指令値の少なくともひとつが予め設定された許容範囲を超えたことを検出する装置のことである。
【0010】
上記構成の走行体は、車体を倒立状態に維持するための第1トルク指令値を駆動源へ出力する第1制御部と、走行体を走行させるための第2トルク指令値を駆動源へ出力する第2制御部を独立して備えている。そして異常検出部によって異常が検出された場合には、異常時処理部が第2制御部による第2トルク指令値の出力を停止させる。これによって駆動源は出力可能なトルクの全てを車体を倒立状態に維持するためのトルクとして駆動輪に与えることができる。
【0011】
上記構成によって、駆動源が駆動輪に与えるトルク状態の異常の内容が何であれ、異常が検出された場合には駆動源は車体を倒立状態に維持するためのトルクだけを駆動輪に与えるように走行体を制御することができる。換言すれば、異常が検出された場合には、走行体の駆動源を、車体を倒立状態に維持することを唯一の目的にして動作させる。駆動源が出力可能なトルクを車体を倒立状態に維持するためだけに使うことができる。これにより車体を倒立状態に維持できる可能性が生じる。倒立状態を維持できなくとも転倒するまでの時間を引き延ばすことができる可能性が生じる。転倒するまでの時間を引き延ばすことができればその間に補助輪を出すなどの転倒防止策を講じることができる。その結果車体の転倒を防止することができる。
【0012】
本発明の走行体はさらに、車体に対して上下に移動可能であり、前記駆動輪が接地する接地面に当接することによって停止した車体を支持する支持部材と、支持部材を、速度を調整可能に上下に移動させる支持部材移動部を備えることが好ましい。
ここで支持部材とは補助輪でもよいし、単なる棒状の部材でもよい。
【0013】
支持部材移動部が支持部材を速度を調整可能に上下に移動させる機能を備えることによって、場合に応じて支持部材を下方に移動させるまでの時間を変化させる作用を生じさせる。
【0014】
また、異常検出部によって前記異常が検出された場合に、前記支持部材移動部が、車体を支持するために前記支持部材を下方に移動させる速度を、停止した車体を支持するために支持部材を下方に移動させる速度よりも速くすることが好ましい。
ここで通常の走行時には、支持部材移動部は、支持部材が接地面と接触しないように支持部材を接地面から所定距離だけ上方に移動させている。異常が検出されていない場合における走行停止動作時には、支持部材移動部によって支持部材はゆっくりと下方へ移動させられる。支持部材をゆっくり下方へ移動させることによって車体が揺れることを低減させる作用を生じさせる。しかし異常が検出された場合は車体が転倒する可能性がある。そこで支持部材移動部は、支持部材を通常の走行停止動作時よりも高速に下方に移動させるように指示を出力する。車体の転倒前に支持部材を接地面に対して車体を支持可能な位置に移動させる作用を生じさせることができる。よって車体の転倒を防止することができる。
【0015】
第1制御部は、支持部材が下方に移動した後に、駆動源へ出力する第1トルク指令値を支持部材が前記接地面に当接する方向に車体を傾斜させるための第3トルク指令値に変更することが好ましい。
その際の第3トルク指令値は予め設定された値であってよい。
【0016】
車体を倒立状態に維持する制御では、車体の傾斜角などを検出してフィードバック制御が行われている。全ての駆動輪が正常にフィードバック制御できなくなった場合でも、駆動源に予め設定されたトルクを出力させることができる可能性はある。駆動源が予め設定されたトルク指令値通りに動作するならば、異常が検出された場合に、第1制御部が駆動源に出力する車体を倒立状態に維持するための第1トルク指令値を支持部材が接地面に当接する方向に車体を傾斜させる第3トルク指令値に変更することによって、車体を支持部材側へ傾斜させることができる。その結果、駆動輪と支持部材が接地面に当接して車体が接地面に対して支持される。車体が転倒することを防止することができる。
【0017】
異常検出部は、駆動輪の回転数に基づく信号、車体の傾斜角に基づく信号、トルク指令値の大きさに基づく信号のうち、少なくとも一つの信号の値が予め定められた許容範囲外である場合に、「駆動源が駆動輪に与えるトルク状態の異常」と判断するものであってよい。
【発明の効果】
【0018】
本願発明によれば、車体と、夫々の車軸が略同一の直線上に配置された少なくとも2つの駆動輪を有しており、車体を倒立状態に維持しながら走行可能な走行体に対して、異常が発生した場合に走行速度を徐々に減速する制御を行わなくとも車体の転倒を防止することが可能となる。
【発明を実施するための最良の形態】
【0019】
実施例の主要な特徴を列記する。
(第1形態) 夫々の駆動輪にトルクを与える駆動源は、夫々の駆動輪に対して夫々独立にトルクを与える一対の駆動源で構成されていることが好ましい。一対の駆動源で構成されていれば、いずれかの駆動源に異常が発生した場合、正常に動作する駆動源だけで車体が倒立するまでの時間を引き延ばすことができるからである。
【実施例】
【0020】
図面を参照して実施例を詳細に説明する。図1は、本実施例の走行体10の全体構成を模式的に示している。走行体10は、車体12と、車体12に設けられている第1駆動輪34と第2駆動輪44と補助輪26を備えている。第1駆動輪34と第2駆動輪44は、同一の第1車軸C1の回りに回転可能となっている。
補助輪26は、補助輪支持部材30の一方の端部で第2車軸C2の回りに回転可能に支持されている。補助輪支持部材30の他方の端部は、補助輪移動部28を介して車体12に連結されている。補助輪移動部28は、走行体10を第1駆動輪34と第2駆動輪44で接地する倒立状態に制御する場合には補助輪26を図1に2点鎖線で示す位置に移動させる。走行体を駆動輪34と44で接地させた状態を「車体12が倒立状態である」という表現を用いる。また、補助輪26を図1に2点鎖線で示す位置に移動させた状態を「補助輪26が倒立姿勢位置にある」と称することにする。
一方、走行体10を駆動輪34と44と補助輪26で接地させる場合には補助輪26を図1に実線で示す位置に移動させる。補助輪26を図1に実線で示した位置に移動させて、走行体10を第1駆動輪34と第2駆動輪44と補助輪26で接地可能な状態にあるときを「補助輪26が三輪姿勢位置にある」と称することにする。
走行体10には、人が着席可能な搭乗シート22が設けられている。走行体10は、人を乗せて走行することができる。
走行体10は、第1駆動輪34を駆動する第1モータ32と、第2駆動輪44を駆動する第2モータ42と、両モータ32、42に電力を供給するバッテリモジュール40を備えている。走行体10では、各駆動輪34、44のそれぞれに駆動源であるモータ32、42が用意されており、各駆動輪34、44のそれぞれが独立して駆動する構成となっている。また、第1モータ32には第1モータ32が過熱状態となって仕様上の最大トルクが出力できなくなることを検出するための第1温度センサ35が備えられている。同様に第2モータ42にも第2温度センサ45が備えられている。
【0021】
走行体10は、第1モータ32、第2モータ42および補助輪移動部28の動作を制御する制御モジュール14と、走行体10の搭乗者が操作する操作モジュール20を備えている。制御モジュール14は、走行体10の搭乗者が操作モジュール20に加えた操作に追従して、第1モータ32と第2モータ42と補助輪移動部28の動作を制御する。制御モジュール14はまた、車体12を倒立状態に維持する制御も行う。
【0022】
走行体10は、車体12の傾斜角速度を検出するジャイロ38と、走行体の上下方向の加速度を検出する加速度センサ39と、第1駆動輪34の回転角を検出する第1エンコーダ36と、第2駆動輪44の回転角を検出する第2エンコーダ46を備えている。車体12の傾斜角速度とは、車体12の傾斜角の変化速度である。車体12の傾斜角とは、車体12の第1車軸C1回りの回転角を、鉛直方向に対する傾きによって示すものである。本実施例では、駆動輪34と44を除いた走行体10の重心が第1車軸C1の鉛直上方に位置する状態を傾斜角の基準(傾斜角がゼロ)とし、車体12が図1に実線で示した補助輪26の側に傾く方向を傾斜角の正方向とする。なお、車体12に搭乗者が乗った場合には搭乗者を含み、駆動輪34と44を除いた走行体10の重心の位置を「走行体の重心位置」とする。
また、各駆動輪34、44の回転角とは、各駆動輪34、44の車体12に対する相対回転角である。
また加速度センサ39は車体の上下方向の加速度を検出する。加速度センサの出力の変化が許容範囲を超えた場合に走行体10が想定外の悪路(凸凹道)を走行していることを検出するためである。
【0023】
操作モジュール20には、操作レバー18が設けられている。操作レバー18は、搭乗者が走行体10の走行速度や走行方向を調整するための操作部材である。搭乗者は、操作レバー18の操作量を調整することによって走行体10の走行速度を調整することができる。また搭乗者は、操作レバー18の操作方向を調整することによって走行体10の走行方向を調整することができる。走行体10は、操作レバー18に加えられた操作に応じて、前進、停止、後退、左折、右折、左旋回、右旋回することができる。
【0024】
図2は、走行体10が両駆動輪34、44で接地した倒立状態を模式的に示している。図2に示すように倒立状態では、補助輪26は補助輪移動部28と補助輪支持部材30によって車体12の内側上方に移動されている。即ち図2の補助輪26は倒立姿勢位置にある。
【0025】
図2中のθ2は第2駆動輪44の回転角を示している。第2駆動輪44の回転角θ2は車体12備えられた第2エンコーダ46によって検出される。なお、第1駆動輪34(図2には図示を省略)の回転角をθ1と記すことがある。第1駆動輪34の回転角θ1は、車体12備えられた第1エンコーダ36(図2には図示を省略)によって検出される。
【0026】
図2において、符号Gは駆動輪34、34を除いた走行体10の重心位置を示す。ηは車体12の傾斜角を表している。車体12の傾斜角ηは、第1車軸C1と駆動輪34、34を除いた走行体10の重心位置Gを結ぶ直線Lと第1車軸C1を通る鉛直線Sとがなす角度である。そして重心位置Gが第1車軸C1を通る鉛直線S上に位置する状態を傾斜角の基準(傾斜角がゼロ)とし、車体12が図1に実線で示した補助輪26の側に傾く方向を傾斜角の正方向とする。傾斜角ηは車体10に備えられたジャイロ38(図2では図示を省略)が検出する車体の角速度dηを積分して求められる。
ここで、図2に示すように傾斜角ηが正の値であると、重力によって重心位置G回りに作用するモーメントにより車体12は何も制御しなければ図2の紙面上で右側へ転倒してしまう。傾斜角ηが負の値の場合でも車体12は何も制御しなければ図2の紙面上で左側へ転倒してしまう。
走行体10の制御モジュール14は、車体12が転倒しないように駆動輪34、44にトルクを与えるモータ32、42を制御する。具体的には車体12が傾斜している方向へ駆動輪34、44を進めるように制御する。そうすると走行体10の運動によって重心位置Gを第1車軸C1の鉛直上方に戻すようにモーメントが作用する。制御モジュール14は、車体12の傾斜角ηがゼロとなるように上記制御を常に行うことによって車体12を倒立状態に維持することができる。
即ち、「車体が倒立状態にある」とは、接地面に対して車体を支持する部材が主として略同軸上に配置されている一対の駆動輪であり、その駆動輪にトルクを適切に付与し、車体が鉛直方向に対してなす傾斜角の絶対値がある一定の値を超えて増加しないように保たれている状態にある、ことをいう。
【0027】
図3は、走行体10が両駆動輪34、44と補助輪28で接地した状態を模式的に示している。この状態を三輪接地状態と称する。図2に示すように三輪接地状態では、補助輪26は補助輪移動部28と補助輪支持部材30によって倒立状態の補助輪26の位置よりも車体12の下方に移動されている。即ち三輪接地状態となる場合には補助輪26は三輪姿勢位置に移動する。
このときは重心位置Gの接地面への投影点が駆動輪34、44の接地点と補助輪26の接地点で構成される領域内にあるので車体12は転倒することはない。別言すれば、車体は駆動輪34、44の接地点と補助輪26の接地点(これら3つの接地点は一つの直線上には並ばない3点となる)で接地面に対して支持されるので転倒することはない。
【0028】
走行体10は、三輪接地状態を維持しながら、走行、旋回、静止することもできる。ここで、図3中のηzは、走行体10が水平面上において三輪接地状態をとるときの車体12の傾斜角を示している。この角度ηzを、補助輪予定接地傾斜角ということがある。実際に走行体10が三輪接地状態となる場合の車体12の傾斜角は、走行面の傾斜や凹凸によって変化することから、常に補助輪予定接地傾斜角ηzになるとは限られない。
【0029】
次に走行体10の制御系について説明する。図4に、図1に示した走行体10のブロック図を示す。なお、制御モジュール14は、例えば搭乗シート22のリクライニング角度など走行体10について様々な制御を行うが図4の制御モジュール14内には駆動に関する部分のみを示してある。
制御モジュール14内には、安定化用制御部50と走行用制御部52と異常検出部58と異常時処理部60が備えられている。
【0030】
安定化用制御部50は、車体12に備えられたジャイロ38から車体の角速度dηを取得する。また車体に備えられた第1エンコーダ36から第1駆動輪34の回転角θ1を取得する。さらに車体に備えられた第2エンコーダ46から第2駆動輪44の回転角θ2を取得する。
安定化用制御部50は、取得した車体の傾斜角速度dηを積分して車体の傾斜角ηを計算する。また駆動輪34、44の回転角θ1、θ2を微分して駆動輪34、44の回転角速度dθ1、dθ2を計算する。
安定化用制御部50は、車体12の傾斜角ηと傾斜角速度dηおよび駆動輪34、44の回転角θ1、θ2と回転角速度dθ1、dθ2から、図2で説明したように車体12を倒立状態に維持するために駆動輪34、44が発生すべきトルクを計算してそのトルク指令値(安定化用トルク指令値と称する)を第1モータ32と第2モータ42へ出力する。ここで安定化用制御部50が第1モータ32へ与える安定化用トルク指令値をτS1と称する。同様に安定化用制御部50が第2モータ42へ与える安定化用トルク指令値をτS2と称する。なお、図4に示した(τE1)と(τE2)の意味については後述する。
安定化用制御部50は、車体12の傾斜角速度dηと駆動輪34、44の回転角θ1、θ2を取得してモータ32、42への安定化用トルク指令値を出力するフィードバック制御系が構成されている。図4に符号56で示す線がフィードバックループを表す。
【0031】
一方、制御モジュール14内の走行用制御部52は、搭乗者が操作した操作レバー18からの信号に基づいて、走行体10を搭乗者の意図する方向へ走行させるためにモータ32、42が発生すべきトルク(走行用トルク指令値)を計算する。走行用制御部52が出力するτM1は第1モータ32への走行用トルク指令値であり、τM2は第2モータ42への走行用トルク指令値である。
【0032】
安定化用トルク指令値τS1と走行用トルク指令値τM1は加算器54aで加算されて第1モータ32へ出力される。安定化用トルク指令値τS2と走行用トルク指令値τM2は加算器54bで加算されて第2モータ42へ出力される。夫々のモータ32、42は、安定化用トルク指令値と走行用トルク指令値の加算値を最終的なトルク指令値として駆動輪34、44を駆動する。
【0033】
走行用制御部52は、操作レバー18の操作量に基づいて走行用トルク指令値τM1、τM2を計算してモータ32、42に出力している。
一方安定化用制御部50は、車体12の傾斜角速度dηと駆動輪34、44の回転角θ1、θ2をフィードバックして車体12の倒立状態を維持するための安定化用トルク指令値τS1、τS2を計算してモータ32、42に出力している。
即ち本実施例の走行体10の安定化用制御部50は、走行用制御部52の出力する走行用トルク指令値τM1、τM2に関わらず、常に車体12の倒立状態を維持するようにフィードバック制御が行われている。このことは別言すれば、安定化用制御部50は、走行用トルク指令値τM1、τM2による車体12の傾斜角ηの変化をいわば外乱による変化と捉えて車体12の倒立状態を維持するように制御を行っている。本実施例では、安定化用制御部50が走行用トルク指令値によって生じる車体12の傾斜角ηの変化を一種の外乱として扱うことで、安定化用制御部50と走行用制御部52を独立した制御系として構築することを可能にしている。
【0034】
制御モジュール14に備えられた異常検出部58は、安定化用制御部50および走行用制御部52内の各信号を監視し、各信号の値に異常がないかをチェックする。即ち、異常検出部58は、駆動源が駆動輪に与えるトルク状態の異常を検出する。ここで各信号の値とは、例えば、操作レバー18からの信号の値、ジャイロ38からの車体傾斜角速度dηの値、エンコーダ36、46からの駆動輪34、44の回転角θ1、θ2の値、又は安定化用制御部50内で計算される車体傾斜角η、駆動輪34、44の回転角速度dθ1、dθ2、安定化用制御部50内で計算される安定化用トルク指令値τS1、τS2、走行用制御部52内で計算される走行用トルク指令値τM1、τM2などである。また、安定化用制御部50で駆動輪34、44の回転角速度dθ1、dθ2を微分して駆動輪34、44の回転角加速度ddθ1、ddθ2を計算し、計算された回転角加速度ddθ1、ddθ2の値についても異常がないかチェックすることも好適である。
なお、異常検出部58が取得する操作レバー18からの信号の値、走行用制御部52内で計算される走行用トルク指令値τM1、τM2は、図4において走行用制御部52から異常検出部58へ向って伸びている矢印で示される。また、異常検出部58が取得する車体傾斜角速度dη、車体傾斜角η、駆動輪34、44の回転角θ1、θ2、駆動輪34、44の回転角速度dθ1、dθ2および回転角加速度ddθ1、ddθ2、安定化用制御部50内で計算される安定化用トルク指令値τS1、τS2は図4において安定化用制御部50から異常検出部58へ向って伸びている矢印で示される。
また、その他にも、異常検出部58は、第1モータ32の温度を検出する第1温度センサ35や第2モータ42の温度を検出する第2温度センサ45の検出値や車体12に備えられた加速度センサ39の出力も取得する。なお、図4において第1温度センサ35から「丸印内に1」と表現されている記号(以下(1)と記載する)へ伸びている線は、異常検出部58へ矢印が伸びている(1)に対応する。即ち、第1温度センサ35から異常検出部58へ信号線が接続されていることを示している。図4における「丸印内に2」の記号および「丸印内に3」の記号も同様に各信号が異常検出部58へ接続されていることを示している。
異常検出部58が取得した夫々の値には許容範囲が設けられており、異常検出部58は、ある信号の値がその許容範囲を超えた場合に異常であると判断する。また、夫々の値の許容範囲は、他の信号の値に依存して変化するものであってもよい。例えば、加速度センサ39が検出する車体12の上下方向の加速度の値が大きくなるにつれて車体傾斜角ηの許容範囲が小さくなるように設定されていてもよい。車体12の上下方向の加速度が大きくなるにつれて車体12を倒立状態に維持することが難しくなるからである。
なお、走行体10の上下方向の加速度の変動幅が許容範囲を超えた場合とは、走行体が予期しない悪路を走行している状態であると推定される。本実施例では、走行体10の上下方向の加速度の変動幅が許容範囲を超えた場合なども「駆動源が駆動輪に与えるトルク状態の異常」の概念に含まれる。
【0035】
何らかの異常が検出された場合、異常検出部58は車体12の転倒を防止するように安定化用制御部50、走行用制御部52および補助輪駆動源28に対して指示を与える。何らかの異常が検出された場合に異常検出部58が各機器に指示を与える処理を退避モード処理と称することにする。具体的には走行用制御部52に対して走行用トルク指令値の出力を停止するように指示を与え、補助輪移動部28に対して補助輪26を三輪姿勢位置に移動させるように指示を与える。退避モード処理については次に図5と図6に基づいて詳細に説明する。
【0036】
図5は通常時(異常が検出されていないとき)のサンプリング毎の制御モジュール14内での処理の流れを説明するフローチャート図である。
通常時には制御サンプリング毎にステップS100で走行体10の駆動に関わる状態量を取得する。ここで状態量とは具体的にはジャイロ38が検出する車体12の傾斜角速度dηやエンコーダ36、46が検出する駆動輪34、44の回転角θ1、θ2である。またステップS100では、取得した車体傾斜角速度dηから車体傾斜角ηを求める計算および取得した回転角θ1、θ2から回転角速度dθ1、dθ2や回転角加速度ddθ1、ddθ2を計算する処理も含まれる。計算によって求められた車体傾斜角η、回転角速度dθ1、dθ2も「状態量」に含まれる。また、異常検出部58が取得する温度センサ35、45の検出値や車体12に備えられた加速度センサ39の出力も「状態量」として取得する。ステップS100の処理はジャイロ38、エンコーダ36、46、温度センサ35、45、加速度センサ39および安定化用制御部50によって実行される。
次にステップS102で操作レバー18から出力される操作量を取得する。次にステップS104では、ステップS102で取得した操作量に基づいて走行体10を走行(旋回を含む)させるための走行用トルク指令値τM1、τM2を計算する。ステップS102とステップS104の処理は図4に示す走行用制御部52によって実行される。
次にステップS106ではステップS100で取得した状態量に基づいて車体12を倒立状態に維持するための安定化用トルク指令値τS1、τS2を計算する。ステップS106の処理は図4に示す安定化用制御部50によって実行される。
次にステップS108で各信号の値が異常でないかをチェックする。この処理は図4に示す異常検出部58によって実行される。異常か否か判断する対象となる物理量は、ステップS100で取得した状態量、ステップS102で取得した操作量の他に、ステップS104で計算された走行用トルク指令値τM1、τM2の値およびステップS106で計算された安定化用トルク指令値τS1、τS2の値も含まれる。
異常が検出されなかった場合(ステップS108:NO)には次にステップS110で各モータ32、42に対してトルク指令値が出力される。第1モータ32へのトルク指令値は安定化用トルク指令値τS1と走行用トルク指令値τM1を加算したものであり、第2モータ42へのトルク指令値は安定化用トルク指令値τS2と走行用トルク指令値τM2を加算したものである。夫々のモータ32、42がトルク指令値に追従して動作することによって、走行体10は倒立状態を維持しながら操作レバー18の操作量に応じて走行することができる。以上の処理をサンプリング毎に繰り返す。
一方ステップS108で何らかの異常が検出された場合にはステップS112に移り、車体12の転倒を防止するための退避モード処理が行われる。このとき、図4に示す異常検出部58から異常時処理部60へ異常があったことが通知される。
【0037】
図6に退避モード処理のフローチャート図を示す。
退避モードではまずステップS200で走行用トルク指令値の出力を停止する。この処理は図4の異常時処理部60から走行用制御部52に走行用トルク指令値の出力を停止するように指示が出力されることによって実行される。
次にステップS202では検出された異常が左右の駆動系が共に異常であるか否かを判断する。これは異常検出部58が検出した異常の種類によって判断される。例えば、第1エンコーダ32が検出する第1駆動輪34の回転角速度dθ1の値が異常、即ち、dθ1の値が予め設定されている許容範囲外であれば、第1駆動輪34側の駆動系のみが異常であると判断できる。一方、駆動輪34、44の回転角速度dθ1、dθ2の値が共に許容範囲外であれば、左右の駆動系ともに異常であると判断できる。
なお、ステップS202において左右の駆動系が共に異常であるか、又は片方の駆動系のみが異常であるか判断できない場合には、より安全な対処を行うべく左右輪の駆動系ともに異常であると判断する。例えば操作レバー18(図4参照)からの出力値が異常であった場合などは左右輪のいずれかが異常であるか判断できないのでその場合にはステップS202は左右輪の駆動系が共に異常であると判断する。なお、上記判断は図4に示す異常時処理部60によって実行される。
【0038】
ステップS202で左右輪の駆動系が共に異常であると判断された場合(ステップS202:YES)は次にステップS204で補助輪26を最速で三輪姿勢位置まで移動させる。即ち、図1に2点鎖線で示した補助輪26の位置から車体12の下方へ補助輪26を最速で移動させる。この処理は図4のブロック図において、異常時処理部60から補助輪移動部28へ指示が出力されることによって行われる。なお「補助輪26を最速で三輪姿勢位置まで移動させる」とは、正常時の補助輪26の移動速度よりも速い速度であることを意味する。正常時は、走行体10が図2に示した倒立状態から図3に示した三輪接地状態へ移行する場合、補助輪26はゆっくりした速度で移動される。補助輪26の移動中に倒立状態の車体12ができるだけ揺れないようにするためである。異常時は車体12が転倒する前に補助輪26を下方へ移動させる必要があるため、正常時よりも早い速度で補助輪26を車体下方へ移動させる。
【0039】
次にステップS206では、補助輪28の移動が完了したか否かを判断する。補助輪26の移動が完了していない場合(ステップS206:NO)には、ステップS208で安定化制御を行う。ここで安定化制御とは、図5に示したステップS100とステップS106とステップS110を行う処理を意味する。即ち、ステップS100で状態量を取得し、ステップS106で安定化用トルク指令値を計算し、ステップS110で安定化用トルク指令値をモータへ出力する処理である。ステップS206で左右の駆動系共に異常が検知された場合でも、補助輪26が三輪姿勢位置に移動するまでは、車体12を倒立状態に維持する制御を試みるためである。これは次の理由により効果が期待できる処理である。即ち、前述したようにステップS202において、左右の駆動系が共に異常であるか、又は片方の駆動系のみが異常であるか判断できない場合には、より安全な対処を行うべく左右輪の駆動系ともに異常であると判断する。このとき、実際には第1モータ32と第2モータ42の駆動系の少なくとも一方が正常である可能性もある。少なくとも一方の駆動系が実際には正常であるならば、ステップS208の安定化制御によって、車体12を倒立状態に維持できる、あるいは車体12が転倒するまでの時間を引き延ばすことができるからである。例えば操作レバー18からの出力値が異常であった場合には、ステップS208の安定化制御が有効に作用する。
また、ステップS208の安定化処理では、図2において駆動輪34、44を除く走行体10の重心位置Gが第1車軸C1を通る鉛直線S上に位置するように安定化用トルク指令値を計算して出力することが好ましい。安定化用制御部50によって、重心位置Gが第1車軸C1を通る鉛直線S上に位置するように駆動輪34、44が制御されれば、走行体10の速度もゼロとなり、車体12を最も転倒の可能性が低い状態にすることができるからである。
【0040】
ステップS206で補助輪26の移動が完了したと判断された場合(ステップS206:YES)には、次にステップS210で安定化用制御部50が出力する安定化用トルク指令値(図4に示すτS1、τS2に相当する)を、予め設定されているトルク指令値(図4に示すτE1、τE2に相当する)に変更する。そしてステップS212で変更されたトルク指令値(図4に示すτE1、τE2)をモータ32、42に対して出力する。
ここで予め設定されているトルク指令値(図4に示すτE1、τE2)とは、補助輪26の側へ車体12を傾斜させるトルク指令値である。例えば図2に示す状態においては、予め設定されているトルク指令値(図4に示すτE1、τE2)とは駆動輪34、44を図2の紙面上で左周りに回転させるトルクである。図2において駆動輪34、44を図4の紙面上で左周りに回転させると車体12はより右側、即ち補助輪26の側へ傾斜する。これによって、車体12が補助輪26とは反対側へ傾斜することを防止することができる。ステップS210、212の処理は、フィードバックなしに行うことができるので例えばエンコーダ36、46の出力値が異常であっても可能である。
そしてステップS214で車体12が補助輪26側へ傾斜するまで予め決められたトルク指令値(図4に示すτE1、τE2)を出力し続ける(ステップS214:NO)。そしてステップS214で車体12が補助輪26の側へ傾斜していると判断されれば(ステップS214:YES)、ステップS216で制御を停止して終了する。
ステップS214における「車体12が補助輪26側へ傾斜するまで」とはより厳密には車体12の傾斜角ηが正の値をとるまで、という意味である。図2を参照して説明すると、車体12の傾斜角ηが正の値をとるとは、重心位置Gが第1車軸C1を通り鉛直上方に伸びる線Sよりも補助輪26側に位置することを意味する。ひとたび重心位置Gが第1車軸C1を通り鉛直上方に伸びる線Sよりも補助輪26側に位置すれば、あとは制御を停止しても重力により車体12は補助輪26の側に傾斜し続ける。補助輪26が三輪姿勢位置に移動完了していれば、車体12はやがて三輪接地状態となる。車体12の転倒を防止することができる。
【0041】
一方、ステップS202で検出された異常が左右輪の駆動系両方の異常ではない場合(ステップS202:NO)、ステップS220に移り補助輪26を下方へ移動させる(補助輪26を三輪姿勢位置に移動させる)。左右輪のいずれか一方が正常に機能する場合(即ちステップS202:NO)には、正常に機能する側の駆動系だけで車体12を倒立状態に維持する安定化制御を続行する。これにより車体12が転倒するまでの時間を引き延ばすことができる。従ってステップS220で補助輪26を移動させる際の速度は正常時の移動速度でよい。その方が補助輪26の移動が車体12の傾斜角に与える影響を少なくすることができるからである。
補助輪26の移動が完了するまでの間(ステップS222:NO)は、ステップS224で安定化制御を続行する。ステップS224の安定化制御はステップS208の安定化制御と同じであるので説明を省略する。但しステップS224では、いずれか一方の駆動系は正常であるため、安定化制御を続行することによって正常な駆動系により車体を倒立状態に維持できる可能性は高い。なお、ステップS224における安定化処理では、異常が検出された側の駆動輪をロックしておき(車体12に対する回転角を固定しておき)、正常に動作する側の駆動系だけで安定化制御を行うことも好適である。
補助輪26の移動が完了した場合(ステップS222:YES)、ステップS226で補助輪着地制御を行う。補助輪着地制御とは、車体傾斜角ηを正方向(補助輪26の側)に徐々に大きくしていき、円滑に補助輪26を接地させる制御である。この制御により補助輪26の接地時の衝撃を低減することができる。
ステップS226の補助輪着地制御が終了したらステップS216により制御を停止して処理を終了する。
【0042】
図6のフローチャートに基づいて説明したように、駆動装置に関する異常が検出された場合には退避モード処理を行うことによって車体の転倒を防止することができる。
本実施例では車体の駆動系に冗長制御系を構成することなく、異常検出時に車体の転倒を防止することができる。これは、車体の倒立状態を維持するための安定化用制御部と走行体を走行させるための走行用制御部を独立して構成し、異常検出時には走行用制御部による走行用トルク指令値の出力を停止することによって達成される。
さらに異常検出時には、駆動輪とともに接地面に対して車体を支持する補助輪を通常時よりも早い速度で下方へ移動させることによって、車体が転倒する前に補助輪を三輪姿勢位置に移動させることができる。車体が転倒する前に補助輪を最速で三輪姿勢位置に移動させることによって車体が傾斜しても三輪接地状態とすることができる。
また、異常検出時に補助輪がある側へ車体を傾斜させるように予め設定されたトルク指令値を安定化用制御部が出力することによって、異常発生時に車体を三輪接地状態にすることができる。
【0043】
なお、本実施例において、補助輪26と補助輪支持部材30が請求項の「支持部材」の一態様に相当し、補助輪移動部28が請求項の「支持部材移動部」の一態様に相当する。
また、第1モータ32と第2モータ42が請求項の「駆動源」の一態様に相当する。安定化用制御部50が請求項の「第1制御部」の一態様に相当し、走行用制御部52が請求項の「第2制御部」の一態様に相当する。また、安定化用制御部50が出力する安定化用トルク指令値τS1、τS2が請求項の「第1トルク指令値」の一態様に相当し、走行用制御部52が出力する走行用トルク指令値τM1、τM2が請求項の「第2トルク指令値」の一態様に相当する。
さらに、異常検出時に図6のステップS210で行われる、安定化用制御部50が出力する安定化用トルク指令値(図4に示すτS1、τS2に相当する)を、予め設定されているトルク指令値(図4に示すτE1、τE2に相当する)に変更する際の予め設定されているトルク指令値(図4に示すτE1、τE2)が請求項の「第3トルク指令値」の一態様に相当する。
【0044】
以上、本発明の具体例を詳細に説明したが、これらは例示に過ぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。
例えば操作レバー18の代わりに搭乗者の体重移動を検出するセンサを設け、体重の移動量に基づいて走行用制御部52が走行用のトルク指令値を計算してもよい。
また、図4に示した安定化用制御部50と走行用制御部52は独立した別個の制御器として構成してもよいし、一つの制御装置内で安定化用制御系と走行用制御系が独立している構成であってもよい。また、1つの制御用コンピュータが、安定化用制御用プログラムと走行用制御用プログラムを独立して、あるいは経時的に切り替えて実行するものであってもよい。同様に制御モジュール14内の異常検出部58や異常時処理部60も夫々独立した回路として構成してもよいし、安定化用制御用プログラムと走行用制御用プログラムを実行する同じ制御用コンピュータ内のサブルーチンとして構成されてもよい。
【0045】
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成し得るものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【図面の簡単な説明】
【0046】
【図1】実施例の走行体の構成を示す模式図である。
【図2】走行体が駆動輪で接地した状態を示す模式図である。
【図3】走行体が駆動輪と補助輪で接地した状態を示す模式図である。
【図4】走行体の制御構成を示すブロック図である。
【図5】走行体の制御の処理を示すフローチャート図である。
【図6】退避モードの制御の処理を示すフローチャート図である。
【符号の説明】
【0047】
10:走行体
12:車体
14:制御モジュール
18:操作レバー
20:操作モジュール
22:搭乗シート
26:補助輪
28:補助輪移動部
32、42:モータ
34、44:駆動輪
35、45:温度センサ
36、46:エンコーダ
38:ジャイロ
39:加速度センサ
40:バッテリモジュール
50:安定化用制御部(第1制御部)
52:走行用制御部(第2制御部)
54a、54b:加算器
58:異常検出部
60:異常時処理部

【特許請求の範囲】
【請求項1】
車体を倒立状態に維持しながら走行することが可能な走行体であり、
車体と、
車体に対して回転自在であるとともに、略同軸上に配置されている一対の駆動輪と、
各駆動輪に対して夫々トルクを与える駆動源と、
車体を倒立状態に維持するための第1トルク指令値を駆動源へ出力する第1制御部と、
走行体を走行させるための第2トルク指令値を駆動源へ出力する第2制御部と、
駆動源が駆動輪に与えるトルク状態の異常を検出する異常検出部と、
異常検出部によって、前記異常が検出された場合に第2制御部による第2トルク指令値の出力を停止させる異常時処理部と、
を備えていることを特徴とする走行体。
【請求項2】
車体に対して上下に移動可能であり、前記駆動輪が接地する接地面に当接することによって停止した車体を支持する支持部材と、
支持部材を、速度を調整可能に上下に移動させる支持部材移動部と、
をさらに備えることを特徴とする請求項1に記載の走行体。
【請求項3】
異常検出部によって前記異常が検出された場合に、前記支持部材移動部が、車体を支持するために前記支持部材を下方に移動させる速度を、停止した車体を支持するために支持部材を下方に移動させる速度よりも速くすることを特徴とする請求項2に記載の走行体。
【請求項4】
第1制御部は、支持部材が下方に移動した後に、駆動源へ出力する第1トルク指令値を支持部材が前記接地面に当接する方向に車体を傾斜させるための第3トルク指令値に変更することを特徴とする請求項2又は3に記載の走行体。
【請求項5】
異常検出部は、駆動輪の回転数に基づく信号、車体の傾斜角に基づく信号、トルク指令値の大きさに基づく信号のうち、少なくとも一つの信号の値が予め定められた許容範囲外である場合に、「駆動源が駆動輪に与えるトルク状態の異常」と判断することを特徴とする請求項1から4のいずれか1項に記載の走行体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2007−62682(P2007−62682A)
【公開日】平成19年3月15日(2007.3.15)
【国際特許分類】
【出願番号】特願2005−254857(P2005−254857)
【出願日】平成17年9月2日(2005.9.2)
【出願人】(000003207)トヨタ自動車株式会社 (59,920)
【Fターム(参考)】